gtkitemfactory.inc 7.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180
  1. // included by gtk2.pas
  2. {$IFDEF read_forward_definitions}
  3. {$ENDIF read_forward_definitions}
  4. //------------------------------------------------------------------------------
  5. {$IFDEF read_interface_types}
  6. TGtkPrintFunc = procedure (func_data:gpointer; str:Pgchar); cdecl;
  7. PGtkTranslateFunc = ^TGtkTranslateFunc;
  8. TGtkTranslateFunc = gchar;
  9. TGtkItemFactoryCallback = procedure ; cdecl;
  10. TGtkItemFactoryCallback1 = procedure (callback_data:gpointer; callback_action:guint; widget:PGtkWidget); cdecl;
  11. PGtkItemFactory = ^TGtkItemFactory;
  12. TGtkItemFactory = record
  13. anObject : TGtkObject;
  14. path : Pgchar;
  15. accel_group : PGtkAccelGroup;
  16. widget : PGtkWidget;
  17. items : PGSList;
  18. translate_func : TGtkTranslateFunc;
  19. translate_data : gpointer;
  20. translate_notify : TGtkDestroyNotify;
  21. end;
  22. { Padding for future expansion }
  23. PGtkItemFactoryClass = ^TGtkItemFactoryClass;
  24. TGtkItemFactoryClass = record
  25. object_class : TGtkObjectClass;
  26. item_ht : PGHashTable;
  27. _gtk_reserved1 : procedure ; cdecl;
  28. _gtk_reserved2 : procedure ; cdecl;
  29. _gtk_reserved3 : procedure ; cdecl;
  30. _gtk_reserved4 : procedure ; cdecl;
  31. end;
  32. { possible values:
  33. NULL -> "<Item>"
  34. "" -> "<Item>"
  35. "<Title>" -> create a title item
  36. "<Item>" -> create a simple item
  37. "<ImageItem>" -> create an item holding an image
  38. "<StockItem>" -> create an item holding a stock image
  39. "<CheckItem>" -> create a check item
  40. "<ToggleItem>" -> create a toggle item
  41. "<RadioItem>" -> create a radio item
  42. <path> -> path of a radio item to link against
  43. "<Separator>" -> create a separator
  44. "<Tearoff>" -> create a tearoff separator
  45. "<Branch>" -> create an item to hold sub items
  46. "<LastBranch>" -> create a right justified item to hold sub items
  47. }
  48. { Extra data for some item types:
  49. ImageItem -> pointer to inlined pixbuf stream
  50. StockItem -> name of stock item
  51. }
  52. PGtkItemFactoryEntry = ^TGtkItemFactoryEntry;
  53. TGtkItemFactoryEntry = record
  54. path : Pgchar;
  55. accelerator : Pgchar;
  56. callback : TGtkItemFactoryCallback;
  57. callback_action : guint;
  58. item_type : Pgchar;
  59. extra_data : gconstpointer;
  60. end;
  61. PGtkItemFactoryItem = ^TGtkItemFactoryItem;
  62. TGtkItemFactoryItem = record
  63. path : Pgchar;
  64. widgets : PGSList;
  65. end;
  66. {$ifndef GTK_DISABLE_DEPRECATED}
  67. { Compatibility functions for deprecated GtkMenuFactory code }
  68. TGtkMenuCallback = procedure (widget:PGtkWidget; user_data:gpointer); cdecl;
  69. PGtkMenuEntry = ^TGtkMenuEntry;
  70. TGtkMenuEntry = record
  71. path : Pgchar;
  72. accelerator : Pgchar;
  73. callback : TGtkMenuCallback;
  74. callback_data : gpointer;
  75. widget : PGtkWidget;
  76. end;
  77. TGtkItemFactoryCallback2 = procedure (widget:PGtkWidget; callback_data:gpointer; callback_action:guint); cdecl;
  78. {$endif}
  79. { GTK_DISABLE_DEPRECATED }
  80. {$ENDIF read_interface_types}
  81. //------------------------------------------------------------------------------
  82. {$IFDEF read_interface_rest}
  83. function GTK_TYPE_ITEM_FACTORY : GType;
  84. function GTK_ITEM_FACTORY(anObject: pointer) : PGtkItemFactory;
  85. function GTK_ITEM_FACTORY_CLASS(klass: pointer) : PGtkItemFactoryClass;
  86. function GTK_IS_ITEM_FACTORY(anObject: pointer) : boolean;
  87. function GTK_IS_ITEM_FACTORY_CLASS(klass: pointer) : boolean;
  88. function GTK_ITEM_FACTORY_GET_CLASS(obj: pointer) : PGtkItemFactoryClass;
  89. function gtk_item_factory_get_type:TGtkType; cdecl; external gtklib;
  90. { `container_type' must be of GTK_TYPE_MENU_BAR, GTK_TYPE_MENU,
  91. or GTK_TYPE_OPTION_MENU.
  92. }
  93. function gtk_item_factory_new(container_type:TGtkType; path:Pgchar; accel_group:PGtkAccelGroup):PGtkItemFactory; cdecl; external gtklib;
  94. procedure gtk_item_factory_construct(ifactory:PGtkItemFactory; container_type:TGtkType; path:Pgchar; accel_group:PGtkAccelGroup); cdecl; external gtklib;
  95. { These functions operate on GtkItemFactoryClass basis.
  96. }
  97. procedure gtk_item_factory_add_foreign(accel_widget:PGtkWidget; full_path:Pgchar; accel_group:PGtkAccelGroup; keyval:guint; modifiers:TGdkModifierType); cdecl; external gtklib;
  98. function gtk_item_factory_from_widget(widget:PGtkWidget):PGtkItemFactory; cdecl; external gtklib;
  99. function gtk_item_factory_path_from_widget(widget:PGtkWidget):Pgchar; cdecl; external gtklib;
  100. function gtk_item_factory_get_item(ifactory:PGtkItemFactory; path:Pgchar):PGtkWidget; cdecl; external gtklib;
  101. function gtk_item_factory_get_widget(ifactory:PGtkItemFactory; path:Pgchar):PGtkWidget; cdecl; external gtklib;
  102. function gtk_item_factory_get_widget_by_action(ifactory:PGtkItemFactory; action:guint):PGtkWidget; cdecl; external gtklib;
  103. function gtk_item_factory_get_item_by_action(ifactory:PGtkItemFactory; action:guint):PGtkWidget; cdecl; external gtklib;
  104. procedure gtk_item_factory_create_item(ifactory:PGtkItemFactory; entry:PGtkItemFactoryEntry; callback_data:gpointer; callback_type:guint); cdecl; external gtklib;
  105. procedure gtk_item_factory_create_items(ifactory:PGtkItemFactory; n_entries:guint; entries:PGtkItemFactoryEntry; callback_data:gpointer); cdecl; external gtklib;
  106. procedure gtk_item_factory_delete_item(ifactory:PGtkItemFactory; path:Pgchar); cdecl; external gtklib;
  107. procedure gtk_item_factory_delete_entry(ifactory:PGtkItemFactory; entry:PGtkItemFactoryEntry); cdecl; external gtklib;
  108. procedure gtk_item_factory_delete_entries(ifactory:PGtkItemFactory; n_entries:guint; entries:PGtkItemFactoryEntry); cdecl; external gtklib;
  109. procedure gtk_item_factory_popup(ifactory:PGtkItemFactory; x:guint; y:guint; mouse_button:guint; time:guint32); cdecl; external gtklib;
  110. procedure gtk_item_factory_popup_with_data(ifactory:PGtkItemFactory; popup_data:gpointer; destroy:TGtkDestroyNotify; x:guint; y:guint;
  111. mouse_button:guint; time:guint32); cdecl; external gtklib;
  112. function gtk_item_factory_popup_data(ifactory:PGtkItemFactory):gpointer; cdecl; external gtklib;
  113. function gtk_item_factory_popup_data_from_widget(widget:PGtkWidget):gpointer; cdecl; external gtklib;
  114. procedure gtk_item_factory_set_translate_func(ifactory:PGtkItemFactory; func:TGtkTranslateFunc; data:gpointer; notify:TGtkDestroyNotify); cdecl; external gtklib;
  115. {$ifndef GTK_DISABLE_DEPRECATED}
  116. function gtk_item_factory_from_path(path:Pgchar):PGtkItemFactory; cdecl; external gtklib;
  117. procedure gtk_item_factory_create_menu_entries(n_entries:guint; entries:PGtkMenuEntry); cdecl; external gtklib;
  118. procedure gtk_item_factories_path_delete(ifactory_path:Pgchar; path:Pgchar); cdecl; external gtklib;
  119. procedure gtk_item_factory_create_items_ac(ifactory:PGtkItemFactory; n_entries:guint; entries:PGtkItemFactoryEntry; callback_data:gpointer; callback_type:guint); cdecl; external gtklib;
  120. {$endif}
  121. { GTK_DISABLE_DEPRECATED }
  122. {$ENDIF read_interface_rest}
  123. //------------------------------------------------------------------------------
  124. {$IFDEF read_implementation}
  125. function GTK_TYPE_ITEM_FACTORY : GType;
  126. begin
  127. GTK_TYPE_ITEM_FACTORY:=gtk_item_factory_get_type;
  128. end;
  129. function GTK_ITEM_FACTORY(anObject: pointer) : PGtkItemFactory;
  130. begin
  131. GTK_ITEM_FACTORY:=PGtkItemFactory(GTK_CHECK_CAST(anObject,GTK_TYPE_ITEM_FACTORY));
  132. end;
  133. function GTK_ITEM_FACTORY_CLASS(klass: pointer) : PGtkItemFactoryClass;
  134. begin
  135. GTK_ITEM_FACTORY_CLASS:=PGtkItemFactoryClass(GTK_CHECK_CLASS_CAST(klass,GTK_TYPE_ITEM_FACTORY));
  136. end;
  137. function GTK_IS_ITEM_FACTORY(anObject: pointer) : boolean;
  138. begin
  139. GTK_IS_ITEM_FACTORY:=GTK_CHECK_TYPE(anObject,GTK_TYPE_ITEM_FACTORY);
  140. end;
  141. function GTK_IS_ITEM_FACTORY_CLASS(klass: pointer) : boolean;
  142. begin
  143. GTK_IS_ITEM_FACTORY_CLASS:=GTK_CHECK_CLASS_TYPE(klass,GTK_TYPE_ITEM_FACTORY);
  144. end;
  145. function GTK_ITEM_FACTORY_GET_CLASS(obj: pointer) : PGtkItemFactoryClass;
  146. begin
  147. GTK_ITEM_FACTORY_GET_CLASS:=PGtkItemFactoryClass(GTK_CHECK_GET_CLASS(obj,GTK_TYPE_ITEM_FACTORY));
  148. end;
  149. {$ENDIF read_implementation}
  150. // included by gtk2.pas