]> Pileus Git - ~andy/gtk/blob - gtk/gtkenums.h
define __GTK_H_INSIDE__ around including all other headers.
[~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 Lesser 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  * Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser 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
20 /*
21  * Modified by the GTK+ Team and others 1997-2000.  See the AUTHORS
22  * file for a list of people on the GTK+ Team.  See the ChangeLog
23  * files for a list of changes.  These files are distributed with
24  * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
25  */
26
27 #if defined(GTK_DISABLE_SINGLE_INCLUDES) && !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION)
28 #error "Only <gtk/gtk.h> can be included directly."
29 #endif
30
31 #ifndef __GTK_ENUMS_H__
32 #define __GTK_ENUMS_H__
33
34 #include <glib-object.h>
35
36 G_BEGIN_DECLS
37
38 /* Anchor types */
39 typedef enum
40 {
41   GTK_ANCHOR_CENTER,
42   GTK_ANCHOR_NORTH,
43   GTK_ANCHOR_NORTH_WEST,
44   GTK_ANCHOR_NORTH_EAST,
45   GTK_ANCHOR_SOUTH,
46   GTK_ANCHOR_SOUTH_WEST,
47   GTK_ANCHOR_SOUTH_EAST,
48   GTK_ANCHOR_WEST,
49   GTK_ANCHOR_EAST,
50   GTK_ANCHOR_N          = GTK_ANCHOR_NORTH,
51   GTK_ANCHOR_NW         = GTK_ANCHOR_NORTH_WEST,
52   GTK_ANCHOR_NE         = GTK_ANCHOR_NORTH_EAST,
53   GTK_ANCHOR_S          = GTK_ANCHOR_SOUTH,
54   GTK_ANCHOR_SW         = GTK_ANCHOR_SOUTH_WEST,
55   GTK_ANCHOR_SE         = GTK_ANCHOR_SOUTH_EAST,
56   GTK_ANCHOR_W          = GTK_ANCHOR_WEST,
57   GTK_ANCHOR_E          = GTK_ANCHOR_EAST
58 } GtkAnchorType;
59
60 /* Arrow types */
61 typedef enum
62 {
63   GTK_ARROW_UP,
64   GTK_ARROW_DOWN,
65   GTK_ARROW_LEFT,
66   GTK_ARROW_RIGHT,
67   GTK_ARROW_NONE
68 } GtkArrowType;
69
70 /* Attach options (for tables) */
71 typedef enum
72 {
73   GTK_EXPAND = 1 << 0,
74   GTK_SHRINK = 1 << 1,
75   GTK_FILL   = 1 << 2
76 } GtkAttachOptions;
77
78 /* Button box styles */
79 typedef enum
80 {
81   GTK_BUTTONBOX_DEFAULT_STYLE,
82   GTK_BUTTONBOX_SPREAD,
83   GTK_BUTTONBOX_EDGE,
84   GTK_BUTTONBOX_START,
85   GTK_BUTTONBOX_END,
86   GTK_BUTTONBOX_CENTER
87 } GtkButtonBoxStyle;
88
89 /* Curve types */
90 typedef enum
91 {
92   GTK_CURVE_TYPE_LINEAR,       /* linear interpolation */
93   GTK_CURVE_TYPE_SPLINE,       /* spline interpolation */
94   GTK_CURVE_TYPE_FREE          /* free form curve */
95 } GtkCurveType;
96
97 typedef enum
98 {
99   GTK_DELETE_CHARS,
100   GTK_DELETE_WORD_ENDS,           /* delete only the portion of the word to the
101                                    * left/right of cursor if we're in the middle
102                                    * of a word */
103   GTK_DELETE_WORDS,
104   GTK_DELETE_DISPLAY_LINES,
105   GTK_DELETE_DISPLAY_LINE_ENDS,
106   GTK_DELETE_PARAGRAPH_ENDS,      /* like C-k in Emacs (or its reverse) */
107   GTK_DELETE_PARAGRAPHS,          /* C-k in pico, kill whole line */
108   GTK_DELETE_WHITESPACE           /* M-\ in Emacs */
109 } GtkDeleteType;
110
111 /* Focus movement types */
112 typedef enum
113 {
114   GTK_DIR_TAB_FORWARD,
115   GTK_DIR_TAB_BACKWARD,
116   GTK_DIR_UP,
117   GTK_DIR_DOWN,
118   GTK_DIR_LEFT,
119   GTK_DIR_RIGHT
120 } GtkDirectionType;
121
122 /* Expander styles */
123 typedef enum
124 {
125   GTK_EXPANDER_COLLAPSED,
126   GTK_EXPANDER_SEMI_COLLAPSED,
127   GTK_EXPANDER_SEMI_EXPANDED,
128   GTK_EXPANDER_EXPANDED
129 } GtkExpanderStyle;
130
131 /* Built-in stock icon sizes */
132 typedef enum
133 {
134   GTK_ICON_SIZE_INVALID,
135   GTK_ICON_SIZE_MENU,
136   GTK_ICON_SIZE_SMALL_TOOLBAR,
137   GTK_ICON_SIZE_LARGE_TOOLBAR,
138   GTK_ICON_SIZE_BUTTON,
139   GTK_ICON_SIZE_DND,
140   GTK_ICON_SIZE_DIALOG
141 } GtkIconSize;
142
143 /* automatic sensitivity */
144 typedef enum
145 {
146   GTK_SENSITIVITY_AUTO,
147   GTK_SENSITIVITY_ON,
148   GTK_SENSITIVITY_OFF
149 } GtkSensitivityType;
150
151 #ifndef GTK_DISABLE_DEPRECATED
152 /* side types */
153 typedef enum
154 {
155   GTK_SIDE_TOP,
156   GTK_SIDE_BOTTOM,
157   GTK_SIDE_LEFT,
158   GTK_SIDE_RIGHT
159 } GtkSideType;
160 #endif /* GTK_DISABLE_DEPRECATED */
161
162 /* Reading directions for text */
163 typedef enum
164 {
165   GTK_TEXT_DIR_NONE,
166   GTK_TEXT_DIR_LTR,
167   GTK_TEXT_DIR_RTL
168 } GtkTextDirection;
169
170 /* justification for label and maybe other widgets (text?) */
171 typedef enum
172 {
173   GTK_JUSTIFY_LEFT,
174   GTK_JUSTIFY_RIGHT,
175   GTK_JUSTIFY_CENTER,
176   GTK_JUSTIFY_FILL
177 } GtkJustification;
178
179 #ifndef GTK_DISABLE_DEPRECATED
180 /* GtkPatternSpec match types */
181 typedef enum
182 {
183   GTK_MATCH_ALL,       /* "*A?A*" */
184   GTK_MATCH_ALL_TAIL,  /* "*A?AA" */
185   GTK_MATCH_HEAD,      /* "AAAA*" */
186   GTK_MATCH_TAIL,      /* "*AAAA" */
187   GTK_MATCH_EXACT,     /* "AAAAA" */
188   GTK_MATCH_LAST
189 } GtkMatchType;
190 #endif /* GTK_DISABLE_DEPRECATED */
191
192 /* Menu keyboard movement types */
193 typedef enum
194 {
195   GTK_MENU_DIR_PARENT,
196   GTK_MENU_DIR_CHILD,
197   GTK_MENU_DIR_NEXT,
198   GTK_MENU_DIR_PREV
199 } GtkMenuDirectionType;
200
201 typedef enum
202 {
203   GTK_PIXELS,
204   GTK_INCHES,
205   GTK_CENTIMETERS
206 } GtkMetricType;
207
208 typedef enum
209 {
210   GTK_MOVEMENT_LOGICAL_POSITIONS, /* move by forw/back graphemes */
211   GTK_MOVEMENT_VISUAL_POSITIONS,  /* move by left/right graphemes */
212   GTK_MOVEMENT_WORDS,             /* move by forward/back words */
213   GTK_MOVEMENT_DISPLAY_LINES,     /* move up/down lines (wrapped lines) */
214   GTK_MOVEMENT_DISPLAY_LINE_ENDS, /* move up/down lines (wrapped lines) */
215   GTK_MOVEMENT_PARAGRAPHS,        /* move up/down paragraphs (newline-ended lines) */
216   GTK_MOVEMENT_PARAGRAPH_ENDS,    /* move to either end of a paragraph */
217   GTK_MOVEMENT_PAGES,             /* move by pages */
218   GTK_MOVEMENT_BUFFER_ENDS,       /* move to ends of the buffer */
219   GTK_MOVEMENT_HORIZONTAL_PAGES   /* move horizontally by pages */
220 } GtkMovementStep;
221
222 typedef enum
223 {
224   GTK_SCROLL_STEPS,
225   GTK_SCROLL_PAGES,
226   GTK_SCROLL_ENDS,
227   GTK_SCROLL_HORIZONTAL_STEPS,
228   GTK_SCROLL_HORIZONTAL_PAGES,
229   GTK_SCROLL_HORIZONTAL_ENDS
230 } GtkScrollStep;
231
232 /* Orientation for toolbars, etc. */
233 typedef enum
234 {
235   GTK_ORIENTATION_HORIZONTAL,
236   GTK_ORIENTATION_VERTICAL
237 } GtkOrientation;
238
239 /* Placement type for scrolled window */
240 typedef enum
241 {
242   GTK_CORNER_TOP_LEFT,
243   GTK_CORNER_BOTTOM_LEFT,
244   GTK_CORNER_TOP_RIGHT,
245   GTK_CORNER_BOTTOM_RIGHT
246 } GtkCornerType;
247
248 /* Packing types (for boxes) */
249 typedef enum
250 {
251   GTK_PACK_START,
252   GTK_PACK_END
253 } GtkPackType;
254
255 /* priorities for path lookups */
256 typedef enum
257 {
258   GTK_PATH_PRIO_LOWEST      = 0,
259   GTK_PATH_PRIO_GTK         = 4,
260   GTK_PATH_PRIO_APPLICATION = 8,
261   GTK_PATH_PRIO_THEME       = 10,
262   GTK_PATH_PRIO_RC          = 12,
263   GTK_PATH_PRIO_HIGHEST     = 15
264 } GtkPathPriorityType;
265 #define GTK_PATH_PRIO_MASK 0x0f
266
267 /* widget path types */
268 typedef enum
269 {
270   GTK_PATH_WIDGET,
271   GTK_PATH_WIDGET_CLASS,
272   GTK_PATH_CLASS
273 } GtkPathType;
274
275 /* Scrollbar policy types (for scrolled windows) */
276 typedef enum
277 {
278   GTK_POLICY_ALWAYS,
279   GTK_POLICY_AUTOMATIC,
280   GTK_POLICY_NEVER
281 } GtkPolicyType;
282
283 typedef enum
284 {
285   GTK_POS_LEFT,
286   GTK_POS_RIGHT,
287   GTK_POS_TOP,
288   GTK_POS_BOTTOM
289 } GtkPositionType;
290
291 #ifndef GTK_DISABLE_DEPRECATED
292 typedef enum
293 {
294   GTK_PREVIEW_COLOR,
295   GTK_PREVIEW_GRAYSCALE
296 } GtkPreviewType;
297 #endif /* GTK_DISABLE_DEPRECATED */
298
299 /* Style for buttons */
300 typedef enum
301 {
302   GTK_RELIEF_NORMAL,
303   GTK_RELIEF_HALF,
304   GTK_RELIEF_NONE
305 } GtkReliefStyle;
306
307 /* Resize type */
308 typedef enum
309 {
310   GTK_RESIZE_PARENT,            /* Pass resize request to the parent */
311   GTK_RESIZE_QUEUE,             /* Queue resizes on this widget */
312   GTK_RESIZE_IMMEDIATE          /* Perform the resizes now */
313 } GtkResizeMode;
314
315 #ifndef GTK_DISABLE_DEPRECATED
316 /* signal run types */
317 typedef enum                    /*< flags >*/
318 {
319   GTK_RUN_FIRST      = G_SIGNAL_RUN_FIRST,
320   GTK_RUN_LAST       = G_SIGNAL_RUN_LAST,
321   GTK_RUN_BOTH       = (GTK_RUN_FIRST | GTK_RUN_LAST),
322   GTK_RUN_NO_RECURSE = G_SIGNAL_NO_RECURSE,
323   GTK_RUN_ACTION     = G_SIGNAL_ACTION,
324   GTK_RUN_NO_HOOKS   = G_SIGNAL_NO_HOOKS
325 } GtkSignalRunType;
326 #endif /* GTK_DISABLE_DEPRECATED */
327
328 /* scrolling types */
329 typedef enum
330 {
331   GTK_SCROLL_NONE,
332   GTK_SCROLL_JUMP,
333   GTK_SCROLL_STEP_BACKWARD,
334   GTK_SCROLL_STEP_FORWARD,
335   GTK_SCROLL_PAGE_BACKWARD,
336   GTK_SCROLL_PAGE_FORWARD,
337   GTK_SCROLL_STEP_UP,
338   GTK_SCROLL_STEP_DOWN,
339   GTK_SCROLL_PAGE_UP,
340   GTK_SCROLL_PAGE_DOWN,
341   GTK_SCROLL_STEP_LEFT,
342   GTK_SCROLL_STEP_RIGHT,
343   GTK_SCROLL_PAGE_LEFT,
344   GTK_SCROLL_PAGE_RIGHT,
345   GTK_SCROLL_START,
346   GTK_SCROLL_END
347 } GtkScrollType;
348
349 /* list selection modes */
350 typedef enum
351 {
352   GTK_SELECTION_NONE,                             /* Nothing can be selected */
353   GTK_SELECTION_SINGLE,
354   GTK_SELECTION_BROWSE,
355   GTK_SELECTION_MULTIPLE,
356   GTK_SELECTION_EXTENDED = GTK_SELECTION_MULTIPLE /* Deprecated */
357 } GtkSelectionMode;
358
359 /* Shadow types */
360 typedef enum
361 {
362   GTK_SHADOW_NONE,
363   GTK_SHADOW_IN,
364   GTK_SHADOW_OUT,
365   GTK_SHADOW_ETCHED_IN,
366   GTK_SHADOW_ETCHED_OUT
367 } GtkShadowType;
368
369 /* Widget states */
370 typedef enum
371 {
372   GTK_STATE_NORMAL,
373   GTK_STATE_ACTIVE,
374   GTK_STATE_PRELIGHT,
375   GTK_STATE_SELECTED,
376   GTK_STATE_INSENSITIVE
377 } GtkStateType;
378
379 #if !defined(GTK_DISABLE_DEPRECATED) || defined (GTK_MENU_INTERNALS)
380 /* Directions for submenus */
381 typedef enum
382 {
383   GTK_DIRECTION_LEFT,
384   GTK_DIRECTION_RIGHT
385 } GtkSubmenuDirection;
386
387 /* Placement of submenus */
388 typedef enum
389 {
390   GTK_TOP_BOTTOM,
391   GTK_LEFT_RIGHT
392 } GtkSubmenuPlacement;
393 #endif /* GTK_DISABLE_DEPRECATED */
394
395 /* Style for toolbars */
396 typedef enum
397 {
398   GTK_TOOLBAR_ICONS,
399   GTK_TOOLBAR_TEXT,
400   GTK_TOOLBAR_BOTH,
401   GTK_TOOLBAR_BOTH_HORIZ
402 } GtkToolbarStyle;
403
404 /* Data update types (for ranges) */
405 typedef enum
406 {
407   GTK_UPDATE_CONTINUOUS,
408   GTK_UPDATE_DISCONTINUOUS,
409   GTK_UPDATE_DELAYED
410 } GtkUpdateType;
411
412 /* Generic visibility flags */
413 typedef enum
414 {
415   GTK_VISIBILITY_NONE,
416   GTK_VISIBILITY_PARTIAL,
417   GTK_VISIBILITY_FULL
418 } GtkVisibility;
419
420 /* Window position types */
421 typedef enum
422 {
423   GTK_WIN_POS_NONE,
424   GTK_WIN_POS_CENTER,
425   GTK_WIN_POS_MOUSE,
426   GTK_WIN_POS_CENTER_ALWAYS,
427   GTK_WIN_POS_CENTER_ON_PARENT
428 } GtkWindowPosition;
429
430 /* Window types */
431 typedef enum
432 {
433   GTK_WINDOW_TOPLEVEL,
434   GTK_WINDOW_POPUP
435 } GtkWindowType;
436
437 /* Text wrap */
438 typedef enum
439 {
440   GTK_WRAP_NONE,
441   GTK_WRAP_CHAR,
442   GTK_WRAP_WORD,
443   GTK_WRAP_WORD_CHAR
444 } GtkWrapMode;
445
446 /* How to sort */
447 typedef enum
448 {
449   GTK_SORT_ASCENDING,
450   GTK_SORT_DESCENDING
451 } GtkSortType;
452
453 /* Style for gtk input method preedit/status */
454 typedef enum
455 {
456   GTK_IM_PREEDIT_NOTHING,
457   GTK_IM_PREEDIT_CALLBACK,
458   GTK_IM_PREEDIT_NONE
459 } GtkIMPreeditStyle;
460
461 typedef enum
462 {
463   GTK_IM_STATUS_NOTHING,
464   GTK_IM_STATUS_CALLBACK,
465   GTK_IM_STATUS_NONE
466 } GtkIMStatusStyle;
467
468 typedef enum
469 {
470   GTK_PACK_DIRECTION_LTR,
471   GTK_PACK_DIRECTION_RTL,
472   GTK_PACK_DIRECTION_TTB,
473   GTK_PACK_DIRECTION_BTT
474 } GtkPackDirection;
475
476 typedef enum
477 {
478   GTK_PRINT_PAGES_ALL,
479   GTK_PRINT_PAGES_CURRENT,
480   GTK_PRINT_PAGES_RANGES
481 } GtkPrintPages;
482
483 typedef enum
484 {
485   GTK_PAGE_SET_ALL,
486   GTK_PAGE_SET_EVEN,
487   GTK_PAGE_SET_ODD
488 } GtkPageSet;
489
490 typedef enum
491 {
492   GTK_PAGE_ORIENTATION_PORTRAIT,
493   GTK_PAGE_ORIENTATION_LANDSCAPE,
494   GTK_PAGE_ORIENTATION_REVERSE_PORTRAIT,
495   GTK_PAGE_ORIENTATION_REVERSE_LANDSCAPE
496 } GtkPageOrientation;
497
498 typedef enum
499 {
500   GTK_PRINT_QUALITY_LOW,
501   GTK_PRINT_QUALITY_NORMAL,
502   GTK_PRINT_QUALITY_HIGH,
503   GTK_PRINT_QUALITY_DRAFT
504 } GtkPrintQuality;
505
506 typedef enum
507 {
508   GTK_PRINT_DUPLEX_SIMPLEX,
509   GTK_PRINT_DUPLEX_HORIZONTAL,
510   GTK_PRINT_DUPLEX_VERTICAL
511 } GtkPrintDuplex;
512
513
514 typedef enum
515 {
516   GTK_UNIT_PIXEL,
517   GTK_UNIT_POINTS,
518   GTK_UNIT_INCH,
519   GTK_UNIT_MM
520 } GtkUnit;
521
522 typedef enum
523 {
524   GTK_TREE_VIEW_GRID_LINES_NONE,
525   GTK_TREE_VIEW_GRID_LINES_HORIZONTAL,
526   GTK_TREE_VIEW_GRID_LINES_VERTICAL,
527   GTK_TREE_VIEW_GRID_LINES_BOTH
528 } GtkTreeViewGridLines;
529
530 typedef enum
531 {
532   GTK_DRAG_RESULT_SUCCESS,
533   GTK_DRAG_RESULT_NO_TARGET,
534   GTK_DRAG_RESULT_USER_CANCELLED,
535   GTK_DRAG_RESULT_TIMEOUT_EXPIRED,
536   GTK_DRAG_RESULT_GRAB_BROKEN,
537   GTK_DRAG_RESULT_ERROR
538 } GtkDragResult;
539
540 G_END_DECLS
541
542 #endif /* __GTK_ENUMS_H__ */