gtksignal.inc 9.3 KB

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