gtknotebook.inc 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348
  1. // included by gtk2.pas
  2. {$IFDEF read_forward_definitions}
  3. {$ENDIF read_forward_definitions}
  4. //------------------------------------------------------------------------------
  5. {$IFDEF read_interface_types}
  6. // internal type
  7. PGtkNotebookPage = pointer;
  8. PGtkNotebookTab = ^TGtkNotebookTab;
  9. TGtkNotebookTab = (
  10. GTK_NOTEBOOK_TAB_FIRST,
  11. GTK_NOTEBOOK_TAB_LAST
  12. );
  13. { The first tab visible (for scrolling notebooks) }
  14. { Flag used by ::move-focus-out implementation }
  15. PGtkNotebook = ^TGtkNotebook;
  16. TGtkNotebook = record
  17. container : TGtkContainer;
  18. cur_page : PGtkNotebookPage;
  19. children : PGList;
  20. first_tab : PGList;
  21. focus_tab : PGList;
  22. menu : PGtkWidget;
  23. event_window : PGdkWindow;
  24. timer : guint32;
  25. tab_hborder : guint16;
  26. tab_vborder : guint16;
  27. flag0 : word;
  28. end;
  29. { Action signals for keybindings }
  30. { Padding for future expansion }
  31. PGtkNotebookClass = ^TGtkNotebookClass;
  32. TGtkNotebookClass = record
  33. parent_class : TGtkContainerClass;
  34. switch_page : procedure (notebook:PGtkNotebook; page:PGtkNotebookPage; page_num:guint); cdecl;
  35. select_page : function (notebook:PGtkNotebook; move_focus:gboolean):gboolean; cdecl;
  36. focus_tab : function (notebook:PGtkNotebook; _type:TGtkNotebookTab):gboolean; cdecl;
  37. change_current_page : procedure (notebook:PGtkNotebook; offset:gint); cdecl;
  38. move_focus_out : procedure (notebook:PGtkNotebook; direction:TGtkDirectionType); cdecl;
  39. _gtk_reserved1 : procedure ; cdecl;
  40. _gtk_reserved2 : procedure ; cdecl;
  41. _gtk_reserved3 : procedure ; cdecl;
  42. _gtk_reserved4 : procedure ; cdecl;
  43. end;
  44. {$ENDIF read_interface_types}
  45. //------------------------------------------------------------------------------
  46. {$IFDEF read_interface_rest}
  47. const
  48. bm_TGtkNotebook_show_tabs = $1;
  49. bp_TGtkNotebook_show_tabs = 0;
  50. bm_TGtkNotebook_homogeneous = $2;
  51. bp_TGtkNotebook_homogeneous = 1;
  52. bm_TGtkNotebook_show_border = $4;
  53. bp_TGtkNotebook_show_border = 2;
  54. bm_TGtkNotebook_tab_pos = $18;
  55. bp_TGtkNotebook_tab_pos = 3;
  56. bm_TGtkNotebook_scrollable = $20;
  57. bp_TGtkNotebook_scrollable = 5;
  58. bm_TGtkNotebook_in_child = $C0;
  59. bp_TGtkNotebook_in_child = 6;
  60. bm_TGtkNotebook_click_child = $300;
  61. bp_TGtkNotebook_click_child = 8;
  62. bm_TGtkNotebook_button = $C00;
  63. bp_TGtkNotebook_button = 10;
  64. bm_TGtkNotebook_need_timer = $1000;
  65. bp_TGtkNotebook_need_timer = 12;
  66. bm_TGtkNotebook_child_has_focus = $2000;
  67. bp_TGtkNotebook_child_has_focus = 13;
  68. bm_TGtkNotebook_have_visible_child = $4000;
  69. bp_TGtkNotebook_have_visible_child = 14;
  70. bm_TGtkNotebook_focus_out = $8000;
  71. bp_TGtkNotebook_focus_out = 15;
  72. {$ifndef GTK_DISABLE_DEPRECATED}
  73. function gtk_notebook_current_page(notebook:PGtkNotebook):gint;
  74. procedure gtk_notebook_set_page(notebook:PGtkNotebook; page_num:gint);
  75. {$endif}
  76. function GTK_TYPE_NOTEBOOK : GType;
  77. function GTK_NOTEBOOK(obj: pointer) : PGtkNotebook;
  78. function GTK_NOTEBOOK_CLASS(klass: pointer) : PGtkNotebookClass;
  79. function GTK_IS_NOTEBOOK(obj: pointer) : boolean;
  80. function GTK_IS_NOTEBOOK_CLASS(klass: pointer) : boolean;
  81. function GTK_NOTEBOOK_GET_CLASS(obj: pointer) : PGtkNotebookClass;
  82. function show_tabs(var a : TGtkNotebook) : guint;
  83. procedure set_show_tabs(var a : TGtkNotebook; __show_tabs : guint);
  84. function homogeneous(var a : TGtkNotebook) : guint; overload;
  85. procedure set_homogeneous(var a : TGtkNotebook; __homogeneous : guint); overload;
  86. function show_border(var a : TGtkNotebook) : guint;
  87. procedure set_show_border(var a : TGtkNotebook; __show_border : guint);
  88. function tab_pos(var a : TGtkNotebook) : guint;
  89. procedure set_tab_pos(var a : TGtkNotebook; __tab_pos : guint);
  90. function scrollable(var a : TGtkNotebook) : guint;
  91. procedure set_scrollable(var a : TGtkNotebook; __scrollable : guint);
  92. function in_child(var a : TGtkNotebook) : guint; overload;
  93. procedure set_in_child(var a : TGtkNotebook; __in_child : guint); overload;
  94. function click_child(var a : TGtkNotebook) : guint; overload;
  95. procedure set_click_child(var a : TGtkNotebook; __click_child : guint); overload;
  96. function button(var a : TGtkNotebook) : guint; overload;
  97. procedure set_button(var a : TGtkNotebook; __button : guint); overload;
  98. function need_timer(var a : TGtkNotebook) : guint; overload;
  99. procedure set_need_timer(var a : TGtkNotebook; __need_timer : guint); overload;
  100. function child_has_focus(var a : TGtkNotebook) : guint;
  101. procedure set_child_has_focus(var a : TGtkNotebook; __child_has_focus : guint);
  102. function have_visible_child(var a : TGtkNotebook) : guint;
  103. procedure set_have_visible_child(var a : TGtkNotebook; __have_visible_child : guint);
  104. function focus_out(var a : TGtkNotebook) : guint; overload;
  105. procedure set_focus_out(var a : TGtkNotebook; __focus_out : guint); overload;
  106. { Creation, insertion, deletion }
  107. function gtk_notebook_get_type:TGtkType; cdecl; external gtklib;
  108. function gtk_notebook_new:PGtkWidget; cdecl; external gtklib;
  109. function gtk_notebook_append_page(notebook:PGtkNotebook; child:PGtkWidget; tab_label:PGtkWidget): gint; cdecl; external gtklib;
  110. function gtk_notebook_append_page_menu(notebook:PGtkNotebook; child:PGtkWidget; tab_label:PGtkWidget; menu_label:PGtkWidget):gint; cdecl; external gtklib;
  111. function gtk_notebook_prepend_page(notebook:PGtkNotebook; child:PGtkWidget; tab_label:PGtkWidget):gint; cdecl; external gtklib;
  112. function gtk_notebook_prepend_page_menu(notebook:PGtkNotebook; child:PGtkWidget; tab_label:PGtkWidget; menu_label:PGtkWidget):gint;cdecl; external gtklib;
  113. function gtk_notebook_insert_page(notebook:PGtkNotebook; child:PGtkWidget;tab_label:PGtkWidget; position:gint):gint; cdecl; external gtklib;
  114. function gtk_notebook_insert_page_menu(notebook:PGtkNotebook; child:PGtkWidget; tab_label:PGtkWidget; menu_label:PGtkWidget;position:gint):gint; cdecl; external gtklib;
  115. procedure gtk_notebook_remove_page(notebook:PGtkNotebook; page_num:gint); cdecl; external gtklib;
  116. { query, set current NoteebookPage }
  117. function gtk_notebook_get_current_page(notebook:PGtkNotebook):gint; cdecl; external gtklib;
  118. function gtk_notebook_get_nth_page(notebook:PGtkNotebook; page_num:gint):PGtkWidget; cdecl; external gtklib;
  119. function gtk_notebook_page_num(notebook:PGtkNotebook; child:PGtkWidget):gint; cdecl; external gtklib;
  120. procedure gtk_notebook_set_current_page(notebook:PGtkNotebook; page_num:gint); cdecl; external gtklib;
  121. procedure gtk_notebook_next_page(notebook:PGtkNotebook); cdecl; external gtklib;
  122. procedure gtk_notebook_prev_page(notebook:PGtkNotebook); cdecl; external gtklib;
  123. { set Notebook, NotebookTab style }
  124. procedure gtk_notebook_set_show_border(notebook:PGtkNotebook; show_border:gboolean); cdecl; external gtklib;
  125. function gtk_notebook_get_show_border(notebook:PGtkNotebook):gboolean; cdecl; external gtklib;
  126. procedure gtk_notebook_set_show_tabs(notebook:PGtkNotebook; show_tabs:gboolean); cdecl; external gtklib;
  127. function gtk_notebook_get_show_tabs(notebook:PGtkNotebook):gboolean; cdecl; external gtklib;
  128. procedure gtk_notebook_set_tab_pos(notebook:PGtkNotebook; pos:TGtkPositionType); cdecl; external gtklib;
  129. function gtk_notebook_get_tab_pos(notebook:PGtkNotebook):TGtkPositionType; cdecl; external gtklib;
  130. {$ifndef GTK_DISABLE_DEPRECATED}
  131. procedure gtk_notebook_set_homogeneous_tabs(notebook:PGtkNotebook; homogeneous:gboolean); cdecl; external gtklib;
  132. procedure gtk_notebook_set_tab_border(notebook:PGtkNotebook; border_width:guint); cdecl; external gtklib;
  133. procedure gtk_notebook_set_tab_hborder(notebook:PGtkNotebook; tab_hborder:guint); cdecl; external gtklib;
  134. procedure gtk_notebook_set_tab_vborder(notebook:PGtkNotebook; tab_vborder:guint); cdecl; external gtklib;
  135. {$endif}
  136. { GTK_DISABLE_DEPRECATED }
  137. procedure gtk_notebook_set_scrollable(notebook:PGtkNotebook; scrollable:gboolean); cdecl; external gtklib;
  138. function gtk_notebook_get_scrollable(notebook:PGtkNotebook):gboolean; cdecl; external gtklib;
  139. {
  140. enable/disable PopupMenu
  141. }
  142. procedure gtk_notebook_popup_enable(notebook:PGtkNotebook); cdecl; external gtklib;
  143. procedure gtk_notebook_popup_disable(notebook:PGtkNotebook); cdecl; external gtklib;
  144. {
  145. query/set NotebookPage Properties
  146. }
  147. function gtk_notebook_get_tab_label(notebook:PGtkNotebook; child:PGtkWidget):PGtkWidget; cdecl; external gtklib;
  148. procedure gtk_notebook_set_tab_label(notebook:PGtkNotebook; child:PGtkWidget; tab_label:PGtkWidget); cdecl; external gtklib;
  149. procedure gtk_notebook_set_tab_label_text(notebook:PGtkNotebook; child:PGtkWidget; tab_text:Pgchar); cdecl; external gtklib;
  150. function gtk_notebook_get_tab_label_text(notebook:PGtkNotebook; child:PGtkWidget):Pgchar; cdecl; external gtklib;
  151. function gtk_notebook_get_menu_label(notebook:PGtkNotebook; child:PGtkWidget):PGtkWidget; cdecl; external gtklib;
  152. procedure gtk_notebook_set_menu_label(notebook:PGtkNotebook; child:PGtkWidget; menu_label:PGtkWidget); cdecl; external gtklib;
  153. procedure gtk_notebook_set_menu_label_text(notebook:PGtkNotebook; child:PGtkWidget; menu_text:Pgchar); cdecl; external gtklib;
  154. function gtk_notebook_get_menu_label_text(notebook:PGtkNotebook; child:PGtkWidget):Pgchar; cdecl; external gtklib;
  155. procedure gtk_notebook_query_tab_label_packing(notebook:PGtkNotebook;child:PGtkWidget;expand:Pgboolean;fill:Pgboolean;pack_type:PGtkPackType); cdecl; external gtklib;
  156. procedure gtk_notebook_set_tab_label_packing(notebook:PGtkNotebook; child:PGtkWidget; expand:gboolean; fill:gboolean; pack_type:TGtkPackType); cdecl; external gtklib;
  157. procedure gtk_notebook_reorder_child(notebook:PGtkNotebook; child:PGtkWidget; position:gint); cdecl; external gtklib;
  158. {$IFDEF HasGTK2_4}
  159. function gtk_notebook_get_n_pages(notebook:PGtkNotebook): integer; cdecl; external gtklib;
  160. {$ENDIF HasGTK2_4}
  161. {$ENDIF read_interface_rest}
  162. //------------------------------------------------------------------------------
  163. {$IFDEF read_implementation}
  164. function GTK_TYPE_NOTEBOOK : GType;
  165. begin
  166. GTK_TYPE_NOTEBOOK:=gtk_notebook_get_type;
  167. end;
  168. function GTK_NOTEBOOK(obj: pointer) : PGtkNotebook;
  169. begin
  170. GTK_NOTEBOOK:=PGtkNotebook(GTK_CHECK_CAST(obj,GTK_TYPE_NOTEBOOK));
  171. end;
  172. function GTK_NOTEBOOK_CLASS(klass: pointer) : PGtkNotebookClass;
  173. begin
  174. GTK_NOTEBOOK_CLASS:=PGtkNotebookClass(GTK_CHECK_CLASS_CAST(klass,GTK_TYPE_NOTEBOOK));
  175. end;
  176. function GTK_IS_NOTEBOOK(obj: pointer) : boolean;
  177. begin
  178. GTK_IS_NOTEBOOK:=GTK_CHECK_TYPE(obj,GTK_TYPE_NOTEBOOK);
  179. end;
  180. function GTK_IS_NOTEBOOK_CLASS(klass: pointer) : boolean;
  181. begin
  182. GTK_IS_NOTEBOOK_CLASS:=GTK_CHECK_CLASS_TYPE(klass,GTK_TYPE_NOTEBOOK);
  183. end;
  184. function GTK_NOTEBOOK_GET_CLASS(obj: pointer) : PGtkNotebookClass;
  185. begin
  186. GTK_NOTEBOOK_GET_CLASS:=PGtkNotebookClass(GTK_CHECK_GET_CLASS(obj,GTK_TYPE_NOTEBOOK));
  187. end;
  188. function show_tabs(var a : TGtkNotebook) : guint;
  189. begin
  190. show_tabs:=(a.flag0 and bm_TGtkNotebook_show_tabs) shr bp_TGtkNotebook_show_tabs;
  191. end;
  192. procedure set_show_tabs(var a : TGtkNotebook; __show_tabs : guint);
  193. begin
  194. a.flag0:=a.flag0 or ((__show_tabs shl bp_TGtkNotebook_show_tabs) and bm_TGtkNotebook_show_tabs);
  195. end;
  196. function homogeneous(var a : TGtkNotebook) : guint;
  197. begin
  198. homogeneous:=(a.flag0 and bm_TGtkNotebook_homogeneous) shr bp_TGtkNotebook_homogeneous;
  199. end;
  200. procedure set_homogeneous(var a : TGtkNotebook; __homogeneous : guint);
  201. begin
  202. a.flag0:=a.flag0 or ((__homogeneous shl bp_TGtkNotebook_homogeneous) and bm_TGtkNotebook_homogeneous);
  203. end;
  204. function show_border(var a : TGtkNotebook) : guint;
  205. begin
  206. show_border:=(a.flag0 and bm_TGtkNotebook_show_border) shr bp_TGtkNotebook_show_border;
  207. end;
  208. procedure set_show_border(var a : TGtkNotebook; __show_border : guint);
  209. begin
  210. a.flag0:=a.flag0 or ((__show_border shl bp_TGtkNotebook_show_border) and bm_TGtkNotebook_show_border);
  211. end;
  212. function tab_pos(var a : TGtkNotebook) : guint;
  213. begin
  214. tab_pos:=(a.flag0 and bm_TGtkNotebook_tab_pos) shr bp_TGtkNotebook_tab_pos;
  215. end;
  216. procedure set_tab_pos(var a : TGtkNotebook; __tab_pos : guint);
  217. begin
  218. a.flag0:=a.flag0 or ((__tab_pos shl bp_TGtkNotebook_tab_pos) and bm_TGtkNotebook_tab_pos);
  219. end;
  220. function scrollable(var a : TGtkNotebook) : guint;
  221. begin
  222. scrollable:=(a.flag0 and bm_TGtkNotebook_scrollable) shr bp_TGtkNotebook_scrollable;
  223. end;
  224. procedure set_scrollable(var a : TGtkNotebook; __scrollable : guint);
  225. begin
  226. a.flag0:=a.flag0 or ((__scrollable shl bp_TGtkNotebook_scrollable) and bm_TGtkNotebook_scrollable);
  227. end;
  228. function in_child(var a : TGtkNotebook) : guint;
  229. begin
  230. in_child:=(a.flag0 and bm_TGtkNotebook_in_child) shr bp_TGtkNotebook_in_child;
  231. end;
  232. procedure set_in_child(var a : TGtkNotebook; __in_child : guint);
  233. begin
  234. a.flag0:=a.flag0 or ((__in_child shl bp_TGtkNotebook_in_child) and bm_TGtkNotebook_in_child);
  235. end;
  236. function click_child(var a : TGtkNotebook) : guint;
  237. begin
  238. click_child:=(a.flag0 and bm_TGtkNotebook_click_child) shr bp_TGtkNotebook_click_child;
  239. end;
  240. procedure set_click_child(var a : TGtkNotebook; __click_child : guint);
  241. begin
  242. a.flag0:=a.flag0 or ((__click_child shl bp_TGtkNotebook_click_child) and bm_TGtkNotebook_click_child);
  243. end;
  244. function button(var a : TGtkNotebook) : guint;
  245. begin
  246. button:=(a.flag0 and bm_TGtkNotebook_button) shr bp_TGtkNotebook_button;
  247. end;
  248. procedure set_button(var a : TGtkNotebook; __button : guint);
  249. begin
  250. a.flag0:=a.flag0 or ((__button shl bp_TGtkNotebook_button) and bm_TGtkNotebook_button);
  251. end;
  252. function need_timer(var a : TGtkNotebook) : guint;
  253. begin
  254. need_timer:=(a.flag0 and bm_TGtkNotebook_need_timer) shr bp_TGtkNotebook_need_timer;
  255. end;
  256. procedure set_need_timer(var a : TGtkNotebook; __need_timer : guint);
  257. begin
  258. a.flag0:=a.flag0 or ((__need_timer shl bp_TGtkNotebook_need_timer) and bm_TGtkNotebook_need_timer);
  259. end;
  260. function child_has_focus(var a : TGtkNotebook) : guint;
  261. begin
  262. child_has_focus:=(a.flag0 and bm_TGtkNotebook_child_has_focus) shr bp_TGtkNotebook_child_has_focus;
  263. end;
  264. procedure set_child_has_focus(var a : TGtkNotebook; __child_has_focus : guint);
  265. begin
  266. a.flag0:=a.flag0 or ((__child_has_focus shl bp_TGtkNotebook_child_has_focus) and bm_TGtkNotebook_child_has_focus);
  267. end;
  268. function have_visible_child(var a : TGtkNotebook) : guint;
  269. begin
  270. have_visible_child:=(a.flag0 and bm_TGtkNotebook_have_visible_child) shr bp_TGtkNotebook_have_visible_child;
  271. end;
  272. procedure set_have_visible_child(var a : TGtkNotebook; __have_visible_child : guint);
  273. begin
  274. a.flag0:=a.flag0 or ((__have_visible_child shl bp_TGtkNotebook_have_visible_child) and bm_TGtkNotebook_have_visible_child);
  275. end;
  276. function focus_out(var a : TGtkNotebook) : guint;
  277. begin
  278. focus_out:=(a.flag0 and bm_TGtkNotebook_focus_out) shr bp_TGtkNotebook_focus_out;
  279. end;
  280. procedure set_focus_out(var a : TGtkNotebook; __focus_out : guint);
  281. begin
  282. a.flag0:=a.flag0 or ((__focus_out shl bp_TGtkNotebook_focus_out) and bm_TGtkNotebook_focus_out);
  283. end;
  284. {$ifndef GTK_DISABLE_DEPRECATED}
  285. function gtk_notebook_current_page(notebook:PGtkNotebook):gint;
  286. begin
  287. gtk_notebook_current_page:=gtk_notebook_get_current_page(notebook);
  288. end;
  289. procedure gtk_notebook_set_page(notebook:PGtkNotebook; page_num:gint);
  290. begin
  291. gtk_notebook_set_current_page(notebook,page_num);
  292. end;
  293. {$endif}
  294. {$ENDIF read_implementation}
  295. // included by gtk2.pas