GitLab repository storage has been migrated to hashed layout. Please contact Infrastructure team if you notice any issues with repositories or hooks.

gtkenums.h 7.63 KB
Newer Older
Elliot Lee's avatar
Elliot Lee committed
1 2 3 4
/* GTK - The GIMP Toolkit
 * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
 *
 * This library is free software; you can redistribute it and/or
5
 * modify it under the terms of the GNU Lesser General Public
Elliot Lee's avatar
Elliot Lee committed
6 7 8 9 10
 * License as published by the Free Software Foundation; either
 * version 2 of the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * 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.
Elliot Lee's avatar
Elliot Lee committed
13
 *
14
 * You should have received a copy of the GNU Lesser General Public
15 16 17
 * License along with this library; if not, write to the
 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 * Boston, MA 02111-1307, USA.
Elliot Lee's avatar
Elliot Lee committed
18
 */
19 20

/*
21
 * Modified by the GTK+ Team and others 1997-2000.  See the AUTHORS
22 23 24 25 26
 * file for a list of people on the GTK+ Team.  See the ChangeLog
 * files for a list of changes.  These files are distributed with
 * GTK+ at ftp://ftp.gtk.org/pub/gtk/. 
 */

Elliot Lee's avatar
Elliot Lee committed
27 28 29 30 31 32 33 34 35 36
#ifndef __GTK_ENUMS_H__
#define __GTK_ENUMS_H__

#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */

/* Arrow types */
typedef enum
{
37 38 39 40 41
  GTK_ARROW_UP,
  GTK_ARROW_DOWN,
  GTK_ARROW_LEFT,
  GTK_ARROW_RIGHT
} GtkArrowType;
Elliot Lee's avatar
Elliot Lee committed
42 43 44 45

/* Attach options (for tables) */
typedef enum
{
46 47 48 49
  GTK_EXPAND = 1 << 0,
  GTK_SHRINK = 1 << 1,
  GTK_FILL   = 1 << 2
} GtkAttachOptions;
Elliot Lee's avatar
Elliot Lee committed
50

51 52
/* Button box styles */
typedef enum 
Elliot Lee's avatar
Elliot Lee committed
53
{
54 55 56 57 58 59 60 61
  GTK_BUTTONBOX_DEFAULT_STYLE,
  GTK_BUTTONBOX_SPREAD,
  GTK_BUTTONBOX_EDGE,
  GTK_BUTTONBOX_START,
  GTK_BUTTONBOX_END
} GtkButtonBoxStyle;

/* Curve types */
Elliot Lee's avatar
Elliot Lee committed
62 63
typedef enum
{
64 65 66 67 68
  GTK_CURVE_TYPE_LINEAR,       /* linear interpolation */
  GTK_CURVE_TYPE_SPLINE,       /* spline interpolation */
  GTK_CURVE_TYPE_FREE          /* free form curve */
} GtkCurveType;
 
69 70 71 72 73 74 75 76 77 78 79 80 81
typedef enum {
  GTK_DELETE_CHARS,
  GTK_DELETE_WORD_ENDS,           /* delete only the portion of the word to the
                                   * left/right of cursor if we're in the middle
                                   * of a word */
  GTK_DELETE_WORDS,
  GTK_DELETE_DISPLAY_LINES,
  GTK_DELETE_DISPLAY_LINE_ENDS,
  GTK_DELETE_PARAGRAPH_ENDS,      /* like C-k in Emacs (or its reverse) */
  GTK_DELETE_PARAGRAPHS,          /* C-k in pico, kill whole line */
  GTK_DELETE_WHITESPACE,          /* M-\ in Emacs */
} GtkDeleteType;

Tim Janik's avatar
Tim Janik committed
82
/* Focus movement types */
Elliot Lee's avatar
Elliot Lee committed
83 84
typedef enum
{
85 86 87 88 89 90 91
  GTK_DIR_TAB_FORWARD,
  GTK_DIR_TAB_BACKWARD,
  GTK_DIR_UP,
  GTK_DIR_DOWN,
  GTK_DIR_LEFT,
  GTK_DIR_RIGHT
} GtkDirectionType;
Elliot Lee's avatar
Elliot Lee committed
92

93 94 95 96
/* Reading directions for text */
typedef enum
{
  GTK_TEXT_DIR_NONE,
97 98
  GTK_TEXT_DIR_LTR,
  GTK_TEXT_DIR_RTL
99 100
} GtkTextDirection;

Tim Janik's avatar
Tim Janik committed
101
/* justification for label and maybe other widgets (text?) */
Elliot Lee's avatar
Elliot Lee committed
102 103
typedef enum
{
104 105 106 107 108
  GTK_JUSTIFY_LEFT,
  GTK_JUSTIFY_RIGHT,
  GTK_JUSTIFY_CENTER,
  GTK_JUSTIFY_FILL
} GtkJustification;
Tim Janik's avatar
Tim Janik committed
109 110 111 112

/* GtkPatternSpec match types */
typedef enum
{
113 114 115 116 117 118 119 120
  GTK_MATCH_ALL,       /* "*A?A*" */
  GTK_MATCH_ALL_TAIL,  /* "*A?AA" */
  GTK_MATCH_HEAD,      /* "AAAA*" */
  GTK_MATCH_TAIL,      /* "*AAAA" */
  GTK_MATCH_EXACT,     /* "AAAAA" */
  GTK_MATCH_LAST
} GtkMatchType;

121 122 123 124 125 126 127 128 129
/* Menu keyboard movement types */
typedef enum
{
  GTK_MENU_DIR_PARENT,
  GTK_MENU_DIR_CHILD,
  GTK_MENU_DIR_NEXT,
  GTK_MENU_DIR_PREV
} GtkMenuDirectionType;

Elliot Lee's avatar
Elliot Lee committed
130 131
typedef enum
{
132 133 134 135
  GTK_MENU_FACTORY_MENU,
  GTK_MENU_FACTORY_MENU_BAR,
  GTK_MENU_FACTORY_OPTION_MENU
} GtkMenuFactoryType;
Elliot Lee's avatar
Elliot Lee committed
136 137 138

typedef enum
{
139 140 141 142
  GTK_PIXELS,
  GTK_INCHES,
  GTK_CENTIMETERS
} GtkMetricType;
Elliot Lee's avatar
Elliot Lee committed
143

144 145 146 147 148 149 150 151 152 153 154 155
typedef enum {
  GTK_MOVEMENT_CHARS,             /* move by forw/back chars */
  GTK_MOVEMENT_POSITIONS,         /* move by left/right chars */
  GTK_MOVEMENT_WORDS,             /* move by forward/back words */
  GTK_MOVEMENT_DISPLAY_LINES,     /* move up/down lines (wrapped lines) */
  GTK_MOVEMENT_DISPLAY_LINE_ENDS, /* move up/down lines (wrapped lines) */
  GTK_MOVEMENT_PARAGRAPHS,        /* move up/down paragraphs (newline-ended lines) */
  GTK_MOVEMENT_PARAGRAPH_ENDS,    /* move to either end of a paragraph */
  GTK_MOVEMENT_PAGES,	          /* move by pages */
  GTK_MOVEMENT_BUFFER_ENDS        /* move to ends of the buffer */
} GtkMovementStep;

Tim Janik's avatar
Tim Janik committed
156
/* Orientation for toolbars, etc. */
Elliot Lee's avatar
Elliot Lee committed
157 158
typedef enum
{
159 160 161
  GTK_ORIENTATION_HORIZONTAL,
  GTK_ORIENTATION_VERTICAL
} GtkOrientation;
Elliot Lee's avatar
Elliot Lee committed
162

163 164 165 166 167 168 169 170 171
/* Placement type for scrolled window */
typedef enum
{
  GTK_CORNER_TOP_LEFT,
  GTK_CORNER_BOTTOM_LEFT,
  GTK_CORNER_TOP_RIGHT,
  GTK_CORNER_BOTTOM_RIGHT
} GtkCornerType;

Tim Janik's avatar
Tim Janik committed
172
/* Packing types (for boxes) */
Elliot Lee's avatar
Elliot Lee committed
173 174
typedef enum
{
175 176 177
  GTK_PACK_START,
  GTK_PACK_END
} GtkPackType;
Tim Janik's avatar
Tim Janik committed
178 179 180 181

/* priorities for path lookups */
typedef enum
{
182 183 184 185 186 187 188
  GTK_PATH_PRIO_LOWEST      = 0,
  GTK_PATH_PRIO_GTK	    = 4,
  GTK_PATH_PRIO_APPLICATION = 8,
  GTK_PATH_PRIO_RC          = 12,
  GTK_PATH_PRIO_HIGHEST     = 15,
  GTK_PATH_PRIO_MASK        = 0x0f
} GtkPathPriorityType;
Tim Janik's avatar
Tim Janik committed
189 190 191 192

/* widget path types */
typedef enum
{
193 194 195 196
  GTK_PATH_WIDGET,
  GTK_PATH_WIDGET_CLASS,
  GTK_PATH_CLASS
} GtkPathType;
Tim Janik's avatar
Tim Janik committed
197 198 199 200

/* Scrollbar policy types (for scrolled windows) */
typedef enum
{
201
  GTK_POLICY_ALWAYS,
202 203
  GTK_POLICY_AUTOMATIC,
  GTK_POLICY_NEVER
204
} GtkPolicyType;
Elliot Lee's avatar
Elliot Lee committed
205 206 207

typedef enum
{
208 209 210 211 212
  GTK_POS_LEFT,
  GTK_POS_RIGHT,
  GTK_POS_TOP,
  GTK_POS_BOTTOM
} GtkPositionType;
Elliot Lee's avatar
Elliot Lee committed
213 214 215

typedef enum
{
216 217 218
  GTK_PREVIEW_COLOR,
  GTK_PREVIEW_GRAYSCALE
} GtkPreviewType;
Elliot Lee's avatar
Elliot Lee committed
219

Tim Janik's avatar
Tim Janik committed
220
/* Style for buttons */
Elliot Lee's avatar
Elliot Lee committed
221 222
typedef enum
{
223
  GTK_RELIEF_NORMAL,
224
  GTK_RELIEF_HALF,
225 226 227
  GTK_RELIEF_NONE
} GtkReliefStyle;

228 229 230 231 232
/* Resize type */
typedef enum
{
  GTK_RESIZE_PARENT,		/* Pass resize request to the parent */
  GTK_RESIZE_QUEUE,		/* Queue resizes on this widget */
233
  GTK_RESIZE_IMMEDIATE		/* Perform the resizes now */
234 235
} GtkResizeMode;

236 237 238
/* signal run types */
typedef enum			/*< flags >*/
{
239 240
  GTK_RUN_FIRST      = 1 << 0,
  GTK_RUN_LAST       = 1 << 1,
241
  GTK_RUN_BOTH       = (GTK_RUN_FIRST | GTK_RUN_LAST),
242 243 244
  GTK_RUN_NO_RECURSE = 1 << 2,
  GTK_RUN_ACTION     = 1 << 3,
  GTK_RUN_NO_HOOKS   = 1 << 4
245
} GtkSignalRunType;
Tim Janik's avatar
Tim Janik committed
246 247 248 249

/* scrolling types */
typedef enum
{
250 251 252 253 254 255 256
  GTK_SCROLL_NONE,
  GTK_SCROLL_STEP_BACKWARD,
  GTK_SCROLL_STEP_FORWARD,
  GTK_SCROLL_PAGE_BACKWARD,
  GTK_SCROLL_PAGE_FORWARD,
  GTK_SCROLL_JUMP
} GtkScrollType;
Elliot Lee's avatar
Elliot Lee committed
257

258 259 260
/* list selection modes */
typedef enum
{
261 262 263 264 265
  GTK_SELECTION_SINGLE,
  GTK_SELECTION_BROWSE,
  GTK_SELECTION_MULTIPLE,
  GTK_SELECTION_EXTENDED
} GtkSelectionMode;
Elliot Lee's avatar
Elliot Lee committed
266

Tim Janik's avatar
Tim Janik committed
267
/* Shadow types */
268 269
typedef enum
{
270 271 272 273 274 275
  GTK_SHADOW_NONE,
  GTK_SHADOW_IN,
  GTK_SHADOW_OUT,
  GTK_SHADOW_ETCHED_IN,
  GTK_SHADOW_ETCHED_OUT
} GtkShadowType;
Tim Janik's avatar
Tim Janik committed
276 277 278 279

/* Widget states */
typedef enum
{
280 281 282 283 284 285 286 287
  GTK_STATE_NORMAL,
  GTK_STATE_ACTIVE,
  GTK_STATE_PRELIGHT,
  GTK_STATE_SELECTED,
  GTK_STATE_INSENSITIVE
} GtkStateType;

/* Directions for submenus */
Tim Janik's avatar
Tim Janik committed
288 289
typedef enum
{
290 291 292
  GTK_DIRECTION_LEFT,
  GTK_DIRECTION_RIGHT
} GtkSubmenuDirection;
Tim Janik's avatar
Tim Janik committed
293

294
/* Placement of submenus */
Tim Janik's avatar
Tim Janik committed
295 296
typedef enum
{
297 298 299
  GTK_TOP_BOTTOM,
  GTK_LEFT_RIGHT
} GtkSubmenuPlacement;
300 301 302 303

/* Style for toolbars */
typedef enum
{
304 305
  GTK_TOOLBAR_ICONS,
  GTK_TOOLBAR_TEXT,
306 307
  GTK_TOOLBAR_BOTH,
  GTK_TOOLBAR_BOTH_HORIZ
308
} GtkToolbarStyle;
309

310
/* Trough types for GtkRange */
311 312
typedef enum
{
313 314 315 316 317
  GTK_TROUGH_NONE,
  GTK_TROUGH_START,
  GTK_TROUGH_END,
  GTK_TROUGH_JUMP
} GtkTroughType;
Tim Janik's avatar
Tim Janik committed
318 319 320 321

/* Data update types (for ranges) */
typedef enum
{
322 323 324 325
  GTK_UPDATE_CONTINUOUS,
  GTK_UPDATE_DISCONTINUOUS,
  GTK_UPDATE_DELAYED
} GtkUpdateType;
326

327 328 329
/* Generic visibility flags */
typedef enum
{
330 331 332 333
  GTK_VISIBILITY_NONE,
  GTK_VISIBILITY_PARTIAL,
  GTK_VISIBILITY_FULL
} GtkVisibility;
334

335
/* Window position types */
Tim Janik's avatar
Tim Janik committed
336 337
typedef enum
{
338 339
  GTK_WIN_POS_NONE,
  GTK_WIN_POS_CENTER,
340 341
  GTK_WIN_POS_MOUSE,
  GTK_WIN_POS_CENTER_ALWAYS
342
} GtkWindowPosition;
Tim Janik's avatar
Tim Janik committed
343 344 345 346

/* Window types */
typedef enum
{
347 348 349 350
  GTK_WINDOW_TOPLEVEL,
  GTK_WINDOW_DIALOG,
  GTK_WINDOW_POPUP
} GtkWindowType;
Tim Janik's avatar
Tim Janik committed
351

Stefan Jeske's avatar
Stefan Jeske committed
352 353 354 355 356 357 358
/* How to sort */
typedef enum
{
  GTK_SORT_ASCENDING,
  GTK_SORT_DESCENDING
} GtkSortType;

Elliot Lee's avatar
Elliot Lee committed
359 360 361 362 363 364
#ifdef __cplusplus
}
#endif /* __cplusplus */


#endif /* __GTK_ENUMS_H__ */