1// included by gtk2.pas
2
3{$IFDEF read_forward_definitions}
4{$ENDIF read_forward_definitions}
5
6//------------------------------------------------------------------------------
7
8{$IFDEF read_interface_types}
9   PGtkToolbarChildType = ^TGtkToolbarChildType;
10   TGtkToolbarChildType = (
11     GTK_TOOLBAR_CHILD_SPACE,
12     GTK_TOOLBAR_CHILD_BUTTON,
13     GTK_TOOLBAR_CHILD_TOGGLEBUTTON,
14     GTK_TOOLBAR_CHILD_RADIOBUTTON,
15     GTK_TOOLBAR_CHILD_WIDGET
16   );
17
18   PGtkToolbarSpaceStyle = ^TGtkToolbarSpaceStyle;
19   TGtkToolbarSpaceStyle = (
20     GTK_TOOLBAR_SPACE_EMPTY,
21     GTK_TOOLBAR_SPACE_LINE
22   );
23
24   PGtkToolbarChild = ^TGtkToolbarChild;
25   TGtkToolbarChild = record
26        _type : TGtkToolbarChildType;
27        widget : PGtkWidget;
28        icon : PGtkWidget;
29        _label : PGtkWidget;
30     end;
31
32   PGtkToolbar = ^TGtkToolbar;
33   TGtkToolbar = record
34        container : TGtkContainer;
35        num_children : gint;
36        children : PGList;
37        orientation : TGtkOrientation;
38        style : TGtkToolbarStyle;
39        icon_size : TGtkIconSize;
40        tooltips : PGtkTooltips;
41        button_maxw : gint;
42        button_maxh : gint;
43        style_set_connection : guint;
44        icon_size_connection : guint;
45        flag0 : word;
46     end;
47
48{ Padding for future expansion  }
49   PGtkToolbarClass = ^TGtkToolbarClass;
50   TGtkToolbarClass = record
51        parent_class : TGtkContainerClass;
52        orientation_changed : procedure (toolbar:PGtkToolbar; orientation:TGtkOrientation); cdecl;
53        style_changed : procedure (toolbar:PGtkToolbar; style:TGtkToolbarStyle); cdecl;
54        _gtk_reserved1 : procedure ; cdecl;
55        _gtk_reserved2 : procedure ; cdecl;
56        _gtk_reserved3 : procedure ; cdecl;
57        _gtk_reserved4 : procedure ; cdecl;
58     end;
59{$ENDIF read_interface_types}
60
61//------------------------------------------------------------------------------
62
63{$IFDEF read_interface_rest}
64const
65   bm_TGtkToolbar_style_set = $1;
66   bp_TGtkToolbar_style_set = 0;
67   bm_TGtkToolbar_icon_size_set = $2;
68   bp_TGtkToolbar_icon_size_set = 1;
69
70
71function GTK_TYPE_TOOLBAR : GType;
72function GTK_TOOLBAR(obj: pointer) : PGtkToolbar;
73function GTK_TOOLBAR_CLASS(klass: pointer) : PGtkToolbarClass;
74function GTK_IS_TOOLBAR(obj: pointer) : boolean;
75function GTK_IS_TOOLBAR_CLASS(klass: pointer) : boolean;
76function GTK_TOOLBAR_GET_CLASS(obj: pointer) : PGtkToolbarClass;
77
78function style_set(var a : TGtkToolbar) : guint;
79procedure set_style_set(var a : TGtkToolbar; __style_set : guint);
80function icon_size_set(var a : TGtkToolbar) : guint;
81procedure set_icon_size_set(var a : TGtkToolbar; __icon_size_set : guint);
82
83
84function gtk_toolbar_get_type:TGtkType; cdecl; external gtklib;
85function gtk_toolbar_new:PGtkWidget; cdecl; external gtklib;
86{ Simple button items  }
87function gtk_toolbar_append_item(toolbar:PGtkToolbar; text:Pchar; tooltip_text:Pchar; tooltip_private_text:Pchar; icon:PGtkWidget;
88           callback:TGtkSignalFunc; user_data:gpointer):PGtkWidget; cdecl; external gtklib;
89function gtk_toolbar_prepend_item(toolbar:PGtkToolbar; text:Pchar; tooltip_text:Pchar; tooltip_private_text:Pchar; icon:PGtkWidget;
90           callback:TGtkSignalFunc; user_data:gpointer):PGtkWidget; cdecl; external gtklib;
91function gtk_toolbar_insert_item(toolbar:PGtkToolbar; text:Pchar; tooltip_text:Pchar; tooltip_private_text:Pchar; icon:PGtkWidget;
92           callback:TGtkSignalFunc; user_data:gpointer; position:gint):PGtkWidget; cdecl; external gtklib;
93{ Stock Items  }
94function gtk_toolbar_insert_stock(toolbar:PGtkToolbar; stock_id:Pgchar; tooltip_text:Pchar; tooltip_private_text:Pchar; callback:TGtkSignalFunc;
95           user_data:gpointer; position:gint):PGtkWidget; cdecl; external gtklib;
96{ Space Items  }
97procedure gtk_toolbar_append_space(toolbar:PGtkToolbar); cdecl; external gtklib;
98procedure gtk_toolbar_prepend_space(toolbar:PGtkToolbar); cdecl; external gtklib;
99procedure gtk_toolbar_insert_space(toolbar:PGtkToolbar; position:gint); cdecl; external gtklib;
100procedure gtk_toolbar_remove_space(toolbar:PGtkToolbar; position:gint); cdecl; external gtklib;
101{ Any element type  }
102function gtk_toolbar_append_element(toolbar:PGtkToolbar; _type:TGtkToolbarChildType; widget:PGtkWidget; text:Pchar; tooltip_text:Pchar;
103           tooltip_private_text:Pchar; icon:PGtkWidget; callback:TGtkSignalFunc; user_data:gpointer):PGtkWidget; cdecl; external gtklib;
104function gtk_toolbar_prepend_element(toolbar:PGtkToolbar; _type:TGtkToolbarChildType; widget:PGtkWidget; text:Pchar; tooltip_text:Pchar;
105           tooltip_private_text:Pchar; icon:PGtkWidget; callback:TGtkSignalFunc; user_data:gpointer):PGtkWidget; cdecl; external gtklib;
106function gtk_toolbar_insert_element(toolbar:PGtkToolbar; _type:TGtkToolbarChildType; widget:PGtkWidget; text:Pchar; tooltip_text:Pchar;
107           tooltip_private_text:Pchar; icon:PGtkWidget; callback:TGtkSignalFunc; user_data:gpointer; position:gint):PGtkWidget; cdecl; external gtklib;
108{ Generic Widgets  }
109procedure gtk_toolbar_append_widget(toolbar:PGtkToolbar; widget:PGtkWidget; tooltip_text:Pchar; tooltip_private_text:Pchar); cdecl; external gtklib;
110procedure gtk_toolbar_prepend_widget(toolbar:PGtkToolbar; widget:PGtkWidget; tooltip_text:Pchar; tooltip_private_text:Pchar); cdecl; external gtklib;
111procedure gtk_toolbar_insert_widget(toolbar:PGtkToolbar; widget:PGtkWidget; tooltip_text:Pchar; tooltip_private_text:Pchar; position:gint); cdecl; external gtklib;
112{ Style functions  }
113procedure gtk_toolbar_set_orientation(toolbar:PGtkToolbar; orientation:TGtkOrientation); cdecl; external gtklib;
114procedure gtk_toolbar_set_style(toolbar:PGtkToolbar; style:TGtkToolbarStyle); cdecl; external gtklib;
115procedure gtk_toolbar_set_icon_size(toolbar:PGtkToolbar; icon_size:TGtkIconSize); cdecl; external gtklib;
116procedure gtk_toolbar_set_tooltips(toolbar:PGtkToolbar; enable:gboolean); cdecl; external gtklib;
117procedure gtk_toolbar_unset_style(toolbar:PGtkToolbar); cdecl; external gtklib;
118procedure gtk_toolbar_unset_icon_size(toolbar:PGtkToolbar); cdecl; external gtklib;
119function gtk_toolbar_get_orientation(toolbar:PGtkToolbar):TGtkOrientation; cdecl; external gtklib;
120function gtk_toolbar_get_style(toolbar:PGtkToolbar):TGtkToolbarStyle; cdecl; external gtklib;
121function gtk_toolbar_get_icon_size(toolbar:PGtkToolbar):TGtkIconSize; cdecl; external gtklib;
122function gtk_toolbar_get_tooltips(toolbar:PGtkToolbar):gboolean; cdecl; external gtklib;
123
124{$ifdef HasGTK2_4}
125function gtk_toolbar_get_drop_index(toolbar:PGtkToolbar; x:gint; y:gint):gint; cdecl; external gtklib;
126function gtk_toolbar_get_item_index(toolbar:PGtkToolbar; item:PGtkToolItem):gint; cdecl; external gtklib;
127function gtk_toolbar_get_nth_item(toolbar:PGtkToolbar; n:gint):PGtkToolItem; cdecl; external gtklib;
128function gtk_toolbar_get_n_items(toolbar:PGtkToolbar):gint; cdecl; external gtklib;
129function gtk_toolbar_get_relief_style(toolbar:PGtkToolbar):TGtkReliefStyle; cdecl; external gtklib;
130function gtk_toolbar_get_show_arrow(toolbar:PGtkToolbar):gboolean; cdecl; external gtklib;
131procedure gtk_toolbar_insert(toolbar:PGtkToolbar; item:PGtkToolItem; pos:gint); cdecl; external gtklib;
132procedure gtk_toolbar_set_drop_highlight_item(toolbar:PGtkToolbar; tool_item:PGtkToolItem; index_:gint); cdecl; external gtklib;
133procedure gtk_toolbar_set_show_arrow(toolbar:PGtkToolbar; show_arrow:gboolean); cdecl; external gtklib;
134{$endif}
135
136{$ENDIF read_interface_rest}
137
138//------------------------------------------------------------------------------
139
140{$IFDEF read_implementation}
141function GTK_TYPE_TOOLBAR : GType;
142begin
143   GTK_TYPE_TOOLBAR:=gtk_toolbar_get_type;
144end;
145
146function GTK_TOOLBAR(obj: pointer) : PGtkToolbar;
147begin
148   GTK_TOOLBAR:=PGtkToolbar(GTK_CHECK_CAST(obj,GTK_TYPE_TOOLBAR));
149end;
150
151function GTK_TOOLBAR_CLASS(klass: pointer) : PGtkToolbarClass;
152begin
153   GTK_TOOLBAR_CLASS:=PGtkToolbarClass(GTK_CHECK_CLASS_CAST(klass,GTK_TYPE_TOOLBAR));
154end;
155
156function GTK_IS_TOOLBAR(obj: pointer) : boolean;
157begin
158   GTK_IS_TOOLBAR:=GTK_CHECK_TYPE(obj,GTK_TYPE_TOOLBAR);
159end;
160
161function GTK_IS_TOOLBAR_CLASS(klass: pointer) : boolean;
162begin
163   GTK_IS_TOOLBAR_CLASS:=GTK_CHECK_CLASS_TYPE(klass,GTK_TYPE_TOOLBAR);
164end;
165
166function GTK_TOOLBAR_GET_CLASS(obj: pointer) : PGtkToolbarClass;
167begin
168   GTK_TOOLBAR_GET_CLASS:=PGtkToolbarClass(GTK_CHECK_GET_CLASS(obj,GTK_TYPE_TOOLBAR));
169end;
170
171function style_set(var a : TGtkToolbar) : guint;
172begin
173   style_set:=(a.flag0 and bm_TGtkToolbar_style_set) shr bp_TGtkToolbar_style_set;
174end;
175
176procedure set_style_set(var a : TGtkToolbar; __style_set : guint);
177begin
178   a.flag0:=a.flag0 or ((__style_set shl bp_TGtkToolbar_style_set) and bm_TGtkToolbar_style_set);
179end;
180
181function icon_size_set(var a : TGtkToolbar) : guint;
182begin
183   icon_size_set:=(a.flag0 and bm_TGtkToolbar_icon_size_set) shr bp_TGtkToolbar_icon_size_set;
184end;
185
186procedure set_icon_size_set(var a : TGtkToolbar; __icon_size_set : guint);
187begin
188   a.flag0:=a.flag0 or ((__icon_size_set shl bp_TGtkToolbar_icon_size_set) and bm_TGtkToolbar_icon_size_set);
189end;
190
191{$ENDIF read_implementation}
192// included by gtk2.pas
193
194