]> Pileus Git - ~andy/gtk/blobdiff - gtk/gtkenums.h
Mark abstract types as G_TYPE_FLAG_ABSTRACT. (#72383)
[~andy/gtk] / gtk / gtkenums.h
index d004d728b033e1832b7bd60f593469d01f706441..5880af769d5ac78dcd6e57a49b5b5e4364a28500 100644 (file)
@@ -2,23 +2,23 @@
  * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
  *
  * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
+ * modify it under the terms of the GNU Lesser General Public
  * 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
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
+ * Lesser General Public License for more details.
  *
- * You should have received a copy of the GNU Library General Public
+ * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, write to the
  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
  * Boston, MA 02111-1307, USA.
  */
 
 /*
- * Modified by the GTK+ Team and others 1997-1999.  See the AUTHORS
+ * Modified by the GTK+ Team and others 1997-2000.  See the AUTHORS
  * 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/. 
 #ifndef __GTK_ENUMS_H__
 #define __GTK_ENUMS_H__
 
+#include <glib-object.h>
+
 #ifdef __cplusplus
 extern "C" {
 #endif /* __cplusplus */
 
+
+/* Anchor types */
+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;
+
 /* Arrow types */
 typedef enum
 {
@@ -66,6 +91,19 @@ typedef enum
   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;
+
 /* Focus movement types */
 typedef enum
 {
@@ -77,6 +115,46 @@ typedef enum
   GTK_DIR_RIGHT
 } GtkDirectionType;
 
+/* Expander styles */
+typedef enum
+{
+  GTK_EXPANDER_COLLAPSED,
+  GTK_EXPANDER_SEMI_COLLAPSED,
+  GTK_EXPANDER_SEMI_EXPANDED,
+  GTK_EXPANDER_EXPANDED
+} GtkExpanderStyle;
+
+/* Built-in stock icon sizes */
+typedef enum
+{
+  GTK_ICON_SIZE_INVALID,
+  GTK_ICON_SIZE_MENU,
+  GTK_ICON_SIZE_SMALL_TOOLBAR,
+  GTK_ICON_SIZE_LARGE_TOOLBAR,
+  GTK_ICON_SIZE_BUTTON,
+  GTK_ICON_SIZE_DND,
+  GTK_ICON_SIZE_DIALOG
+} GtkIconSize;
+
+#ifndef GTK_DISABLE_DEPRECATED
+/* side types */
+typedef enum
+{
+  GTK_SIDE_TOP,
+  GTK_SIDE_BOTTOM,
+  GTK_SIDE_LEFT,
+  GTK_SIDE_RIGHT
+} GtkSideType;
+#endif /* GTK_DISABLE_DEPRECATED */
+
+/* Reading directions for text */
+typedef enum
+{
+  GTK_TEXT_DIR_NONE,
+  GTK_TEXT_DIR_LTR,
+  GTK_TEXT_DIR_RTL
+} GtkTextDirection;
+
 /* justification for label and maybe other widgets (text?) */
 typedef enum
 {
@@ -86,6 +164,7 @@ typedef enum
   GTK_JUSTIFY_FILL
 } GtkJustification;
 
+#ifndef GTK_DISABLE_DEPRECATED
 /* GtkPatternSpec match types */
 typedef enum
 {
@@ -96,6 +175,7 @@ typedef enum
   GTK_MATCH_EXACT,     /* "AAAAA" */
   GTK_MATCH_LAST
 } GtkMatchType;
+#endif /* GTK_DISABLE_DEPRECATED */
 
 /* Menu keyboard movement types */
 typedef enum
@@ -106,13 +186,6 @@ typedef enum
   GTK_MENU_DIR_PREV
 } GtkMenuDirectionType;
 
-typedef enum
-{
-  GTK_MENU_FACTORY_MENU,
-  GTK_MENU_FACTORY_MENU_BAR,
-  GTK_MENU_FACTORY_OPTION_MENU
-} GtkMenuFactoryType;
-
 typedef enum
 {
   GTK_PIXELS,
@@ -120,6 +193,18 @@ typedef enum
   GTK_CENTIMETERS
 } GtkMetricType;
 
+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 */
+} GtkMovementStep;
+
 /* Orientation for toolbars, etc. */
 typedef enum
 {
@@ -149,10 +234,11 @@ 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,
-  GTK_PATH_PRIO_MASK        = 0x0f
+  GTK_PATH_PRIO_HIGHEST     = 15
 } GtkPathPriorityType;
+#define GTK_PATH_PRIO_MASK 0x0f
 
 /* widget path types */
 typedef enum
@@ -178,11 +264,13 @@ typedef enum
   GTK_POS_BOTTOM
 } GtkPositionType;
 
+#ifndef GTK_DISABLE_DEPRECATED
 typedef enum
 {
   GTK_PREVIEW_COLOR,
   GTK_PREVIEW_GRAYSCALE
 } GtkPreviewType;
+#endif /* GTK_DISABLE_DEPRECATED */
 
 /* Style for buttons */
 typedef enum
@@ -200,35 +288,48 @@ typedef enum
   GTK_RESIZE_IMMEDIATE         /* Perform the resizes now */
 } GtkResizeMode;
 
+#ifndef GTK_DISABLE_DEPRECATED
 /* signal run types */
 typedef enum                   /*< flags >*/
 {
-  GTK_RUN_FIRST      = 1 << 0,
-  GTK_RUN_LAST       = 1 << 1,
+  GTK_RUN_FIRST      = G_SIGNAL_RUN_FIRST,
+  GTK_RUN_LAST       = G_SIGNAL_RUN_LAST,
   GTK_RUN_BOTH       = (GTK_RUN_FIRST | GTK_RUN_LAST),
-  GTK_RUN_NO_RECURSE = 1 << 2,
-  GTK_RUN_ACTION     = 1 << 3,
-  GTK_RUN_NO_HOOKS   = 1 << 4
+  GTK_RUN_NO_RECURSE = G_SIGNAL_NO_RECURSE,
+  GTK_RUN_ACTION     = G_SIGNAL_ACTION,
+  GTK_RUN_NO_HOOKS   = G_SIGNAL_NO_HOOKS
 } GtkSignalRunType;
+#endif /* GTK_DISABLE_DEPRECATED */
 
 /* scrolling types */
 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_JUMP
+  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;
 
 /* list selection modes */
 typedef enum
 {
+  GTK_SELECTION_NONE,                             /* Nothing can be selected */
   GTK_SELECTION_SINGLE,
   GTK_SELECTION_BROWSE,
   GTK_SELECTION_MULTIPLE,
-  GTK_SELECTION_EXTENDED
+  GTK_SELECTION_EXTENDED = GTK_SELECTION_MULTIPLE /* Deprecated */
 } GtkSelectionMode;
 
 /* Shadow types */
@@ -251,6 +352,7 @@ typedef enum
   GTK_STATE_INSENSITIVE
 } GtkStateType;
 
+#if !defined(GTK_DISABLE_DEPRECATED) || defined (GTK_MENU_INTERNALS)
 /* Directions for submenus */
 typedef enum
 {
@@ -264,6 +366,7 @@ typedef enum
   GTK_TOP_BOTTOM,
   GTK_LEFT_RIGHT
 } GtkSubmenuPlacement;
+#endif /* GTK_DISABLE_DEPRECATED */
 
 /* Style for toolbars */
 typedef enum
@@ -274,15 +377,6 @@ typedef enum
   GTK_TOOLBAR_BOTH_HORIZ
 } GtkToolbarStyle;
 
-/* Trough types for GtkRange */
-typedef enum
-{
-  GTK_TROUGH_NONE,
-  GTK_TROUGH_START,
-  GTK_TROUGH_END,
-  GTK_TROUGH_JUMP
-} GtkTroughType;
-
 /* Data update types (for ranges) */
 typedef enum
 {
@@ -304,17 +398,26 @@ typedef enum
 {
   GTK_WIN_POS_NONE,
   GTK_WIN_POS_CENTER,
-  GTK_WIN_POS_MOUSE
+  GTK_WIN_POS_MOUSE,
+  GTK_WIN_POS_CENTER_ALWAYS,
+  GTK_WIN_POS_CENTER_ON_PARENT
 } GtkWindowPosition;
 
 /* Window types */
 typedef enum
 {
   GTK_WINDOW_TOPLEVEL,
-  GTK_WINDOW_DIALOG,
   GTK_WINDOW_POPUP
 } GtkWindowType;
 
+/* Text wrap */
+typedef enum
+{
+  GTK_WRAP_NONE,
+  GTK_WRAP_CHAR,
+  GTK_WRAP_WORD
+} GtkWrapMode;
+
 /* How to sort */
 typedef enum
 {