|  |  |  | GTK+ Reference Manual |  | 
|---|
Standard Enumerations — Public enumerated types used throughout GTK+
#include <gtk/gtk.h> enum GtkAccelFlags; enum GtkAnchorType; enum GtkArrowType; enum GtkAttachOptions; enum GtkButtonBoxStyle; enum GtkCornerType; enum GtkCurveType; enum GtkDeleteType; enum GtkDirectionType; enum GtkExpanderStyle; enum GtkIMPreeditStyle; enum GtkIMStatusStyle; enum GtkJustification; enum GtkMatchType; enum GtkMetricType; enum GtkMovementStep; enum GtkOrientation; enum GtkPackType; enum GtkPathPriorityType; enum GtkPathType; enum GtkPolicyType; enum GtkPositionType; enum GtkPreviewType; enum GtkReliefStyle; enum GtkResizeMode; enum GtkScrollStep; enum GtkScrollType; enum GtkSelectionMode; enum GtkShadowType; enum GtkSideType; enum GtkStateType; enum GtkSubmenuDirection; enum GtkSubmenuPlacement; enum GtkToolbarStyle; enum GtkUpdateType; enum GtkVisibility; enum GtkWindowPosition; enum GtkWindowType; enum GtkSortType;
typedef enum
{
  GTK_ACCEL_VISIBLE        = 1 << 0,	/* display in GtkAccelLabel? */
  GTK_ACCEL_LOCKED         = 1 << 1,	/* is it removable? */
  GTK_ACCEL_MASK           = 0x07
} GtkAccelFlags;
typedef enum
{
  GTK_ANCHOR_CENTER,
  GTK_ANCHOR_NORTH,
  GTK_ANCHOR_NORTH_WEST,
  GTK_ANCHOR_NORTH_EAST,
  GTK_ANCHOR_SOUTH,
  GTK_ANCHOR_SOUTH_WEST,
  GTK_ANCHOR_SOUTH_EAST,
  GTK_ANCHOR_WEST,
  GTK_ANCHOR_EAST,
  GTK_ANCHOR_N		= GTK_ANCHOR_NORTH,
  GTK_ANCHOR_NW		= GTK_ANCHOR_NORTH_WEST,
  GTK_ANCHOR_NE		= GTK_ANCHOR_NORTH_EAST,
  GTK_ANCHOR_S		= GTK_ANCHOR_SOUTH,
  GTK_ANCHOR_SW		= GTK_ANCHOR_SOUTH_WEST,
  GTK_ANCHOR_SE		= GTK_ANCHOR_SOUTH_EAST,
  GTK_ANCHOR_W		= GTK_ANCHOR_WEST,
  GTK_ANCHOR_E		= GTK_ANCHOR_EAST
} GtkAnchorType;
typedef enum
{
  GTK_ARROW_UP,
  GTK_ARROW_DOWN,
  GTK_ARROW_LEFT,
  GTK_ARROW_RIGHT
} GtkArrowType;
Used to indicate the direction in which a GtkArrow should point.
| GTK_ARROW_UP | Represents an upward pointing arrow. | 
| GTK_ARROW_DOWN | Represents a downward pointing arrow. | 
| GTK_ARROW_LEFT | Represents a left pointing arrow. | 
| GTK_ARROW_RIGHT | Represents a right pointing arrow. | 
typedef enum
{
  GTK_EXPAND = 1 << 0,
  GTK_SHRINK = 1 << 1,
  GTK_FILL   = 1 << 2
} GtkAttachOptions;
Denotes the expansion properties that a widget will have when it (or its parent) is resized.
| GTK_EXPAND | the widget should expand to take up any extra space in its container that has been allocated. | 
| GTK_SHRINK | the widget should shrink as and when possible. | 
| GTK_FILL | the widget should fill the space allocated to it. | 
typedef enum 
{
  GTK_BUTTONBOX_DEFAULT_STYLE,
  GTK_BUTTONBOX_SPREAD,
  GTK_BUTTONBOX_EDGE,
  GTK_BUTTONBOX_START,
  GTK_BUTTONBOX_END
} GtkButtonBoxStyle;
Used to dictate the style that a GtkButtonBox uses to layout the buttons it contains. (See also: GtkVButtonBox and GtkHButtonBox).
| GTK_BUTTONBOX_DEFAULT_STYLE | Default packing. | 
| GTK_BUTTONBOX_SPREAD | Buttons are evenly spread across the ButtonBox. | 
| GTK_BUTTONBOX_EDGE | Buttons are placed at the edges of the ButtonBox. | 
| GTK_BUTTONBOX_START | Buttons are grouped towards the start of box, (on the left for a HBox, or the top for a VBox). | 
| GTK_BUTTONBOX_END | Buttons are grouped towards the end of a box, (on the right for a HBox, or the bottom for a VBox). | 
typedef enum
{
  GTK_CORNER_TOP_LEFT,
  GTK_CORNER_BOTTOM_LEFT,
  GTK_CORNER_TOP_RIGHT,
  GTK_CORNER_BOTTOM_RIGHT
} GtkCornerType;
Specifies which corner a child widget should be placed in when packed into a GtkScrolledWindow. This is effectively the opposite of where the scroll bars are placed.
| GTK_CORNER_TOP_LEFT | Place the scrollbars on the right and bottom of the widget (default behaviour). | 
| GTK_CORNER_BOTTOM_LEFT | Place the scrollbars on the top and right of the widget. | 
| GTK_CORNER_TOP_RIGHT | Place the scrollbars on the left and bottom of the widget. | 
| GTK_CORNER_BOTTOM_RIGHT | Place the scrollbars on the top and left of the widget. | 
typedef enum
{
  GTK_CURVE_TYPE_LINEAR,       /* linear interpolation */
  GTK_CURVE_TYPE_SPLINE,       /* spline interpolation */
  GTK_CURVE_TYPE_FREE          /* free form curve */
} GtkCurveType;
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;
typedef enum
{
  GTK_DIR_TAB_FORWARD,
  GTK_DIR_TAB_BACKWARD,
  GTK_DIR_UP,
  GTK_DIR_DOWN,
  GTK_DIR_LEFT,
  GTK_DIR_RIGHT
} GtkDirectionType;
typedef enum
{
  GTK_EXPANDER_COLLAPSED,
  GTK_EXPANDER_SEMI_COLLAPSED,
  GTK_EXPANDER_SEMI_EXPANDED,
  GTK_EXPANDER_EXPANDED
} GtkExpanderStyle;
Used to specify the style of the expanders drawn by a GtkTreeView.
| GTK_EXPANDER_COLLAPSED | The style used for a collapsed subtree. | 
| GTK_EXPANDER_SEMI_COLLAPSED | Intermediate style used during animation. | 
| GTK_EXPANDER_SEMI_EXPANDED | Intermediate style used during animation. | 
| GTK_EXPANDER_EXPANDED | The style used for an expanded subtree. | 
typedef enum
{
  GTK_IM_PREEDIT_NOTHING,
  GTK_IM_PREEDIT_CALLBACK,
  GTK_IM_PREEDIT_NONE
} GtkIMPreeditStyle;
typedef enum
{
  GTK_IM_STATUS_NOTHING,
  GTK_IM_STATUS_CALLBACK,
  GTK_IM_STATUS_NONE
} GtkIMStatusStyle;
typedef enum
{
  GTK_JUSTIFY_LEFT,
  GTK_JUSTIFY_RIGHT,
  GTK_JUSTIFY_CENTER,
  GTK_JUSTIFY_FILL
} GtkJustification;
Used for justifying the text inside a GtkLabel widget. (See also GtkAlignment).
| GTK_JUSTIFY_LEFT | The text is placed at the left edge of the label. | 
| GTK_JUSTIFY_RIGHT | The text is placed at the right edge of the label. | 
| GTK_JUSTIFY_CENTER | The text is placed in the center of the label. | 
| GTK_JUSTIFY_FILL | The text is placed is distributed across the label. | 
typedef enum
{
  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;
GtkMatchType is deprecated and should not be used in newly-written code.
typedef enum
{
  GTK_PIXELS,
  GTK_INCHES,
  GTK_CENTIMETERS
} GtkMetricType;
Used to indicate which metric is used by a GtkRuler.
| GTK_PIXELS | Pixels. | 
| GTK_INCHES | Inches. | 
| GTK_CENTIMETERS | Centimeters. | 
typedef enum 
{
  GTK_MOVEMENT_LOGICAL_POSITIONS, /* move by forw/back graphemes */
  GTK_MOVEMENT_VISUAL_POSITIONS,  /* move by left/right graphemes */
  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 */
  GTK_MOVEMENT_HORIZONTAL_PAGES   /* move horizontally by pages */
} GtkMovementStep;
typedef enum
{
  GTK_ORIENTATION_HORIZONTAL,
  GTK_ORIENTATION_VERTICAL
} GtkOrientation;
Represents the orientation of widgets which can be switched between horizontal and vertical orientation on the fly, like GtkToolbar.
| GTK_ORIENTATION_HORIZONTAL | The widget is in horizontal orientation. | 
| GTK_ORIENTATION_VERTICAL | The widget is in vertical orientation. | 
typedef enum
{
  GTK_PACK_START,
  GTK_PACK_END
} GtkPackType;
Represents the packing location GtkBox children. (See: GtkVBox, GtkHBox, and GtkButtonBox).
| GTK_PACK_START | The child is packed into the start of the box | 
| GTK_PACK_END | The child is packed into the end of the box | 
typedef enum
{
  GTK_PATH_PRIO_LOWEST      = 0,
  GTK_PATH_PRIO_GTK	    = 4,
  GTK_PATH_PRIO_APPLICATION = 8,
  GTK_PATH_PRIO_THEME       = 10,
  GTK_PATH_PRIO_RC          = 12,
  GTK_PATH_PRIO_HIGHEST     = 15
} GtkPathPriorityType;
typedef enum
{
  GTK_PATH_WIDGET,
  GTK_PATH_WIDGET_CLASS,
  GTK_PATH_CLASS
} GtkPathType;
typedef enum
{
  GTK_POLICY_ALWAYS,
  GTK_POLICY_AUTOMATIC,
  GTK_POLICY_NEVER
} GtkPolicyType;
Determines when a scroll bar will be visible.
| GTK_POLICY_ALWAYS | The scrollbar is always visible. | 
| GTK_POLICY_AUTOMATIC | The scrollbar will appear and disappear as necessary. For example, when all of a GtkCList can not be seen. | 
| GTK_POLICY_NEVER | The scrollbar will never appear. | 
typedef enum
{
  GTK_POS_LEFT,
  GTK_POS_RIGHT,
  GTK_POS_TOP,
  GTK_POS_BOTTOM
} GtkPositionType;
Describes which edge of a widget a certain feature is positioned at, e.g. the tabs of a GtkNotebook, the handle of a GtkHandleBox or the label of a GtkScale.
| GTK_POS_LEFT | The feature is at the left edge. | 
| GTK_POS_RIGHT | The feature is at the right edge. | 
| GTK_POS_TOP | The feature is at the top edge. | 
| GTK_POS_BOTTOM | The feature is at the bottom edge. | 
typedef enum
{
  GTK_PREVIEW_COLOR,
  GTK_PREVIEW_GRAYSCALE
} GtkPreviewType;
GtkPreviewType is deprecated and should not be used in newly-written code.
An enumeration which describes whether a preview contains grayscale or red-green-blue data.
| GTK_PREVIEW_COLOR | the preview contains red-green-blue data. | 
| GTK_PREVIEW_GRAYSCALE | The preview contains grayscale data. | 
typedef enum
{
  GTK_RELIEF_NORMAL,
  GTK_RELIEF_HALF,
  GTK_RELIEF_NONE
} GtkReliefStyle;
Indicated the relief to be drawn around a GtkButton.
| GTK_RELIEF_NORMAL | Draw a normal relief. | 
| GTK_RELIEF_HALF | A half relief. | 
| GTK_RELIEF_NONE | No relief. | 
typedef enum
{
  GTK_RESIZE_PARENT,		/* Pass resize request to the parent */
  GTK_RESIZE_QUEUE,		/* Queue resizes on this widget */
  GTK_RESIZE_IMMEDIATE		/* Perform the resizes now */
} GtkResizeMode;
typedef enum 
{
  GTK_SCROLL_STEPS,
  GTK_SCROLL_PAGES,
  GTK_SCROLL_ENDS,
  GTK_SCROLL_HORIZONTAL_STEPS,
  GTK_SCROLL_HORIZONTAL_PAGES,
  GTK_SCROLL_HORIZONTAL_ENDS
} GtkScrollStep;
typedef enum
{
  GTK_SCROLL_NONE,
  GTK_SCROLL_JUMP,
  GTK_SCROLL_STEP_BACKWARD,
  GTK_SCROLL_STEP_FORWARD,
  GTK_SCROLL_PAGE_BACKWARD,
  GTK_SCROLL_PAGE_FORWARD,
  GTK_SCROLL_STEP_UP,
  GTK_SCROLL_STEP_DOWN,
  GTK_SCROLL_PAGE_UP,
  GTK_SCROLL_PAGE_DOWN,
  GTK_SCROLL_STEP_LEFT,
  GTK_SCROLL_STEP_RIGHT,
  GTK_SCROLL_PAGE_LEFT,
  GTK_SCROLL_PAGE_RIGHT,
  GTK_SCROLL_START,
  GTK_SCROLL_END
} GtkScrollType;
typedef enum
{
  GTK_SELECTION_NONE,                             /* Nothing can be selected */
  GTK_SELECTION_SINGLE,
  GTK_SELECTION_BROWSE,
  GTK_SELECTION_MULTIPLE,
  GTK_SELECTION_EXTENDED = GTK_SELECTION_MULTIPLE /* Deprecated */
} GtkSelectionMode;
typedef enum
{
  GTK_SHADOW_NONE,
  GTK_SHADOW_IN,
  GTK_SHADOW_OUT,
  GTK_SHADOW_ETCHED_IN,
  GTK_SHADOW_ETCHED_OUT
} GtkShadowType;
Used to change the appearance of an outline typically provided by a GtkFrame.
| GTK_SHADOW_NONE | No outline. | 
| GTK_SHADOW_IN | The outline is bevelled inwards. | 
| GTK_SHADOW_OUT | The outline is bevelled outwards like a button. | 
| GTK_SHADOW_ETCHED_IN | The outline itself is an inward bevel, but the frame does | 
| GTK_SHADOW_ETCHED_OUT | 
typedef enum
{
  GTK_SIDE_TOP,
  GTK_SIDE_BOTTOM,
  GTK_SIDE_LEFT,
  GTK_SIDE_RIGHT
} GtkSideType;
GtkSideType is deprecated and should not be used in newly-written code.
typedef enum
{
  GTK_STATE_NORMAL,
  GTK_STATE_ACTIVE,
  GTK_STATE_PRELIGHT,
  GTK_STATE_SELECTED,
  GTK_STATE_INSENSITIVE
} GtkStateType;
This type indicates the current state of a widget; the state determines how the widget is drawn. The GtkStateType enumeration is also used to identify different colors in a GtkStyle for drawing, so states can be used for subparts of a widget as well as entire widgets.
| GTK_STATE_NORMAL | State during normal operation. | 
| GTK_STATE_ACTIVE | State of a currently active widget, such as a depressed button. | 
| GTK_STATE_PRELIGHT | State indicating that the mouse pointer is over the widget and the widget will respond to mouse clicks. | 
| GTK_STATE_SELECTED | State of a selected item, such the selected row in a list. | 
| GTK_STATE_INSENSITIVE | State indicating that the widget is unresponsive to user actions. | 
typedef enum
{
  GTK_DIRECTION_LEFT,
  GTK_DIRECTION_RIGHT
} GtkSubmenuDirection;
GtkSubmenuDirection is deprecated and should not be used in newly-written code.
Indicates the direction a sub-menu will appear.
| GTK_DIRECTION_LEFT | A sub-menu will appear | 
| GTK_DIRECTION_RIGHT | 
typedef enum
{
  GTK_TOP_BOTTOM,
  GTK_LEFT_RIGHT
} GtkSubmenuPlacement;
GtkSubmenuPlacement is deprecated and should not be used in newly-written code.
typedef enum
{
  GTK_TOOLBAR_ICONS,
  GTK_TOOLBAR_TEXT,
  GTK_TOOLBAR_BOTH,
  GTK_TOOLBAR_BOTH_HORIZ
} GtkToolbarStyle;
Used to customize the appearance of a GtkToolbar. Note that setting the toolbar style overrides the user's preferences for the default toolbar style.
| GTK_TOOLBAR_ICONS | Buttons display only icons in the toolbar. | 
| GTK_TOOLBAR_TEXT | Buttons display only text labels in the toolbar. | 
| GTK_TOOLBAR_BOTH | Buttons display text and icons in the toolbar. | 
| GTK_TOOLBAR_BOTH_HORIZ | Buttons display icons and text alongside each other, rather than vertically stacked | 
typedef enum
{
  GTK_UPDATE_CONTINUOUS,
  GTK_UPDATE_DISCONTINUOUS,
  GTK_UPDATE_DELAYED
} GtkUpdateType;
typedef enum
{
  GTK_VISIBILITY_NONE,
  GTK_VISIBILITY_PARTIAL,
  GTK_VISIBILITY_FULL
} GtkVisibility;
Used by GtkCList and GtkCTree to indicate whether a row is visible.
| GTK_VISIBILITY_NONE | The row is not visible. | 
| GTK_VISIBILITY_PARTIAL | The row is partially visible. | 
| GTK_VISIBILITY_FULL | The row is fully visible. | 
typedef enum
{
  GTK_WIN_POS_NONE,
  GTK_WIN_POS_CENTER,
  GTK_WIN_POS_MOUSE,
  GTK_WIN_POS_CENTER_ALWAYS,
  GTK_WIN_POS_CENTER_ON_PARENT
} GtkWindowPosition;
Window placement can be influenced using this enumeration.
| GTK_WIN_POS_NONE | No influence is made on placement. | 
| GTK_WIN_POS_CENTER | Windows should be placed in the center of the screen. | 
| GTK_WIN_POS_MOUSE | Windows should be placed at the current mouse position. | 
| GTK_WIN_POS_CENTER_ALWAYS | Keep window centered as it changes size, etc. | 
| GTK_WIN_POS_CENTER_ON_PARENT | Center the window on its transient parent (see gtk_window_set_transient_for()). | 
typedef enum
{
  GTK_WINDOW_TOPLEVEL,
  GTK_WINDOW_POPUP
} GtkWindowType;
A GtkWindow can be one of these types. Most things you'd consider a "window" should have type GTK_WINDOW_TOPLEVEL; windows with this type are managed by the window manager and have a frame by default (call gtk_window_set_decorated() to toggle the frame). Windows with type GTK_WINDOW_POPUP are ignored by the window manager; window manager keybindings won't work on them, the window manager won't decorate the window with a frame, many GTK+ features that rely on the window manager will not work (e.g. resize grips and maximization/minimization). GTK_WINDOW_POPUP is used to implement widgets such as GtkMenu or tooltips that you normally don't think of as windows per se. Nearly all windows should be GTK_WINDOW_TOPLEVEL. In particular, do not use GTK_WINDOW_POPUP just to turn off the window borders; use gtk_window_set_decorated() for that.
| GTK_WINDOW_TOPLEVEL | A regular window, such as a dialog. | 
| GTK_WINDOW_POPUP | A special window such as a tooltip. | 
| << Bindings | Graphics Contexts >> |