gnomedock.inc 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368
  1. {$IfDef read_interface}
  2. type
  3. PGnomeDockPlacement = ^TGnomeDockPlacement;
  4. TGnomeDockPlacement = (GNOME_DOCK_TOP,GNOME_DOCK_RIGHT,GNOME_DOCK_BOTTOM,
  5. GNOME_DOCK_LEFT,GNOME_DOCK_FLOATING);
  6. type
  7. TGnomeDockItemBehavior = (GNOME_DOCK_ITEM_BEH_NORMAL := 0,GNOME_DOCK_ITEM_BEH_EXCLUSIVE := 1 shl 0,
  8. GNOME_DOCK_ITEM_BEH_NEVER_FLOATING := 1 shl 1,
  9. GNOME_DOCK_ITEM_BEH_NEVER_VERTICAL := 1 shl 2,
  10. GNOME_DOCK_ITEM_BEH_NEVER_HORIZONTAL := 1 shl 3,
  11. GNOME_DOCK_ITEM_BEH_LOCKED := 1 shl 4);
  12. const
  13. GNOME_DOCK_ITEM_BEH_NEVER_DETACH = GNOME_DOCK_ITEM_BEH_NEVER_FLOATING;
  14. type
  15. PGnomeDockItem = ^TGnomeDockItem;
  16. TGnomeDockItem = record
  17. bin : TGtkBin;
  18. name : Pgchar;
  19. bin_window : PGdkWindow;
  20. float_window : PGdkWindow;
  21. shadow_type : TGtkShadowType;
  22. orientation : TGtkOrientation;
  23. behavior : TGnomeDockItemBehavior;
  24. flag0 : word;
  25. dragoff_x : gint;
  26. dragoff_y : gint;
  27. float_x : gint;
  28. float_y : gint;
  29. grab_on_map_event : guint;
  30. end;
  31. GNOME_DOCK_ITEM = PGnomeDockItem;
  32. function GNOME_DOCK_ITEM_NOT_LOCKED(x : PGnomeDockItem) : gboolean;
  33. const
  34. bm__GnomeDockItem_float_window_mapped = $1;
  35. bp__GnomeDockItem_float_window_mapped = 0;
  36. bm__GnomeDockItem_is_floating = $2;
  37. bp__GnomeDockItem_is_floating = 1;
  38. bm__GnomeDockItem_in_drag = $4;
  39. bp__GnomeDockItem_in_drag = 2;
  40. function float_window_mapped(var a : TGnomeDockItem) : gboolean;
  41. procedure set_float_window_mapped(var a : TGnomeDockItem; __float_window_mapped : gboolean);
  42. function is_floating(var a : TGnomeDockItem) : gboolean;
  43. procedure set_is_floating(var a : TGnomeDockItem; __is_floating : gboolean);
  44. function in_drag(var a : TGnomeDockItem) : gboolean;
  45. procedure set_in_drag(var a : TGnomeDockItem; __in_drag : gboolean);
  46. type
  47. PGnomeDockItemClass = ^TGnomeDockItemClass;
  48. TGnomeDockItemClass = record
  49. parent_class : TGtkBinClass;
  50. dock_drag_begin : procedure (item:PGnomeDockItem);cdecl;
  51. dock_drag_motion : procedure (item:PGnomeDockItem; x:gint; y:gint);cdecl;
  52. dock_drag_end : procedure (item:PGnomeDockItem);cdecl;
  53. dock_detach : procedure (item:PGnomeDockItem);cdecl;
  54. end;
  55. GNOME_DOCK_ITEM_CLASS = PGnomeDockItemClass;
  56. type
  57. PGnomeDockLayoutItem = ^TGnomeDockLayoutItem;
  58. TGnomeDockLayoutItem = record
  59. item : PGnomeDockItem;
  60. placement : TGnomeDockPlacement;
  61. position : record
  62. case longint of
  63. 0 : ( floating : record
  64. x : gint;
  65. y : gint;
  66. orientation : TGtkOrientation;
  67. end );
  68. 1 : ( docked : record
  69. band_num : gint;
  70. band_position : gint;
  71. offset : gint;
  72. end );
  73. end;
  74. end;
  75. GNOME_DOCK_LAYOUT_ITEM = PGnomeDockLayoutItem;
  76. PGnomeDockLayout = ^TGnomeDockLayout;
  77. TGnomeDockLayout = record
  78. theobject : TGtkObject;
  79. items : PGList;
  80. end;
  81. GNOME_DOCK_LAYOUT = PGnomeDockLayout;
  82. PGnomeDockLayoutClass = ^TGnomeDockLayoutClass;
  83. TGnomeDockLayoutClass = record
  84. parent_class : TGtkObjectClass;
  85. end;
  86. GNOME_DOCK_LAYOUT_CLASS = PGnomeDockLayoutClass;
  87. type
  88. PGnomeDockBand = ^TGnomeDockBand;
  89. TGnomeDockBand = record
  90. container : TGtkContainer;
  91. orientation : TGtkOrientation;
  92. children : PGList;
  93. num_children : guint;
  94. floating_child : PGList;
  95. doing_drag : gboolean;
  96. max_space_requisition : guint;
  97. tot_offsets : guint;
  98. drag_allocation : TGtkAllocation;
  99. flag0 : word;
  100. end;
  101. GNOME_DOCK_BAND = PGnomeDockBand;
  102. const
  103. bm__GnomeDockBand_new_for_drag = $1;
  104. bp__GnomeDockBand_new_for_drag = 0;
  105. function new_for_drag(var a : TGnomeDockBand) : Boolean;
  106. procedure set_new_for_drag(var a : TGnomeDockBand; __new_for_drag : Boolean);
  107. type
  108. PGnomeDockBandClass = ^TGnomeDockBandClass;
  109. TGnomeDockBandClass = record
  110. parent_class : TGtkContainerClass;
  111. end;
  112. GNOME_DOCK_BAND_CLASS = PGnomeDockBandClass;
  113. PGnomeDockBandChild = ^TGnomeDockBandChild;
  114. TGnomeDockBandChild = record
  115. widget : PGtkWidget;
  116. offset : guint;
  117. real_offset : guint;
  118. drag_offset : guint;
  119. drag_allocation : TGtkAllocation;
  120. prev_space : guint;
  121. foll_space : guint;
  122. drag_prev_space : guint;
  123. drag_foll_space : guint;
  124. max_space_requisition : guint;
  125. end;
  126. GNOME_DOCK_BAND_CHILD = PGnomeDockBandChild;
  127. type
  128. PGnomeDock = ^TGnomeDock;
  129. TGnomeDock = record
  130. container : TGtkContainer;
  131. client_area : PGtkWidget;
  132. top_bands : PGList;
  133. bottom_bands : PGList;
  134. right_bands : PGList;
  135. left_bands : PGList;
  136. floating_children : PGList;
  137. client_rect : TGtkAllocation;
  138. flag0 : word;
  139. end;
  140. GNOME_DOCK = PGnomeDock;
  141. const
  142. bm__GnomeDock_floating_items_allowed = $1;
  143. bp__GnomeDock_floating_items_allowed = 0;
  144. function floating_items_allowed(var a : TGnomeDock) : gboolean;
  145. procedure set_floating_items_allowed(var a : TGnomeDock; __floating_items_allowed : gboolean);
  146. type
  147. PGnomeDockClass = ^TGnomeDockClass;
  148. TGnomeDockClass = record
  149. parent_class : TGtkContainerClass;
  150. layout_changed : procedure (dock:PGnomeDock);cdecl;
  151. end;
  152. GNOME_DOCK_CLASS = PGnomeDockClass;
  153. function GNOME_TYPE_DOCK_ITEM : TGTKType;
  154. function GNOME_IS_DOCK_ITEM(obj : Pointer) : Boolean;
  155. function GNOME_IS_DOCK_ITEM_CLASS(klass : Pointer) : Boolean;
  156. function gnome_dock_item_get_type:TGTKType;cdecl;external libgnomeuidll name 'gnome_dock_item_get_type';
  157. function gnome_dock_item_new(name:Pgchar; behavior:TGnomeDockItemBehavior):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_dock_item_new';
  158. procedure gnome_dock_item_construct(new_dock_item:PGnomeDockItem; name:Pgchar; behavior:TGnomeDockItemBehavior);cdecl;external libgnomeuidll name 'gnome_dock_item_construct';
  159. function gnome_dock_item_get_child(dock_item:PGnomeDockItem):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_dock_item_get_child';
  160. function gnome_dock_item_get_name(dock_item:PGnomeDockItem):Pchar;cdecl;external libgnomeuidll name 'gnome_dock_item_get_name';
  161. procedure gnome_dock_item_set_shadow_type(dock_item:PGnomeDockItem; thetype:TGtkShadowType);cdecl;external libgnomeuidll name 'gnome_dock_item_set_shadow_type';
  162. function gnome_dock_item_get_shadow_type(dock_item:PGnomeDockItem):TGtkShadowType;cdecl;external libgnomeuidll name 'gnome_dock_item_get_shadow_type';
  163. function gnome_dock_item_set_orientation(dock_item:PGnomeDockItem; orientation:TGtkOrientation):gboolean;cdecl;external libgnomeuidll name 'gnome_dock_item_set_orientation';
  164. function gnome_dock_item_get_orientation(dock_item:PGnomeDockItem):TGtkOrientation;cdecl;external libgnomeuidll name 'gnome_dock_item_get_orientation';
  165. function gnome_dock_item_get_behavior(dock_item:PGnomeDockItem):TGnomeDockItemBehavior;cdecl;external libgnomeuidll name 'gnome_dock_item_get_behavior';
  166. function gnome_dock_item_detach(item:PGnomeDockItem; x:gint; y:gint):gboolean;cdecl;external libgnomeuidll name 'gnome_dock_item_detach';
  167. procedure gnome_dock_item_attach(item:PGnomeDockItem; parent:PGtkWidget; x:gint; y:gint);cdecl;external libgnomeuidll name 'gnome_dock_item_attach';
  168. procedure gnome_dock_item_grab_pointer(item:PGnomeDockItem);cdecl;external libgnomeuidll name 'gnome_dock_item_grab_pointer';
  169. procedure gnome_dock_item_drag_floating(item:PGnomeDockItem; x:gint; y:gint);cdecl;external libgnomeuidll name 'gnome_dock_item_drag_floating';
  170. procedure gnome_dock_item_handle_size_request(item:PGnomeDockItem; requisition:PGtkRequisition);cdecl;external libgnomeuidll name 'gnome_dock_item_handle_size_request';
  171. procedure gnome_dock_item_get_floating_position(item:PGnomeDockItem; x:Pgint; y:Pgint);cdecl;external libgnomeuidll name 'gnome_dock_item_get_floating_position';
  172. function GNOME_TYPE_DOCK_LAYOUT : TGTKType;
  173. function GNOME_IS_DOCK_LAYOUT(obj : pointer) : Boolean;
  174. function GNOME_IS_DOCK_LAYOUT_CLASS(klass : pointer) : boolean;
  175. function gnome_dock_layout_new:PGnomeDockLayout;cdecl;external libgnomeuidll name 'gnome_dock_layout_new';
  176. function gnome_dock_layout_get_type:TGTKType;cdecl;external libgnomeuidll name 'gnome_dock_layout_get_type';
  177. function gnome_dock_layout_add_item(layout:PGnomeDockLayout; item:PGnomeDockItem; placement:TGnomeDockPlacement; band_num:gint; band_position:gint;
  178. offset:gint):gboolean;cdecl;external libgnomeuidll name 'gnome_dock_layout_add_item';
  179. function gnome_dock_layout_add_floating_item(layout:PGnomeDockLayout; item:PGnomeDockItem; x:gint; y:gint; orientation:TGtkOrientation):gboolean;cdecl;external libgnomeuidll name 'gnome_dock_layout_add_floating_item';
  180. function gnome_dock_layout_get_item(layout:PGnomeDockLayout; item:PGnomeDockItem):PGnomeDockLayoutItem;cdecl;external libgnomeuidll name 'gnome_dock_layout_get_item';
  181. function gnome_dock_layout_get_item_by_name(layout:PGnomeDockLayout; name:Pgchar):PGnomeDockLayoutItem;cdecl;external libgnomeuidll name 'gnome_dock_layout_get_item_by_name';
  182. function gnome_dock_layout_remove_item(layout:PGnomeDockLayout; item:PGnomeDockItem):gboolean;cdecl;external libgnomeuidll name 'gnome_dock_layout_remove_item';
  183. function gnome_dock_layout_remove_item_by_name(layout:PGnomeDockLayout; name:Pgchar):gboolean;cdecl;external libgnomeuidll name 'gnome_dock_layout_remove_item_by_name';
  184. function gnome_dock_layout_create_string(layout:PGnomeDockLayout):Pgchar;cdecl;external libgnomeuidll name 'gnome_dock_layout_create_string';
  185. function gnome_dock_layout_parse_string(layout:PGnomeDockLayout; _string:Pgchar):gboolean;cdecl;external libgnomeuidll name 'gnome_dock_layout_parse_string';
  186. function gnome_dock_layout_add_to_dock(layout:PGnomeDockLayout; dock:PGnomeDock):gboolean;cdecl;external libgnomeuidll name 'gnome_dock_layout_add_to_dock';
  187. function GNOME_TYPE_DOCK_BAND : TGTKType;
  188. function GNOME_IS_DOCK_BAND(obj : Pointer) : Boolean;
  189. function GNOME_IS_DOCK_BAND_CLASS(klass : Pointer) : Boolean;
  190. function gnome_dock_band_new:PGtkWidget;cdecl;external libgnomeuidll name 'gnome_dock_band_new';
  191. function gnome_dock_band_get_type:TGTKType;cdecl;external libgnomeuidll name 'gnome_dock_band_get_type';
  192. procedure gnome_dock_band_set_orientation(band:PGnomeDockBand; orientation:TGtkOrientation);cdecl;external libgnomeuidll name 'gnome_dock_band_set_orientation';
  193. function gnome_dock_band_get_orientation(band:PGnomeDockBand):TGtkOrientation;cdecl;external libgnomeuidll name 'gnome_dock_band_get_orientation';
  194. function gnome_dock_band_insert(band:PGnomeDockBand; child:PGtkWidget; offset:guint; position:gint):gboolean;cdecl;external libgnomeuidll name 'gnome_dock_band_insert';
  195. function gnome_dock_band_prepend(band:PGnomeDockBand; child:PGtkWidget; offset:guint):gboolean;cdecl;external libgnomeuidll name 'gnome_dock_band_prepend';
  196. function gnome_dock_band_append(band:PGnomeDockBand; child:PGtkWidget; offset:guint):gboolean;cdecl;external libgnomeuidll name 'gnome_dock_band_append';
  197. procedure gnome_dock_band_set_child_offset(band:PGnomeDockBand; child:PGtkWidget; offset:guint);cdecl;external libgnomeuidll name 'gnome_dock_band_set_child_offset';
  198. function gnome_dock_band_get_child_offset(band:PGnomeDockBand; child:PGtkWidget):guint;cdecl;external libgnomeuidll name 'gnome_dock_band_get_child_offset';
  199. procedure gnome_dock_band_move_child(band:PGnomeDockBand; old_child:PGList; new_num:guint);cdecl;external libgnomeuidll name 'gnome_dock_band_move_child';
  200. function gnome_dock_band_get_num_children(band:PGnomeDockBand):guint;cdecl;external libgnomeuidll name 'gnome_dock_band_get_num_children';
  201. procedure gnome_dock_band_drag_begin(band:PGnomeDockBand; item:PGnomeDockItem);cdecl;external libgnomeuidll name 'gnome_dock_band_drag_begin';
  202. function gnome_dock_band_drag_to(band:PGnomeDockBand; item:PGnomeDockItem; x:gint; y:gint):gboolean;cdecl;external libgnomeuidll name 'gnome_dock_band_drag_to';
  203. procedure gnome_dock_band_drag_end(band:PGnomeDockBand; item:PGnomeDockItem);cdecl;external libgnomeuidll name 'gnome_dock_band_drag_end';
  204. function gnome_dock_band_get_item_by_name(band:PGnomeDockBand; name:Pchar; position_return:Pguint; offset_return:Pguint):PGnomeDockItem;cdecl;external libgnomeuidll name 'gnome_dock_band_get_item_by_name';
  205. procedure gnome_dock_band_layout_add(band:PGnomeDockBand; layout:PGnomeDockLayout; placement:TGnomeDockPlacement; band_num:guint);cdecl;external libgnomeuidll name 'gnome_dock_band_layout_add';
  206. function GNOME_TYPE_DOCK : TGTKType;
  207. function GNOME_IS_DOCK(obj : Pointer) : Boolean;
  208. function GNOME_IS_DOCK_CLASS(klass : Pointer) : Boolean;
  209. function gnome_dock_new:PGtkWidget;cdecl;external libgnomeuidll name 'gnome_dock_new';
  210. function gnome_dock_get_type:TGTKType;cdecl;external libgnomeuidll name 'gnome_dock_get_type';
  211. procedure gnome_dock_allow_floating_items(dock:PGnomeDock; enable:gboolean);cdecl;external libgnomeuidll name 'gnome_dock_allow_floating_items';
  212. procedure gnome_dock_add_item(dock:PGnomeDock; item:PGnomeDockItem; placement:TGnomeDockPlacement; band_num:guint; position:gint;
  213. offset:guint; in_new_band:gboolean);cdecl;external libgnomeuidll name 'gnome_dock_add_item';
  214. procedure gnome_dock_add_floating_item(dock:PGnomeDock; widget:PGnomeDockItem; x:gint; y:gint; orientation:TGtkOrientation);cdecl;external libgnomeuidll name 'gnome_dock_add_floating_item';
  215. procedure gnome_dock_set_client_area(dock:PGnomeDock; widget:PGtkWidget);cdecl;external libgnomeuidll name 'gnome_dock_set_client_area';
  216. function gnome_dock_get_client_area(dock:PGnomeDock):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_dock_get_client_area';
  217. function gnome_dock_get_item_by_name(dock:PGnomeDock; name:Pgchar; placement_return:PGnomeDockPlacement; num_band_return:Pguint; band_position_return:Pguint;
  218. offset_return:Pguint):PGnomeDockItem;cdecl;external libgnomeuidll name 'gnome_dock_get_item_by_name';
  219. function gnome_dock_get_layout(dock:PGnomeDock):PGnomeDockLayout;cdecl;external libgnomeuidll name 'gnome_dock_get_layout';
  220. function gnome_dock_add_from_layout(dock:PGnomeDock; layout:PGnomeDockLayout):gboolean;cdecl;external libgnomeuidll name 'gnome_dock_add_from_layout';
  221. {$EndIf read_interface}
  222. {$Ifdef read_implementation}
  223. function GNOME_TYPE_DOCK_ITEM : TGTKType;
  224. begin
  225. GNOME_TYPE_DOCK_ITEM:=gnome_dock_band_get_type;
  226. end;
  227. function GNOME_IS_DOCK_ITEM(obj : pointer) : Boolean;
  228. begin
  229. GNOME_IS_DOCK_ITEM:=(obj<>nil) and GNOME_IS_DOCK_ITEM_CLASS(PGtkTypeObject(obj)^.klass);
  230. end;
  231. function GNOME_IS_DOCK_ITEM_CLASS(klass : pointer) : boolean;
  232. begin
  233. GNOME_IS_DOCK_ITEM_CLASS:= (klass<>nil) and (PGtkTypeClass(klass)^.thetype=GNOME_TYPE_DOCK_ITEM);
  234. end;
  235. function GNOME_DOCK_ITEM_NOT_LOCKED(x : PGnomeDockItem) : gboolean;
  236. begin
  237. GNOME_DOCK_ITEM_NOT_LOCKED:= not gboolean(gint(x^.behavior) and gint(GNOME_DOCK_ITEM_BEH_LOCKED));
  238. end;
  239. function float_window_mapped(var a : TGnomeDockItem) : gboolean;
  240. begin
  241. float_window_mapped:=gboolean((a.flag0 and bm__GnomeDockItem_float_window_mapped) shr bp__GnomeDockItem_float_window_mapped);
  242. end;
  243. procedure set_float_window_mapped(var a : TGnomeDockItem; __float_window_mapped : gboolean);
  244. begin
  245. a.flag0:=a.flag0 or ((gint(__float_window_mapped) shl bp__GnomeDockItem_float_window_mapped) and bm__GnomeDockItem_float_window_mapped);
  246. end;
  247. function is_floating(var a : TGnomeDockItem) : gboolean;
  248. begin
  249. is_floating:=gboolean((a.flag0 and bm__GnomeDockItem_is_floating) shr bp__GnomeDockItem_is_floating);
  250. end;
  251. procedure set_is_floating(var a : TGnomeDockItem; __is_floating : gboolean);
  252. begin
  253. a.flag0:=a.flag0 or ((gint(__is_floating) shl bp__GnomeDockItem_is_floating) and bm__GnomeDockItem_is_floating);
  254. end;
  255. function in_drag(var a : TGnomeDockItem) : gboolean;
  256. begin
  257. in_drag:=gboolean((a.flag0 and bm__GnomeDockItem_in_drag) shr bp__GnomeDockItem_in_drag);
  258. end;
  259. procedure set_in_drag(var a : TGnomeDockItem; __in_drag : gboolean);
  260. begin
  261. a.flag0:=a.flag0 or ((gint(__in_drag) shl bp__GnomeDockItem_in_drag) and bm__GnomeDockItem_in_drag);
  262. end;
  263. function GNOME_TYPE_DOCK_LAYOUT : TGTKType;
  264. begin
  265. GNOME_TYPE_DOCK_LAYOUT:=gnome_dock_layout_get_type;
  266. end;
  267. function GNOME_IS_DOCK_LAYOUT(obj : pointer) : Boolean;
  268. begin
  269. GNOME_IS_DOCK_LAYOUT:=(obj<>nil) and GNOME_IS_DOCK_LAYOUT_CLASS(PGtkTypeObject(obj)^.klass);
  270. end;
  271. function GNOME_IS_DOCK_LAYOUT_CLASS(klass : pointer) : boolean;
  272. begin
  273. GNOME_IS_DOCK_LAYOUT_CLASS:= (klass<>nil) and (PGtkTypeClass(klass)^.thetype=GNOME_TYPE_DOCK_LAYOUT);
  274. end;
  275. function GNOME_TYPE_DOCK_BAND : TGTKType;
  276. begin
  277. GNOME_TYPE_DOCK_BAND:=gnome_dock_band_get_type;
  278. end;
  279. function GNOME_IS_DOCK_BAND(obj : pointer) : Boolean;
  280. begin
  281. GNOME_IS_DOCK_BAND:=(obj<>nil) and GNOME_IS_DOCK_BAND_CLASS(PGtkTypeObject(obj)^.klass);
  282. end;
  283. function GNOME_IS_DOCK_BAND_CLASS(klass : pointer) : boolean;
  284. begin
  285. GNOME_IS_DOCK_BAND_CLASS:= (klass<>nil) and (PGtkTypeClass(klass)^.thetype=GNOME_TYPE_DOCK_BAND);
  286. end;
  287. function new_for_drag(var a : TGnomeDockBand) : boolean;
  288. begin
  289. new_for_drag:=boolean((a.flag0 and bm__GnomeDockBand_new_for_drag) shr bp__GnomeDockBand_new_for_drag);
  290. end;
  291. procedure set_new_for_drag(var a : TGnomeDockBand; __new_for_drag : boolean);
  292. begin
  293. a.flag0:=a.flag0 or ((longint(__new_for_drag) shl bp__GnomeDockBand_new_for_drag) and bm__GnomeDockBand_new_for_drag);
  294. end;
  295. function GNOME_TYPE_DOCK : TGTKType;
  296. begin
  297. GNOME_TYPE_DOCK:=gnome_dock_get_type;
  298. end;
  299. function GNOME_IS_DOCK(obj : pointer) : Boolean;
  300. begin
  301. GNOME_IS_DOCK:=(obj<>nil) and GNOME_IS_DOCK_CLASS(PGtkTypeObject(obj)^.klass);
  302. end;
  303. function GNOME_IS_DOCK_CLASS(klass : pointer) : boolean;
  304. begin
  305. GNOME_IS_DOCK_CLASS:= (klass<>nil) and (PGtkTypeClass(klass)^.thetype=GNOME_TYPE_DOCK);
  306. end;
  307. function floating_items_allowed(var a : TGnomeDock) : gboolean;
  308. begin
  309. floating_items_allowed:=gBoolean((a.flag0 and bm__GnomeDock_floating_items_allowed) shr bp__GnomeDock_floating_items_allowed);
  310. end;
  311. procedure set_floating_items_allowed(var a : TGnomeDock; __floating_items_allowed : gboolean);
  312. begin
  313. a.flag0:=a.flag0 or ((gint(__floating_items_allowed) shl bp__GnomeDock_floating_items_allowed) and bm__GnomeDock_floating_items_allowed);
  314. end;
  315. {$Endif read_implementation}