1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
|
// included by gtk2.pas
{$IFDEF read_forward_definitions}
{$ENDIF read_forward_definitions}
//------------------------------------------------------------------------------
{$IFDEF read_interface_types}
{$ENDIF read_interface_types}
//------------------------------------------------------------------------------
{$IFDEF read_interface_rest}
{$ifndef GTK_DISABLE_DEPRECATED}
procedure gtk_signal_default_marshaller(closure:PGClosure; return_value:PGValue;
n_param_values:GUInt; param_values:PGValue; invocation_hint:GPointer;
marshal_data:GPointer); cdecl;
{ --- compat defines --- }
function gtk_signal_lookup(name:Pgchar; object_type:GType):guint;
function gtk_signal_name(signal_id:guint):Pgchar;
procedure gtk_signal_emit_stop(instance:gpointer; signal_id:guint; detail:TGQuark);
function gtk_signal_connect(anObject:PGtkObject; name:Pgchar; func:TGtkSignalFunc;
func_data:gpointer):gulong;
function gtk_signal_connect_after(anObject:PGtkObject; name:Pgchar; func:TGtkSignalFunc;
func_data:gpointer):gulong;
function gtk_signal_connect_object(anObject:PGtkObject; name:Pgchar; func:TGtkSignalFunc;
slot_object:gpointer):gulong;
function gtk_signal_connect_object_after(anObject:PGtkObject; name:Pgchar; func:TGtkSignalFunc;
slot_object:gpointer):gulong;
procedure gtk_signal_disconnect(anObject: gpointer; handler_id : gulong);
procedure gtk_signal_handler_block(anObject: gpointer; handler_id : gulong);
procedure gtk_signal_handler_unblock(anObject: gpointer; handler_id : gulong);
procedure gtk_signal_disconnect_by_func(anObject:PGtkObject;
func: TGtkSignalFunc; data: gpointer);
procedure gtk_signal_disconnect_by_data(anObject:PGtkObject; data : gpointer);
procedure gtk_signal_handler_block_by_func(anObject:PGtkObject;
func: TGtkSignalFunc; data: gpointer);
procedure gtk_signal_handler_block_by_data(anObject:PGtkObject; data : gpointer);
procedure gtk_signal_handler_unblock_by_func(anObject:PGtkObject;
func: TGtkSignalFunc; data: gpointer);
procedure gtk_signal_handler_unblock_by_data(anObject:PGtkObject; data : gpointer);
function gtk_signal_handler_pending(anObject:PGtkObject; signal_id: guint;
may_be_blocked: gboolean): gboolean;
function gtk_signal_handler_pending_by_func(anObject:PGtkObject;
signal_id: guint; may_be_blocked: gboolean; func: TGtkSignalFunc;
data: gpointer): gboolean;
{ --- compat functions --- }
function gtk_signal_newv(name:Pgchar; signal_flags:TGtkSignalRunType; object_type:TGtkType; function_offset:guint; marshaller:TGtkSignalMarshaller;
return_val:TGtkType; n_args:guint; args:PGtkType):guint; cdecl; external gtklib;
{$IFNDEF KYLIX}
function gtk_signal_new(name:Pgchar; signal_flags:TGtkSignalRunType; object_type:TGtkType; function_offset:guint; marshaller:TGtkSignalMarshaller;
return_val:TGtkType; n_args:guint; args:array of const):guint; cdecl; overload; external gtklib;
function gtk_signal_new(name:Pgchar; signal_flags:TGtkSignalRunType; object_type:TGtkType; function_offset:guint; marshaller:TGtkSignalMarshaller;
return_val:TGtkType; n_args:guint):guint; cdecl; varargs; overload; external gtklib;
{$ELSE}
function gtk_signal_new(name:Pgchar; signal_flags:TGtkSignalRunType; object_type:TGtkType; function_offset:guint; marshaller:TGtkSignalMarshaller;
return_val:TGtkType; n_args:guint):guint; varargs; cdecl; external gtklib;
{$ENDIF}
procedure gtk_signal_emit_stop_by_name(anObject:PGtkObject; name:Pgchar); cdecl; external gtklib;
procedure gtk_signal_connect_object_while_alive(anObject:PGtkObject; name:Pgchar; func:TGtkSignalFunc; alive_object:PGtkObject); cdecl; external gtklib;
procedure gtk_signal_connect_while_alive(anObject:PGtkObject; name:Pgchar; func:TGtkSignalFunc; func_data:gpointer; alive_object:PGtkObject); cdecl; external gtklib;
function gtk_signal_connect_full(anObject:PGtkObject; name:Pgchar; func:TGtkSignalFunc; unsupported:TGtkCallbackMarshal; data:gpointer;
destroy_func:TGtkDestroyNotify; object_signal:gint; after:gint):gulong; cdecl; external gtklib;
procedure gtk_signal_emitv(anObject:PGtkObject; signal_id:guint; args:PGtkArg); cdecl; external gtklib;
{$IFNDEF KYLIX}
procedure gtk_signal_emit(anObject:PGtkObject; signal_id:guint; args:array of const); cdecl; overload; external gtklib;
procedure gtk_signal_emit(anObject:PGtkObject; signal_id:guint); cdecl; overload; varargs; external gtklib;
procedure gtk_signal_emit_by_name(anObject:PGtkObject; name:Pgchar; args:array of const); cdecl; overload; external gtklib;
procedure gtk_signal_emit_by_name(anObject:PGtkObject; name:Pgchar); cdecl; overload; varargs; external gtklib;
{$ELSE}
procedure gtk_signal_emit(anObject:PGtkObject; signal_id:guint); varargs; cdecl; external gtklib;
procedure gtk_signal_emit_by_name(anObject:PGtkObject; name:Pgchar); varargs; cdecl; external gtklib;
{$ENDIF}
procedure gtk_signal_emitv_by_name(anObject:PGtkObject; name:Pgchar; args:PGtkArg); cdecl; external gtklib;
procedure gtk_signal_compat_matched(anObject:PGtkObject; func:TGtkSignalFunc; data:gpointer; match:TGSignalMatchType; action:guint); cdecl; external gtklib;
{$endif}
{ GTK_DISABLE_DEPRECATED }
{$ENDIF read_interface_rest}
//------------------------------------------------------------------------------
{$IFDEF read_implementation}
function gtk_signal_lookup(name:Pgchar; object_type:GType):guint;
begin
gtk_signal_lookup:=g_signal_lookup(name,object_type);
end;
function gtk_signal_name(signal_id:guint):Pgchar;
begin
gtk_signal_name:=g_signal_name(signal_id);
end;
procedure gtk_signal_emit_stop(instance:gpointer; signal_id:guint; detail:TGQuark);
begin
if detail<>0 then ;// dummy statement
g_signal_stop_emission(instance,signal_id,0);
end;
function gtk_signal_connect(anObject:PGtkObject; name:Pgchar; func:TGtkSignalFunc;
func_data:gpointer):gulong;
begin
gtk_signal_connect:=gtk_signal_connect_full(anObject,name,func,nil,func_data,nil,0,0);
end;
function gtk_signal_connect_after(anObject:PGtkObject; name:Pgchar; func:TGtkSignalFunc;
func_data:gpointer):gulong;
begin
gtk_signal_connect_after:=gtk_signal_connect_full(anObject,name,func,nil,func_data,nil,0,1);
end;
function gtk_signal_connect_object(anObject:PGtkObject; name:Pgchar; func:TGtkSignalFunc;
slot_object:gpointer):gulong;
begin
gtk_signal_connect_object:=gtk_signal_connect_full(anObject,name,func,nil,slot_object,nil,1,0);
end;
function gtk_signal_connect_object_after(anObject:PGtkObject; name:Pgchar; func:TGtkSignalFunc;
slot_object:gpointer):gulong;
begin
gtk_signal_connect_object_after:=gtk_signal_connect_full(anObject,name,func,nil,slot_object,nil,1,1);
end;
procedure gtk_signal_disconnect(anObject: gpointer; handler_id : gulong);
begin
g_signal_handler_disconnect(anObject,handler_id);
end;
procedure gtk_signal_handler_block(anObject: gpointer; handler_id : gulong);
begin
g_signal_handler_block(anObject,handler_id);
end;
procedure gtk_signal_handler_unblock(anObject: gpointer; handler_id : gulong);
begin
g_signal_handler_unblock(anObject,handler_id);
end;
procedure gtk_signal_disconnect_by_data(anObject:PGtkObject; data : gpointer);
begin
gtk_signal_compat_matched(anObject,nil,data,G_SIGNAL_MATCH_DATA,0);
end;
procedure gtk_signal_disconnect_by_func(anObject:PGtkObject;
func: TGtkSignalFunc; data: gpointer);
begin
gtk_signal_compat_matched (anObject,func,data,
TGSignalMatchType(G_SIGNAL_MATCH_FUNC or G_SIGNAL_MATCH_DATA),0);
end;
procedure gtk_signal_handler_block_by_func(anObject:PGtkObject;
func: TGtkSignalFunc; data: gpointer);
begin
gtk_signal_compat_matched (anObject,func,data,
TGSignalMatchType(G_SIGNAL_MATCH_FUNC or G_SIGNAL_MATCH_DATA),0);
end;
procedure gtk_signal_handler_block_by_data(anObject:PGtkObject; data : gpointer);
begin
gtk_signal_compat_matched(anObject,nil,data,G_SIGNAL_MATCH_DATA,1);
end;
procedure gtk_signal_handler_unblock_by_func(anObject:PGtkObject;
func: TGtkSignalFunc; data: gpointer);
begin
gtk_signal_compat_matched(anObject,func,data,
TGSignalMatchType(G_SIGNAL_MATCH_FUNC or G_SIGNAL_MATCH_DATA),0);
end;
procedure gtk_signal_handler_unblock_by_data(anObject:PGtkObject; data : gpointer);
begin
gtk_signal_compat_matched(anObject,nil,data,G_SIGNAL_MATCH_DATA,2);
end;
function gtk_signal_handler_pending(anObject:PGtkObject; signal_id: guint;
may_be_blocked: gboolean): gboolean;
begin
Result:=g_signal_has_handler_pending(anObject,signal_id,0,may_be_blocked);
end;
function gtk_signal_handler_pending_by_func(anObject:PGtkObject;
signal_id: guint; may_be_blocked: gboolean; func: TGtkSignalFunc;
data: gpointer): gboolean;
var
t: TGSignalMatchType;
begin
t:=TGSignalMatchType(G_SIGNAL_MATCH_ID or G_SIGNAL_MATCH_FUNC
or G_SIGNAL_MATCH_DATA);
if not may_be_blocked then
t:=t or TGSignalMatchType(G_SIGNAL_MATCH_UNBLOCKED);
Result := g_signal_handler_find(anObject,t,signal_id,0,nil,@func,data)<>0;
end;
{$ifndef GTK_DISABLE_DEPRECATED}
procedure gtk_signal_default_marshaller(closure:PGClosure; return_value:PGValue;
n_param_values:GUInt; param_values:PGValue; invocation_hint:GPointer;
marshal_data:GPointer); cdecl;
begin
g_cclosure_marshal_VOID__VOID(closure,return_value,
n_param_values,param_values,invocation_hint,
marshal_data);
end;
{$endif GTK_DISABLE_DEPRECATED}
{$ENDIF read_implementation}
// included by gtk2.pas
|