[gtkmm] Application: Added new API.



commit 2f89a5d869d565f40912587cba6813f3da0857fa
Author: Murray Cumming <murrayc murrayc com>
Date:   Sat Mar 3 16:38:30 2012 +0100

    Application: Added new API.
    
    * tools/m4/convert_gtk.m4: Regenerate partially.
    * gtk/src/application.hg: Added get/set_app_menu(), get/set_menubar(),
    add/remove_accelerator(), inhibit(), uninhibit(), is_inhibited(),
    properties and signals.
    * gtk/src/gtk_enums.defs: Add conversions.

 ChangeLog               |   10 +
 gtk/src/application.hg  |   31 ++-
 gtk/src/gtk_enums.defs  | 1003 +++++++++++++++++++++++++++++++++++++++++------
 tools/m4/convert_gtk.m4 |    7 +
 4 files changed, 927 insertions(+), 124 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index 7c6d73f..55a05ba 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,15 @@
 2012-03-03  Murray Cumming  <murrayc murrayc com>
 
+	Application: Added new API.
+
+	* tools/m4/convert_gtk.m4: Regenerate partially.
+	* gtk/src/application.hg: Added get/set_app_menu(), get/set_menubar(),
+	add/remove_accelerator(), inhibit(), uninhibit(), is_inhibited(),
+	properties and signals.
+	* gtk/src/gtk_enums.defs: Add conversions.
+
+2012-03-03  Murray Cumming  <murrayc murrayc com>
+
 	Wrap some new API.
 
 	* gtk/src/aboutdialog.hg: Add add_credits_section().
diff --git a/gtk/src/application.hg b/gtk/src/application.hg
index 5debfbc..9497ccf 100644
--- a/gtk/src/application.hg
+++ b/gtk/src/application.hg
@@ -19,8 +19,10 @@ _CONFIGINCLUDE(gtkmmconfig.h)
 
 #include <vector>
 
-#include <giomm/application.h>
 #include <gtkmm/actiongroup.h>
+#include <giomm/application.h>
+#include <giomm/menumodel.h>
+
 
 _DEFS(gtkmm,gtk)
 _PINCLUDE(giomm/private/application_p.h)
@@ -28,6 +30,8 @@ _PINCLUDE(giomm/private/application_p.h)
 namespace Gtk
 {
 
+_WRAP_ENUM(ApplicationInhibitFlags, GtkApplicationInhibitFlags)
+
 class Window;
 
 /** TODO
@@ -162,6 +166,31 @@ public:
    */
   int run();
 
+  _WRAP_METHOD(Glib::RefPtr<Gio::MenuModel> get_app_menu(), gtk_application_get_app_menu, refreturn)
+  _WRAP_METHOD(Glib::RefPtr<const Gio::MenuModel> get_app_menu() const, gtk_application_get_app_menu, refreturn, constversion)
+
+  _WRAP_METHOD(void set_app_menu(const Glib::RefPtr<Gio::MenuModel>& app_menu), gtk_application_set_app_menu)
+
+  _WRAP_METHOD(Glib::RefPtr<Gio::MenuModel> get_menubar(), gtk_application_get_menubar, refreturn)
+  _WRAP_METHOD(Glib::RefPtr<const Gio::MenuModel> get_menubar() const, gtk_application_get_menubar, refreturn, constversion)
+
+  _WRAP_METHOD(void set_menubar(const Glib::RefPtr<Gio::MenuModel>& menubar), gtk_application_set_menubar)
+
+  _WRAP_METHOD(void add_accelerator(const Glib::ustring& accelerator, const Glib::ustring& action_name,  GVariant        *parameter), gtk_application_add_accelerator)
+  _WRAP_METHOD(void remove_accelerator(const Glib::ustring& action_name, GVariant       *parameter), gtk_application_remove_accelerator)
+
+  _WRAP_METHOD(guint inhibit(Window& window, ApplicationInhibitFlags flags, const Glib::ustring& reason), gtk_application_inhibit)
+  _WRAP_METHOD(void uninhibit(guint cookie), gtk_application_uninhibit)
+  _WRAP_METHOD(bool is_inhibited(ApplicationInhibitFlags flags) const, gtk_application_is_inhibited)
+
+
+  _WRAP_PROPERTY("app-menu", Glib::RefPtr<Gio::MenuModel>)
+  _WRAP_PROPERTY("menubar", Glib::RefPtr<Gio::MenuModel>)
+  _WRAP_PROPERTY("register-session", bool)
+
+  _WRAP_SIGNAL(void window_added(Window* window), "window-added")
+  _WRAP_SIGNAL(void window_removed(Window* window), "window-removed")
+
 private:
   /** This is just a way to call Glib::init() (which calls g_type_init()) before
    * calling application_class_.init(), so that 
diff --git a/gtk/src/gtk_enums.defs b/gtk/src/gtk_enums.defs
index 1766a9e..59f7988 100644
--- a/gtk/src/gtk_enums.defs
+++ b/gtk/src/gtk_enums.defs
@@ -53,6 +53,28 @@
   )
 )
 
+;; From gtkapplication.h
+
+;; Original typedef:
+;; typedef enum
+;; {
+;;   GTK_APPLICATION_INHIBIT_LOGOUT  = (1 << 0),
+;;   GTK_APPLICATION_INHIBIT_SWITCH  = (1 << 1),
+;;   GTK_APPLICATION_INHIBIT_SUSPEND = (1 << 2),
+;;   GTK_APPLICATION_INHIBIT_IDLE    = (1 << 3)
+;; } GtkApplicationInhibitFlags;
+
+(define-flags-extended ApplicationInhibitFlags
+  (in-module "Gtk")
+  (c-name "GtkApplicationInhibitFlags")
+  (values
+    '("logout" "GTK_APPLICATION_INHIBIT_LOGOUT" "(1 << 0)")
+    '("switch" "GTK_APPLICATION_INHIBIT_SWITCH" "(1 << 1)")
+    '("suspend" "GTK_APPLICATION_INHIBIT_SUSPEND" "(1 << 2)")
+    '("idle" "GTK_APPLICATION_INHIBIT_IDLE" "(1 << 3)")
+  )
+)
+
 ;; From gtkassistant.h
 
 ;; Original typedef:
@@ -163,7 +185,9 @@
 ;;   GTK_CELL_RENDERER_INSENSITIVE = 1 << 2,
 ;;   /* this flag means the cell is in the sort column/row */
 ;;   GTK_CELL_RENDERER_SORTED      = 1 << 3,
-;;   GTK_CELL_RENDERER_FOCUSED     = 1 << 4
+;;   GTK_CELL_RENDERER_FOCUSED     = 1 << 4,
+;;   GTK_CELL_RENDERER_EXPANDABLE  = 1 << 5,
+;;   GTK_CELL_RENDERER_EXPANDED    = 1 << 6
 ;; } GtkCellRendererState;
 
 (define-flags-extended CellRendererState
@@ -175,6 +199,8 @@
     '("insensitive" "GTK_CELL_RENDERER_INSENSITIVE" "1 << 2")
     '("sorted" "GTK_CELL_RENDERER_SORTED" "1 << 3")
     '("focused" "GTK_CELL_RENDERER_FOCUSED" "1 << 4")
+    '("expandable" "GTK_CELL_RENDERER_EXPANDABLE" "1 << 5")
+    '("expanded" "GTK_CELL_RENDERER_EXPANDED" "1 << 6")
   )
 )
 
@@ -196,6 +222,49 @@
   )
 )
 
+;; From gtkcolorscaleprivate.h
+
+;; Original typedef:
+;; typedef enum
+;; {
+;;   GTK_COLOR_SCALE_HUE,
+;;   GTK_COLOR_SCALE_ALPHA
+;; } GtkColorScaleType;
+
+(define-enum-extended ColorScaleType
+  (in-module "Gtk")
+  (c-name "GtkColorScaleType")
+  (values
+    '("hue" "GTK_COLOR_SCALE_HUE" "0")
+    '("alpha" "GTK_COLOR_SCALE_ALPHA" "1")
+  )
+)
+
+;; From gtkcssparserprivate.h
+
+;; Original typedef:
+;; typedef enum /*< skip >*/ {
+;;   GTK_CSS_POSITIVE_ONLY = (1 << 0),
+;;   GTK_CSS_PARSE_PERCENT = (1 << 1),
+;;   GTK_CSS_PARSE_NUMBER = (1 << 2),
+;;   GTK_CSS_NUMBER_AS_PIXELS = (1 << 3),
+;;   GTK_CSS_PARSE_LENGTH = (1 << 4),
+;;   GTK_CSS_PARSE_ANGLE = (1 << 5)
+;; } GtkCssNumberParseFlags;
+
+(define-flags-extended CssNumberParseFlags
+  (in-module "Gtk")
+  (c-name "GtkCssNumberParseFlags")
+  (values
+    '("positive-only" "GTK_CSS_POSITIVE_ONLY" "(1 << 0)")
+    '("parse-percent" "GTK_CSS_PARSE_PERCENT" "(1 << 1)")
+    '("parse-number" "GTK_CSS_PARSE_NUMBER" "(1 << 2)")
+    '("number-as-pixels" "GTK_CSS_NUMBER_AS_PIXELS" "(1 << 3)")
+    '("parse-length" "GTK_CSS_PARSE_LENGTH" "(1 << 4)")
+    '("parse-angle" "GTK_CSS_PARSE_ANGLE" "(1 << 5)")
+  )
+)
+
 ;; From gtkcssprovider.h
 
 ;; Original typedef:
@@ -252,6 +321,167 @@
   )
 )
 
+;; From gtkcsstypesprivate.h
+
+;; Original typedef:
+;; typedef enum {
+;;   GTK_CSS_INHERIT,
+;;   GTK_CSS_INITIAL
+;; } GtkCssSpecialValue;
+
+(define-enum-extended CssSpecialValue
+  (in-module "Gtk")
+  (c-name "GtkCssSpecialValue")
+  (values
+    '("inherit" "GTK_CSS_INHERIT" "0")
+    '("initial" "GTK_CSS_INITIAL" "1")
+  )
+)
+
+;; Original typedef:
+;; typedef enum /*< enum >*/
+;; {
+;;   GTK_CSS_BACKGROUND_INVALID, /*< skip >*/
+;;   GTK_CSS_BACKGROUND_REPEAT, /* start at one so we know if a value has been set */
+;;   GTK_CSS_BACKGROUND_SPACE,
+;;   GTK_CSS_BACKGROUND_ROUND,
+;;   GTK_CSS_BACKGROUND_NO_REPEAT,
+;;   /* need to hardcode the numer or glib-mkenums makes us into a flags type */
+;;   GTK_CSS_BACKGROUND_REPEAT_X = 1025,
+;;   GTK_CSS_BACKGROUND_REPEAT_Y = 260
+;; } GtkCssBackgroundRepeat;
+
+(define-enum-extended CssBackgroundRepeat
+  (in-module "Gtk")
+  (c-name "GtkCssBackgroundRepeat")
+  (values
+    '("invalid" "GTK_CSS_BACKGROUND_INVALID" "0")
+    '("repeat" "GTK_CSS_BACKGROUND_REPEAT" "1")
+    '("space" "GTK_CSS_BACKGROUND_SPACE" "2")
+    '("round" "GTK_CSS_BACKGROUND_ROUND" "3")
+    '("no-repeat" "GTK_CSS_BACKGROUND_NO_REPEAT" "4")
+    '("repeat-x" "GTK_CSS_BACKGROUND_REPEAT_X" "1025")
+    '("repeat-y" "GTK_CSS_BACKGROUND_REPEAT_Y" "260")
+  )
+)
+
+;; Original typedef:
+;; typedef enum {
+;;   GTK_CSS_REPEAT_STYLE_STRETCH,
+;;   GTK_CSS_REPEAT_STYLE_REPEAT,
+;;   GTK_CSS_REPEAT_STYLE_ROUND,
+;;   GTK_CSS_REPEAT_STYLE_SPACE
+;; } GtkCssBorderRepeatStyle;
+
+(define-enum-extended CssBorderRepeatStyle
+  (in-module "Gtk")
+  (c-name "GtkCssBorderRepeatStyle")
+  (values
+    '("stretch" "GTK_CSS_REPEAT_STYLE_STRETCH" "0")
+    '("repeat" "GTK_CSS_REPEAT_STYLE_REPEAT" "1")
+    '("round" "GTK_CSS_REPEAT_STYLE_ROUND" "2")
+    '("space" "GTK_CSS_REPEAT_STYLE_SPACE" "3")
+  )
+)
+
+;; Original typedef:
+;; typedef enum {
+;;   GTK_CSS_AREA_BORDER_BOX,
+;;   GTK_CSS_AREA_PADDING_BOX,
+;;   GTK_CSS_AREA_CONTENT_BOX
+;; } GtkCssArea;
+
+(define-enum-extended CssArea
+  (in-module "Gtk")
+  (c-name "GtkCssArea")
+  (values
+    '("border-box" "GTK_CSS_AREA_BORDER_BOX" "0")
+    '("padding-box" "GTK_CSS_AREA_PADDING_BOX" "1")
+    '("content-box" "GTK_CSS_AREA_CONTENT_BOX" "2")
+  )
+)
+
+;; Original typedef:
+;; typedef enum /*< skip >*/ {
+;;   GTK_CSS_TOP,
+;;   GTK_CSS_RIGHT,
+;;   GTK_CSS_BOTTOM,
+;;   GTK_CSS_LEFT
+;; } GtkCssSide;
+
+(define-enum-extended CssSide
+  (in-module "Gtk")
+  (c-name "GtkCssSide")
+  (values
+    '("top" "GTK_CSS_TOP" "0")
+    '("right" "GTK_CSS_RIGHT" "1")
+    '("bottom" "GTK_CSS_BOTTOM" "2")
+    '("left" "GTK_CSS_LEFT" "3")
+  )
+)
+
+;; Original typedef:
+;; typedef enum /*< skip >*/ {
+;;   GTK_CSS_TOP_LEFT,
+;;   GTK_CSS_TOP_RIGHT,
+;;   GTK_CSS_BOTTOM_RIGHT,
+;;   GTK_CSS_BOTTOM_LEFT
+;; } GtkCssCorner;
+
+(define-enum-extended CssCorner
+  (in-module "Gtk")
+  (c-name "GtkCssCorner")
+  (values
+    '("top-left" "GTK_CSS_TOP_LEFT" "0")
+    '("top-right" "GTK_CSS_TOP_RIGHT" "1")
+    '("bottom-right" "GTK_CSS_BOTTOM_RIGHT" "2")
+    '("bottom-left" "GTK_CSS_BOTTOM_LEFT" "3")
+  )
+)
+
+;; Original typedef:
+;; typedef enum /*< skip >*/ {
+;;   /* CSS term: <number> */
+;;   GTK_CSS_NUMBER,
+;;   /* CSS term: <percentage> */
+;;   GTK_CSS_PERCENT,
+;;   /* CSS term: <length> */
+;;   GTK_CSS_PX,
+;;   GTK_CSS_PT,
+;;   GTK_CSS_EM,
+;;   GTK_CSS_EX,
+;;   GTK_CSS_PC,
+;;   GTK_CSS_IN,
+;;   GTK_CSS_CM,
+;;   GTK_CSS_MM,
+;;   /* CSS term: <angle> */
+;;   GTK_CSS_RAD,
+;;   GTK_CSS_DEG,
+;;   GTK_CSS_GRAD,
+;;   GTK_CSS_TURN
+;; } GtkCssUnit;
+
+(define-enum-extended CssUnit
+  (in-module "Gtk")
+  (c-name "GtkCssUnit")
+  (values
+    '("number" "GTK_CSS_NUMBER" "0")
+    '("percent" "GTK_CSS_PERCENT" "1")
+    '("px" "GTK_CSS_PX" "2")
+    '("pt" "GTK_CSS_PT" "3")
+    '("em" "GTK_CSS_EM" "4")
+    '("ex" "GTK_CSS_EX" "5")
+    '("pc" "GTK_CSS_PC" "6")
+    '("in" "GTK_CSS_IN" "7")
+    '("cm" "GTK_CSS_CM" "8")
+    '("mm" "GTK_CSS_MM" "9")
+    '("rad" "GTK_CSS_RAD" "10")
+    '("deg" "GTK_CSS_DEG" "11")
+    '("grad" "GTK_CSS_GRAD" "12")
+    '("turn" "GTK_CSS_TURN" "13")
+  )
+)
+
 ;; From gtkdebug.h
 
 ;; Original typedef:
@@ -1418,7 +1648,8 @@
 ;;   GTK_STATE_FLAG_SELECTED     = 1 << 2,
 ;;   GTK_STATE_FLAG_INSENSITIVE  = 1 << 3,
 ;;   GTK_STATE_FLAG_INCONSISTENT = 1 << 4,
-;;   GTK_STATE_FLAG_FOCUSED      = 1 << 5
+;;   GTK_STATE_FLAG_FOCUSED      = 1 << 5,
+;;   GTK_STATE_FLAG_BACKDROP     = 1 << 6
 ;; } GtkStateFlags;
 
 (define-flags-extended StateFlags
@@ -1432,6 +1663,7 @@
     '("insensitive" "GTK_STATE_FLAG_INSENSITIVE" "1 << 3")
     '("inconsistent" "GTK_STATE_FLAG_INCONSISTENT" "1 << 4")
     '("focused" "GTK_STATE_FLAG_FOCUSED" "1 << 5")
+    '("backdrop" "GTK_STATE_FLAG_BACKDROP" "1 << 6")
   )
 )
 
@@ -1441,6 +1673,7 @@
 ;;   GTK_REGION_ODD     = 1 << 1,
 ;;   GTK_REGION_FIRST   = 1 << 2,
 ;;   GTK_REGION_LAST    = 1 << 3,
+;;   GTK_REGION_ONLY    = 1 << 4,
 ;;   GTK_REGION_SORTED  = 1 << 5
 ;; } GtkRegionFlags;
 
@@ -1452,6 +1685,7 @@
     '("odd" "GTK_REGION_ODD" "1 << 1")
     '("first" "GTK_REGION_FIRST" "1 << 2")
     '("last" "GTK_REGION_LAST" "1 << 3")
+    '("only" "GTK_REGION_ONLY" "1 << 4")
     '("sorted" "GTK_REGION_SORTED" "1 << 5")
   )
 )
@@ -1490,7 +1724,13 @@
 ;;   GTK_BORDER_STYLE_NONE,
 ;;   GTK_BORDER_STYLE_SOLID,
 ;;   GTK_BORDER_STYLE_INSET,
-;;   GTK_BORDER_STYLE_OUTSET
+;;   GTK_BORDER_STYLE_OUTSET,
+;;   GTK_BORDER_STYLE_HIDDEN,
+;;   GTK_BORDER_STYLE_DOTTED,
+;;   GTK_BORDER_STYLE_DASHED,
+;;   GTK_BORDER_STYLE_DOUBLE,
+;;   GTK_BORDER_STYLE_GROOVE,
+;;   GTK_BORDER_STYLE_RIDGE
 ;; } GtkBorderStyle;
 
 (define-enum-extended BorderStyle
@@ -1501,6 +1741,12 @@
     '("solid" "GTK_BORDER_STYLE_SOLID" "1")
     '("inset" "GTK_BORDER_STYLE_INSET" "2")
     '("outset" "GTK_BORDER_STYLE_OUTSET" "3")
+    '("hidden" "GTK_BORDER_STYLE_HIDDEN" "4")
+    '("dotted" "GTK_BORDER_STYLE_DOTTED" "5")
+    '("dashed" "GTK_BORDER_STYLE_DASHED" "6")
+    '("double" "GTK_BORDER_STYLE_DOUBLE" "7")
+    '("groove" "GTK_BORDER_STYLE_GROOVE" "8")
+    '("ridge" "GTK_BORDER_STYLE_RIDGE" "9")
   )
 )
 
@@ -1563,6 +1809,113 @@
   )
 )
 
+;; From gtkfilechooserprivate.h
+
+;; Original typedef:
+;; typedef enum {
+;;   LOAD_EMPTY,			/* There is no model */
+;;   LOAD_PRELOAD,			/* Model is loading and a timer is running; model isn't inserted into the tree yet */
+;;   LOAD_LOADING,			/* Timeout expired, model is inserted into the tree, but not fully loaded yet */
+;;   LOAD_FINISHED			/* Model is fully loaded and inserted into the tree */
+;; } LoadState;
+
+(define-enum-extended LoadState
+  (in-module "Gtk")
+  (c-name "LoadState")
+  (values
+    '("empty" "LOAD_EMPTY" "0")
+    '("preload" "LOAD_PRELOAD" "1")
+    '("loading" "LOAD_LOADING" "2")
+    '("finished" "LOAD_FINISHED" "3")
+  )
+)
+
+;; Original typedef:
+;; typedef enum {
+;;   RELOAD_EMPTY,			/* No folder has been set */
+;;   RELOAD_HAS_FOLDER		/* We have a folder, although it may not be completely loaded yet; no need to reload */
+;; } ReloadState;
+
+(define-enum-extended ReloadState
+  (in-module "Gtk")
+  (c-name "ReloadState")
+  (values
+    '("empty" "RELOAD_EMPTY" "0")
+    '("has-folder" "RELOAD_HAS_FOLDER" "1")
+  )
+)
+
+;; Original typedef:
+;; typedef enum {
+;;   LOCATION_MODE_PATH_BAR,
+;;   LOCATION_MODE_FILENAME_ENTRY
+;; } LocationMode;
+
+(define-enum-extended LocationMode
+  (in-module "Gtk")
+  (c-name "LocationMode")
+  (values
+    '("path-bar" "LOCATION_MODE_PATH_BAR" "0")
+    '("filename-entry" "LOCATION_MODE_FILENAME_ENTRY" "1")
+  )
+)
+
+;; Original typedef:
+;; typedef enum {
+;;   OPERATION_MODE_BROWSE,
+;;   OPERATION_MODE_SEARCH,
+;;   OPERATION_MODE_RECENT
+;; } OperationMode;
+
+(define-enum-extended OperationMode
+  (in-module "Gtk")
+  (c-name "OperationMode")
+  (values
+    '("browse" "OPERATION_MODE_BROWSE" "0")
+    '("search" "OPERATION_MODE_SEARCH" "1")
+    '("recent" "OPERATION_MODE_RECENT" "2")
+  )
+)
+
+;; From gtkfilechooserutils.h
+
+;; Original typedef:
+;; typedef enum {
+;;   GTK_FILE_CHOOSER_PROP_FIRST                  = 0x1000,
+;;   GTK_FILE_CHOOSER_PROP_ACTION                 = GTK_FILE_CHOOSER_PROP_FIRST,
+;;   GTK_FILE_CHOOSER_PROP_FILTER,
+;;   GTK_FILE_CHOOSER_PROP_LOCAL_ONLY,
+;;   GTK_FILE_CHOOSER_PROP_PREVIEW_WIDGET,
+;;   GTK_FILE_CHOOSER_PROP_PREVIEW_WIDGET_ACTIVE,
+;;   GTK_FILE_CHOOSER_PROP_USE_PREVIEW_LABEL,
+;;   GTK_FILE_CHOOSER_PROP_EXTRA_WIDGET,
+;;   GTK_FILE_CHOOSER_PROP_SELECT_MULTIPLE,
+;;   GTK_FILE_CHOOSER_PROP_SHOW_HIDDEN,
+;;   GTK_FILE_CHOOSER_PROP_DO_OVERWRITE_CONFIRMATION,
+;;   GTK_FILE_CHOOSER_PROP_CREATE_FOLDERS,
+;;   GTK_FILE_CHOOSER_PROP_LAST                   = GTK_FILE_CHOOSER_PROP_CREATE_FOLDERS
+;; } GtkFileChooserProp;
+
+(define-enum-extended FileChooserProp
+  (in-module "Gtk")
+  (c-name "GtkFileChooserProp")
+  (values
+    '("first" "GTK_FILE_CHOOSER_PROP_FIRST" "0x1000")
+    '("action" "GTK_FILE_CHOOSER_PROP_ACTION" "4096")
+    '("filter" "GTK_FILE_CHOOSER_PROP_FILTER" "4097")
+    '("local-only" "GTK_FILE_CHOOSER_PROP_LOCAL_ONLY" "4098")
+    '("preview-widget" "GTK_FILE_CHOOSER_PROP_PREVIEW_WIDGET" "4099")
+    '("preview-widget-active" "GTK_FILE_CHOOSER_PROP_PREVIEW_WIDGET_ACTIVE" "4100")
+    '("use-preview-label" "GTK_FILE_CHOOSER_PROP_USE_PREVIEW_LABEL" "4101")
+    '("extra-widget" "GTK_FILE_CHOOSER_PROP_EXTRA_WIDGET" "4102")
+    '("select-multiple" "GTK_FILE_CHOOSER_PROP_SELECT_MULTIPLE" "4103")
+    '("show-hidden" "GTK_FILE_CHOOSER_PROP_SHOW_HIDDEN" "4104")
+    '("do-overwrite-confirmation" "GTK_FILE_CHOOSER_PROP_DO_OVERWRITE_CONFIRMATION" "4105")
+    '("create-folders" "GTK_FILE_CHOOSER_PROP_CREATE_FOLDERS" "4106")
+    '("last" "GTK_FILE_CHOOSER_PROP_LAST" "4106")
+  )
+)
+
 ;; From gtkfilefilter.h
 
 ;; Original typedef:
@@ -1584,6 +1937,31 @@
   )
 )
 
+;; From gtkfontchooserutils.h
+
+;; Original typedef:
+;; typedef enum {
+;;   GTK_FONT_CHOOSER_PROP_FIRST           = 0x4000,
+;;   GTK_FONT_CHOOSER_PROP_FONT,
+;;   GTK_FONT_CHOOSER_PROP_FONT_DESC,
+;;   GTK_FONT_CHOOSER_PROP_PREVIEW_TEXT,
+;;   GTK_FONT_CHOOSER_PROP_SHOW_PREVIEW_ENTRY,
+;;   GTK_FONT_CHOOSER_PROP_LAST
+;; } GtkFontChooserProp;
+
+(define-enum-extended FontChooserProp
+  (in-module "Gtk")
+  (c-name "GtkFontChooserProp")
+  (values
+    '("first" "GTK_FONT_CHOOSER_PROP_FIRST" "0x4000")
+    '("font" "GTK_FONT_CHOOSER_PROP_FONT" "16385")
+    '("font-desc" "GTK_FONT_CHOOSER_PROP_FONT_DESC" "16386")
+    '("preview-text" "GTK_FONT_CHOOSER_PROP_PREVIEW_TEXT" "16387")
+    '("show-preview-entry" "GTK_FONT_CHOOSER_PROP_SHOW_PREVIEW_ENTRY" "16388")
+    '("last" "GTK_FONT_CHOOSER_PROP_LAST" "16389")
+  )
+)
+
 ;; From gtkicontheme.h
 
 ;; Original typedef:
@@ -1677,6 +2055,40 @@
   )
 )
 
+;; From gtkmenuprivate.h
+
+;; Original typedef:
+;; typedef enum
+;; {
+;;   GTK_DIRECTION_LEFT,
+;;   GTK_DIRECTION_RIGHT
+;; } GtkSubmenuDirection;
+
+(define-enum-extended SubmenuDirection
+  (in-module "Gtk")
+  (c-name "GtkSubmenuDirection")
+  (values
+    '("left" "GTK_DIRECTION_LEFT" "0")
+    '("right" "GTK_DIRECTION_RIGHT" "1")
+  )
+)
+
+;; Original typedef:
+;; typedef enum
+;; {
+;;   GTK_TOP_BOTTOM,
+;;   GTK_LEFT_RIGHT
+;; } GtkSubmenuPlacement;
+
+(define-enum-extended SubmenuPlacement
+  (in-module "Gtk")
+  (c-name "GtkSubmenuPlacement")
+  (values
+    '("top-bottom" "GTK_TOP_BOTTOM" "0")
+    '("left-right" "GTK_LEFT_RIGHT" "1")
+  )
+)
+
 ;; From gtkmessagedialog.h
 
 ;; Original typedef:
@@ -1721,6 +2133,110 @@
   )
 )
 
+;; From gtkprintbackend.h
+
+;; Original typedef:
+;; typedef enum
+;; {
+;;   /* TODO: add specific errors */
+;;   GTK_PRINT_BACKEND_ERROR_GENERIC
+;; } GtkPrintBackendError;
+
+(define-enum-extended PrintBackendError
+  (in-module "Gtk")
+  (c-name "GtkPrintBackendError")
+  (values
+    '("generic" "GTK_PRINT_BACKEND_ERROR_GENERIC" "0")
+  )
+)
+
+;; Original typedef:
+;; typedef enum 
+;; {
+;;   GTK_PRINT_BACKEND_STATUS_UNKNOWN,
+;;   GTK_PRINT_BACKEND_STATUS_OK,
+;;   GTK_PRINT_BACKEND_STATUS_UNAVAILABLE
+;; } GtkPrintBackendStatus;
+
+(define-enum-extended PrintBackendStatus
+  (in-module "Gtk")
+  (c-name "GtkPrintBackendStatus")
+  (values
+    '("unknown" "GTK_PRINT_BACKEND_STATUS_UNKNOWN" "0")
+    '("ok" "GTK_PRINT_BACKEND_STATUS_OK" "1")
+    '("unavailable" "GTK_PRINT_BACKEND_STATUS_UNAVAILABLE" "2")
+  )
+)
+
+;; From gtkprinter.h
+
+;; Original typedef:
+;; typedef enum
+;; {
+;;   GTK_PRINT_CAPABILITY_PAGE_SET         = 1 << 0,
+;;   GTK_PRINT_CAPABILITY_COPIES           = 1 << 1,
+;;   GTK_PRINT_CAPABILITY_COLLATE          = 1 << 2,
+;;   GTK_PRINT_CAPABILITY_REVERSE          = 1 << 3,
+;;   GTK_PRINT_CAPABILITY_SCALE            = 1 << 4,
+;;   GTK_PRINT_CAPABILITY_GENERATE_PDF     = 1 << 5,
+;;   GTK_PRINT_CAPABILITY_GENERATE_PS      = 1 << 6,
+;;   GTK_PRINT_CAPABILITY_PREVIEW          = 1 << 7,
+;;   GTK_PRINT_CAPABILITY_NUMBER_UP        = 1 << 8,
+;;   GTK_PRINT_CAPABILITY_NUMBER_UP_LAYOUT = 1 << 9
+;; } GtkPrintCapabilities;
+
+(define-flags-extended PrintCapabilities
+  (in-module "Gtk")
+  (c-name "GtkPrintCapabilities")
+  (values
+    '("page-set" "GTK_PRINT_CAPABILITY_PAGE_SET" "1 << 0")
+    '("copies" "GTK_PRINT_CAPABILITY_COPIES" "1 << 1")
+    '("collate" "GTK_PRINT_CAPABILITY_COLLATE" "1 << 2")
+    '("reverse" "GTK_PRINT_CAPABILITY_REVERSE" "1 << 3")
+    '("scale" "GTK_PRINT_CAPABILITY_SCALE" "1 << 4")
+    '("generate-pdf" "GTK_PRINT_CAPABILITY_GENERATE_PDF" "1 << 5")
+    '("generate-ps" "GTK_PRINT_CAPABILITY_GENERATE_PS" "1 << 6")
+    '("preview" "GTK_PRINT_CAPABILITY_PREVIEW" "1 << 7")
+    '("number-up" "GTK_PRINT_CAPABILITY_NUMBER_UP" "1 << 8")
+    '("number-up-layout" "GTK_PRINT_CAPABILITY_NUMBER_UP_LAYOUT" "1 << 9")
+  )
+)
+
+;; From gtkprinteroption.h
+
+;; Original typedef:
+;; typedef enum {
+;;   GTK_PRINTER_OPTION_TYPE_BOOLEAN,
+;;   GTK_PRINTER_OPTION_TYPE_PICKONE,
+;;   GTK_PRINTER_OPTION_TYPE_PICKONE_PASSWORD,
+;;   GTK_PRINTER_OPTION_TYPE_PICKONE_PASSCODE,
+;;   GTK_PRINTER_OPTION_TYPE_PICKONE_REAL,
+;;   GTK_PRINTER_OPTION_TYPE_PICKONE_INT,
+;;   GTK_PRINTER_OPTION_TYPE_PICKONE_STRING,
+;;   GTK_PRINTER_OPTION_TYPE_ALTERNATIVE,
+;;   GTK_PRINTER_OPTION_TYPE_STRING,
+;;   GTK_PRINTER_OPTION_TYPE_FILESAVE,
+;;   GTK_PRINTER_OPTION_TYPE_INFO
+;; } GtkPrinterOptionType;
+
+(define-enum-extended PrinterOptionType
+  (in-module "Gtk")
+  (c-name "GtkPrinterOptionType")
+  (values
+    '("boolean" "GTK_PRINTER_OPTION_TYPE_BOOLEAN" "0")
+    '("pickone" "GTK_PRINTER_OPTION_TYPE_PICKONE" "1")
+    '("pickone-password" "GTK_PRINTER_OPTION_TYPE_PICKONE_PASSWORD" "2")
+    '("pickone-passcode" "GTK_PRINTER_OPTION_TYPE_PICKONE_PASSCODE" "3")
+    '("pickone-real" "GTK_PRINTER_OPTION_TYPE_PICKONE_REAL" "4")
+    '("pickone-int" "GTK_PRINTER_OPTION_TYPE_PICKONE_INT" "5")
+    '("pickone-string" "GTK_PRINTER_OPTION_TYPE_PICKONE_STRING" "6")
+    '("alternative" "GTK_PRINTER_OPTION_TYPE_ALTERNATIVE" "7")
+    '("string" "GTK_PRINTER_OPTION_TYPE_STRING" "8")
+    '("filesave" "GTK_PRINTER_OPTION_TYPE_FILESAVE" "9")
+    '("info" "GTK_PRINTER_OPTION_TYPE_INFO" "10")
+  )
+)
+
 ;; From gtkprintoperation.h
 
 ;; Original typedef:
@@ -1810,116 +2326,60 @@
   )
 )
 
-;; From gtkrc.h
+;; From gtkprintoperation-private.h
 
 ;; Original typedef:
 ;; typedef enum
 ;; {
-;;   GTK_RC_FG		= 1 << 0,
-;;   GTK_RC_BG		= 1 << 1,
-;;   GTK_RC_TEXT		= 1 << 2,
-;;   GTK_RC_BASE		= 1 << 3
-;; } GtkRcFlags;
+;;   GTK_PAGE_DRAWING_STATE_READY,
+;;   GTK_PAGE_DRAWING_STATE_DRAWING,
+;;   GTK_PAGE_DRAWING_STATE_DEFERRED_DRAWING
+;; } GtkPageDrawingState;
 
-(define-flags-extended RcFlags
+(define-enum-extended PageDrawingState
   (in-module "Gtk")
-  (c-name "GtkRcFlags")
+  (c-name "GtkPageDrawingState")
   (values
-    '("fg" "GTK_RC_FG" "1 << 0")
-    '("bg" "GTK_RC_BG" "1 << 1")
-    '("text" "GTK_RC_TEXT" "1 << 2")
-    '("base" "GTK_RC_BASE" "1 << 3")
+    '("ready" "GTK_PAGE_DRAWING_STATE_READY" "0")
+    '("drawing" "GTK_PAGE_DRAWING_STATE_DRAWING" "1")
+    '("deferred-drawing" "GTK_PAGE_DRAWING_STATE_DEFERRED_DRAWING" "2")
   )
 )
 
+;; From gtkrbtree.h
+
 ;; Original typedef:
-;; typedef enum {
-;;   GTK_RC_TOKEN_INVALID = G_TOKEN_LAST,
-;;   GTK_RC_TOKEN_INCLUDE,
-;;   GTK_RC_TOKEN_NORMAL,
-;;   GTK_RC_TOKEN_ACTIVE,
-;;   GTK_RC_TOKEN_PRELIGHT,
-;;   GTK_RC_TOKEN_SELECTED,
-;;   GTK_RC_TOKEN_INSENSITIVE,
-;;   GTK_RC_TOKEN_FG,
-;;   GTK_RC_TOKEN_BG,
-;;   GTK_RC_TOKEN_TEXT,
-;;   GTK_RC_TOKEN_BASE,
-;;   GTK_RC_TOKEN_XTHICKNESS,
-;;   GTK_RC_TOKEN_YTHICKNESS,
-;;   GTK_RC_TOKEN_FONT,
-;;   GTK_RC_TOKEN_FONTSET,
-;;   GTK_RC_TOKEN_FONT_NAME,
-;;   GTK_RC_TOKEN_BG_PIXMAP,
-;;   GTK_RC_TOKEN_PIXMAP_PATH,
-;;   GTK_RC_TOKEN_STYLE,
-;;   GTK_RC_TOKEN_BINDING,
-;;   GTK_RC_TOKEN_BIND,
-;;   GTK_RC_TOKEN_WIDGET,
-;;   GTK_RC_TOKEN_WIDGET_CLASS,
-;;   GTK_RC_TOKEN_CLASS,
-;;   GTK_RC_TOKEN_LOWEST,
-;;   GTK_RC_TOKEN_GTK,
-;;   GTK_RC_TOKEN_APPLICATION,
-;;   GTK_RC_TOKEN_THEME,
-;;   GTK_RC_TOKEN_RC,
-;;   GTK_RC_TOKEN_HIGHEST,
-;;   GTK_RC_TOKEN_ENGINE,
-;;   GTK_RC_TOKEN_MODULE_PATH,
-;;   GTK_RC_TOKEN_IM_MODULE_PATH,
-;;   GTK_RC_TOKEN_IM_MODULE_FILE,
-;;   GTK_RC_TOKEN_STOCK,
-;;   GTK_RC_TOKEN_LTR,
-;;   GTK_RC_TOKEN_RTL,
-;;   GTK_RC_TOKEN_COLOR,
-;;   GTK_RC_TOKEN_UNBIND,
-;;   GTK_RC_TOKEN_LAST
-;; } GtkRcTokenType;
+;; typedef enum
+;; {
+;;   GTK_RBNODE_BLACK = 1 << 0,
+;;   GTK_RBNODE_RED = 1 << 1,
+;;   GTK_RBNODE_IS_PARENT = 1 << 2,
+;;   GTK_RBNODE_IS_SELECTED = 1 << 3,
+;;   GTK_RBNODE_IS_PRELIT = 1 << 4,
+;;   GTK_RBNODE_INVALID = 1 << 7,
+;;   GTK_RBNODE_COLUMN_INVALID = 1 << 8,
+;;   GTK_RBNODE_DESCENDANTS_INVALID = 1 << 9,
+;;   GTK_RBNODE_NON_COLORS = GTK_RBNODE_IS_PARENT |
+;;   			  GTK_RBNODE_IS_SELECTED |
+;;   			  GTK_RBNODE_IS_PRELIT |
+;;                           GTK_RBNODE_INVALID |
+;;                           GTK_RBNODE_COLUMN_INVALID |
+;;                           GTK_RBNODE_DESCENDANTS_INVALID
+;; } GtkRBNodeColor;
 
-(define-enum-extended RcTokenType
+(define-flags-extended RBNodeColor
   (in-module "Gtk")
-  (c-name "GtkRcTokenType")
+  (c-name "GtkRBNodeColor")
   (values
-    '("invalid" "GTK_RC_TOKEN_INVALID" "G_TOKEN_LAST")
-    '("include" "GTK_RC_TOKEN_INCLUDE" "(G_TOKEN_LAST) + 1")
-    '("normal" "GTK_RC_TOKEN_NORMAL" "(G_TOKEN_LAST) + 2")
-    '("active" "GTK_RC_TOKEN_ACTIVE" "(G_TOKEN_LAST) + 3")
-    '("prelight" "GTK_RC_TOKEN_PRELIGHT" "(G_TOKEN_LAST) + 4")
-    '("selected" "GTK_RC_TOKEN_SELECTED" "(G_TOKEN_LAST) + 5")
-    '("insensitive" "GTK_RC_TOKEN_INSENSITIVE" "(G_TOKEN_LAST) + 6")
-    '("fg" "GTK_RC_TOKEN_FG" "(G_TOKEN_LAST) + 7")
-    '("bg" "GTK_RC_TOKEN_BG" "(G_TOKEN_LAST) + 8")
-    '("text" "GTK_RC_TOKEN_TEXT" "(G_TOKEN_LAST) + 9")
-    '("base" "GTK_RC_TOKEN_BASE" "(G_TOKEN_LAST) + 10")
-    '("xthickness" "GTK_RC_TOKEN_XTHICKNESS" "(G_TOKEN_LAST) + 11")
-    '("ythickness" "GTK_RC_TOKEN_YTHICKNESS" "(G_TOKEN_LAST) + 12")
-    '("font" "GTK_RC_TOKEN_FONT" "(G_TOKEN_LAST) + 13")
-    '("fontset" "GTK_RC_TOKEN_FONTSET" "(G_TOKEN_LAST) + 14")
-    '("font-name" "GTK_RC_TOKEN_FONT_NAME" "(G_TOKEN_LAST) + 15")
-    '("bg-pixmap" "GTK_RC_TOKEN_BG_PIXMAP" "(G_TOKEN_LAST) + 16")
-    '("pixmap-path" "GTK_RC_TOKEN_PIXMAP_PATH" "(G_TOKEN_LAST) + 17")
-    '("style" "GTK_RC_TOKEN_STYLE" "(G_TOKEN_LAST) + 18")
-    '("binding" "GTK_RC_TOKEN_BINDING" "(G_TOKEN_LAST) + 19")
-    '("bind" "GTK_RC_TOKEN_BIND" "(G_TOKEN_LAST) + 20")
-    '("widget" "GTK_RC_TOKEN_WIDGET" "(G_TOKEN_LAST) + 21")
-    '("widget-class" "GTK_RC_TOKEN_WIDGET_CLASS" "(G_TOKEN_LAST) + 22")
-    '("class" "GTK_RC_TOKEN_CLASS" "(G_TOKEN_LAST) + 23")
-    '("lowest" "GTK_RC_TOKEN_LOWEST" "(G_TOKEN_LAST) + 24")
-    '("gtk" "GTK_RC_TOKEN_GTK" "(G_TOKEN_LAST) + 25")
-    '("application" "GTK_RC_TOKEN_APPLICATION" "(G_TOKEN_LAST) + 26")
-    '("theme" "GTK_RC_TOKEN_THEME" "(G_TOKEN_LAST) + 27")
-    '("rc" "GTK_RC_TOKEN_RC" "(G_TOKEN_LAST) + 28")
-    '("highest" "GTK_RC_TOKEN_HIGHEST" "(G_TOKEN_LAST) + 29")
-    '("engine" "GTK_RC_TOKEN_ENGINE" "(G_TOKEN_LAST) + 30")
-    '("module-path" "GTK_RC_TOKEN_MODULE_PATH" "(G_TOKEN_LAST) + 31")
-    '("im-module-path" "GTK_RC_TOKEN_IM_MODULE_PATH" "(G_TOKEN_LAST) + 32")
-    '("im-module-file" "GTK_RC_TOKEN_IM_MODULE_FILE" "(G_TOKEN_LAST) + 33")
-    '("stock" "GTK_RC_TOKEN_STOCK" "(G_TOKEN_LAST) + 34")
-    '("ltr" "GTK_RC_TOKEN_LTR" "(G_TOKEN_LAST) + 35")
-    '("rtl" "GTK_RC_TOKEN_RTL" "(G_TOKEN_LAST) + 36")
-    '("color" "GTK_RC_TOKEN_COLOR" "(G_TOKEN_LAST) + 37")
-    '("unbind" "GTK_RC_TOKEN_UNBIND" "(G_TOKEN_LAST) + 38")
-    '("last" "GTK_RC_TOKEN_LAST" "(G_TOKEN_LAST) + 39")
+    '("black" "GTK_RBNODE_BLACK" "1 << 0")
+    '("red" "GTK_RBNODE_RED" "1 << 1")
+    '("is-parent" "GTK_RBNODE_IS_PARENT" "1 << 2")
+    '("is-selected" "GTK_RBNODE_IS_SELECTED" "1 << 3")
+    '("is-prelit" "GTK_RBNODE_IS_PRELIT" "1 << 4")
+    '("invalid" "GTK_RBNODE_INVALID" "1 << 7")
+    '("column-invalid" "GTK_RBNODE_COLUMN_INVALID" "1 << 8")
+    '("descendants-invalid" "GTK_RBNODE_DESCENDANTS_INVALID" "1 << 9")
+    '("non-colors" "GTK_RBNODE_NON_COLORS" "0x39C")
   )
 )
 
@@ -1961,6 +2421,43 @@
   )
 )
 
+;; From gtkrecentchooserutils.h
+
+;; Original typedef:
+;; typedef enum {
+;;   GTK_RECENT_CHOOSER_PROP_FIRST           = 0x3000,
+;;   GTK_RECENT_CHOOSER_PROP_RECENT_MANAGER,
+;;   GTK_RECENT_CHOOSER_PROP_SHOW_PRIVATE,
+;;   GTK_RECENT_CHOOSER_PROP_SHOW_NOT_FOUND,
+;;   GTK_RECENT_CHOOSER_PROP_SHOW_TIPS,
+;;   GTK_RECENT_CHOOSER_PROP_SHOW_ICONS,
+;;   GTK_RECENT_CHOOSER_PROP_SELECT_MULTIPLE,
+;;   GTK_RECENT_CHOOSER_PROP_LIMIT,
+;;   GTK_RECENT_CHOOSER_PROP_LOCAL_ONLY,
+;;   GTK_RECENT_CHOOSER_PROP_SORT_TYPE,
+;;   GTK_RECENT_CHOOSER_PROP_FILTER,
+;;   GTK_RECENT_CHOOSER_PROP_LAST
+;; } GtkRecentChooserProp;
+
+(define-enum-extended RecentChooserProp
+  (in-module "Gtk")
+  (c-name "GtkRecentChooserProp")
+  (values
+    '("first" "GTK_RECENT_CHOOSER_PROP_FIRST" "0x3000")
+    '("recent-manager" "GTK_RECENT_CHOOSER_PROP_RECENT_MANAGER" "12289")
+    '("show-private" "GTK_RECENT_CHOOSER_PROP_SHOW_PRIVATE" "12290")
+    '("show-not-found" "GTK_RECENT_CHOOSER_PROP_SHOW_NOT_FOUND" "12291")
+    '("show-tips" "GTK_RECENT_CHOOSER_PROP_SHOW_TIPS" "12292")
+    '("show-icons" "GTK_RECENT_CHOOSER_PROP_SHOW_ICONS" "12293")
+    '("select-multiple" "GTK_RECENT_CHOOSER_PROP_SELECT_MULTIPLE" "12294")
+    '("limit" "GTK_RECENT_CHOOSER_PROP_LIMIT" "12295")
+    '("local-only" "GTK_RECENT_CHOOSER_PROP_LOCAL_ONLY" "12296")
+    '("sort-type" "GTK_RECENT_CHOOSER_PROP_SORT_TYPE" "12297")
+    '("filter" "GTK_RECENT_CHOOSER_PROP_FILTER" "12298")
+    '("last" "GTK_RECENT_CHOOSER_PROP_LAST" "12299")
+  )
+)
+
 ;; From gtkrecentfilter.h
 
 ;; Original typedef:
@@ -2035,6 +2532,22 @@
   )
 )
 
+;; From gtksizegroup-private.h
+
+;; Original typedef:
+;; typedef enum
+;; {
+;;   GTK_QUEUE_RESIZE_INVALIDATE_ONLY = 1 << 0
+;; } GtkQueueResizeFlags;
+
+(define-flags-extended QueueResizeFlags
+  (in-module "Gtk")
+  (c-name "GtkQueueResizeFlags")
+  (values
+    '("invalidate-only" "GTK_QUEUE_RESIZE_INVALIDATE_ONLY" "1 << 0")
+  )
+)
+
 ;; From gtkspinbutton.h
 
 ;; Original typedef:
@@ -2079,6 +2592,21 @@
   )
 )
 
+;; From gtkstylepropertyprivate.h
+
+;; Original typedef:
+;; typedef enum {
+;;   GTK_STYLE_PROPERTY_INHERIT = (1 << 0)
+;; } GtkStylePropertyFlags;
+
+(define-flags-extended StylePropertyFlags
+  (in-module "Gtk")
+  (c-name "GtkStylePropertyFlags")
+  (values
+    '("inherit" "GTK_STYLE_PROPERTY_INHERIT" "(1 << 0)")
+  )
+)
+
 ;; From gtktextbuffer.h
 
 ;; Original typedef:
@@ -2147,6 +2675,44 @@
   )
 )
 
+;; From gtktimeline.h
+
+;; Original typedef:
+;; typedef enum {
+;;   GTK_TIMELINE_DIRECTION_FORWARD,
+;;   GTK_TIMELINE_DIRECTION_BACKWARD
+;; } GtkTimelineDirection;
+
+(define-enum-extended TimelineDirection
+  (in-module "Gtk")
+  (c-name "GtkTimelineDirection")
+  (values
+    '("forward" "GTK_TIMELINE_DIRECTION_FORWARD" "0")
+    '("backward" "GTK_TIMELINE_DIRECTION_BACKWARD" "1")
+  )
+)
+
+;; Original typedef:
+;; typedef enum {
+;;   GTK_TIMELINE_PROGRESS_LINEAR,
+;;   GTK_TIMELINE_PROGRESS_EASE,
+;;   GTK_TIMELINE_PROGRESS_EASE_IN,
+;;   GTK_TIMELINE_PROGRESS_EASE_OUT,
+;;   GTK_TIMELINE_PROGRESS_EASE_IN_OUT
+;; } GtkTimelineProgressType;
+
+(define-enum-extended TimelineProgressType
+  (in-module "Gtk")
+  (c-name "GtkTimelineProgressType")
+  (values
+    '("linear" "GTK_TIMELINE_PROGRESS_LINEAR" "0")
+    '("ease" "GTK_TIMELINE_PROGRESS_EASE" "1")
+    '("ease-in" "GTK_TIMELINE_PROGRESS_EASE_IN" "2")
+    '("ease-out" "GTK_TIMELINE_PROGRESS_EASE_OUT" "3")
+    '("ease-in-out" "GTK_TIMELINE_PROGRESS_EASE_IN_OUT" "4")
+  )
+)
+
 ;; From gtktoolbar.h
 
 ;; Original typedef:
@@ -2202,6 +2768,25 @@
   )
 )
 
+;; From gtktreeprivate.h
+
+;; Original typedef:
+;; typedef enum
+;; {
+;;   GTK_TREE_SELECT_MODE_TOGGLE = 1 << 0,
+;;   GTK_TREE_SELECT_MODE_EXTEND = 1 << 1
+;; }
+;; GtkTreeSelectMode;
+
+(define-flags-extended TreeSelectMode
+  (in-module "Gtk")
+  (c-name "GtkTreeSelectMode")
+  (values
+    '("toggle" "GTK_TREE_SELECT_MODE_TOGGLE" "1 << 0")
+    '("extend" "GTK_TREE_SELECT_MODE_EXTEND" "1 << 1")
+  )
+)
+
 ;; From gtktreeviewcolumn.h
 
 ;; Original typedef:
@@ -2301,37 +2886,209 @@
   )
 )
 
-;; From gtkprinter.h
+;; From gtkwin32embed.h
+
+;; Original typedef:
+;; typedef enum {					/* send or post? */
+;;   /* First those sent from the socket
+;;    * to the plug
+;;    */
+;;   GTK_WIN32_EMBED_WINDOW_ACTIVATE,		/* post */
+;;   GTK_WIN32_EMBED_WINDOW_DEACTIVATE,		/* post */
+;;   GTK_WIN32_EMBED_FOCUS_IN,			/* post */
+;;   GTK_WIN32_EMBED_FOCUS_OUT,			/* post */
+;;   GTK_WIN32_EMBED_MODALITY_ON,			/* post */
+;;   GTK_WIN32_EMBED_MODALITY_OFF,			/* post */
+;; 
+;;   /* Then the ones sent from the plug
+;;    * to the socket.
+;;    */
+;;   GTK_WIN32_EMBED_PARENT_NOTIFY,		/* post */
+;;   GTK_WIN32_EMBED_EVENT_PLUG_MAPPED,		/* post */
+;;   GTK_WIN32_EMBED_PLUG_RESIZED,			/* post */
+;;   GTK_WIN32_EMBED_REQUEST_FOCUS,		/* post */
+;;   GTK_WIN32_EMBED_FOCUS_NEXT,			/* post */
+;;   GTK_WIN32_EMBED_FOCUS_PREV,			/* post */
+;;   GTK_WIN32_EMBED_GRAB_KEY,			/* post */
+;;   GTK_WIN32_EMBED_UNGRAB_KEY,			/* post */
+;;   GTK_WIN32_EMBED_LAST
+;; } GtkWin32EmbedMessageType;
+
+(define-enum-extended Win32EmbedMessageType
+  (in-module "Gtk")
+  (c-name "GtkWin32EmbedMessageType")
+  (values
+    '("window-activate" "GTK_WIN32_EMBED_WINDOW_ACTIVATE" "0")
+    '("window-deactivate" "GTK_WIN32_EMBED_WINDOW_DEACTIVATE" "1")
+    '("focus-in" "GTK_WIN32_EMBED_FOCUS_IN" "2")
+    '("focus-out" "GTK_WIN32_EMBED_FOCUS_OUT" "3")
+    '("modality-on" "GTK_WIN32_EMBED_MODALITY_ON" "4")
+    '("modality-off" "GTK_WIN32_EMBED_MODALITY_OFF" "5")
+    '("parent-notify" "GTK_WIN32_EMBED_PARENT_NOTIFY" "6")
+    '("event-plug-mapped" "GTK_WIN32_EMBED_EVENT_PLUG_MAPPED" "7")
+    '("plug-resized" "GTK_WIN32_EMBED_PLUG_RESIZED" "8")
+    '("request-focus" "GTK_WIN32_EMBED_REQUEST_FOCUS" "9")
+    '("focus-next" "GTK_WIN32_EMBED_FOCUS_NEXT" "10")
+    '("focus-prev" "GTK_WIN32_EMBED_FOCUS_PREV" "11")
+    '("grab-key" "GTK_WIN32_EMBED_GRAB_KEY" "12")
+    '("ungrab-key" "GTK_WIN32_EMBED_UNGRAB_KEY" "13")
+    '("last" "GTK_WIN32_EMBED_LAST" "14")
+  )
+)
+
+;; From xembed.h
+
+;; Original typedef:
+;; typedef enum {
+;;   XEMBED_EMBEDDED_NOTIFY        = 0,
+;;   XEMBED_WINDOW_ACTIVATE        = 1,
+;;   XEMBED_WINDOW_DEACTIVATE      = 2,
+;;   XEMBED_REQUEST_FOCUS          = 3,
+;;   XEMBED_FOCUS_IN               = 4,
+;;   XEMBED_FOCUS_OUT              = 5,
+;;   XEMBED_FOCUS_NEXT             = 6,
+;;   XEMBED_FOCUS_PREV             = 7,
+;;   XEMBED_GRAB_KEY               = 8,
+;;   XEMBED_UNGRAB_KEY             = 9,
+;;   XEMBED_MODALITY_ON            = 10,
+;;   XEMBED_MODALITY_OFF           = 11,
+;; 
+;; /* Non standard messages*/
+;;   XEMBED_GTK_GRAB_KEY           = 108, 
+;;   XEMBED_GTK_UNGRAB_KEY         = 109
+;; } XEmbedMessageType;
+
+(define-enum-extended XEmbedMessageType
+  (in-module "Gtk")
+  (c-name "XEmbedMessageType")
+  (values
+    '("embedded-notify" "XEMBED_EMBEDDED_NOTIFY" "0")
+    '("window-activate" "XEMBED_WINDOW_ACTIVATE" "1")
+    '("window-deactivate" "XEMBED_WINDOW_DEACTIVATE" "2")
+    '("request-focus" "XEMBED_REQUEST_FOCUS" "3")
+    '("focus-in" "XEMBED_FOCUS_IN" "4")
+    '("focus-out" "XEMBED_FOCUS_OUT" "5")
+    '("focus-next" "XEMBED_FOCUS_NEXT" "6")
+    '("focus-prev" "XEMBED_FOCUS_PREV" "7")
+    '("grab-key" "XEMBED_GRAB_KEY" "8")
+    '("ungrab-key" "XEMBED_UNGRAB_KEY" "9")
+    '("modality-on" "XEMBED_MODALITY_ON" "10")
+    '("modality-off" "XEMBED_MODALITY_OFF" "11")
+    '("gtk-grab-key" "XEMBED_GTK_GRAB_KEY" "108")
+    '("gtk-ungrab-key" "XEMBED_GTK_UNGRAB_KEY" "109")
+  )
+)
+
+;; From gtkrc.h
 
 ;; Original typedef:
 ;; typedef enum
 ;; {
-;;   GTK_PRINT_CAPABILITY_PAGE_SET         = 1 << 0,
-;;   GTK_PRINT_CAPABILITY_COPIES           = 1 << 1,
-;;   GTK_PRINT_CAPABILITY_COLLATE          = 1 << 2,
-;;   GTK_PRINT_CAPABILITY_REVERSE          = 1 << 3,
-;;   GTK_PRINT_CAPABILITY_SCALE            = 1 << 4,
-;;   GTK_PRINT_CAPABILITY_GENERATE_PDF     = 1 << 5,
-;;   GTK_PRINT_CAPABILITY_GENERATE_PS      = 1 << 6,
-;;   GTK_PRINT_CAPABILITY_PREVIEW          = 1 << 7,
-;;   GTK_PRINT_CAPABILITY_NUMBER_UP        = 1 << 8,
-;;   GTK_PRINT_CAPABILITY_NUMBER_UP_LAYOUT = 1 << 9
-;; } GtkPrintCapabilities;
+;;   GTK_RC_FG             = 1 << 0,
+;;   GTK_RC_BG             = 1 << 1,
+;;   GTK_RC_TEXT           = 1 << 2,
+;;   GTK_RC_BASE           = 1 << 3
+;; } GtkRcFlags;
 
-(define-flags-extended PrintCapabilities
+(define-flags-extended RcFlags
   (in-module "Gtk")
-  (c-name "GtkPrintCapabilities")
+  (c-name "GtkRcFlags")
   (values
-    '("page-set" "GTK_PRINT_CAPABILITY_PAGE_SET" "1 << 0")
-    '("copies" "GTK_PRINT_CAPABILITY_COPIES" "1 << 1")
-    '("collate" "GTK_PRINT_CAPABILITY_COLLATE" "1 << 2")
-    '("reverse" "GTK_PRINT_CAPABILITY_REVERSE" "1 << 3")
-    '("scale" "GTK_PRINT_CAPABILITY_SCALE" "1 << 4")
-    '("generate-pdf" "GTK_PRINT_CAPABILITY_GENERATE_PDF" "1 << 5")
-    '("generate-ps" "GTK_PRINT_CAPABILITY_GENERATE_PS" "1 << 6")
-    '("preview" "GTK_PRINT_CAPABILITY_PREVIEW" "1 << 7")
-    '("number-up" "GTK_PRINT_CAPABILITY_NUMBER_UP" "1 << 8")
-    '("number-up-layout" "GTK_PRINT_CAPABILITY_NUMBER_UP_LAYOUT" "1 << 9")
+    '("fg" "GTK_RC_FG" "1 << 0")
+    '("bg" "GTK_RC_BG" "1 << 1")
+    '("text" "GTK_RC_TEXT" "1 << 2")
+    '("base" "GTK_RC_BASE" "1 << 3")
+  )
+)
+
+;; Original typedef:
+;; typedef enum {
+;;   GTK_RC_TOKEN_INVALID = G_TOKEN_LAST,
+;;   GTK_RC_TOKEN_INCLUDE,
+;;   GTK_RC_TOKEN_NORMAL,
+;;   GTK_RC_TOKEN_ACTIVE,
+;;   GTK_RC_TOKEN_PRELIGHT,
+;;   GTK_RC_TOKEN_SELECTED,
+;;   GTK_RC_TOKEN_INSENSITIVE,
+;;   GTK_RC_TOKEN_FG,
+;;   GTK_RC_TOKEN_BG,
+;;   GTK_RC_TOKEN_TEXT,
+;;   GTK_RC_TOKEN_BASE,
+;;   GTK_RC_TOKEN_XTHICKNESS,
+;;   GTK_RC_TOKEN_YTHICKNESS,
+;;   GTK_RC_TOKEN_FONT,
+;;   GTK_RC_TOKEN_FONTSET,
+;;   GTK_RC_TOKEN_FONT_NAME,
+;;   GTK_RC_TOKEN_BG_PIXMAP,
+;;   GTK_RC_TOKEN_PIXMAP_PATH,
+;;   GTK_RC_TOKEN_STYLE,
+;;   GTK_RC_TOKEN_BINDING,
+;;   GTK_RC_TOKEN_BIND,
+;;   GTK_RC_TOKEN_WIDGET,
+;;   GTK_RC_TOKEN_WIDGET_CLASS,
+;;   GTK_RC_TOKEN_CLASS,
+;;   GTK_RC_TOKEN_LOWEST,
+;;   GTK_RC_TOKEN_GTK,
+;;   GTK_RC_TOKEN_APPLICATION,
+;;   GTK_RC_TOKEN_THEME,
+;;   GTK_RC_TOKEN_RC,
+;;   GTK_RC_TOKEN_HIGHEST,
+;;   GTK_RC_TOKEN_ENGINE,
+;;   GTK_RC_TOKEN_MODULE_PATH,
+;;   GTK_RC_TOKEN_IM_MODULE_PATH,
+;;   GTK_RC_TOKEN_IM_MODULE_FILE,
+;;   GTK_RC_TOKEN_STOCK,
+;;   GTK_RC_TOKEN_LTR,
+;;   GTK_RC_TOKEN_RTL,
+;;   GTK_RC_TOKEN_COLOR,
+;;   GTK_RC_TOKEN_UNBIND,
+;;   GTK_RC_TOKEN_LAST
+;; } GtkRcTokenType;
+
+(define-enum-extended RcTokenType
+  (in-module "Gtk")
+  (c-name "GtkRcTokenType")
+  (values
+    '("invalid" "GTK_RC_TOKEN_INVALID" "G_TOKEN_LAST")
+    '("include" "GTK_RC_TOKEN_INCLUDE" "(G_TOKEN_LAST) + 1")
+    '("normal" "GTK_RC_TOKEN_NORMAL" "(G_TOKEN_LAST) + 2")
+    '("active" "GTK_RC_TOKEN_ACTIVE" "(G_TOKEN_LAST) + 3")
+    '("prelight" "GTK_RC_TOKEN_PRELIGHT" "(G_TOKEN_LAST) + 4")
+    '("selected" "GTK_RC_TOKEN_SELECTED" "(G_TOKEN_LAST) + 5")
+    '("insensitive" "GTK_RC_TOKEN_INSENSITIVE" "(G_TOKEN_LAST) + 6")
+    '("fg" "GTK_RC_TOKEN_FG" "(G_TOKEN_LAST) + 7")
+    '("bg" "GTK_RC_TOKEN_BG" "(G_TOKEN_LAST) + 8")
+    '("text" "GTK_RC_TOKEN_TEXT" "(G_TOKEN_LAST) + 9")
+    '("base" "GTK_RC_TOKEN_BASE" "(G_TOKEN_LAST) + 10")
+    '("xthickness" "GTK_RC_TOKEN_XTHICKNESS" "(G_TOKEN_LAST) + 11")
+    '("ythickness" "GTK_RC_TOKEN_YTHICKNESS" "(G_TOKEN_LAST) + 12")
+    '("font" "GTK_RC_TOKEN_FONT" "(G_TOKEN_LAST) + 13")
+    '("fontset" "GTK_RC_TOKEN_FONTSET" "(G_TOKEN_LAST) + 14")
+    '("font-name" "GTK_RC_TOKEN_FONT_NAME" "(G_TOKEN_LAST) + 15")
+    '("bg-pixmap" "GTK_RC_TOKEN_BG_PIXMAP" "(G_TOKEN_LAST) + 16")
+    '("pixmap-path" "GTK_RC_TOKEN_PIXMAP_PATH" "(G_TOKEN_LAST) + 17")
+    '("style" "GTK_RC_TOKEN_STYLE" "(G_TOKEN_LAST) + 18")
+    '("binding" "GTK_RC_TOKEN_BINDING" "(G_TOKEN_LAST) + 19")
+    '("bind" "GTK_RC_TOKEN_BIND" "(G_TOKEN_LAST) + 20")
+    '("widget" "GTK_RC_TOKEN_WIDGET" "(G_TOKEN_LAST) + 21")
+    '("widget-class" "GTK_RC_TOKEN_WIDGET_CLASS" "(G_TOKEN_LAST) + 22")
+    '("class" "GTK_RC_TOKEN_CLASS" "(G_TOKEN_LAST) + 23")
+    '("lowest" "GTK_RC_TOKEN_LOWEST" "(G_TOKEN_LAST) + 24")
+    '("gtk" "GTK_RC_TOKEN_GTK" "(G_TOKEN_LAST) + 25")
+    '("application" "GTK_RC_TOKEN_APPLICATION" "(G_TOKEN_LAST) + 26")
+    '("theme" "GTK_RC_TOKEN_THEME" "(G_TOKEN_LAST) + 27")
+    '("rc" "GTK_RC_TOKEN_RC" "(G_TOKEN_LAST) + 28")
+    '("highest" "GTK_RC_TOKEN_HIGHEST" "(G_TOKEN_LAST) + 29")
+    '("engine" "GTK_RC_TOKEN_ENGINE" "(G_TOKEN_LAST) + 30")
+    '("module-path" "GTK_RC_TOKEN_MODULE_PATH" "(G_TOKEN_LAST) + 31")
+    '("im-module-path" "GTK_RC_TOKEN_IM_MODULE_PATH" "(G_TOKEN_LAST) + 32")
+    '("im-module-file" "GTK_RC_TOKEN_IM_MODULE_FILE" "(G_TOKEN_LAST) + 33")
+    '("stock" "GTK_RC_TOKEN_STOCK" "(G_TOKEN_LAST) + 34")
+    '("ltr" "GTK_RC_TOKEN_LTR" "(G_TOKEN_LAST) + 35")
+    '("rtl" "GTK_RC_TOKEN_RTL" "(G_TOKEN_LAST) + 36")
+    '("color" "GTK_RC_TOKEN_COLOR" "(G_TOKEN_LAST) + 37")
+    '("unbind" "GTK_RC_TOKEN_UNBIND" "(G_TOKEN_LAST) + 38")
+    '("last" "GTK_RC_TOKEN_LAST" "(G_TOKEN_LAST) + 39")
   )
 )
 
diff --git a/tools/m4/convert_gtk.m4 b/tools/m4/convert_gtk.m4
index fd57dff..983ab6e 100644
--- a/tools/m4/convert_gtk.m4
+++ b/tools/m4/convert_gtk.m4
@@ -155,6 +155,7 @@ _CONV_ENUM(Gtk,ScrollablePolicy)
 _CONV_ENUM(Gtk,RegionFlags)
 _CONV_ENUM(Gtk,JunctionSides)
 _CONV_ENUM(Gtk,StateFlags)
+_CONV_ENUM(Gtk,ApplicationInhibitFlags)
 
 _CONVERSION(`GtkIconSize',`IconSize',`IconSize(static_cast<int>($3))')
 _CONVERSION(`GtkIconSize',`Gtk::IconSize',`Gtk::IconSize(static_cast<int>($3))')
@@ -231,6 +232,7 @@ _CONVERSION(`const Glib::RefPtr<const CellAreaContext>&',`GtkCellAreaContext*',_
 _CONVERSION(`const Glib::RefPtr<Adjustment>&',`GtkAdjustment*',__CONVERT_REFPTR_TO_P)
 _CONVERSION(`Gtk::Widget*',`GtkWidget*',__FP2P)
 _CONVERSION(`Widget*',`GtkWidget*',__FP2P)
+_CONVERSION(`Window*',`GtkWindow*',__FP2P)
 _CONVERSION(`Menu*',`GtkMenu*',__FP2P)
 
 #
@@ -682,6 +684,11 @@ _CONVERSION(`const Glib::RefPtr<Gio::InputStream>&',`GInputStream*',__CONVERT_CO
 _CONVERSION(`const Glib::RefPtr<Gio::AppInfo>&',`GAppInfo*',__CONVERT_CONST_REFPTR_TO_P_SUN(Gio::AppInfo))
 _CONVERSION(`GAppInfo*',`Glib::RefPtr<Gio::AppInfo>',`Glib::wrap($3)')
 
+_CONVERSION(`const Glib::RefPtr<Gio::MenuModel>&',`GMenuModel*',__CONVERT_REFPTR_TO_P)
+_CONVERSION(`const Glib::RefPtr<const Gio::MenuModel>&',`GMenuModel*',__CONVERT_CONST_REFPTR_TO_P)
+_CONVERSION(`GMenuModel*',`Glib::RefPtr<Gio::MenuModel>',`Glib::wrap($3)')
+_CONVERSION(`GMenuModel*',`Glib::RefPtr<const Gio::MenuModel>',`Glib::wrap($3)')
+
 _CONVERSION(`GtkDragResult',`DragResult',`($2)$3')
 
 _CONVERSION(`GtkWidgetPath*',`WidgetPath',`Glib::wrap($3, true)')



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]