1// included by glib2.pas 2 3{$IFDEF read_forward_definitions} 4{$ENDIF read_forward_definitions} 5 6//------------------------------------------------------------------------------ 7 8{$IFDEF read_interface_types} 9 PGObject = ^TGObject; 10 TGObject = record 11 g_type_instance : TGTypeInstance; 12 ref_count : guint; 13 qdata : PGData; 14 end; 15 16 TGObjectGetPropertyFunc = procedure (anObject:PGObject; property_id:guint; value:PGValue; pspec:PGParamSpec); cdecl; 17 18 TGObjectSetPropertyFunc = procedure (anObject:PGObject; property_id:guint; value:PGValue; pspec:PGParamSpec); cdecl; 19 20 TGObjectFinalizeFunc = procedure (anObject:PGObject); cdecl; 21 22 TGWeakNotify = procedure (data:gpointer; where_the_object_was:PGObject); cdecl; 23 24{< private > } 25 PGObjectConstructParam = ^TGObjectConstructParam; 26 27{ public overridable methods } 28{ seldomly overidden } 29{ signals } 30{ padding } 31 PGObjectClass = ^TGObjectClass; 32 TGObjectClass = record 33 g_type_class : TGTypeClass; 34 construct_properties : PGSList; 35 _constructor : function (_type:GType; n_construct_properties:guint; construct_properties:PGObjectConstructParam):PGObject; cdecl; 36 set_property : procedure (anObject:PGObject; property_id:guint; value:PGValue; pspec:PGParamSpec); cdecl; 37 get_property : procedure (anObject:PGObject; property_id:guint; value:PGValue; pspec:PGParamSpec); cdecl; 38 _dispose : procedure (anObject:PGObject); cdecl; 39 finalize : procedure (anObject:PGObject); cdecl; 40 dispatch_properties_changed : procedure (anObject:PGObject; n_pspecs:guint; pspecs:PPGParamSpec); cdecl; 41 notify : procedure (anObject:PGObject; pspec:PGParamSpec); cdecl; 42 pdummy : array[0..7] of gpointer; 43 end; 44 45 TGObjectConstructParam = record 46 pspec : PGParamSpec; 47 value : PGValue; 48 end; 49 50 G_FLAGS_TYPE = GType; 51{$ENDIF read_interface_types} 52 53//------------------------------------------------------------------------------ 54 55{$IFDEF read_interface_rest} 56 57{ --- type macros --- } 58 59function G_TYPE_IS_OBJECT(_type : GType) : boolean; 60function G_OBJECT(anObject: pointer) : PGObject; 61function G_OBJECT_CLASS(_class : Pointer) : PGObjectClass; 62function G_IS_OBJECT(anObject: pointer) : boolean; 63function G_IS_OBJECT_CLASS(_class : Pointer) : boolean; 64function G_OBJECT_GET_CLASS(anObject: pointer) : PGObjectClass; 65function G_OBJECT_TYPE(anObject: pointer) : GType; 66function G_OBJECT_TYPE_NAME(anObject: pointer) : Pgchar; 67function G_OBJECT_CLASS_TYPE(_class : Pointer) : GType; 68function G_OBJECT_CLASS_NAME(_class : Pointer) : Pgchar; 69function G_VALUE_HOLDS_OBJECT(value : Pointer) : boolean; 70 71 72{ --- prototypes --- } 73 74procedure g_object_class_install_property(oclass:PGObjectClass; property_id:guint; pspec:PGParamSpec); cdecl; external gobjectlib; 75function g_object_class_find_property(oclass:PGObjectClass; property_name:Pgchar):PGParamSpec; cdecl; external gobjectlib; 76function g_object_class_list_properties(oclass:PGObjectClass; n_properties:Pguint):PPGParamSpec; cdecl; external gobjectlib; 77{$IFNDEF KYLIX} 78function g_object_new(object_type:GType; first_property_name:Pgchar; args:array of const):gpointer; cdecl; overload; external gobjectlib; 79function g_object_new(object_type:GType; first_property_name:Pgchar):gpointer; cdecl; overload; varargs; external gobjectlib; 80function g_object_newv(object_type:GType; n_parameters:guint; parameters:PGParameter):gpointer; cdecl; external gobjectlib; 81function g_object_new_valist(object_type:GType; first_property_name:Pgchar; var_args: array of const):PGObject; cdecl; external gobjectlib; 82procedure g_object_set(anObject:gpointer; first_property_name:Pgchar; args:array of const); cdecl; overload; external gobjectlib; 83procedure g_object_set(anObject:gpointer; first_property_name:Pgchar); cdecl; overload; varargs; external gobjectlib; 84procedure g_object_get(anObject:gpointer; first_property_name:Pgchar; args:array of const); cdecl; overload; external gobjectlib; 85procedure g_object_get(anObject:gpointer; first_property_name:Pgchar); cdecl; overload; varargs; external gobjectlib; 86function g_object_connect(anObject:gpointer; signal_spec:Pgchar; args:array of const):gpointer; cdecl; overload; external gobjectlib; 87function g_object_connect(anObject:gpointer; signal_spec:Pgchar):gpointer; cdecl; overload; varargs; external gobjectlib; 88procedure g_object_disconnect(anObject:gpointer; signal_spec:Pgchar; args:array of const); cdecl; overload; external gobjectlib; 89procedure g_object_disconnect(anObject:gpointer; signal_spec:Pgchar); cdecl; overload; varargs; external gobjectlib; 90procedure g_object_set_valist(anObject:PGObject; first_property_name:Pgchar; var_args: array of const); cdecl; external gobjectlib; 91procedure g_object_get_valist(anObject:PGObject; first_property_name:Pgchar; var_args: array of const); cdecl; external gobjectlib; 92{$ELSE} 93function g_object_new(object_type:GType; first_property_name:Pgchar):gpointer; varargs; cdecl; external gobjectlib; 94function g_object_newv(object_type:GType; n_parameters:guint; parameters:PGParameter):gpointer; varargs; cdecl; external gobjectlib; 95function g_object_new_valist(object_type:GType; first_property_name:Pgchar):PGObject; varargs; cdecl; external gobjectlib; 96procedure g_object_set(anObject:gpointer; first_property_name:Pgchar); varargs; cdecl; external gobjectlib; 97procedure g_object_get(anObject:gpointer; first_property_name:Pgchar); varargs; cdecl; external gobjectlib; 98function g_object_connect(anObject:gpointer; signal_spec:Pgchar):gpointer; varargs; cdecl; external gobjectlib; 99procedure g_object_disconnect(anObject:gpointer; signal_spec:Pgchar); varargs; cdecl; external gobjectlib; 100procedure g_object_set_valist(anObject:PGObject; first_property_name:Pgchar); varargs; cdecl; external gobjectlib; 101procedure g_object_get_valist(anObject:PGObject; first_property_name:Pgchar); varargs; cdecl; external gobjectlib; 102{$ENDIF} 103procedure g_object_set_property(anObject:PGObject; property_name:Pgchar; value:PGValue); cdecl; external gobjectlib; 104procedure g_object_get_property(anObject:PGObject; property_name:Pgchar; value:PGValue); cdecl; external gobjectlib; 105procedure g_object_freeze_notify(anObject:PGObject); cdecl; external gobjectlib; 106procedure g_object_notify(anObject:PGObject; property_name:Pgchar); cdecl; external gobjectlib; 107procedure g_object_thaw_notify(anObject:PGObject); cdecl; external gobjectlib; 108function g_object_ref(anObject:gpointer):gpointer; cdecl; external gobjectlib; 109procedure g_object_unref(anObject:gpointer); cdecl; external gobjectlib; 110procedure g_object_weak_ref(anObject:PGObject; notify:TGWeakNotify; data:gpointer); cdecl; external gobjectlib; 111procedure g_object_weak_unref(anObject:PGObject; notify:TGWeakNotify; data:gpointer); cdecl; external gobjectlib; 112procedure g_object_add_weak_pointer(anObject:PGObject; weak_pointer_location:Pgpointer); cdecl; external gobjectlib; 113procedure g_object_remove_weak_pointer(anObject:PGObject; weak_pointer_location:Pgpointer); cdecl; external gobjectlib; 114function g_object_get_qdata(anObject:PGObject; quark:TGQuark):gpointer; cdecl; external gobjectlib; 115procedure g_object_set_qdata(anObject:PGObject; quark:TGQuark; data:gpointer); cdecl; external gobjectlib; 116procedure g_object_set_qdata_full(anObject:PGObject; quark:TGQuark; data:gpointer; destroy:TGDestroyNotify); cdecl; external gobjectlib; 117function g_object_steal_qdata(anObject:PGObject; quark:TGQuark):gpointer; cdecl; external gobjectlib; 118function g_object_get_data(anObject:PGObject; key:Pgchar):gpointer; cdecl; external gobjectlib; 119procedure g_object_set_data(anObject:PGObject; key:Pgchar; data:gpointer); cdecl; external gobjectlib; 120procedure g_object_set_data_full(anObject:PGObject; key:Pgchar; data:gpointer; destroy:TGDestroyNotify); cdecl; external gobjectlib; 121function g_object_steal_data(anObject:PGObject; key:Pgchar):gpointer; cdecl; external gobjectlib; 122procedure g_object_watch_closure(anObject:PGObject; closure:PGClosure); cdecl; external gobjectlib; 123function g_cclosure_new_object(callback_func:TGCallback; anObject:PGObject):PGClosure; cdecl; external gobjectlib; 124function g_cclosure_new_object_swap(callback_func:TGCallback; anObject:PGObject):PGClosure; cdecl; external gobjectlib; 125function g_closure_new_object(sizeof_closure:guint; anObject:PGObject):PGClosure; cdecl; external gobjectlib; 126procedure g_value_set_object(value:PGValue; v_object:gpointer); cdecl; external gobjectlib; 127function g_value_get_object(value:PGValue):gpointer; cdecl; external gobjectlib; 128function g_value_dup_object(value:PGValue):PGObject; cdecl; external gobjectlib; 129function g_signal_connect_object(instance:gpointer; detailed_signal:Pgchar; c_handler:TGCallback; gobject:gpointer; connect_flags:TGConnectFlags):gulong; cdecl; external gobjectlib; 130{< protected > } 131procedure g_object_run_dispose(anObject:PGObject); cdecl; external gobjectlib; 132{ --- marshaller specific --- } 133procedure g_value_set_object_take_ownership(value:PGValue; v_object:gpointer); cdecl; external gobjectlib; 134 135 136{ --- implementation macros --- } 137procedure G_OBJECT_WARN_INVALID_PSPEC(anObject: gpointer; pname: PGChar; 138 property_id: gint; pspec: gpointer); 139procedure G_OBJECT_WARN_INVALID_PROPERTY_ID(anObject: gpointer; 140 property_id: gint; pspec : gpointer); 141{$ENDIF read_interface_rest} 142 143// included by glib2.pas 144 145