123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160 |
- // included by glib2.pas
- {$IFDEF read_forward_definitions}
- { --- flags --- }
- PGParamFlags = ^TGParamFlags;
- TGParamFlags = longint;
- { --- typedefs & structures --- }
- { class using this property }
- {< private > }
- { sort-criteria }
- PGParamSpec = ^TGParamSpec;
- PPGParamSpec = ^PGParamSpec;
- TGParamSpec = record
- g_type_instance : TGTypeInstance;
- name : Pgchar;
- flags : TGParamFlags;
- value_type : GType;
- owner_type : GType;
- _nick : Pgchar;
- _blurb : Pgchar;
- qdata : PGData;
- ref_count : guint;
- param_id : guint;
- end;
- { GParam methods }
- PGParamSpecClass = ^TGParamSpecClass;
- TGParamSpecClass = record
- g_type_class : TGTypeClass;
- value_type : GType;
- finalize : procedure (pspec:PGParamSpec); cdecl;
- value_set_default : procedure (pspec:PGParamSpec; value:PGValue); cdecl;
- value_validate : function (pspec:PGParamSpec; value:PGValue):gboolean; cdecl;
- values_cmp : function (pspec:PGParamSpec; value1:PGValue; value2:PGValue):gint; cdecl;
- dummy : array[0..3] of gpointer;
- end;
- { auxillary structure for _setv() variants }
- PGParameter = ^TGParameter;
- TGParameter = record
- name : Pgchar;
- value : TGValue;
- end;
- {$ENDIF read_forward_definitions}
- //------------------------------------------------------------------------------
- {$IFDEF read_interface_rest}
- { --- standard type macros --- }
- function G_TYPE_IS_PARAM(_type : GType) : boolean;
- function G_PARAM_SPEC(pspec : Pointer) : PGParamSpec;
- function G_IS_PARAM_SPEC(pspec : Pointer) : boolean;
- function G_PARAM_SPEC_CLASS(pclass : Pointer) : PGParamSpecClass;
- function G_IS_PARAM_SPEC_CLASS(pclass : Pointer) : boolean;
- function G_PARAM_SPEC_GET_CLASS(pspec : Pointer) : PGParamSpecClass;
- { --- convenience macros --- }
- function G_PARAM_SPEC_TYPE(pspec : Pointer) : GType;
- function G_PARAM_SPEC_TYPE_NAME(pspec : Pointer) : PGChar;
- function G_PARAM_SPEC_VALUE_TYPE(pspec : Pointer) : GType;
- function G_VALUE_HOLDS_PARAM(value : Pointer) : boolean;
- const
- G_PARAM_READABLE = 1 shl 0;
- G_PARAM_WRITABLE = 1 shl 1;
- G_PARAM_CONSTRUCT = 1 shl 2;
- G_PARAM_CONSTRUCT_ONLY = 1 shl 3;
- G_PARAM_LAX_VALIDATION = 1 shl 4;
- G_PARAM_PRIVATE = 1 shl 5;
- G_PARAM_READWRITE = G_PARAM_READABLE or G_PARAM_WRITABLE;
- G_PARAM_MASK = $000000ff;
- { bits in the range 0xffffff00 are reserved for 3rd party usage }
- G_PARAM_USER_SHIFT = 8;
- { --- prototypes --- }
- function g_param_spec_ref(pspec:PGParamSpec):PGParamSpec; cdecl; external gliblib;
- procedure g_param_spec_unref(pspec:PGParamSpec); cdecl; external gliblib;
- procedure g_param_spec_sink(pspec:PGParamSpec); cdecl; external gliblib;
- function g_param_spec_get_qdata(pspec:PGParamSpec; quark:TGQuark):gpointer; cdecl; external gliblib;
- procedure g_param_spec_set_qdata(pspec:PGParamSpec; quark:TGQuark; data:gpointer); cdecl; external gliblib;
- procedure g_param_spec_set_qdata_full(pspec:PGParamSpec; quark:TGQuark; data:gpointer; destroy:TGDestroyNotify); cdecl; external gliblib;
- function g_param_spec_steal_qdata(pspec:PGParamSpec; quark:TGQuark):gpointer; cdecl; external gliblib;
- procedure g_param_value_set_default(pspec:PGParamSpec; value:PGValue); cdecl; external gliblib;
- function g_param_value_defaults(pspec:PGParamSpec; value:PGValue):gboolean; cdecl; external gliblib;
- function g_param_value_validate(pspec:PGParamSpec; value:PGValue):gboolean; cdecl; external gliblib;
- function g_param_value_convert(pspec:PGParamSpec; src_value:PGValue; dest_value:PGValue; strict_validation:gboolean):gboolean; cdecl; external gliblib;
- function g_param_values_cmp(pspec:PGParamSpec; value1:PGValue; value2:PGValue):gint; cdecl; external gliblib;
- function g_param_spec_get_name(pspec:PGParamSpec):Pgchar; cdecl; external gliblib;
- function g_param_spec_get_nick(pspec:PGParamSpec):Pgchar; cdecl; external gliblib;
- function g_param_spec_get_blurb(pspec:PGParamSpec):Pgchar; cdecl; external gliblib;
- procedure g_value_set_param(value:PGValue; param:PGParamSpec); cdecl; external gliblib;
- function g_value_get_param(value:PGValue):PGParamSpec; cdecl; external gliblib;
- function g_value_dup_param(value:PGValue):PGParamSpec; cdecl; external gliblib;
- { --- marshaller specific --- }
- procedure g_value_set_param_take_ownership(value:PGValue; param:PGParamSpec); cdecl; external gliblib;
- { --- convenience functions --- }
- type
- { type system portion }
- { obligatory }
- { optional }
- { optional }
- { class portion }
- { obligatory }
- { optional }
- { recommended }
- { optional }
- { recommended }
- PGParamSpecTypeInfo = ^TGParamSpecTypeInfo;
- TGParamSpecTypeInfo = record
- instance_size : guint16;
- n_preallocs : guint16;
- instance_init : procedure (pspec:PGParamSpec); cdecl;
- value_type : GType;
- finalize : procedure (pspec:PGParamSpec); cdecl;
- value_set_default : procedure (pspec:PGParamSpec; value:PGValue); cdecl;
- value_validate : function (pspec:PGParamSpec; value:PGValue):gboolean; cdecl;
- values_cmp : function (pspec:PGParamSpec; value1:PGValue; value2:PGValue):gint; cdecl;
- end;
- function g_param_type_register_static(name:Pgchar; pspec_info:PGParamSpecTypeInfo):GType; cdecl; external gliblib;
- { For registering builting types }
- function _g_param_type_register_static_constant(name:Pgchar; pspec_info:PGParamSpecTypeInfo; opt_type:GType):GType; cdecl; external gliblib;
- { --- protected --- }
- function g_param_spec_internal(param_type:GType; name:Pgchar; nick:Pgchar; blurb:Pgchar; flags:TGParamFlags):gpointer; cdecl; external gliblib;
- function g_param_spec_pool_new(type_prefixing:gboolean):PGParamSpecPool; cdecl; external gliblib;
- procedure g_param_spec_pool_insert(pool:PGParamSpecPool; pspec:PGParamSpec; owner_type:GType); cdecl; external gliblib;
- procedure g_param_spec_pool_remove(pool:PGParamSpecPool; pspec:PGParamSpec); cdecl; external gliblib;
- function g_param_spec_pool_lookup(pool:PGParamSpecPool; param_name:Pgchar; owner_type:GType; walk_ancestors:gboolean):PGParamSpec; cdecl; external gliblib;
- function g_param_spec_pool_list_owned(pool:PGParamSpecPool; owner_type:GType):PGList; cdecl; external gliblib;
- function g_param_spec_pool_list(pool:PGParamSpecPool; owner_type:GType; n_pspecs_p:Pguint):PPGParamSpec; cdecl; external gliblib;
- { contracts:
- gboolean value_validate (GParamSpec pspec,
- GValue value):
- modify value contents in the least destructive way, so
- that it complies with pspec's requirements (i.e.
- according to minimum/maximum ranges etc...). return
- whether modification was necessary.
- gint values_cmp (GParamSpec pspec,
- const GValue value1,
- const GValue value2):
- return value1 - value2, i.e. (-1) if value1 < value2,
- (+1) if value1 > value2, and (0) otherwise (equality)
- }
- {$ENDIF read_interface_rest}
- // included by glib2.pas
|