]> Pileus Git - ~andy/gtk/blob - gtk/gtkenums.h
removed all occourances of #pragma } and #pragma { which were in place to
[~andy/gtk] / gtk / gtkenums.h
1 /* GTK - The GIMP Toolkit
2  * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Library General Public
6  * License as published by the Free Software Foundation; either
7  * version 2 of the License, or (at your option) any later version.
8  *
9  * This library is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12  * Library General Public License for more details.
13  *
14  * You should have received a copy of the GNU Library General Public
15  * License along with this library; if not, write to the
16  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
17  * Boston, MA 02111-1307, USA.
18  */
19 #ifndef __GTK_ENUMS_H__
20 #define __GTK_ENUMS_H__
21
22 #ifdef __cplusplus
23 extern "C" {
24 #endif /* __cplusplus */
25
26 typedef enum
27 {
28   /* should the accelerator appear in
29    * the widget's display?
30    */
31   GTK_ACCEL_VISIBLE        = 1 << 0,
32   /* should the signal associated with
33    * this accelerator be also visible?
34    */
35   GTK_ACCEL_SIGNAL_VISIBLE = 1 << 1,
36   /* may the accelerator be removed
37    * again?
38    */
39   GTK_ACCEL_LOCKED         = 1 << 2,
40   GTK_ACCEL_MASK           = 0x07
41 } GtkAccelFlags;
42
43 /* Arrow types */
44 typedef enum
45 {
46   GTK_ARROW_UP,
47   GTK_ARROW_DOWN,
48   GTK_ARROW_LEFT,
49   GTK_ARROW_RIGHT
50 } GtkArrowType;
51
52 /* Attach options (for tables) */
53 typedef enum
54 {
55   GTK_EXPAND = 1 << 0,
56   GTK_SHRINK = 1 << 1,
57   GTK_FILL   = 1 << 2
58 } GtkAttachOptions;
59
60 /* Button box styles */
61 typedef enum 
62 {
63   GTK_BUTTONBOX_DEFAULT_STYLE,
64   GTK_BUTTONBOX_SPREAD,
65   GTK_BUTTONBOX_EDGE,
66   GTK_BUTTONBOX_START,
67   GTK_BUTTONBOX_END
68 } GtkButtonBoxStyle;
69
70 /* Curve types */
71 typedef enum
72 {
73   GTK_CURVE_TYPE_LINEAR,       /* linear interpolation */
74   GTK_CURVE_TYPE_SPLINE,       /* spline interpolation */
75   GTK_CURVE_TYPE_FREE          /* free form curve */
76 } GtkCurveType;
77  
78 /* Focus movement types */
79 typedef enum
80 {
81   GTK_DIR_TAB_FORWARD,
82   GTK_DIR_TAB_BACKWARD,
83   GTK_DIR_UP,
84   GTK_DIR_DOWN,
85   GTK_DIR_LEFT,
86   GTK_DIR_RIGHT
87 } GtkDirectionType;
88
89 /* justification for label and maybe other widgets (text?) */
90 typedef enum
91 {
92   GTK_JUSTIFY_LEFT,
93   GTK_JUSTIFY_RIGHT,
94   GTK_JUSTIFY_CENTER,
95   GTK_JUSTIFY_FILL
96 } GtkJustification;
97
98 /* GtkPatternSpec match types */
99 typedef enum
100 {
101   GTK_MATCH_ALL,       /* "*A?A*" */
102   GTK_MATCH_ALL_TAIL,  /* "*A?AA" */
103   GTK_MATCH_HEAD,      /* "AAAA*" */
104   GTK_MATCH_TAIL,      /* "*AAAA" */
105   GTK_MATCH_EXACT,     /* "AAAAA" */
106   GTK_MATCH_LAST
107 } GtkMatchType;
108
109 /* Menu keyboard movement types */
110 typedef enum
111 {
112   GTK_MENU_DIR_PARENT,
113   GTK_MENU_DIR_CHILD,
114   GTK_MENU_DIR_NEXT,
115   GTK_MENU_DIR_PREV
116 } GtkMenuDirectionType;
117
118 typedef enum
119 {
120   GTK_MENU_FACTORY_MENU,
121   GTK_MENU_FACTORY_MENU_BAR,
122   GTK_MENU_FACTORY_OPTION_MENU
123 } GtkMenuFactoryType;
124
125 typedef enum
126 {
127   GTK_PIXELS,
128   GTK_INCHES,
129   GTK_CENTIMETERS
130 } GtkMetricType;
131
132 /* Orientation for toolbars, etc. */
133 typedef enum
134 {
135   GTK_ORIENTATION_HORIZONTAL,
136   GTK_ORIENTATION_VERTICAL
137 } GtkOrientation;
138
139 /* Packing types (for boxes) */
140 typedef enum
141 {
142   GTK_PACK_START,
143   GTK_PACK_END
144 } GtkPackType;
145
146 /* priorities for path lookups */
147 typedef enum
148 {
149   GTK_PATH_PRIO_LOWEST      = 0,
150   GTK_PATH_PRIO_GTK         = 4,
151   GTK_PATH_PRIO_APPLICATION = 8,
152   GTK_PATH_PRIO_RC          = 12,
153   GTK_PATH_PRIO_HIGHEST     = 15,
154   GTK_PATH_PRIO_MASK        = 0x0f
155 } GtkPathPriorityType;
156
157 /* widget path types */
158 typedef enum
159 {
160   GTK_PATH_WIDGET,
161   GTK_PATH_WIDGET_CLASS,
162   GTK_PATH_CLASS
163 } GtkPathType;
164
165 /* Scrollbar policy types (for scrolled windows) */
166 typedef enum
167 {
168   GTK_POLICY_ALWAYS,
169   GTK_POLICY_AUTOMATIC
170 } GtkPolicyType;
171
172 typedef enum
173 {
174   GTK_POS_LEFT,
175   GTK_POS_RIGHT,
176   GTK_POS_TOP,
177   GTK_POS_BOTTOM
178 } GtkPositionType;
179
180 typedef enum
181 {
182   GTK_PREVIEW_COLOR,
183   GTK_PREVIEW_GRAYSCALE
184 } GtkPreviewType;
185
186 /* Style for buttons */
187 typedef enum
188 {
189   GTK_RELIEF_NORMAL,
190   GTK_RELIEF_HALF,
191   GTK_RELIEF_NONE
192 } GtkReliefStyle;
193
194 /* Resize type */
195 typedef enum
196 {
197   GTK_RESIZE_PARENT,            /* Pass resize request to the parent */
198   GTK_RESIZE_QUEUE,             /* Queue resizes on this widget */
199   GTK_RESIZE_IMMEDIATE          /* Perform the resizes now */
200 } GtkResizeMode;
201
202 /* signal run types */
203 typedef enum                    /*< flags >*/
204 {
205   GTK_RUN_FIRST      = 0x1,
206   GTK_RUN_LAST       = 0x2,
207   GTK_RUN_BOTH       = 0x3,
208   GTK_RUN_MASK       = 0xF,
209   GTK_RUN_NO_RECURSE = 0x10,
210   GTK_RUN_ACTION  = 0x20
211 } GtkSignalRunType;
212
213 /* scrolling types */
214 typedef enum
215 {
216   GTK_SCROLL_NONE,
217   GTK_SCROLL_STEP_BACKWARD,
218   GTK_SCROLL_STEP_FORWARD,
219   GTK_SCROLL_PAGE_BACKWARD,
220   GTK_SCROLL_PAGE_FORWARD,
221   GTK_SCROLL_JUMP
222 } GtkScrollType;
223
224 /* list selection modes */
225 typedef enum
226 {
227   GTK_SELECTION_SINGLE,
228   GTK_SELECTION_BROWSE,
229   GTK_SELECTION_MULTIPLE,
230   GTK_SELECTION_EXTENDED
231 } GtkSelectionMode;
232
233 /* Shadow types */
234 typedef enum
235 {
236   GTK_SHADOW_NONE,
237   GTK_SHADOW_IN,
238   GTK_SHADOW_OUT,
239   GTK_SHADOW_ETCHED_IN,
240   GTK_SHADOW_ETCHED_OUT
241 } GtkShadowType;
242
243 /* Widget states */
244 typedef enum
245 {
246   GTK_STATE_NORMAL,
247   GTK_STATE_ACTIVE,
248   GTK_STATE_PRELIGHT,
249   GTK_STATE_SELECTED,
250   GTK_STATE_INSENSITIVE
251 } GtkStateType;
252
253 /* Directions for submenus */
254 typedef enum
255 {
256   GTK_DIRECTION_LEFT,
257   GTK_DIRECTION_RIGHT
258 } GtkSubmenuDirection;
259
260 /* Placement of submenus */
261 typedef enum
262 {
263   GTK_TOP_BOTTOM,
264   GTK_LEFT_RIGHT
265 } GtkSubmenuPlacement;
266
267 /* Style for toolbars */
268 typedef enum
269 {
270   GTK_TOOLBAR_ICONS,
271   GTK_TOOLBAR_TEXT,
272   GTK_TOOLBAR_BOTH
273 } GtkToolbarStyle;
274
275 /* Trough types for GtkRange */
276 typedef enum
277 {
278   GTK_TROUGH_NONE,
279   GTK_TROUGH_START,
280   GTK_TROUGH_END,
281   GTK_TROUGH_JUMP
282 } GtkTroughType;
283
284 /* Data update types (for ranges) */
285 typedef enum
286 {
287   GTK_UPDATE_CONTINUOUS,
288   GTK_UPDATE_DISCONTINUOUS,
289   GTK_UPDATE_DELAYED
290 } GtkUpdateType;
291
292 /* Generic visibility flags */
293 typedef enum
294 {
295   GTK_VISIBILITY_NONE,
296   GTK_VISIBILITY_PARTIAL,
297   GTK_VISIBILITY_FULL
298 } GtkVisibility;
299
300 /* Window position types */
301 typedef enum
302 {
303   GTK_WIN_POS_NONE,
304   GTK_WIN_POS_CENTER,
305   GTK_WIN_POS_MOUSE
306 } GtkWindowPosition;
307
308 /* Window types */
309 typedef enum
310 {
311   GTK_WINDOW_TOPLEVEL,
312   GTK_WINDOW_DIALOG,
313   GTK_WINDOW_POPUP
314 } GtkWindowType;
315
316 /* How to sort */
317 typedef enum
318 {
319   GTK_SORT_ASCENDING,
320   GTK_SORT_DESCENDING
321 } GtkSortType;
322
323 #ifdef __cplusplus
324 }
325 #endif /* __cplusplus */
326
327
328 #endif /* __GTK_ENUMS_H__ */