gtkcontainer.inc 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265
  1. // included by gtk2.pas
  2. {$IFDEF read_forward_definitions}
  3. {$ENDIF read_forward_definitions}
  4. //------------------------------------------------------------------------------
  5. {$IFDEF read_interface_types}
  6. PGtkContainer = ^TGtkContainer;
  7. TGtkContainer = record
  8. widget : TGtkWidget;
  9. focus_child : PGtkWidget;
  10. flag0 : longint;
  11. end;
  12. { Padding for future expansion }
  13. PGtkContainerClass = ^TGtkContainerClass;
  14. TGtkContainerClass = record
  15. parent_class : TGtkWidgetClass;
  16. add : procedure (container:PGtkContainer; widget:PGtkWidget); cdecl;
  17. remove : procedure (container:PGtkContainer; widget:PGtkWidget); cdecl;
  18. check_resize : procedure (container:PGtkContainer); cdecl;
  19. forall : procedure (container:PGtkContainer; include_internals:gboolean; callback:TGtkCallback; callback_data:gpointer); cdecl;
  20. set_focus_child : procedure (container:PGtkContainer; widget:PGtkWidget); cdecl;
  21. child_type : function (container:PGtkContainer):TGtkType; cdecl;
  22. composite_name : function (container:PGtkContainer; child:PGtkWidget):Pgchar; cdecl;
  23. set_child_property : procedure (container:PGtkContainer; child:PGtkWidget; property_id:guint; value:PGValue; pspec:PGParamSpec); cdecl;
  24. get_child_property : procedure (container:PGtkContainer; child:PGtkWidget; property_id:guint; value:PGValue; pspec:PGParamSpec); cdecl;
  25. _gtk_reserved1 : procedure ; cdecl;
  26. _gtk_reserved2 : procedure ; cdecl;
  27. _gtk_reserved3 : procedure ; cdecl;
  28. _gtk_reserved4 : procedure ; cdecl;
  29. end;
  30. {$ENDIF read_interface_types}
  31. //------------------------------------------------------------------------------
  32. {$IFDEF read_interface_rest}
  33. const
  34. bm_TGtkContainer_border_width = $FFFF;
  35. bp_TGtkContainer_border_width = 0;
  36. bm_TGtkContainer_need_resize = $10000;
  37. bp_TGtkContainer_need_resize = 16;
  38. bm_TGtkContainer_resize_mode = $60000;
  39. bp_TGtkContainer_resize_mode = 17;
  40. bm_TGtkContainer_reallocate_redraws = $80000;
  41. bp_TGtkContainer_reallocate_redraws = 19;
  42. bm_TGtkContainer_has_focus_chain = $100000;
  43. bp_TGtkContainer_has_focus_chain = 20;
  44. function GTK_TYPE_CONTAINER : GType;
  45. function GTK_CONTAINER(obj: pointer) : PGtkContainer;
  46. function GTK_CONTAINER_CLASS(klass: pointer) : PGtkContainerClass;
  47. function GTK_IS_CONTAINER(obj: pointer) : boolean;
  48. function GTK_IS_CONTAINER_CLASS(klass: pointer) : boolean;
  49. function GTK_CONTAINER_GET_CLASS(obj: pointer) : PGtkContainerClass;
  50. function GTK_IS_RESIZE_CONTAINER(widget : pointer) : boolean;
  51. function border_width(var a : TGtkContainer) : guint;
  52. procedure set_border_width(var a : TGtkContainer; __border_width : guint);
  53. function need_resize(var a : TGtkContainer) : guint;
  54. procedure set_need_resize(var a : TGtkContainer; __need_resize : guint);
  55. function resize_mode(a : PGtkContainer) : guint;
  56. procedure set_resize_mode(var a : TGtkContainer; __resize_mode : guint);
  57. function reallocate_redraws(var a : TGtkContainer) : guint;
  58. procedure set_reallocate_redraws(var a : TGtkContainer; __reallocate_redraws : guint);
  59. function has_focus_chain(var a : TGtkContainer) : guint;
  60. procedure set_has_focus_chain(var a : TGtkContainer; __has_focus_chain : guint);
  61. { Application-level methods }
  62. function gtk_container_get_type:TGtkType; cdecl; external gtklib;
  63. procedure gtk_container_set_border_width(container:PGtkContainer; border_width:guint); cdecl; external gtklib;
  64. function gtk_container_get_border_width(container:PGtkContainer):guint; cdecl; external gtklib;
  65. procedure gtk_container_add(container:PGtkContainer; widget:PGtkWidget); cdecl; external gtklib;
  66. procedure gtk_container_remove(container:PGtkContainer; widget:PGtkWidget); cdecl; external gtklib;
  67. procedure gtk_container_set_resize_mode(container:PGtkContainer; resize_mode:TGtkResizeMode); cdecl; external gtklib;
  68. function gtk_container_get_resize_mode(container:PGtkContainer):TGtkResizeMode; cdecl; external gtklib;
  69. procedure gtk_container_check_resize(container:PGtkContainer); cdecl; external gtklib;
  70. procedure gtk_container_foreach(container:PGtkContainer; callback:TGtkCallback; callback_data:gpointer); cdecl; external gtklib;
  71. {$ifndef GTK_DISABLE_DEPRECATED}
  72. procedure gtk_container_foreach_full(container:PGtkContainer; callback:TGtkCallback; marshal:TGtkCallbackMarshal; callback_data:gpointer; notify:TGtkDestroyNotify); cdecl; external gtklib;
  73. {$endif}
  74. { GTK_DISABLE_DEPRECATED }
  75. function gtk_container_get_children(container:PGtkContainer):PGList; cdecl; external gtklib;
  76. {$ifndef GTK_DISABLE_DEPRECATED}
  77. function gtk_container_children(container:PGtkContainer):PGList;
  78. {$endif}
  79. procedure gtk_container_propagate_expose(container:PGtkContainer; child:PGtkWidget; event:PGdkEventExpose); cdecl; external gtklib;
  80. procedure gtk_container_set_focus_chain(container:PGtkContainer; focusable_widgets:PGList); cdecl; external gtklib;
  81. function gtk_container_get_focus_chain(container:PGtkContainer; var focusable_widgets:PGList):gboolean; cdecl; external gtklib;
  82. procedure gtk_container_unset_focus_chain(container:PGtkContainer); cdecl; external gtklib;
  83. { Widget-level methods }
  84. procedure gtk_container_set_reallocate_redraws(container:PGtkContainer; needs_redraws:gboolean); cdecl; external gtklib;
  85. procedure gtk_container_set_focus_child(container:PGtkContainer; child:PGtkWidget); cdecl; external gtklib;
  86. procedure gtk_container_set_focus_vadjustment(container:PGtkContainer; adjustment:PGtkAdjustment); cdecl; external gtklib;
  87. function gtk_container_get_focus_vadjustment(container:PGtkContainer):PGtkAdjustment; cdecl; external gtklib;
  88. procedure gtk_container_set_focus_hadjustment(container:PGtkContainer; adjustment:PGtkAdjustment); cdecl; external gtklib;
  89. function gtk_container_get_focus_hadjustment(container:PGtkContainer):PGtkAdjustment; cdecl; external gtklib;
  90. procedure gtk_container_resize_children(container:PGtkContainer); cdecl; external gtklib;
  91. function gtk_container_child_type(container:PGtkContainer):TGtkType; cdecl; external gtklib;
  92. procedure gtk_container_class_install_child_property(cclass:PGtkContainerClass; property_id:guint; pspec:PGParamSpec); cdecl; external gtklib;
  93. function gtk_container_class_find_child_property(cclass:PGObjectClass; property_name:Pgchar):PGParamSpec; cdecl; external gtklib;
  94. function gtk_container_class_list_child_properties(cclass:PGObjectClass; n_properties:Pguint):PPGParamSpec; cdecl; external gtklib;
  95. {$IFNDEF KYLIX}
  96. procedure gtk_container_add_with_properties(container:PGtkContainer; widget:PGtkWidget; first_prop_name:Pgchar; args:array of const); cdecl; overload; external gtklib;
  97. procedure gtk_container_add_with_properties(container:PGtkContainer; widget:PGtkWidget; first_prop_name:Pgchar); cdecl; overload; external gtklib;
  98. procedure gtk_container_child_set(container:PGtkContainer; child:PGtkWidget; first_prop_name:Pgchar; args:array of const); cdecl; overload; external gtklib;
  99. procedure gtk_container_child_set(container:PGtkContainer; child:PGtkWidget; first_prop_name:Pgchar); cdecl; overload; external gtklib;
  100. procedure gtk_container_child_get(container:PGtkContainer; child:PGtkWidget; first_prop_name:Pgchar; args:array of const); cdecl; overload; external gtklib;
  101. procedure gtk_container_child_get(container:PGtkContainer; child:PGtkWidget; first_prop_name:Pgchar); overload; cdecl; external gtklib;
  102. procedure gtk_container_child_set_valist(container:PGtkContainer; child:PGtkWidget; first_property_name:Pgchar; var_args: array of const); cdecl; external gtklib;
  103. procedure gtk_container_child_get_valist(container:PGtkContainer; child:PGtkWidget; first_property_name:Pgchar; var_args: array of const); cdecl; external gtklib;
  104. {$ELSE}
  105. procedure gtk_container_add_with_properties(container:PGtkContainer; widget:PGtkWidget; first_prop_name:Pgchar); varargs; cdecl; external gtklib;
  106. procedure gtk_container_child_set(container:PGtkContainer; child:PGtkWidget; first_prop_name:Pgchar); varargs; cdecl; external gtklib;
  107. procedure gtk_container_child_get(container:PGtkContainer; child:PGtkWidget; first_prop_name:Pgchar); varargs; cdecl; external gtklib;
  108. procedure gtk_container_child_set_valist(container:PGtkContainer; child:PGtkWidget; first_property_name:Pgchar); varargs; cdecl; external gtklib;
  109. procedure gtk_container_child_get_valist(container:PGtkContainer; child:PGtkWidget; first_property_name:Pgchar); varargs; cdecl; external gtklib;
  110. {$ENDIF}
  111. procedure gtk_container_child_set_property(container:PGtkContainer; child:PGtkWidget; property_name:Pgchar; value:PGValue); cdecl; external gtklib;
  112. procedure gtk_container_child_get_property(container:PGtkContainer; child:PGtkWidget; property_name:Pgchar; value:PGValue); cdecl; external gtklib;
  113. procedure GTK_CONTAINER_WARN_INVALID_CHILD_PROPERTY_ID(anObject: pointer; property_id: guint; pspec : pointer);
  114. procedure gtk_container_forall(container:PGtkContainer; callback:TGtkCallback; callback_data:gpointer); cdecl; external gtklib;
  115. { Non-public methods }
  116. procedure _gtk_container_queue_resize(container:PGtkContainer); cdecl; external gtklib;
  117. procedure _gtk_container_clear_resize_widgets(container:PGtkContainer); cdecl; external gtklib;
  118. function _gtk_container_child_composite_name(container:PGtkContainer; child:PGtkWidget):Pgchar; cdecl; external gtklib;
  119. procedure _gtk_container_dequeue_resize_handler(container:PGtkContainer); cdecl; external gtklib;
  120. function _gtk_container_focus_sort(container:PGtkContainer; children:PGList; direction:TGtkDirectionType; old_focus:PGtkWidget):PGList; cdecl; external gtklib;
  121. {$ifndef GTK_DISABLE_DEPRECATED}
  122. procedure gtk_container_border_width(container:PGtkContainer; border_width:guint);
  123. {$endif}
  124. { GTK_DISABLE_DEPRECATED }
  125. {$ENDIF read_interface_rest}
  126. //------------------------------------------------------------------------------
  127. {$IFDEF read_implementation}
  128. function GTK_TYPE_CONTAINER : GType;
  129. begin
  130. GTK_TYPE_CONTAINER:=gtk_container_get_type;
  131. end;
  132. function GTK_CONTAINER(obj: pointer) : PGtkContainer;
  133. begin
  134. GTK_CONTAINER:=PGtkContainer(GTK_CHECK_CAST(obj,GTK_TYPE_CONTAINER));
  135. end;
  136. function GTK_CONTAINER_CLASS(klass: pointer) : PGtkContainerClass;
  137. begin
  138. GTK_CONTAINER_CLASS:=PGtkContainerClass(GTK_CHECK_CLASS_CAST(klass,GTK_TYPE_CONTAINER));
  139. end;
  140. function GTK_IS_CONTAINER(obj: pointer) : boolean;
  141. begin
  142. GTK_IS_CONTAINER:=GTK_CHECK_TYPE(obj,GTK_TYPE_CONTAINER);
  143. end;
  144. function GTK_IS_CONTAINER_CLASS(klass: pointer) : boolean;
  145. begin
  146. GTK_IS_CONTAINER_CLASS:=GTK_CHECK_CLASS_TYPE(klass,GTK_TYPE_CONTAINER);
  147. end;
  148. function GTK_CONTAINER_GET_CLASS(obj: pointer) : PGtkContainerClass;
  149. begin
  150. GTK_CONTAINER_GET_CLASS:=PGtkContainerClass(GTK_CHECK_GET_CLASS(obj,GTK_TYPE_CONTAINER));
  151. end;
  152. function GTK_IS_RESIZE_CONTAINER(widget : pointer) : boolean;
  153. begin
  154. GTK_IS_RESIZE_CONTAINER:=(GTK_IS_CONTAINER(widget))
  155. and ((resize_mode(PGtkContainer(widget)))
  156. <> ord(GTK_RESIZE_PARENT));
  157. end;
  158. function border_width(var a : TGtkContainer) : guint;
  159. begin
  160. border_width:=(a.flag0 and bm_TGtkContainer_border_width) shr bp_TGtkContainer_border_width;
  161. end;
  162. procedure set_border_width(var a : TGtkContainer; __border_width : guint);
  163. begin
  164. a.flag0:=a.flag0 or ((__border_width shl bp_TGtkContainer_border_width) and bm_TGtkContainer_border_width);
  165. end;
  166. function need_resize(var a : TGtkContainer) : guint;
  167. begin
  168. need_resize:=(a.flag0 and bm_TGtkContainer_need_resize) shr bp_TGtkContainer_need_resize;
  169. end;
  170. procedure set_need_resize(var a : TGtkContainer; __need_resize : guint);
  171. begin
  172. a.flag0:=a.flag0 or ((__need_resize shl bp_TGtkContainer_need_resize) and bm_TGtkContainer_need_resize);
  173. end;
  174. function resize_mode(a : PGtkContainer) : guint;
  175. begin
  176. resize_mode:=(a^.flag0 and bm_TGtkContainer_resize_mode) shr bp_TGtkContainer_resize_mode;
  177. end;
  178. procedure set_resize_mode(var a : TGtkContainer; __resize_mode : guint);
  179. begin
  180. a.flag0:=a.flag0 or ((__resize_mode shl bp_TGtkContainer_resize_mode) and bm_TGtkContainer_resize_mode);
  181. end;
  182. function reallocate_redraws(var a : TGtkContainer) : guint;
  183. begin
  184. reallocate_redraws:=(a.flag0 and bm_TGtkContainer_reallocate_redraws) shr bp_TGtkContainer_reallocate_redraws;
  185. end;
  186. procedure set_reallocate_redraws(var a : TGtkContainer; __reallocate_redraws : guint);
  187. begin
  188. a.flag0:=a.flag0 or ((__reallocate_redraws shl bp_TGtkContainer_reallocate_redraws) and bm_TGtkContainer_reallocate_redraws);
  189. end;
  190. function has_focus_chain(var a : TGtkContainer) : guint;
  191. begin
  192. has_focus_chain:=(a.flag0 and bm_TGtkContainer_has_focus_chain) shr bp_TGtkContainer_has_focus_chain;
  193. end;
  194. procedure set_has_focus_chain(var a : TGtkContainer; __has_focus_chain : guint);
  195. begin
  196. a.flag0:=a.flag0 or ((__has_focus_chain shl bp_TGtkContainer_has_focus_chain) and bm_TGtkContainer_has_focus_chain);
  197. end;
  198. {$IFDEF KYLIX}
  199. function HexStr(Value, Bits: integer): string;
  200. begin
  201. Str(Value, Result);
  202. end;
  203. {$ENDIF}
  204. procedure GTK_CONTAINER_WARN_INVALID_CHILD_PROPERTY_ID(
  205. anObject: pointer; property_id: guint; pspec : pointer);
  206. begin
  207. writeln('invalid child property id ',property_id,' ',
  208. HexStr(PtrUInt(anObject),8),' ',HexStr(PtrUInt(pspec),8));
  209. // G_OBJECT_WARN_INVALID_PSPEC(anObject,'child property id',property_id,pspec);
  210. end;
  211. {$ifndef GTK_DISABLE_DEPRECATED}
  212. function gtk_container_children(container:PGtkContainer):PGList;
  213. begin
  214. gtk_container_children:=gtk_container_get_children(container);
  215. end;
  216. procedure gtk_container_border_width(container:PGtkContainer; border_width:guint);
  217. begin
  218. gtk_container_set_border_width(container,border_width);
  219. end;
  220. {$endif}
  221. { GTK_DISABLE_DEPRECATED }
  222. {$ENDIF read_implementation}
  223. // included by gtk2.pas