## Standard Enumerations Standard Enumerations — Public enumerated types used throughout GTK+ |

## Types and Values

enum | GtkAccelFlags
enum | GtkAnchorType
enum | GtkArrowPlacement
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
enum | GtkDragResult

## Includes

    #include <gtk/gtk.h>

## Description

## Functions

## Types and Values

### enum GtkAccelFlags

#### Members

GTK_ACCEL_VISIBLE |  |
GTK_ACCEL_LOCKED |  |
GTK_ACCEL_MASK |  |

### enum GtkAnchorType

#### Members

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_NW |  |
GTK_ANCHOR_NE |  |
GTK_ANCHOR_S |  |
GTK_ANCHOR_SW |  |
GTK_ANCHOR_SE |  |
GTK_ANCHOR_W |  |
GTK_ANCHOR_E |  |

### enum GtkArrowPlacement

Used to specify the placement of scroll arrows in scrolling menus.

#### Members

GTK_ARROWS_BOTH | Place one arrow on each end of the menu. |
GTK_ARROWS_START | Place both arrows at the top of the menu. |
GTK_ARROWS_END | Place both arrows at the bottom of the menu. |

### enum GtkArrowType

Used to indicate the direction in which a GtkArrow should point.

#### Members

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. |
GTK_ARROW_NONE | No arrow. Since 2.10. |

### enum GtkAttachOptions

Denotes the expansion properties that a widget will have when it (or its parent) is resized.

#### Members

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. |

### enum GtkButtonBoxStyle

Used to dictate the style that a GtkButtonBox uses to layout the buttons it contains. (See also: GtkVButtonBox and GtkHButtonBox).

#### Members

GTK_BUTTONBOX_DEFAULT_STYLE | Default packing. |
GTK_BUTTONBOX_SPREAD | Buttons are evenly spread across the box. |
GTK_BUTTONBOX_EDGE | Buttons are placed at the edges of the box. |
GTK_BUTTONBOX_START | Buttons are grouped towards the start of the box, (on the left for a HBox, or the top for a VBox). |
GTK_BUTTONBOX_END | Buttons are grouped towards the end of the box, (on the right for a HBox, or the bottom for a VBox). |
GTK_BUTTONBOX_CENTER | Buttons are centered in the box. Since 2.12 |

### enum 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.

#### Members

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. |

### enum GtkCurveType

`GtkCurveType` is deprecated and should not be used in newly-written code.

#### Members

GTK_CURVE_TYPE_LINEAR |  |
GTK_CURVE_TYPE_SPLINE |  |
GTK_CURVE_TYPE_FREE |  |

### enum GtkDeleteType

#### Members

GTK_DELETE_CHARS |  |
GTK_DELETE_WORD_ENDS |  |
GTK_DELETE_WORDS |  |
GTK_DELETE_DISPLAY_LINES |  |
GTK_DELETE_DISPLAY_LINE_ENDS |  |
GTK_DELETE_PARAGRAPH_ENDS |  |
GTK_DELETE_PARAGRAPHS |  |
GTK_DELETE_WHITESPACE |  |

### enum GtkDirectionType

#### Members

GTK_DIR_TAB_FORWARD |  |
GTK_DIR_TAB_BACKWARD |  |
GTK_DIR_UP |  |
GTK_DIR_DOWN |  |
GTK_DIR_LEFT |  |
GTK_DIR_RIGHT |  |

### enum GtkExpanderStyle

Used to specify the style of the expanders drawn by a GtkTreeView.

#### Members

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. |

### enum GtkIMPreeditStyle

#### Members

GTK_IM_PREEDIT_NOTHING |  |
GTK_IM_PREEDIT_CALLBACK |  |
GTK_IM_PREEDIT_NONE |  |

### enum GtkIMStatusStyle

#### Members

GTK_IM_STATUS_NOTHING |  |
GTK_IM_STATUS_CALLBACK |  |
GTK_IM_STATUS_NONE |  |

### enum GtkJustification

Used for justifying the text inside a GtkLabel widget. (See also GtkAlignment).

#### Members

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. |

### enum GtkMatchType

`GtkMatchType` is deprecated and should not be used in newly-written code.

#### Members

GTK_MATCH_ALL |  |
GTK_MATCH_ALL_TAIL |  |
GTK_MATCH_HEAD |  |
GTK_MATCH_TAIL |  |
GTK_MATCH_EXACT |  |
GTK_MATCH_LAST |  |

### enum GtkMetricType

Used to indicate which metric is used by a GtkRuler.

#### Members

GTK_PIXELS | Pixels. |
GTK_INCHES | Inches. |
GTK_CENTIMETERS | Centimeters. |

### enum GtkMovementStep

#### Members

GTK_MOVEMENT_LOGICAL_POSITIONS |  |
GTK_MOVEMENT_VISUAL_POSITIONS |  |
GTK_MOVEMENT_WORDS |  |
GTK_MOVEMENT_DISPLAY_LINES |  |
GTK_MOVEMENT_DISPLAY_LINE_ENDS |  |
GTK_MOVEMENT_PARAGRAPHS |  |
GTK_MOVEMENT_PARAGRAPH_ENDS |  |
GTK_MOVEMENT_PAGES |  |
GTK_MOVEMENT_BUFFER_ENDS |  |
GTK_MOVEMENT_HORIZONTAL_PAGES |  |

### enum GtkOrientation

Represents the orientation of widgets which can be switched between horizontal and vertical orientation on the fly, like GtkToolbar.

#### Members

GTK_ORIENTATION_HORIZONTAL | The widget is in horizontal orientation. |
GTK_ORIENTATION_VERTICAL | The widget is in vertical orientation. |

### enum GtkPackType

Represents the packing location GtkBox children. (See: GtkVBox, GtkHBox, and GtkButtonBox).

#### Members

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 |

### enum GtkPathPriorityType

#### Members

GTK_PATH_PRIO_LOWEST |  |
GTK_PATH_PRIO_GTK |  |
GTK_PATH_PRIO_APPLICATION |  |
GTK_PATH_PRIO_THEME |  |
GTK_PATH_PRIO_RC |  |
GTK_PATH_PRIO_HIGHEST |  |

### enum GtkPathType

#### Members

GTK_PATH_WIDGET |  |
GTK_PATH_WIDGET_CLASS |  |
GTK_PATH_CLASS |  |

### enum GtkPolicyType

Determines when a scroll bar will be visible.

#### Members

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. |

### enum 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.

#### Members

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. |

### enum 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.

#### Members

GTK_PREVIEW_COLOR | the preview contains red-green-blue data. |
GTK_PREVIEW_GRAYSCALE | The preview contains grayscale data. |

### enum GtkReliefStyle

`GtkReliefStyle` is deprecated and should not be used in newly-written code.

Indicated the relief to be drawn around a GtkButton.

#### Members

GTK_RELIEF_NORMAL | Draw a normal relief. |
GTK_RELIEF_HALF | A half relief. |
GTK_RELIEF_NONE | No relief. |

### enum GtkResizeMode

#### Members

GTK_RESIZE_PARENT |  |
GTK_RESIZE_QUEUE |  |
GTK_RESIZE_IMMEDIATE | Deprecated. |

### enum GtkScrollStep

#### Members

GTK_SCROLL_STEPS |  |
GTK_SCROLL_PAGES |  |
GTK_SCROLL_ENDS |  |
GTK_SCROLL_HORIZONTAL_STEPS |  |
GTK_SCROLL_HORIZONTAL_PAGES |  |
GTK_SCROLL_HORIZONTAL_ENDS |  |

### enum GtkScrollType

`GtkScrollType` is deprecated and should not be used in newly-written code.

#### Members

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 |  |

### enum GtkSelectionMode

Used to control what selections users are allowed to make.

#### Members

GTK_SELECTION_NONE | No selection is possible. |
GTK_SELECTION_SINGLE | Zero or one element may be selected. |
GTK_SELECTION_BROWSE | Exactly one element is selected. In some circumstances, such as initially or during a search operation, it's possible for no element to be selected with `GTK_SELECTION_BROWSE`. What is really enforced is that the user can't deselect a currently selected element except by selecting another element. |
GTK_SELECTION_MULTIPLE | Any number of elements may be selected. Clicks toggle the state of an item. Any number of elements may be selected. The Ctrl key may be used to enlarge the selection, and Shift key to select between the focus and the child pointed to. Some widgets may also allow Click-drag to select a range of elements. |
GTK_SELECTION_EXTENDED | Deprecated, behaves identical to `GTK_SELECTION_MULTIPLE`. |

### enum GtkShadowType

Used to change the appearance of an outline typically provided by a GtkFrame.

#### Members

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 has a sunken 3d appearance. |
GTK_SHADOW_ETCHED_OUT | The outline has a raised 3d appearance |

### enum GtkSideType

`GtkSideType` is deprecated and should not be used in newly-written code.

#### Members

GTK_SIDE_TOP |  |
GTK_SIDE_BOTTOM |  |
GTK_SIDE_LEFT |  |
GTK_SIDE_RIGHT |  |

### enum 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.

#### Members

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. |

### enum GtkSubmenuDirection

`GtkSubmenuDirection` is deprecated and should not be used in newly-written code.

Indicates the direction a sub-menu will appear.

#### Members

GTK_DIRECTION_LEFT | A sub-menu will appear to the left of the current menu. |
GTK_DIRECTION_RIGHT | A sub-menu will appear to the right of the current menu. |

### enum GtkSubmenuPlacement

`GtkSubmenuPlacement` is deprecated and should not be used in newly-written code.

#### Members

GTK_TOP_BOTTOM |  |
GTK_LEFT_RIGHT |  |

### enum GtkToolbarStyle

`GtkToolbarStyle` is deprecated and should not be used in newly-written code.

Used to customize the appearance of a GtkToolbar. Note that setting the toolbar style overrides the user's preferences for the default toolbar style. Note that if the button has only a label set and GTK_TOOLBAR_ICONS is used, the label will be visible, and vice versa.

#### Members

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 |

### enum GtkUpdateType

Used by GtkRange to control the policy for notifying value changes.

#### Members

GTK_UPDATE_CONTINUOUS | Notify updates whenever the value changed |
GTK_UPDATE_DISCONTINUOUS | Notify updates when the mouse button has been released |
GTK_UPDATE_DELAYED | Space out updates with a small timeout |

### enum GtkVisibility

Used by GtkCList and GtkCTree to indicate whether a row is visible.

#### Members

GTK_VISIBILITY_NONE | The row is not visible. |
GTK_VISIBILITY_PARTIAL | The row is partially visible. |
GTK_VISIBILITY_FULL | The row is fully visible. |

### enum GtkWindowPosition

Window placement can be influenced using this enumeration. Note that using GTK_WIN_POS_CENTER_ALWAYS is almost always a bad idea. It won't necessarily work well with all window managers or on all windowing systems.

#### Members

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()`). |

### enum 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.

#### Members

GTK_WINDOW_TOPLEVEL | A regular window, such as a dialog. |
GTK_WINDOW_POPUP | A special window such as a tooltip. |

### enum GtkSortType

Determines the direction of a sort.

#### Members

GTK_SORT_ASCENDING | Sorting is in ascending order. |
GTK_SORT_DESCENDING | Sorting is in descending order. |

### enum GtkDragResult

Gives an indication why a drag operation failed. The value can by obtained by connecting to the “drag-failed” signal.

#### Members

GTK_DRAG_RESULT_SUCCESS | The drag operation was successful |
GTK_DRAG_RESULT_NO_TARGET | No suitable drag target |
GTK_DRAG_RESULT_USER_CANCELLED | The user cancelled the drag operation |
GTK_DRAG_RESULT_TIMEOUT_EXPIRED | The drag operation timed out |
GTK_DRAG_RESULT_GRAB_BROKEN | The pointer or keyboard grab used for the drag operation was broken |
GTK_DRAG_RESULT_ERROR | The drag operation failed due to some unspecified error |