gimp r26806 - in trunk: . plug-ins/pygimp



Author: larsc
Date: Thu Aug 28 19:51:02 2008
New Revision: 26806
URL: http://svn.gnome.org/viewvc/gimp?rev=26806&view=rev

Log:
2008-08-28  Lars-Peter Clausen  <lars metafoo de>

	* plug-ins/pygimp/gimpui.defs
	* plug-ins/pygimp/gimpui.override:
	Merged gimpui.{defs,override} from pygimp GSoC project.
	Updates gimpui module to have bindings for most widgets functions.



Modified:
   trunk/ChangeLog
   trunk/plug-ins/pygimp/gimpui.defs
   trunk/plug-ins/pygimp/gimpui.override

Modified: trunk/plug-ins/pygimp/gimpui.defs
==============================================================================
--- trunk/plug-ins/pygimp/gimpui.defs	(original)
+++ trunk/plug-ins/pygimp/gimpui.defs	Thu Aug 28 19:51:02 2008
@@ -70,6 +70,20 @@
   (gtype-id "GIMP_TYPE_COLOR_HEX_ENTRY")
 )
 
+(define-object ColorProfileComboBox
+  (in-module "Gimp")
+  (parent "GtkComboBox")
+  (c-name "GimpColorProfileComboBox")
+  (gtype-id "GIMP_TYPE_COLOR_PROFILE_COMBO_BOX")
+)
+
+(define-object ColorProfileStore
+  (in-module "Gimp")
+  (parent "GtkListStore")
+  (c-name "GimpColorProfileStore")
+  (gtype-id "GIMP_TYPE_COLOR_PROFILE_STORE")
+)
+
 (define-object ColorScale
   (in-module "Gimp")
   (parent "GtkScale")
@@ -77,6 +91,13 @@
   (gtype-id "GIMP_TYPE_COLOR_SCALE")
 )
 
+(define-object ColorScales
+  (in-module "Gimp")
+  (parent "GimpColorSelector")
+  (c-name "GimpColorScales")
+  (gtype-id "GIMP_TYPE_COLOR_SCALES")
+)
+
 (define-object ColorSelection
   (in-module "Gimp")
   (parent "GtkVBox")
@@ -133,6 +154,13 @@
   (gtype-id "GIMP_TYPE_INT_COMBO_BOX")
 )
 
+(define-object ImageComboBox
+  (in-module "Gimp")
+  (parent "GimpIntComboBox")
+  (c-name "GimpImageComboBox")
+  (gtype-id "GIMP_TYPE_IMAGE_COMBO_BOX")
+)
+
 (define-object EnumComboBox
   (in-module "Gimp")
   (parent "GimpIntComboBox")
@@ -140,6 +168,20 @@
   (gtype-id "GIMP_TYPE_ENUM_COMBO_BOX")
 )
 
+(define-object DrawableComboBox
+  (in-module "Gimp")
+  (parent "GimpIntComboBox")
+  (c-name "GimpDrawableComboBox")
+  (gtype-id "GIMP_TYPE_DRAWABLE_COMBO_BOX")
+)
+
+(define-object ChannelComboBox
+  (in-module "Gimp")
+  (parent "GimpIntComboBox")
+  (c-name "GimpChannelComboBox")
+  (gtype-id "GIMP_TYPE_CHANNEL_COMBO_BOX")
+)
+
 (define-object IntStore
   (in-module "Gimp")
   (parent "GtkListStore")
@@ -154,6 +196,13 @@
   (gtype-id "GIMP_TYPE_ENUM_STORE")
 )
 
+(define-object LayerComboBox
+  (in-module "Gimp")
+  (parent "GimpIntComboBox")
+  (c-name "GimpLayerComboBox")
+  (gtype-id "GIMP_TYPE_LAYER_COMBO_BOX")
+)
+
 (define-object MemsizeEntry
   (in-module "Gimp")
   (parent "GtkHBox")
@@ -161,6 +210,13 @@
   (gtype-id "GIMP_TYPE_MEMSIZE_ENTRY")
 )
 
+(define-object NumberPairEntry
+  (in-module "Gimp")
+  (parent "GtkEntry")
+  (c-name "GimpNumberPairEntry")
+  (gtype-id "GIMP_TYPE_NUMBER_PAIR_ENTRY")
+)
+
 (define-object OffsetArea
   (in-module "Gimp")
   (parent "GtkDrawingArea")
@@ -287,6 +343,13 @@
   (gtype-id "GIMP_TYPE_SIZE_ENTRY")
 )
 
+(define-object StringComboBox
+  (in-module "Gimp")
+  (parent "GtkComboBox")
+  (c-name "GimpStringComboBox")
+  (gtype-id "GIMP_TYPE_STRING_COMBO_BOX")
+)
+
 (define-object UnitMenu
   (in-module "Gimp")
   (parent "GtkOptionMenu")
@@ -294,6 +357,13 @@
   (gtype-id "GIMP_TYPE_UNIT_MENU")
 )
 
+(define-object VectorsComboBox
+  (in-module "Gimp")
+  (parent "GimpIntComboBox")
+  (c-name "GimpVectorsComboBox")
+  (gtype-id "GIMP_TYPE_VECTORS_COMBO_BOX")
+)
+
 (define-object ZoomModel
   (in-module "Gimp")
   (parent "GObject")
@@ -308,43 +378,33 @@
   (gtype-id "GIMP_TYPE_ZOOM_PREVIEW")
 )
 
-(define-object DrawableComboBox
-  (in-module "Gimp")
-  (parent "GimpIntComboBox")
-  (c-name "GimpDrawableComboBox")
-  (gtype-id "GIMP_TYPE_DRAWABLE_COMBO_BOX")
-)
-
-(define-object ChannelComboBox
-  (in-module "Gimp")
-  (parent "GimpIntComboBox")
-  (c-name "GimpChannelComboBox")
-  (gtype-id "GIMP_TYPE_CHANNEL_COMBO_BOX")
-)
-
-(define-object LayerComboBox
-  (in-module "Gimp")
-  (parent "GimpIntComboBox")
-  (c-name "GimpLayerComboBox")
-  (gtype-id "GIMP_TYPE_LAYER_COMBO_BOX")
-)
+;; Enumerations and flags ...
 
-(define-object VectorsComboBox
+(define-enum IntStoreColumns
   (in-module "Gimp")
-  (parent "GimpIntComboBox")
-  (c-name "GimpVectorsComboBox")
-  (gtype-id "GIMP_TYPE_VECTORS_COMBO_BOX")
+  (c-name "GimpIntStoreColumns")
+  (gtype-id "GIMP_TYPE_INT_STORE_COLUMNS")
+  (values
+    '("value" "GIMP_INT_STORE_VALUE")
+    '("label" "GIMP_INT_STORE_LABEL")
+    '("stock-id" "GIMP_INT_STORE_STOCK_ID")
+    '("pixbuf" "GIMP_INT_STORE_PIXBUF")
+    '("user-data" "GIMP_INT_STORE_USER_DATA")
+    '("num-columns" "GIMP_INT_STORE_NUM_COLUMNS")
+  )
 )
 
-(define-object ImageComboBox
+(define-enum AspectType
   (in-module "Gimp")
-  (parent "GimpIntComboBox")
-  (c-name "GimpImageComboBox")
-  (gtype-id "GIMP_TYPE_IMAGE_COMBO_BOX")
+  (c-name "GimpAspectType")
+  (gtype-id "GIMP_TYPE_ASPECT_TYPE")
+  (values
+    '("square" "GIMP_ASPECT_SQUARE")
+    '("portrait" "GIMP_ASPECT_PORTRAIT")
+    '("landscape" "GIMP_ASPECT_LANDSCAPE")
+  )
 )
 
-;; Enumerations and flags ...
-
 (define-enum ChainPosition
   (in-module "Gimp")
   (c-name "GimpChainPosition")
@@ -420,7 +480,7 @@
 )
 
 
-;; From ../../libgimpwidgets/gimpbrowser.h
+;; From gimpbrowser.h
 
 (define-function gimp_browser_get_type
   (c-name "gimp_browser_get_type")
@@ -464,7 +524,7 @@
 
 
 
-;; From ../../libgimpwidgets/gimpbutton.h
+;; From gimpbutton.h
 
 (define-function gimp_button_get_type
   (c-name "gimp_button_get_type")
@@ -488,7 +548,7 @@
 
 
 
-;; From ../../libgimpwidgets/gimpcellrenderercolor.h
+;; From gimpcellrenderercolor.h
 
 (define-function gimp_cell_renderer_color_get_type
   (c-name "gimp_cell_renderer_color_get_type")
@@ -503,7 +563,7 @@
 
 
 
-;; From ../../libgimpwidgets/gimpcellrenderertoggle.h
+;; From gimpcellrenderertoggle.h
 
 (define-function gimp_cell_renderer_toggle_get_type
   (c-name "gimp_cell_renderer_toggle_get_type")
@@ -515,7 +575,7 @@
   (is-constructor-of "GimpCellRendererToggle")
   (return-type "GtkCellRenderer*")
   (properties
-    '("stock-id" (argname "stock_id") (optional))
+    '("stock-id", (argname "stock_id") (optional))
   )
 )
 
@@ -531,7 +591,7 @@
 
 
 
-;; From ../../libgimpwidgets/gimpchainbutton.h
+;; From gimpchainbutton.h
 
 (define-function gimp_chain_button_get_type
   (c-name "gimp_chain_button_get_type")
@@ -564,7 +624,7 @@
 
 
 
-;; From ../../libgimpwidgets/gimpcolorarea.h
+;; From gimpcolorarea.h
 
 (define-function gimp_color_area_get_type
   (c-name "gimp_color_area_get_type")
@@ -576,8 +636,8 @@
   (is-constructor-of "GimpColorArea")
   (return-type "GtkWidget*")
   (properties
-    '("color" (argname "color") (optional))
-    '("type" (argname "type") (optional))
+    '("color" (optional))
+    '("type" (optional))
     '("drag-mask" (argname "drag_mask") (optional))
   )
 )
@@ -626,7 +686,7 @@
 
 
 
-;; From ../../libgimpwidgets/gimpcolorbutton.h
+;; From gimpcolorbutton.h
 
 (define-function gimp_color_button_get_type
   (c-name "gimp_color_button_get_type")
@@ -696,7 +756,7 @@
 
 
 
-;; From ../../libgimpwidgets/gimpcolordisplay.h
+;; From gimpcolordisplay.h
 
 (define-function gimp_color_display_get_type
   (c-name "gimp_color_display_get_type")
@@ -770,9 +830,21 @@
   (return-type "gboolean")
 )
 
+(define-method get_config
+  (of-object "GimpColorDisplay")
+  (c-name "gimp_color_display_get_config")
+  (return-type "GimpColorConfig*")
+)
+
+(define-method get_managed
+  (of-object "GimpColorDisplay")
+  (c-name "gimp_color_display_get_managed")
+  (return-type "GimpColorManaged*")
+)
+
 
 
-;; From ../../libgimpwidgets/gimpcolordisplaystack.h
+;; From gimpcolordisplaystack.h
 
 (define-function gimp_color_display_stack_get_type
   (c-name "gimp_color_display_stack_get_type")
@@ -848,7 +920,7 @@
 
 
 
-;; From ../../libgimpwidgets/gimpcolorhexentry.h
+;; From gimpcolorhexentry.h
 
 (define-function gimp_color_hex_entry_get_type
   (c-name "gimp_color_hex_entry_get_type")
@@ -881,7 +953,7 @@
 
 
 
-;; From ../../libgimpwidgets/gimpcolornotebook.h
+;; From gimpcolornotebook.h
 
 (define-function gimp_color_notebook_get_type
   (c-name "gimp_color_notebook_get_type")
@@ -900,7 +972,80 @@
 
 
 
-;; From ../../libgimpwidgets/gimpcolorscale.h
+;; From gimpcolorprofilecombobox.h
+
+(define-function gimp_color_profile_combo_box_get_type
+  (c-name "gimp_color_profile_combo_box_get_type")
+  (return-type "GType")
+)
+
+(define-function gimp_color_profile_combo_box_new_with_model
+  (c-name "gimp_color_profile_combo_box_new_with_model")
+  (is-constructor-of "GimpColorProfileComboBox")
+  (return-type "GtkWidget*")
+  (properties
+    '("dialog")
+    '("model")
+  )
+)
+
+(define-method add
+  (of-object "GimpColorProfileComboBox")
+  (c-name "gimp_color_profile_combo_box_add")
+  (return-type "none")
+  (parameters
+    '("const-gchar*" "filename")
+    '("const-gchar*" "label")
+  )
+)
+
+(define-method set_active
+  (of-object "GimpColorProfileComboBox")
+  (c-name "gimp_color_profile_combo_box_set_active")
+  (return-type "none")
+  (parameters
+    '("const-gchar*" "filename")
+    '("const-gchar*" "label")
+  )
+)
+
+(define-method get_active
+  (of-object "GimpColorProfileComboBox")
+  (c-name "gimp_color_profile_combo_box_get_active")
+  (return-type "gchar*")
+)
+
+
+
+;; From gimpcolorprofilestore.h
+
+(define-function gimp_color_profile_store_get_type
+  (c-name "gimp_color_profile_store_get_type")
+  (return-type "GType")
+)
+
+(define-function gimp_color_profile_store_new
+  (c-name "gimp_color_profile_store_new")
+  (is-constructor-of "GimpColorProfileStore")
+  (return-type "GtkListStore*")
+  (properties
+    '("history")
+  )
+)
+
+(define-method add
+  (of-object "GimpColorProfileStore")
+  (c-name "gimp_color_profile_store_add")
+  (return-type "none")
+  (parameters
+    '("const-gchar*" "filename")
+    '("const-gchar*" "label")
+  )
+)
+
+
+
+;; From gimpcolorscale.h
 
 (define-function gimp_color_scale_get_type
   (c-name "gimp_color_scale_get_type")
@@ -938,7 +1083,7 @@
 
 
 
-;; From ../../libgimpwidgets/gimpcolorscales.h
+;; From gimpcolorscales.h
 
 (define-function gimp_color_scales_get_type
   (c-name "gimp_color_scales_get_type")
@@ -947,7 +1092,7 @@
 
 
 
-;; From ../../libgimpwidgets/gimpcolorselect.h
+;; From gimpcolorselect.h
 
 (define-function gimp_color_select_get_type
   (c-name "gimp_color_select_get_type")
@@ -956,7 +1101,7 @@
 
 
 
-;; From ../../libgimpwidgets/gimpcolorselection.h
+;; From gimpcolorselection.h
 
 (define-function gimp_color_selection_get_type
   (c-name "gimp_color_selection_get_type")
@@ -1032,9 +1177,18 @@
   (return-type "none")
 )
 
+(define-method set_config
+  (of-object "GimpColorSelection")
+  (c-name "gimp_color_selection_set_config")
+  (return-type "none")
+  (parameters
+    '("GimpColorConfig*" "config")
+  )
+)
+
 
 
-;; From ../../libgimpwidgets/gimpcolorselector.h
+;; From gimpcolorselector.h
 
 (define-function gimp_color_selector_get_type
   (c-name "gimp_color_selector_get_type")
@@ -1111,9 +1265,18 @@
   (return-type "none")
 )
 
+(define-method set_config
+  (of-object "GimpColorSelector")
+  (c-name "gimp_color_selector_set_config")
+  (return-type "none")
+  (parameters
+    '("GimpColorConfig*" "config")
+  )
+)
+
 
 
-;; From ../../libgimpwidgets/gimpdialog.h
+;; From gimpdialog.h
 
 (define-function gimp_dialog_get_type
   (c-name "gimp_dialog_get_type")
@@ -1137,7 +1300,6 @@
 
 (define-function gimp_dialog_new_valist
   (c-name "gimp_dialog_new_valist")
-  (is-constructor-of "GimpDialog")
   (return-type "GtkWidget*")
   (parameters
     '("const-gchar*" "title")
@@ -1164,6 +1326,8 @@
   (of-object "GimpDialog")
   (c-name "gimp_dialog_add_buttons")
   (return-type "none")
+  (parameters
+  )
   (varargs #t)
 )
 
@@ -1182,7 +1346,7 @@
   (return-type "gint")
 )
 
-(define-function gimp_dialogs_show_help_button
+(function gimp_dialogs_show_help_button
   (c-name "gimp_dialogs_show_help_button")
   (return-type "none")
   (parameters
@@ -1190,9 +1354,16 @@
   )
 )
 
+;; from gimpui.h
+
+(define-method set_transient
+  (of-object "GimpDialog")
+  (c-name "gimp_window_set_transient")
+  (return-type "none")
+)
 
 
-;; From ../../libgimpwidgets/gimpenumcombobox.h
+;; From gimpenumcombobox.h
 
 (define-function gimp_enum_combo_box_get_type
   (c-name "gimp_enum_combo_box_get_type")
@@ -1210,7 +1381,6 @@
 
 (define-function gimp_enum_combo_box_new_with_model
   (c-name "gimp_enum_combo_box_new_with_model")
-  (is-constructor-of "GimpEnumComboBox")
   (return-type "GtkWidget*")
   (parameters
     '("GimpEnumStore*" "enum_store")
@@ -1228,7 +1398,7 @@
 
 
 
-;; From ../../libgimpwidgets/gimpenumlabel.h
+;; From gimpenumlabel.h
 
 (define-function gimp_enum_label_get_type
   (c-name "gimp_enum_label_get_type")
@@ -1256,7 +1426,7 @@
 
 
 
-;; From ../../libgimpwidgets/gimpenumstore.h
+;; From gimpenumstore.h
 
 (define-function gimp_enum_store_get_type
   (c-name "gimp_enum_store_get_type")
@@ -1274,7 +1444,6 @@
 
 (define-function gimp_enum_store_new_with_range
   (c-name "gimp_enum_store_new_with_range")
-  (is-constructor-of "GimpEnumStore")
   (return-type "GtkListStore*")
   (parameters
     '("GType" "enum_type")
@@ -1285,7 +1454,6 @@
 
 (define-function gimp_enum_store_new_with_values
   (c-name "gimp_enum_store_new_with_values")
-  (is-constructor-of "GimpEnumStore")
   (return-type "GtkListStore*")
   (parameters
     '("GType" "enum_type")
@@ -1296,7 +1464,6 @@
 
 (define-function gimp_enum_store_new_with_values_valist
   (c-name "gimp_enum_store_new_with_values_valist")
-  (is-constructor-of "GimpEnumStore")
   (return-type "GtkListStore*")
   (parameters
     '("GType" "enum_type")
@@ -1316,120 +1483,44 @@
 
 
 
-;; From ../../libgimpwidgets/gimpenumwidgets.h
-
-(define-function gimp_enum_radio_box_new
-  (c-name "gimp_enum_radio_box_new")
-  (is-constructor-of "GimpEnumRadioBox")
-  (return-type "GtkWidget*")
-  (parameters
-    '("GType" "enum_type")
-    '("GCallback" "callback")
-    '("gpointer" "callback_data")
-    '("GtkWidget**" "first_button")
-  )
-)
-
-(define-function gimp_enum_radio_box_new_with_range
-  (c-name "gimp_enum_radio_box_new_with_range")
-  (return-type "GtkWidget*")
-  (parameters
-    '("GType" "enum_type")
-    '("gint" "minimum")
-    '("gint" "maximum")
-    '("GCallback" "callback")
-    '("gpointer" "callback_data")
-    '("GtkWidget**" "first_button")
-  )
-)
-
-(define-function gimp_enum_radio_frame_new
-  (c-name "gimp_enum_radio_frame_new")
-  (is-constructor-of "GimpEnumRadioFrame")
-  (return-type "GtkWidget*")
-  (parameters
-    '("GType" "enum_type")
-    '("GtkWidget*" "label_widget")
-    '("GCallback" "callback")
-    '("gpointer" "callback_data")
-    '("GtkWidget**" "first_button")
-  )
-)
-
-(define-function gimp_enum_radio_frame_new_with_range
-  (c-name "gimp_enum_radio_frame_new_with_range")
-  (return-type "GtkWidget*")
-  (parameters
-    '("GType" "enum_type")
-    '("gint" "minimum")
-    '("gint" "maximum")
-    '("GtkWidget*" "label_widget")
-    '("GCallback" "callback")
-    '("gpointer" "callback_data")
-    '("GtkWidget**" "first_button")
-  )
-)
+;; From gimpframe.h
 
-(define-function gimp_enum_stock_box_new
-  (c-name "gimp_enum_stock_box_new")
-  (is-constructor-of "GimpEnumStockBox")
-  (return-type "GtkWidget*")
-  (parameters
-    '("GType" "enum_type")
-    '("const-gchar*" "stock_prefix")
-    '("GtkIconSize" "icon_size")
-    '("GCallback" "callback")
-    '("gpointer" "callback_data")
-    '("GtkWidget**" "first_button")
-  )
+(define-function gimp_frame_get_type
+  (c-name "gimp_frame_get_type")
+  (return-type "GType")
 )
 
-(define-function gimp_enum_stock_box_new_with_range
-  (c-name "gimp_enum_stock_box_new_with_range")
+(define-function gimp_frame_new
+  (c-name "gimp_frame_new")
+  (is-constructor-of "GimpFrame")
   (return-type "GtkWidget*")
-  (parameters
-    '("GType" "enum_type")
-    '("gint" "minimum")
-    '("gint" "maximum")
-    '("const-gchar*" "stock_prefix")
-    '("GtkIconSize" "icon_size")
-    '("GCallback" "callback")
-    '("gpointer" "callback_data")
-    '("GtkWidget**" "first_button")
-  )
-)
-
-(define-function gimp_enum_stock_box_set_child_padding
-  (c-name "gimp_enum_stock_box_set_child_padding")
-  (return-type "none")
-  (parameters
-    '("GtkWidget*" "stock_box")
-    '("gint" "xpad")
-    '("gint" "ypad")
+  (properties
+    '("label")
   )
 )
 
 
 
-;; From ../../libgimpwidgets/gimpframe.h
+;; From gimphintbox.h
 
-(define-function gimp_frame_get_type
-  (c-name "gimp_frame_get_type")
+(define-function gimp_hint_box_get_type
+  (c-name "gimp_hint_box_get_type")
   (return-type "GType")
 )
 
-(define-function gimp_frame_new
-  (c-name "gimp_frame_new")
-  (is-constructor-of "GimpFrame")
+(define-function gimp_hint_box_new
+  (c-name "gimp_hint_box_new")
+  (is-constructor-of "GimpHintBox")
   (return-type "GtkWidget*")
-  (parameters
-    '("const-gchar*" "label")
+  (properties
+    '("hint")
+    '("stock-id" (optional))
   )
 )
 
 
 
-;; From ../../libgimpwidgets/gimpintcombobox.h
+;; From gimpintcombobox.h
 
 (define-function gimp_int_combo_box_get_type
   (c-name "gimp_int_combo_box_get_type")
@@ -1526,25 +1617,7 @@
 
 
 
-;; From ../../libgimpwidgets/gimphintbox.h
-
-(define-function gimp_hint_box_get_type
-  (c-name "gimp_hint_box_get_type")
-  (return-type "GType")
-)
-
-(define-function gimp_hint_box_new
-  (c-name "gimp_hint_box_new")
-  (is-constructor-of "GimpHintBox")
-  (return-type "GtkWidget*")
-  (properties
-    '("hint") ("stock-id" (optional))
-  )
-)
-
-
-
-;; From ../../libgimpwidgets/gimpintstore.h
+;; From gimpintstore.h
 
 (define-function gimp_int_store_get_type
   (c-name "gimp_int_store_get_type")
@@ -1557,11 +1630,11 @@
   (return-type "GtkListStore*")
 )
 
-(define-function gimp_int_store_lookup_by_value
+(define-method lookup_by_value
+  (of-object "GimpIntStore")
   (c-name "gimp_int_store_lookup_by_value")
   (return-type "gboolean")
   (parameters
-    '("GtkTreeModel*" "model")
     '("gint" "value")
     '("GtkTreeIter*" "iter")
   )
@@ -1569,7 +1642,7 @@
 
 
 
-;; From ../../libgimpwidgets/gimpmemsizeentry.h
+;; From gimpmemsizeentry.h
 
 (define-function gimp_memsize_entry_get_type
   (c-name "gimp_memsize_entry_get_type")
@@ -1604,7 +1677,128 @@
 
 
 
-;; From ../../libgimpwidgets/gimpoffsetarea.h
+;; From gimpnumberpairentry.h
+
+(define-function gimp_number_pair_entry_get_type
+  (c-name "gimp_number_pair_entry_get_type")
+  (return-type "GType")
+)
+
+(define-function gimp_number_pair_entry_new
+  (c-name "gimp_number_pair_entry_new")
+  (is-constructor-of "GimpNumberPairEntry")
+  (return-type "GtkWidget*")
+  (properties
+    '("separators")
+    '("allow-simplification" (argname "allow_simplification"))
+    '("min-valid-value" (argname "min_valid_value"))
+    '("max-valid-value" (argname "max_valid_value"))
+  )
+)
+
+(define-method set_default_values
+  (of-object "GimpNumberPairEntry")
+  (c-name "gimp_number_pair_entry_set_default_values")
+  (return-type "none")
+  (parameters
+    '("gdouble" "left")
+    '("gdouble" "right")
+  )
+)
+
+(define-method get_default_values
+  (of-object "GimpNumberPairEntry")
+  (c-name "gimp_number_pair_entry_get_default_values")
+  (return-type "none")
+  (parameters
+    '("gdouble*" "left")
+    '("gdouble*" "right")
+  )
+)
+
+(define-method set_values
+  (of-object "GimpNumberPairEntry")
+  (c-name "gimp_number_pair_entry_set_values")
+  (return-type "none")
+  (parameters
+    '("gdouble" "left")
+    '("gdouble" "right")
+  )
+)
+
+(define-method get_values
+  (of-object "GimpNumberPairEntry")
+  (c-name "gimp_number_pair_entry_get_values")
+  (return-type "none")
+  (parameters
+    '("gdouble*" "left")
+    '("gdouble*" "right")
+  )
+)
+
+(define-method set_default_text
+  (of-object "GimpNumberPairEntry")
+  (c-name "gimp_number_pair_entry_set_default_text")
+  (return-type "none")
+  (parameters
+    '("const-gchar*" "string")
+  )
+)
+
+(define-method get_default_text
+  (of-object "GimpNumberPairEntry")
+  (c-name "gimp_number_pair_entry_get_default_text")
+  (return-type "const-gchar*")
+)
+
+(define-method set_ratio
+  (of-object "GimpNumberPairEntry")
+  (c-name "gimp_number_pair_entry_set_ratio")
+  (return-type "none")
+  (parameters
+    '("gdouble" "ratio")
+  )
+)
+
+(define-method get_ratio
+  (of-object "GimpNumberPairEntry")
+  (c-name "gimp_number_pair_entry_get_ratio")
+  (return-type "gdouble")
+)
+
+(define-method set_aspect
+  (of-object "GimpNumberPairEntry")
+  (c-name "gimp_number_pair_entry_set_aspect")
+  (return-type "none")
+  (parameters
+    '("GimpAspectType" "aspect")
+  )
+)
+
+(define-method get_aspect
+  (of-object "GimpNumberPairEntry")
+  (c-name "gimp_number_pair_entry_get_aspect")
+  (return-type "GimpAspectType")
+)
+
+(define-method set_user_override
+  (of-object "GimpNumberPairEntry")
+  (c-name "gimp_number_pair_entry_set_user_override")
+  (return-type "none")
+  (parameters
+    '("gboolean" "user_override")
+  )
+)
+
+(define-method get_user_override
+  (of-object "GimpNumberPairEntry")
+  (c-name "gimp_number_pair_entry_get_user_override")
+  (return-type "gboolean")
+)
+
+
+
+;; From gimpoffsetarea.h
 
 (define-function gimp_offset_area_get_type
   (c-name "gimp_offset_area_get_type")
@@ -1652,7 +1846,7 @@
 
 
 
-;; From ../../libgimpwidgets/gimppageselector.h
+;; From gimppageselector.h
 
 (define-function gimp_page_selector_get_type
   (c-name "gimp_page_selector_get_type")
@@ -1798,7 +1992,7 @@
 
 
 
-;; From ../../libgimpwidgets/gimppatheditor.h
+;; From gimppatheditor.h
 
 (define-function gimp_path_editor_get_type
   (c-name "gimp_path_editor_get_type")
@@ -1808,11 +2002,11 @@
 (define-function gimp_path_editor_new
   (c-name "gimp_path_editor_new")
   (is-constructor-of "GimpPathEditor")
-  (return-type "GtkWidget*")
-  (parameters
-    '("const-gchar*" "title")
-    '("const-gchar*" "path")
+  (properties
+    '("title")
+    '("path" (optional))
   )
+  (return-type "GtkWidget*")
 )
 
 (define-method get_path
@@ -1866,7 +2060,7 @@
 
 
 
-;; From ../../libgimpwidgets/gimppickbutton.h
+;; From gimppickbutton.h
 
 (define-function gimp_pick_button_get_type
   (c-name "gimp_pick_button_get_type")
@@ -1881,7 +2075,7 @@
 
 
 
-;; From ../../libgimpwidgets/gimppreview.h
+;; From gimppreview.h
 
 (define-function gimp_preview_get_type
   (c-name "gimp_preview_get_type")
@@ -1935,6 +2129,30 @@
   )
 )
 
+(define-method transform
+  (of-object "GimpPreview")
+  (c-name "gimp_preview_transform")
+  (return-type "none")
+  (parameters
+    '("gint" "src_x")
+    '("gint" "src_y")
+    '("gint*" "dest_x")
+    '("gint*" "dest_y")
+  )
+)
+
+(define-method untransform
+  (of-object "GimpPreview")
+  (c-name "gimp_preview_untransform")
+  (return-type "none")
+  (parameters
+    '("gint" "src_x")
+    '("gint" "src_y")
+    '("gint*" "dest_x")
+    '("gint*" "dest_y")
+  )
+)
+
 (define-method get_area
   (of-object "GimpPreview")
   (c-name "gimp_preview_get_area")
@@ -1980,7 +2198,7 @@
 
 
 
-;; From ../../libgimpwidgets/gimppreviewarea.h
+;; From gimppreviewarea.h
 
 (define-function gimp_preview_area_get_type
   (c-name "gimp_preview_area_get_type")
@@ -2101,671 +2319,214 @@
 
 
 
-;; From ../../libgimpwidgets/gimppropwidgets.h
+;; From gimpscrolledpreview.h
 
-(define-function gimp_prop_check_button_new
-  (c-name "gimp_prop_check_button_new")
-  (is-constructor-of "GimpPropCheckButton")
-  (return-type "GtkWidget*")
-  (parameters
-    '("GObject*" "config")
-    '("const-gchar*" "property_name")
-    '("const-gchar*" "label")
-  )
+(define-function gimp_scrolled_preview_get_type
+  (c-name "gimp_scrolled_preview_get_type")
+  (return-type "GType")
 )
 
-(define-function gimp_prop_boolean_combo_box_new
-  (c-name "gimp_prop_boolean_combo_box_new")
-  (is-constructor-of "GimpPropBooleanComboBox")
-  (return-type "GtkWidget*")
+(define-method set_position
+  (of-object "GimpScrolledPreview")
+  (c-name "gimp_scrolled_preview_set_position")
+  (return-type "none")
   (parameters
-    '("GObject*" "config")
-    '("const-gchar*" "property_name")
-    '("const-gchar*" "true_text")
-    '("const-gchar*" "false_text")
+    '("gint" "x")
+    '("gint" "y")
   )
 )
 
-(define-function gimp_prop_boolean_radio_frame_new
-  (c-name "gimp_prop_boolean_radio_frame_new")
-  (is-constructor-of "GimpPropBooleanRadioFrame")
-  (return-type "GtkWidget*")
+(define-method set_policy
+  (of-object "GimpScrolledPreview")
+  (c-name "gimp_scrolled_preview_set_policy")
+  (return-type "none")
   (parameters
-    '("GObject*" "config")
-    '("const-gchar*" "property_name")
-    '("const-gchar*" "title")
-    '("const-gchar*" "true_text")
-    '("const-gchar*" "false_text")
+    '("GtkPolicyType" "hscrollbar_policy")
+    '("GtkPolicyType" "vscrollbar_policy")
   )
 )
 
-(define-function gimp_prop_expander_new
-  (c-name "gimp_prop_expander_new")
-  (is-constructor-of "GimpPropExpander")
-  (return-type "GtkWidget*")
-  (parameters
-    '("GObject*" "config")
-    '("const-gchar*" "property_name")
-    '("const-gchar*" "label")
-  )
+(define-method freeze
+  (of-object "GimpScrolledPreview")
+  (c-name "gimp_scrolled_preview_freeze")
+  (return-type "none")
+)
+
+(define-method thaw
+  (of-object "GimpScrolledPreview")
+  (c-name "gimp_scrolled_preview_thaw")
+  (return-type "none")
+)
+
+
+
+;; From gimpsizeentry.h
+
+(define-function gimp_size_entry_get_type
+  (c-name "gimp_size_entry_get_type")
+  (return-type "GType")
 )
 
-(define-function gimp_prop_int_combo_box_new
-  (c-name "gimp_prop_int_combo_box_new")
-  (is-constructor-of "GimpPropIntComboBox")
+(define-function gimp_size_entry_new
+  (c-name "gimp_size_entry_new")
+  (is-constructor-of "GimpSizeEntry")
   (return-type "GtkWidget*")
   (parameters
-    '("GObject*" "config")
-    '("const-gchar*" "property_name")
-    '("GimpIntStore*" "store")
+    '("gint" "number_of_fields")
+    '("GimpUnit" "unit")
+    '("const-gchar*" "unit_format")
+    '("gboolean" "menu_show_pixels")
+    '("gboolean" "menu_show_percent")
+    '("gboolean" "show_refval")
+    '("gint" "spinbutton_width")
+    '("GimpSizeEntryUpdatePolicy" "update_policy")
   )
 )
 
-(define-function gimp_prop_enum_combo_box_new
-  (c-name "gimp_prop_enum_combo_box_new")
-  (is-constructor-of "GimpPropEnumComboBox")
-  (return-type "GtkWidget*")
+(define-method add_field
+  (of-object "GimpSizeEntry")
+  (c-name "gimp_size_entry_add_field")
+  (return-type "none")
   (parameters
-    '("GObject*" "config")
-    '("const-gchar*" "property_name")
-    '("gint" "minimum")
-    '("gint" "maximum")
+    '("GtkSpinButton*" "value_spinbutton")
+    '("GtkSpinButton*" "refval_spinbutton")
   )
 )
 
-(define-function gimp_prop_enum_check_button_new
-  (c-name "gimp_prop_enum_check_button_new")
-  (is-constructor-of "GimpPropEnumCheckButton")
+(define-method attach_label
+  (of-object "GimpSizeEntry")
+  (c-name "gimp_size_entry_attach_label")
   (return-type "GtkWidget*")
   (parameters
-    '("GObject*" "config")
-    '("const-gchar*" "property_name")
-    '("const-gchar*" "label")
-    '("gint" "false_value")
-    '("gint" "true_value")
+    '("const-gchar*" "text")
+    '("gint" "row")
+    '("gint" "column")
+    '("gfloat" "alignment")
   )
 )
 
-(define-function gimp_prop_enum_radio_frame_new
-  (c-name "gimp_prop_enum_radio_frame_new")
-  (is-constructor-of "GimpPropEnumRadioFrame")
-  (return-type "GtkWidget*")
+(define-method set_resolution
+  (of-object "GimpSizeEntry")
+  (c-name "gimp_size_entry_set_resolution")
+  (return-type "none")
   (parameters
-    '("GObject*" "config")
-    '("const-gchar*" "property_name")
-    '("const-gchar*" "title")
-    '("gint" "minimum")
-    '("gint" "maximum")
+    '("gint" "field")
+    '("gdouble" "resolution")
+    '("gboolean" "keep_size")
   )
 )
 
-(define-function gimp_prop_enum_radio_box_new
-  (c-name "gimp_prop_enum_radio_box_new")
-  (is-constructor-of "GimpPropEnumRadioBox")
-  (return-type "GtkWidget*")
+(define-method set_size
+  (of-object "GimpSizeEntry")
+  (c-name "gimp_size_entry_set_size")
+  (return-type "none")
   (parameters
-    '("GObject*" "config")
-    '("const-gchar*" "property_name")
-    '("gint" "minimum")
-    '("gint" "maximum")
+    '("gint" "field")
+    '("gdouble" "lower")
+    '("gdouble" "upper")
   )
 )
 
-(define-function gimp_prop_enum_stock_box_new
-  (c-name "gimp_prop_enum_stock_box_new")
-  (is-constructor-of "GimpPropEnumStockBox")
-  (return-type "GtkWidget*")
+(define-method set_value_boundaries
+  (of-object "GimpSizeEntry")
+  (c-name "gimp_size_entry_set_value_boundaries")
+  (return-type "none")
   (parameters
-    '("GObject*" "config")
-    '("const-gchar*" "property_name")
-    '("const-gchar*" "stock_prefix")
-    '("gint" "minimum")
-    '("gint" "maximum")
+    '("gint" "field")
+    '("gdouble" "lower")
+    '("gdouble" "upper")
   )
 )
 
-(define-function gimp_prop_enum_label_new
-  (c-name "gimp_prop_enum_label_new")
-  (is-constructor-of "GimpPropEnumLabel")
-  (return-type "GtkWidget*")
+(define-method get_value
+  (of-object "GimpSizeEntry")
+  (c-name "gimp_size_entry_get_value")
+  (return-type "gdouble")
   (parameters
-    '("GObject*" "config")
-    '("const-gchar*" "property_name")
+    '("gint" "field")
   )
 )
 
-(define-function gimp_prop_spin_button_new
-  (c-name "gimp_prop_spin_button_new")
-  (is-constructor-of "GimpPropSpinButton")
-  (return-type "GtkWidget*")
+(define-method set_value
+  (of-object "GimpSizeEntry")
+  (c-name "gimp_size_entry_set_value")
+  (return-type "none")
   (parameters
-    '("GObject*" "config")
-    '("const-gchar*" "property_name")
-    '("gdouble" "step_increment")
-    '("gdouble" "page_increment")
-    '("gint" "digits")
+    '("gint" "field")
+    '("gdouble" "value")
   )
 )
 
-(define-function gimp_prop_hscale_new
-  (c-name "gimp_prop_hscale_new")
-  (is-constructor-of "GimpPropHscale")
-  (return-type "GtkWidget*")
+(define-method set_refval_boundaries
+  (of-object "GimpSizeEntry")
+  (c-name "gimp_size_entry_set_refval_boundaries")
+  (return-type "none")
   (parameters
-    '("GObject*" "config")
-    '("const-gchar*" "property_name")
-    '("gdouble" "step_increment")
-    '("gdouble" "page_increment")
-    '("gint" "digits")
+    '("gint" "field")
+    '("gdouble" "lower")
+    '("gdouble" "upper")
   )
 )
 
-(define-function gimp_prop_scale_entry_new
-  (c-name "gimp_prop_scale_entry_new")
-  (is-constructor-of "GimpPropScaleEntry")
-  (return-type "GtkObject*")
-  (parameters
-    '("GObject*" "config")
-    '("const-gchar*" "property_name")
-    '("GtkTable*" "table")
-    '("gint" "column")
-    '("gint" "row")
-    '("const-gchar*" "label")
-    '("gdouble" "step_increment")
-    '("gdouble" "page_increment")
+(define-method set_refval_digits
+  (of-object "GimpSizeEntry")
+  (c-name "gimp_size_entry_set_refval_digits")
+  (return-type "none")
+  (parameters
+    '("gint" "field")
     '("gint" "digits")
-    '("gboolean" "limit_scale")
-    '("gdouble" "lower_limit")
-    '("gdouble" "upper_limit")
   )
 )
 
-(define-function gimp_prop_opacity_entry_new
-  (c-name "gimp_prop_opacity_entry_new")
-  (is-constructor-of "GimpPropOpacityEntry")
-  (return-type "GtkObject*")
+(define-method get_refval
+  (of-object "GimpSizeEntry")
+  (c-name "gimp_size_entry_get_refval")
+  (return-type "gdouble")
   (parameters
-    '("GObject*" "config")
-    '("const-gchar*" "property_name")
-    '("GtkTable*" "table")
-    '("gint" "column")
-    '("gint" "row")
-    '("const-gchar*" "label")
+    '("gint" "field")
   )
 )
 
-(define-function gimp_prop_memsize_entry_new
-  (c-name "gimp_prop_memsize_entry_new")
-  (is-constructor-of "GimpPropMemsizeEntry")
-  (return-type "GtkWidget*")
+(define-method set_refval
+  (of-object "GimpSizeEntry")
+  (c-name "gimp_size_entry_set_refval")
+  (return-type "none")
   (parameters
-    '("GObject*" "config")
-    '("const-gchar*" "property_name")
+    '("gint" "field")
+    '("gdouble" "refval")
   )
 )
 
-(define-function gimp_prop_label_new
-  (c-name "gimp_prop_label_new")
-  (is-constructor-of "GimpPropLabel")
-  (return-type "GtkWidget*")
-  (parameters
-    '("GObject*" "config")
-    '("const-gchar*" "property_name")
-  )
+(define-method get_unit
+  (of-object "GimpSizeEntry")
+  (c-name "gimp_size_entry_get_unit")
+  (return-type "GimpUnit")
 )
 
-(define-function gimp_prop_entry_new
-  (c-name "gimp_prop_entry_new")
-  (is-constructor-of "GimpPropEntry")
-  (return-type "GtkWidget*")
+(define-method set_unit
+  (of-object "GimpSizeEntry")
+  (c-name "gimp_size_entry_set_unit")
+  (return-type "none")
   (parameters
-    '("GObject*" "config")
-    '("const-gchar*" "property_name")
-    '("gint" "max_len")
+    '("GimpUnit" "unit")
   )
 )
 
-(define-function gimp_prop_text_buffer_new
-  (c-name "gimp_prop_text_buffer_new")
-  (is-constructor-of "GimpPropTextBuffer")
-  (return-type "GtkTextBuffer*")
+(define-method show_unit_menu
+  (of-object "GimpSizeEntry")
+  (c-name "gimp_size_entry_show_unit_menu")
+  (return-type "none")
   (parameters
-    '("GObject*" "config")
-    '("const-gchar*" "property_name")
-    '("gint" "max_len")
+    '("gboolean" "show")
   )
 )
 
-(define-function gimp_prop_file_entry_new
-  (c-name "gimp_prop_file_entry_new")
-  (is-constructor-of "GimpPropFileEntry")
-  (return-type "GtkWidget*")
+(define-method set_pixel_digits
+  (of-object "GimpSizeEntry")
+  (c-name "gimp_size_entry_set_pixel_digits")
+  (return-type "none")
   (parameters
-    '("GObject*" "config")
-    '("const-gchar*" "property_name")
-    '("const-gchar*" "filesel_title")
-    '("gboolean" "dir_only")
-    '("gboolean" "check_valid")
-  )
-)
-
-(define-function gimp_prop_path_editor_new
-  (c-name "gimp_prop_path_editor_new")
-  (is-constructor-of "GimpPropPathEditor")
-  (return-type "GtkWidget*")
-  (parameters
-    '("GObject*" "config")
-    '("const-gchar*" "path_property_name")
-    '("const-gchar*" "writable_property_name")
-    '("const-gchar*" "filesel_title")
-  )
-)
-
-(define-function gimp_prop_file_chooser_button_new
-  (c-name "gimp_prop_file_chooser_button_new")
-  (is-constructor-of "GimpPropFileChooserButton")
-  (return-type "GtkWidget*")
-  (parameters
-    '("GObject*" "config")
-    '("const-gchar*" "property_name")
-    '("const-gchar*" "title")
-    '("GtkFileChooserAction" "action")
-  )
-)
-
-(define-function gimp_prop_size_entry_new
-  (c-name "gimp_prop_size_entry_new")
-  (is-constructor-of "GimpPropSizeEntry")
-  (return-type "GtkWidget*")
-  (parameters
-    '("GObject*" "config")
-    '("const-gchar*" "property_name")
-    '("const-gchar*" "unit_property_name")
-    '("const-gchar*" "unit_format")
-    '("GimpSizeEntryUpdatePolicy" "update_policy")
-    '("gdouble" "resolution")
-  )
-)
-
-(define-function gimp_prop_coordinates_new
-  (c-name "gimp_prop_coordinates_new")
-  (is-constructor-of "GimpPropCoordinates")
-  (return-type "GtkWidget*")
-  (parameters
-    '("GObject*" "config")
-    '("const-gchar*" "x_property_name")
-    '("const-gchar*" "y_property_name")
-    '("const-gchar*" "unit_property_name")
-    '("const-gchar*" "unit_format")
-    '("GimpSizeEntryUpdatePolicy" "update_policy")
-    '("gdouble" "xresolution")
-    '("gdouble" "yresolution")
-    '("gboolean" "has_chainbutton")
-  )
-)
-
-(define-function gimp_prop_coordinates_connect
-  (c-name "gimp_prop_coordinates_connect")
-  (return-type "gboolean")
-  (parameters
-    '("GObject*" "config")
-    '("const-gchar*" "x_property_name")
-    '("const-gchar*" "y_property_name")
-    '("const-gchar*" "unit_property_name")
-    '("GtkWidget*" "sizeentry")
-    '("GtkWidget*" "chainbutton")
-    '("gdouble" "xresolution")
-    '("gdouble" "yresolution")
-  )
-)
-
-(define-function gimp_prop_color_area_new
-  (c-name "gimp_prop_color_area_new")
-  (is-constructor-of "GimpPropColorArea")
-  (return-type "GtkWidget*")
-  (parameters
-    '("GObject*" "config")
-    '("const-gchar*" "property_name")
-    '("gint" "width")
-    '("gint" "height")
-    '("GimpColorAreaType" "type")
-  )
-)
-
-(define-function gimp_prop_unit_menu_new
-  (c-name "gimp_prop_unit_menu_new")
-  (is-constructor-of "GimpPropUnitMenu")
-  (return-type "GtkWidget*")
-  (parameters
-    '("GObject*" "config")
-    '("const-gchar*" "property_name")
-    '("const-gchar*" "unit_format")
-  )
-)
-
-(define-function gimp_prop_stock_image_new
-  (c-name "gimp_prop_stock_image_new")
-  (is-constructor-of "GimpPropStockImage")
-  (return-type "GtkWidget*")
-  (parameters
-    '("GObject*" "config")
-    '("const-gchar*" "property_name")
-    '("GtkIconSize" "icon_size")
-  )
-)
-
-
-
-;; From ../../libgimpwidgets/gimpquerybox.h
-
-(define-function gimp_query_string_box
-  (c-name "gimp_query_string_box")
-  (return-type "GtkWidget*")
-  (parameters
-    '("const-gchar*" "title")
-    '("GtkWidget*" "parent")
-    '("GimpHelpFunc" "help_func")
-    '("const-gchar*" "help_id")
-    '("const-gchar*" "message")
-    '("const-gchar*" "initial")
-    '("GObject*" "object")
-    '("const-gchar*" "signal")
-    '("GimpQueryStringCallback" "callback")
-    '("gpointer" "data")
-  )
-)
-
-(define-function gimp_query_int_box
-  (c-name "gimp_query_int_box")
-  (return-type "GtkWidget*")
-  (parameters
-    '("const-gchar*" "title")
-    '("GtkWidget*" "parent")
-    '("GimpHelpFunc" "help_func")
-    '("const-gchar*" "help_id")
-    '("const-gchar*" "message")
-    '("gint" "initial")
-    '("gint" "lower")
-    '("gint" "upper")
-    '("GObject*" "object")
-    '("const-gchar*" "signal")
-    '("GimpQueryIntCallback" "callback")
-    '("gpointer" "data")
-  )
-)
-
-(define-function gimp_query_double_box
-  (c-name "gimp_query_double_box")
-  (return-type "GtkWidget*")
-  (parameters
-    '("const-gchar*" "title")
-    '("GtkWidget*" "parent")
-    '("GimpHelpFunc" "help_func")
-    '("const-gchar*" "help_id")
-    '("const-gchar*" "message")
-    '("gdouble" "initial")
-    '("gdouble" "lower")
-    '("gdouble" "upper")
-    '("gint" "digits")
-    '("GObject*" "object")
-    '("const-gchar*" "signal")
-    '("GimpQueryDoubleCallback" "callback")
-    '("gpointer" "data")
-  )
-)
-
-(define-function gimp_query_size_box
-  (c-name "gimp_query_size_box")
-  (return-type "GtkWidget*")
-  (parameters
-    '("const-gchar*" "title")
-    '("GtkWidget*" "parent")
-    '("GimpHelpFunc" "help_func")
-    '("const-gchar*" "help_id")
-    '("const-gchar*" "message")
-    '("gdouble" "initial")
-    '("gdouble" "lower")
-    '("gdouble" "upper")
-    '("gint" "digits")
-    '("GimpUnit" "unit")
-    '("gdouble" "resolution")
-    '("gboolean" "dot_for_dot")
-    '("GObject*" "object")
-    '("const-gchar*" "signal")
-    '("GimpQuerySizeCallback" "callback")
-    '("gpointer" "data")
-  )
-)
-
-(define-function gimp_query_boolean_box
-  (c-name "gimp_query_boolean_box")
-  (return-type "GtkWidget*")
-  (parameters
-    '("const-gchar*" "title")
-    '("GtkWidget*" "parent")
-    '("GimpHelpFunc" "help_func")
-    '("const-gchar*" "help_id")
-    '("const-gchar*" "stock_id")
-    '("const-gchar*" "message")
-    '("const-gchar*" "true_button")
-    '("const-gchar*" "false_button")
-    '("GObject*" "object")
-    '("const-gchar*" "signal")
-    '("GimpQueryBooleanCallback" "callback")
-    '("gpointer" "data")
-  )
-)
-
-
-
-;; From ../../libgimpwidgets/gimpscrolledpreview.h
-
-(define-function gimp_scrolled_preview_get_type
-  (c-name "gimp_scrolled_preview_get_type")
-  (return-type "GType")
-)
-
-(define-method set_position
-  (of-object "GimpScrolledPreview")
-  (c-name "gimp_scrolled_preview_set_position")
-  (return-type "none")
-  (parameters
-    '("gint" "x")
-    '("gint" "y")
-  )
-)
-
-(define-method set_policy
-  (of-object "GimpScrolledPreview")
-  (c-name "gimp_scrolled_preview_set_policy")
-  (return-type "none")
-  (parameters
-    '("GtkPolicyType" "hscrollbar_policy")
-    '("GtkPolicyType" "vscrollbar_policy")
-  )
-)
-
-(define-method freeze
-  (of-object "GimpScrolledPreview")
-  (c-name "gimp_scrolled_preview_freeze")
-  (return-type "none")
-)
-
-(define-method thaw
-  (of-object "GimpScrolledPreview")
-  (c-name "gimp_scrolled_preview_thaw")
-  (return-type "none")
-)
-
-
-
-;; From ../../libgimpwidgets/gimpsizeentry.h
-
-(define-function gimp_size_entry_get_type
-  (c-name "gimp_size_entry_get_type")
-  (return-type "GType")
-)
-
-(define-function gimp_size_entry_new
-  (c-name "gimp_size_entry_new")
-  (is-constructor-of "GimpSizeEntry")
-  (return-type "GtkWidget*")
-  (parameters
-    '("gint" "number_of_fields")
-    '("GimpUnit" "unit")
-    '("const-gchar*" "unit_format")
-    '("gboolean" "menu_show_pixels")
-    '("gboolean" "menu_show_percent")
-    '("gboolean" "show_refval")
-    '("gint" "spinbutton_width")
-    '("GimpSizeEntryUpdatePolicy" "update_policy")
-  )
-)
-
-(define-method add_field
-  (of-object "GimpSizeEntry")
-  (c-name "gimp_size_entry_add_field")
-  (return-type "none")
-  (parameters
-    '("GtkSpinButton*" "value_spinbutton")
-    '("GtkSpinButton*" "refval_spinbutton")
-  )
-)
-
-(define-method attach_label
-  (of-object "GimpSizeEntry")
-  (c-name "gimp_size_entry_attach_label")
-  (return-type "GtkWidget*")
-  (parameters
-    '("const-gchar*" "text")
-    '("gint" "row")
-    '("gint" "column")
-    '("gfloat" "alignment")
-  )
-)
-
-(define-method set_resolution
-  (of-object "GimpSizeEntry")
-  (c-name "gimp_size_entry_set_resolution")
-  (return-type "none")
-  (parameters
-    '("gint" "field")
-    '("gdouble" "resolution")
-    '("gboolean" "keep_size")
-  )
-)
-
-(define-method set_size
-  (of-object "GimpSizeEntry")
-  (c-name "gimp_size_entry_set_size")
-  (return-type "none")
-  (parameters
-    '("gint" "field")
-    '("gdouble" "lower")
-    '("gdouble" "upper")
-  )
-)
-
-(define-method set_value_boundaries
-  (of-object "GimpSizeEntry")
-  (c-name "gimp_size_entry_set_value_boundaries")
-  (return-type "none")
-  (parameters
-    '("gint" "field")
-    '("gdouble" "lower")
-    '("gdouble" "upper")
-  )
-)
-
-(define-method get_value
-  (of-object "GimpSizeEntry")
-  (c-name "gimp_size_entry_get_value")
-  (return-type "gdouble")
-  (parameters
-    '("gint" "field")
-  )
-)
-
-(define-method set_value
-  (of-object "GimpSizeEntry")
-  (c-name "gimp_size_entry_set_value")
-  (return-type "none")
-  (parameters
-    '("gint" "field")
-    '("gdouble" "value")
-  )
-)
-
-(define-method set_refval_boundaries
-  (of-object "GimpSizeEntry")
-  (c-name "gimp_size_entry_set_refval_boundaries")
-  (return-type "none")
-  (parameters
-    '("gint" "field")
-    '("gdouble" "lower")
-    '("gdouble" "upper")
-  )
-)
-
-(define-method set_refval_digits
-  (of-object "GimpSizeEntry")
-  (c-name "gimp_size_entry_set_refval_digits")
-  (return-type "none")
-  (parameters
-    '("gint" "field")
-    '("gint" "digits")
-  )
-)
-
-(define-method get_refval
-  (of-object "GimpSizeEntry")
-  (c-name "gimp_size_entry_get_refval")
-  (return-type "gdouble")
-  (parameters
-    '("gint" "field")
-  )
-)
-
-(define-method set_refval
-  (of-object "GimpSizeEntry")
-  (c-name "gimp_size_entry_set_refval")
-  (return-type "none")
-  (parameters
-    '("gint" "field")
-    '("gdouble" "refval")
-  )
-)
-
-(define-method get_unit
-  (of-object "GimpSizeEntry")
-  (c-name "gimp_size_entry_get_unit")
-  (return-type "GimpUnit")
-)
-
-(define-method set_unit
-  (of-object "GimpSizeEntry")
-  (c-name "gimp_size_entry_set_unit")
-  (return-type "none")
-  (parameters
-    '("GimpUnit" "unit")
-  )
-)
-
-(define-method show_unit_menu
-  (of-object "GimpSizeEntry")
-  (c-name "gimp_size_entry_show_unit_menu")
-  (return-type "none")
-  (parameters
-    '("gboolean" "show")
-  )
-)
-
-(define-method set_pixel_digits
-  (of-object "GimpSizeEntry")
-  (c-name "gimp_size_entry_set_pixel_digits")
-  (return-type "none")
-  (parameters
-    '("gint" "digits")
+    '("gint" "digits")
   )
 )
 
@@ -2795,378 +2556,94 @@
 
 
 
-;; From ../../libgimpwidgets/gimpunitmenu.h
+;; From gimpstringcombobox.h
 
-(define-function gimp_unit_menu_get_type
-  (c-name "gimp_unit_menu_get_type")
+(define-function gimp_string_combo_box_get_type
+  (c-name "gimp_string_combo_box_get_type")
   (return-type "GType")
 )
 
-(define-function gimp_unit_menu_new
-  (c-name "gimp_unit_menu_new")
-  (is-constructor-of "GimpUnitMenu")
-  (return-type "GtkWidget*")
-  (parameters
-    '("const-gchar*" "format")
-    '("GimpUnit" "unit")
-    '("gboolean" "show_pixels")
-    '("gboolean" "show_percent")
-    '("gboolean" "show_custom")
-  )
-)
-
-(define-method set_unit
-  (of-object "GimpUnitMenu")
-  (c-name "gimp_unit_menu_set_unit")
-  (return-type "none")
-  (parameters
-    '("GimpUnit" "unit")
-  )
-)
-
-(define-method get_unit
-  (of-object "GimpUnitMenu")
-  (c-name "gimp_unit_menu_get_unit")
-  (return-type "GimpUnit")
-)
-
-(define-method set_pixel_digits
-  (of-object "GimpUnitMenu")
-  (c-name "gimp_unit_menu_set_pixel_digits")
-  (return-type "none")
-  (parameters
-    '("gint" "digits")
-  )
-)
-
-(define-method get_pixel_digits
-  (of-object "GimpUnitMenu")
-  (c-name "gimp_unit_menu_get_pixel_digits")
-  (return-type "gint")
-)
-
-
-
-;; From ../../libgimpwidgets/gimpwidgets.h
-
-(define-function gimp_int_radio_group_new
-  (c-name "gimp_int_radio_group_new")
-  (is-constructor-of "GimpIntRadioGroup")
-  (return-type "GtkWidget*")
-  (parameters
-    '("gboolean" "in_frame")
-    '("const-gchar*" "frame_title")
-    '("GCallback" "radio_button_callback")
-    '("gpointer" "radio_button_callback_data")
-    '("gint" "initial")
-  )
-  (varargs #t)
-)
-
-(define-function gimp_int_radio_group_set_active
-  (c-name "gimp_int_radio_group_set_active")
-  (return-type "none")
-  (parameters
-    '("GtkRadioButton*" "radio_button")
-    '("gint" "item_data")
-  )
-)
-
-(define-function gimp_radio_group_new
-  (c-name "gimp_radio_group_new")
-  (is-constructor-of "GimpRadioGroup")
-  (return-type "GtkWidget*")
-  (parameters
-    '("gboolean" "in_frame")
-    '("const-gchar*" "frame_title")
-  )
-  (varargs #t)
-)
-
-(define-function gimp_radio_group_new2
-  (c-name "gimp_radio_group_new2")
-  (return-type "GtkWidget*")
-  (parameters
-    '("gboolean" "in_frame")
-    '("const-gchar*" "frame_title")
-    '("GCallback" "radio_button_callback")
-    '("gpointer" "radio_button_callback_data")
-    '("gpointer" "initial")
-  )
-  (varargs #t)
-)
-
-(define-function gimp_radio_group_set_active
-  (c-name "gimp_radio_group_set_active")
-  (return-type "none")
-  (parameters
-    '("GtkRadioButton*" "radio_button")
-    '("gpointer" "item_data")
-  )
-)
-
-(define-function gimp_spin_button_new
-  (c-name "gimp_spin_button_new")
-  (is-constructor-of "GimpSpinButton")
+(define-function gimp_string_combo_box_new
+  (c-name "gimp_string_combo_box_new")
+  (is-constructor-of "GimpStringComboBox")
   (return-type "GtkWidget*")
-  (parameters
-    '("GtkObject**" "adjustment")
-    '("gdouble" "value")
-    '("gdouble" "lower")
-    '("gdouble" "upper")
-    '("gdouble" "step_increment")
-    '("gdouble" "page_increment")
-    '("gdouble" "page_size")
-    '("gdouble" "climb_rate")
-    '("guint" "digits")
-  )
-)
-
-(define-function gimp_scale_entry_new
-  (c-name "gimp_scale_entry_new")
-  (is-constructor-of "GimpScaleEntry")
-  (return-type "GtkObject*")
-  (parameters
-    '("GtkTable*" "table")
-    '("gint" "column")
-    '("gint" "row")
-    '("const-gchar*" "text")
-    '("gint" "scale_width")
-    '("gint" "spinbutton_width")
-    '("gdouble" "value")
-    '("gdouble" "lower")
-    '("gdouble" "upper")
-    '("gdouble" "step_increment")
-    '("gdouble" "page_increment")
-    '("guint" "digits")
-    '("gboolean" "constrain")
-    '("gdouble" "unconstrained_lower")
-    '("gdouble" "unconstrained_upper")
-    '("const-gchar*" "tooltip")
-    '("const-gchar*" "help_id")
-  )
-)
-
-(define-function gimp_color_scale_entry_new
-  (c-name "gimp_color_scale_entry_new")
-  (is-constructor-of "GimpColorScaleEntry")
-  (return-type "GtkObject*")
-  (parameters
-    '("GtkTable*" "table")
-    '("gint" "column")
-    '("gint" "row")
-    '("const-gchar*" "text")
-    '("gint" "scale_width")
-    '("gint" "spinbutton_width")
-    '("gdouble" "value")
-    '("gdouble" "lower")
-    '("gdouble" "upper")
-    '("gdouble" "step_increment")
-    '("gdouble" "page_increment")
-    '("guint" "digits")
-    '("const-gchar*" "tooltip")
-    '("const-gchar*" "help_id")
-  )
-)
-
-(define-function gimp_scale_entry_set_sensitive
-  (c-name "gimp_scale_entry_set_sensitive")
-  (return-type "none")
-  (parameters
-    '("GtkObject*" "adjustment")
-    '("gboolean" "sensitive")
-  )
-)
-
-(define-function gimp_scale_entry_set_logarithmic
-  (c-name "gimp_scale_entry_set_logarithmic")
-  (return-type "none")
-  (parameters
-    '("GtkObject*" "adjustment")
-    '("gboolean" "logarithmic")
+  (properties
+    '("model")
+    '("id-column" (argname "id_column"))
+    '("label-column" (argname "label_column"))
   )
 )
 
-(define-function gimp_scale_entry_get_logarithmic
-  (c-name "gimp_scale_entry_get_logarithmic")
+(define-method set_active
+  (of-object "GimpStringComboBox")
+  (c-name "gimp_string_combo_box_set_active")
   (return-type "gboolean")
   (parameters
-    '("GtkObject*" "adjustment")
-  )
-)
-
-(define-function gimp_random_seed_new
-  (c-name "gimp_random_seed_new")
-  (is-constructor-of "GimpRandomSeed")
-  (return-type "GtkWidget*")
-  (parameters
-    '("guint32*" "seed")
-    '("gboolean*" "random_seed")
-  )
-)
-
-(define-function gimp_coordinates_new
-  (c-name "gimp_coordinates_new")
-  (is-constructor-of "GimpCoordinates")
-  (return-type "GtkWidget*")
-  (parameters
-    '("GimpUnit" "unit")
-    '("const-gchar*" "unit_format")
-    '("gboolean" "menu_show_pixels")
-    '("gboolean" "menu_show_percent")
-    '("gint" "spinbutton_width")
-    '("GimpSizeEntryUpdatePolicy" "update_policy")
-    '("gboolean" "chainbutton_active")
-    '("gboolean" "chain_constrains_ratio")
-    '("const-gchar*" "xlabel")
-    '("gdouble" "x")
-    '("gdouble" "xres")
-    '("gdouble" "lower_boundary_x")
-    '("gdouble" "upper_boundary_x")
-    '("gdouble" "xsize_0")
-    '("gdouble" "xsize_100")
-    '("const-gchar*" "ylabel")
-    '("gdouble" "y")
-    '("gdouble" "yres")
-    '("gdouble" "lower_boundary_y")
-    '("gdouble" "upper_boundary_y")
-    '("gdouble" "ysize_0")
-  )
-)
-
-(define-function gimp_toggle_button_sensitive_update
-  (c-name "gimp_toggle_button_sensitive_update")
-  (return-type "none")
-  (parameters
-    '("GtkToggleButton*" "toggle_button")
-  )
-)
-
-(define-function gimp_toggle_button_update
-  (c-name "gimp_toggle_button_update")
-  (return-type "none")
-  (parameters
-    '("GtkWidget*" "widget")
-    '("gpointer" "data")
-  )
-)
-
-(define-function gimp_radio_button_update
-  (c-name "gimp_radio_button_update")
-  (return-type "none")
-  (parameters
-    '("GtkWidget*" "widget")
-    '("gpointer" "data")
+    '("const-gchar*" "id")
   )
 )
 
-(define-function gimp_int_adjustment_update
-  (c-name "gimp_int_adjustment_update")
-  (return-type "none")
-  (parameters
-    '("GtkAdjustment*" "adjustment")
-    '("gpointer" "data")
-  )
+(define-method get_active
+  (of-object "GimpStringComboBox")
+  (c-name "gimp_string_combo_box_get_active")
+  (return-type "gchar*")
 )
 
-(define-function gimp_uint_adjustment_update
-  (c-name "gimp_uint_adjustment_update")
-  (return-type "none")
-  (parameters
-    '("GtkAdjustment*" "adjustment")
-    '("gpointer" "data")
-  )
-)
 
-(define-function gimp_float_adjustment_update
-  (c-name "gimp_float_adjustment_update")
-  (return-type "none")
-  (parameters
-    '("GtkAdjustment*" "adjustment")
-    '("gpointer" "data")
-  )
-)
 
-(define-function gimp_double_adjustment_update
-  (c-name "gimp_double_adjustment_update")
-  (return-type "none")
-  (parameters
-    '("GtkAdjustment*" "adjustment")
-    '("gpointer" "data")
-  )
-)
+;; From gimpunitmenu.h
 
-(define-function gimp_unit_menu_update
-  (c-name "gimp_unit_menu_update")
-  (return-type "none")
-  (parameters
-    '("GtkWidget*" "widget")
-    '("gpointer" "data")
-  )
+(define-function gimp_unit_menu_get_type
+  (c-name "gimp_unit_menu_get_type")
+  (return-type "GType")
 )
 
-(define-function gimp_table_attach_aligned
-  (c-name "gimp_table_attach_aligned")
+(define-function gimp_unit_menu_new
+  (c-name "gimp_unit_menu_new")
+  (is-constructor-of "GimpUnitMenu")
   (return-type "GtkWidget*")
   (parameters
-    '("GtkTable*" "table")
-    '("gint" "column")
-    '("gint" "row")
-    '("const-gchar*" "label_text")
-    '("gfloat" "xalign")
-    '("gfloat" "yalign")
-    '("GtkWidget*" "widget")
-    '("gint" "colspan")
-    '("gboolean" "left_align")
+    '("const-gchar*" "format")
+    '("GimpUnit" "unit")
+    '("gboolean" "show_pixels")
+    '("gboolean" "show_percent")
+    '("gboolean" "show_custom")
   )
 )
 
-(define-function gimp_label_set_attributes
-  (c-name "gimp_label_set_attributes")
+(define-method set_unit
+  (of-object "GimpUnitMenu")
+  (c-name "gimp_unit_menu_set_unit")
   (return-type "none")
   (parameters
-    '("GtkLabel*" "label")
-  )
-  (varargs #t)
-)
-
-
-
-;; From ../../libgimpwidgets/gimpwidgetsenums.h
-
-(define-function gimp_chain_position_get_type
-  (c-name "gimp_chain_position_get_type")
-  (return-type "GType")
-)
-
-(define-function gimp_color_area_type_get_type
-  (c-name "gimp_color_area_type_get_type")
-  (return-type "GType")
-)
-
-(define-function gimp_color_selector_channel_get_type
-  (c-name "gimp_color_selector_channel_get_type")
-  (return-type "GType")
+    '("GimpUnit" "unit")
+  )
 )
 
-(define-function gimp_page_selector_target_get_type
-  (c-name "gimp_page_selector_target_get_type")
-  (return-type "GType")
+(define-method get_unit
+  (of-object "GimpUnitMenu")
+  (c-name "gimp_unit_menu_get_unit")
+  (return-type "GimpUnit")
 )
 
-(define-function gimp_size_entry_update_policy_get_type
-  (c-name "gimp_size_entry_update_policy_get_type")
-  (return-type "GType")
+(define-method set_pixel_digits
+  (of-object "GimpUnitMenu")
+  (c-name "gimp_unit_menu_set_pixel_digits")
+  (return-type "none")
+  (parameters
+    '("gint" "digits")
+  )
 )
 
-(define-function gimp_zoom_type_get_type
-  (c-name "gimp_zoom_type_get_type")
-  (return-type "GType")
+(define-method get_pixel_digits
+  (of-object "GimpUnitMenu")
+  (c-name "gimp_unit_menu_get_pixel_digits")
+  (return-type "gint")
 )
 
 
 
-;; From ../../libgimpwidgets/gimpzoommodel.h
+;; From gimpzoommodel.h
 
 (define-function gimp_zoom_model_get_type
   (c-name "gimp_zoom_model_get_type")
@@ -3237,7 +2714,7 @@
 
 
 
-;; From ../../libgimp/gimpaspectpreview.h
+;; From gimpaspectpreview.h
 
 (define-function gimp_aspect_preview_get_type
   (c-name "gimp_aspect_preview_get_type")
@@ -3250,12 +2727,13 @@
   (return-type "GtkWidget*")
   (properties
     '("drawable")
+    '("update" (optional))
   )
 )
 
 
 
-;; From ../../libgimp/gimpdrawablepreview.h
+;; From gimpdrawablepreview.h
 
 (define-function gimp_drawable_preview_get_type
   (c-name "gimp_drawable_preview_get_type")
@@ -3288,74 +2766,26 @@
 
 
 
-;; From ../../libgimp/gimpprocbrowserdialog.h
+;; From gimpimagecombobox.h
 
-(define-function gimp_proc_browser_dialog_get_type
-  (c-name "gimp_proc_browser_dialog_get_type")
+(define-function gimp_image_combo_box_get_type
+  (c-name "gimp_image_combo_box_get_type")
   (return-type "GType")
 )
 
-(define-function gimp_proc_browser_dialog_new
-  (c-name "gimp_proc_browser_dialog_new")
-  (is-constructor-of "GimpProcBrowserDialog")
-  (return-type "GtkWidget*")
-  (parameters
-    '("const-gchar*" "title")
-    '("const-gchar*" "role")
-    '("GimpHelpFunc" "help_func")
-    '("const-gchar*" "help_id")
-  )
-  (varargs #t)
-)
-
-(define-method get_selected
-  (of-object "GimpProcBrowserDialog")
-  (c-name "gimp_proc_browser_dialog_get_selected")
-  (return-type "gchar*")
-)
-
-
-
-;; From ../../libgimp/gimpprocview.h
-
-(define-function gimp_proc_view_new
-  (c-name "gimp_proc_view_new")
-  (is-constructor-of "GimpProcView")
+(define-function gimp_image_combo_box_new
+  (c-name "gimp_image_combo_box_new")
+  (is-constructor-of "GimpImageComboBox")
   (return-type "GtkWidget*")
   (parameters
-    '("const-gchar*" "name")
-    '("const-gchar*" "menu_path")
-    '("const-gchar*" "blurb")
-    '("const-gchar*" "help")
-    '("const-gchar*" "author")
-    '("const-gchar*" "copyright")
-    '("const-gchar*" "date")
-    '("GimpPDBProcType" "type")
-    '("gint" "n_params")
-    '("gint" "n_return_vals")
-    '("GimpParamDef*" "params")
-    '("GimpParamDef*" "return_vals")
+    '("GimpImageConstraintFunc" "constraint")
+    '("gpointer" "data")
   )
 )
 
 
 
-;; From ../../libgimp/gimpprogressbar.h
-
-(define-function gimp_progress_bar_get_type
-  (c-name "gimp_progress_bar_get_type")
-  (return-type "GType")
-)
-
-(define-function gimp_progress_bar_new
-  (c-name "gimp_progress_bar_new")
-  (is-constructor-of "GimpProgressBar")
-  (return-type "GtkWidget*")
-)
-
-
-
-;; From ../../libgimp/gimpdrawablecombobox.h
+;; From gimpitemcombobox.h
 
 (define-function gimp_drawable_combo_box_get_type
   (c-name "gimp_drawable_combo_box_get_type")
@@ -3419,26 +2849,146 @@
 
 
 
-;; From ../../libgimp/gimpimagecombobox.h
+;; From gimppatternselect.h
 
-(define-function gimp_image_combo_box_get_type
-  (c-name "gimp_image_combo_box_get_type")
+(define-function gimp_pattern_select_new
+  (c-name "gimp_pattern_select_new")
+  (is-constructor-of "GimpPatternSelect")
+  (return-type "const-gchar*")
+  (parameters
+    '("const-gchar*" "title")
+    '("const-gchar*" "pattern_name")
+    '("GimpRunPatternCallback" "callback")
+    '("gpointer" "data")
+  )
+)
+
+(define-function gimp_pattern_select_destroy
+  (c-name "gimp_pattern_select_destroy")
+  (return-type "none")
+  (parameters
+    '("const-gchar*" "pattern_callback")
+  )
+)
+
+
+
+;; From gimpprocbrowserdialog.h
+
+(define-function gimp_proc_browser_dialog_get_type
+  (c-name "gimp_proc_browser_dialog_get_type")
   (return-type "GType")
 )
 
-(define-function gimp_image_combo_box_new
-  (c-name "gimp_image_combo_box_new")
-  (is-constructor-of "GimpImageComboBox")
+(define-function gimp_proc_browser_dialog_new
+  (c-name "gimp_proc_browser_dialog_new")
+  (is-constructor-of "GimpProcBrowserDialog")
   (return-type "GtkWidget*")
   (parameters
-    '("GimpImageConstraintFunc" "constraint")
-    '("gpointer" "data")
+    '("const-gchar*" "title")
+    '("const-gchar*" "role")
+    '("GimpHelpFunc" "help_func")
+    '("const-gchar*" "help_id")
+  )
+  (varargs #t)
+)
+
+(define-method get_selected
+  (of-object "GimpProcBrowserDialog")
+  (c-name "gimp_proc_browser_dialog_get_selected")
+  (return-type "gchar*")
+)
+
+
+
+;; From gimpprocview.h
+
+(define-function gimp_proc_view_new
+  (c-name "gimp_proc_view_new")
+  (is-constructor-of "GimpProcView")
+  (return-type "GtkWidget*")
+  (parameters
+    '("const-gchar*" "name")
+    '("const-gchar*" "menu_path")
+    '("const-gchar*" "blurb")
+    '("const-gchar*" "help")
+    '("const-gchar*" "author")
+    '("const-gchar*" "copyright")
+    '("const-gchar*" "date")
+    '("GimpPDBProcType" "type")
+    '("gint" "n_params")
+    '("gint" "n_return_vals")
+    '("GimpParamDef*" "params")
+    '("GimpParamDef*" "return_vals")
+  )
+)
+
+
+
+;; From gimpzoompreview.h
+
+(define-function gimp_zoom_preview_get_type
+  (c-name "gimp_zoom_preview_get_type")
+  (return-type "GType")
+)
+
+(define-function gimp_zoom_preview_new_with_model
+  (c-name "gimp_zoom_preview_new_with_model")
+  (is-constructor-of "GimpZoomPreview")
+  (return-type "GtkWidget*")
+  (properties
+    '("drawable")
+    '("model" (optional))
+  )
+)
+
+(define-method get_source
+  (of-object "GimpZoomPreview")
+  (c-name "gimp_zoom_preview_get_source")
+  (return-type "guchar*")
+  (parameters
+    '("gint*" "width")
+    '("gint*" "height")
+    '("gint*" "bpp")
   )
 )
 
+(define-method get_drawable
+  (of-object "GimpZoomPreview")
+  (c-name "gimp_zoom_preview_get_drawable")
+  (return-type "GimpDrawable*")
+)
+
+(define-method get_model
+  (of-object "GimpZoomPreview")
+  (c-name "gimp_zoom_preview_get_model")
+  (return-type "GimpZoomModel*")
+)
+
+(define-method get_factor
+  (of-object "GimpZoomPreview")
+  (c-name "gimp_zoom_preview_get_factor")
+  (return-type "gdouble")
+)
+
+
+
+;; From gimpprogressbar.h
+
+(define-function gimp_progress_bar_get_type
+  (c-name "gimp_progress_bar_get_type")
+  (return-type "GType")
+)
+
+(define-function gimp_progress_bar_new
+  (c-name "gimp_progress_bar_new")
+  (is-constructor-of "GimpProgressBar")
+  (return-type "GtkWidget*")
+)
+
 
 
-;; From ../../libgimp/gimpbrushselectbutton.h
+;; From gimpbrushselectbutton.h
 
 (define-function gimp_brush_select_button_get_type
   (c-name "gimp_brush_select_button_get_type")
@@ -3450,7 +3000,7 @@
   (is-constructor-of "GimpBrushSelectButton")
   (return-type "GtkWidget*")
   (properties
-    '("title" (argname "title") (optional))
+    '("title" (optional))
     '("brush-name" (argname "brush_name") (optional))
     '("brush-opacity" (argname "opacity") (optional))
     '("brush-spacing" (argname "spacing") (optional))
@@ -3483,7 +3033,7 @@
 
 
 
-;; From ../../libgimp/gimpfontselectbutton.h
+;; From gimpfontselectbutton.h
 
 (define-function gimp_font_select_button_get_type
   (c-name "gimp_font_select_button_get_type")
@@ -3495,7 +3045,7 @@
   (is-constructor-of "GimpFontSelectButton")
   (return-type "GtkWidget*")
   (properties
-    '("title" (argname "title") (optional))
+    '("title" (optional))
     '("font-name" (argname "font_name") (optional))
   )
 )
@@ -3517,7 +3067,7 @@
 
 
 
-;; From ../../libgimp/gimpgradientselectbutton.h
+;; From gimpgradientselectbutton.h
 
 (define-function gimp_gradient_select_button_get_type
   (c-name "gimp_gradient_select_button_get_type")
@@ -3529,7 +3079,7 @@
   (is-constructor-of "GimpGradientSelectButton")
   (return-type "GtkWidget*")
   (properties
-    '("title" (argname "title") (optional))
+    '("title" (optional))
     '("gradient-name" (argname "gradient_name") (optional))
   )
 )
@@ -3551,7 +3101,7 @@
 
 
 
-;; From ../../libgimp/gimppaletteselectbutton.h
+;; From gimppaletteselectbutton.h
 
 (define-function gimp_palette_select_button_get_type
   (c-name "gimp_palette_select_button_get_type")
@@ -3563,7 +3113,7 @@
   (is-constructor-of "GimpPaletteSelectButton")
   (return-type "GtkWidget*")
   (properties
-    '("title" (argname "title") (optional))
+    '("title")
     '("palette-name" (argname "palette_name") (optional))
   )
 )
@@ -3585,7 +3135,7 @@
 
 
 
-;; From ../../libgimp/gimppatternselectbutton.h
+;; From gimppatternselectbutton.h
 
 (define-function gimp_pattern_select_button_get_type
   (c-name "gimp_pattern_select_button_get_type")
@@ -3597,7 +3147,7 @@
   (is-constructor-of "GimpPatternSelectButton")
   (return-type "GtkWidget*")
   (properties
-    '("title" (argname "title") (optional))
+    '("title" (optional))
     '("pattern-name" (argname "pattern_name") (optional))
   )
 )
@@ -3619,7 +3169,7 @@
 
 
 
-;; From ../../libgimp/gimpselectbutton.h
+;; From gimpselectbutton.h
 
 (define-function gimp_select_button_get_type
   (c-name "gimp_select_button_get_type")
@@ -3634,53 +3184,41 @@
 
 
 
-;; From ../../libgimp/gimpui.h
+;; From gimpwidgetsenums.h
 
-(define-method set_transient
-  (of-object "GimpDialog")
-  (c-name "gimp_window_set_transient")
-  (return-type "none")
+(define-function gimp_aspect_type_get_type
+  (c-name "gimp_aspect_type_get_type")
+  (return-type "GType")
 )
 
+(define-function gimp_chain_position_get_type
+  (c-name "gimp_chain_position_get_type")
+  (return-type "GType")
+)
 
-
-;; From ../../libgimp/gimpzoompreview.h
-
-(define-function gimp_zoom_preview_get_type
-  (c-name "gimp_zoom_preview_get_type")
+(define-function gimp_color_area_type_get_type
+  (c-name "gimp_color_area_type_get_type")
   (return-type "GType")
 )
 
-(define-function gimp_zoom_preview_new
-  (c-name "gimp_zoom_preview_new")
-  (is-constructor-of "GimpZoomPreview")
-  (return-type "GtkWidget*")
-  (properties
-    '("drawable")
-  )
+(define-function gimp_color_selector_channel_get_type
+  (c-name "gimp_color_selector_channel_get_type")
+  (return-type "GType")
 )
 
-(define-method get_source
-  (of-object "GimpZoomPreview")
-  (c-name "gimp_zoom_preview_get_source")
-  (return-type "guchar*")
-  (parameters
-    '("gint*" "width")
-    '("gint*" "height")
-    '("gint*" "bpp")
-  )
+(define-function gimp_page_selector_target_get_type
+  (c-name "gimp_page_selector_target_get_type")
+  (return-type "GType")
 )
 
-(define-method get_drawable
-  (of-object "GimpZoomPreview")
-  (c-name "gimp_zoom_preview_get_drawable")
-  (return-type "GimpDrawable*")
+(define-function gimp_size_entry_update_policy_get_type
+  (c-name "gimp_size_entry_update_policy_get_type")
+  (return-type "GType")
 )
 
-(define-method get_factor
-  (of-object "GimpZoomPreview")
-  (c-name "gimp_zoom_preview_get_factor")
-  (return-type "gdouble")
+(define-function gimp_zoom_type_get_type
+  (c-name "gimp_zoom_type_get_type")
+  (return-type "GType")
 )
 
 

Modified: trunk/plug-ins/pygimp/gimpui.override
==============================================================================
--- trunk/plug-ins/pygimp/gimpui.override	(original)
+++ trunk/plug-ins/pygimp/gimpui.override	Thu Aug 28 19:51:02 2008
@@ -1,4 +1,3 @@
-%%
 headers
 #include <Python.h>
 
@@ -18,6 +17,17 @@
     PyObject *constraint;
     PyObject *user_data;
 } PyGimpConstraintData;
+
+typedef struct {
+    PyObject *sensitivity_func;
+    PyObject *user_data;
+} PyGimpIntSensitivityData;
+
+static void
+pygimp_decref_callback(PyObject* obj) {
+    Py_XDECREF (obj);
+}
+
 %%
 modulename gimpui
 %%
@@ -48,15 +58,23 @@
 import gtk.TreeModel as PyGtkTreeModel_Type
 import gtk.CellRenderer as PyGtkCellRenderer_Type
 import gtk.CellRendererToggle as PyGtkCellRendererToggle_Type
+import gimp.Parasite as PyGimpParasite_Type
 %%
 ignore
   gimp_dialog_add_buttons
+  gimp_int_combo_box_connect
+  gimp_color_profile_combo_box_new
+  gimp_enum_store_new_with_values
+  gimp_int_combo_box_new_array
 %%
 ignore-glob
   *_get_type
   *_valist
   gimp_resolution_*
 %%
+ignore-type
+  GimpIntStoreColumns 
+%%
 override gimp_drawable_combo_box_new kwargs
 static gboolean
 pygimp_drawable_constraint_marshal(gint32 image_id, gint32 drawable_id,
@@ -150,7 +168,8 @@
 %%
 define GimpDrawableComboBox.set_active_drawable kwargs
 static PyObject *
-_wrap_gimp_drawable_combo_box_set_active_drawable(PyGObject *self, PyObject *args, PyObject *kwargs)
+_wrap_gimp_drawable_combo_box_set_active_drawable(PyGObject *self, PyObject *args,
+                                                  PyObject *kwargs)
 {
     PyGimpDrawable *drw;
 
@@ -279,16 +298,17 @@
 %%
 define GimpChannelComboBox.set_active_channel kwargs
 static PyObject *
-_wrap_gimp_channel_combo_box_set_active_channel(PyGObject *self, PyObject *args, PyObject *kwargs)
+_wrap_gimp_channel_combo_box_set_active_channel(PyGObject *self, PyObject *args,
+                                                PyObject *kwargs)
 {
     PyGimpChannel *chn;
 
     static char *kwlist[] = { "channel", NULL };
 
     if (!PyArg_ParseTupleAndKeywords(args, kwargs, 
-                                     "O!:GimpChannelComboBox.set_active_channel",
-                                     kwlist,
-                                     PyGimpChannel_Type, &chn))
+                                    "O!:GimpChannelComboBox.set_active_channel",
+                                    kwlist,
+                                    PyGimpChannel_Type, &chn))
         return NULL;
 
     if (!gimp_int_combo_box_set_active(GIMP_INT_COMBO_BOX(self->obj), chn->ID)) {
@@ -408,7 +428,8 @@
 %%
 define GimpLayerComboBox.set_active_layer kwargs
 static PyObject *
-_wrap_gimp_layer_combo_box_set_active_layer(PyGObject *self, PyObject *args, PyObject *kwargs)
+_wrap_gimp_layer_combo_box_set_active_layer(PyGObject *self, PyObject *args,
+                                            PyObject *kwargs)
 {
     PyGimpLayer *lay;
 
@@ -537,16 +558,17 @@
 %%
 define GimpVectorsComboBox.set_active_vectors kwargs
 static PyObject *
-_wrap_gimp_vectors_combo_box_set_active_vectors(PyGObject *self, PyObject *args, PyObject *kwargs)
+_wrap_gimp_vectors_combo_box_set_active_vectors(PyGObject *self, PyObject *args,
+                                                PyObject *kwargs)
 {
     PyGimpVectors *vect;
 
     static char *kwlist[] = { "vectors", NULL };
 
     if (!PyArg_ParseTupleAndKeywords(args, kwargs, 
-                                     "O!:GimpVectorsComboBox.set_active_vectors",
-                                     kwlist,
-                                     PyGimpVectors_Type, &vect))
+                                   "O!:GimpVectorsComboBox.set_active_vectors",
+                                   kwlist,
+                                   PyGimpVectors_Type, &vect))
         return NULL;
 
     if (!gimp_int_combo_box_set_active(GIMP_INT_COMBO_BOX(self->obj), vect->ID)) {
@@ -657,7 +679,8 @@
 %%
 define GimpImageComboBox.set_active_image kwargs
 static PyObject *
-_wrap_gimp_image_combo_box_set_active_image(PyGObject *self, PyObject *args, PyObject *kwargs)
+_wrap_gimp_image_combo_box_set_active_image(PyGObject *self, PyObject *args,
+                                            PyObject *kwargs)
 {
     PyGimpImage *img;
 
@@ -770,27 +793,6 @@
     if (pyg_flags_get_value(GTK_TYPE_DIALOG_FLAGS, py_flags, (gint *)&flags))
         return -1;
 
-    if (help_func) {
-        if (help_func != Py_None) {
-            if (!PyCallable_Check(help_func)) {
-                PyErr_SetString(PyExc_TypeError, "help_func must be callable");
-                return -1;
-            }
-
-            func = pygimp_help_func_marshal;
-
-            g_object_set_data(self->obj, "pygimp-dialog-help-data", self);
-
-            Py_INCREF(help_func);
-            g_object_set_data_full(self->obj, "pygimp-dialog-help-func",
-                                   help_func, pygimp_help_func_destroy);
-        } else {
-            func = gimp_standard_help_func;
-        }
-    } else {
-        func = gimp_standard_help_func;
-    }
-
     if (py_buttons == Py_None)
         len = 0;
     else if (PyTuple_Check(py_buttons))
@@ -806,6 +808,22 @@
         return -1;
     }
 
+    if (help_func) {
+        if (help_func != Py_None) {
+            if (!PyCallable_Check(help_func)) {
+                PyErr_SetString(PyExc_TypeError, "help_func must be callable");
+                return -1;
+            }
+
+            func = pygimp_help_func_marshal;
+
+       } else {
+            func = gimp_standard_help_func;
+        }
+    } else {
+        func = gimp_standard_help_func;
+    }
+
     pygobject_construct(self,
                         "title",     title,
                         "role",      role,
@@ -820,7 +838,7 @@
         return -1;
     }
 
-    if (parent) {
+   if (parent) {
         if (GTK_IS_WINDOW(parent))
             gtk_window_set_transient_for(GTK_WINDOW(self->obj),
                                          GTK_WINDOW(parent));
@@ -858,6 +876,14 @@
                                PyInt_AsLong(id));
     }
 
+    if (help_func && help_func != Py_None) {
+        g_object_set_data(self->obj, "pygimp-dialog-help-data", self);
+
+        Py_INCREF(help_func);
+        g_object_set_data_full(self->obj, "pygimp-dialog-help-func",
+                               help_func, pygimp_help_func_destroy);
+    }
+
     return 0;
 }
 %%
@@ -932,7 +958,8 @@
 
     if (py_type == NULL || (PyObject*)py_type == Py_None)
        type = GIMP_COLOR_AREA_FLAT;
-    else if (pyg_enum_get_value(GIMP_TYPE_COLOR_AREA_TYPE, py_type, (gint*)&type))
+    else if (pyg_enum_get_value(GIMP_TYPE_COLOR_AREA_TYPE, py_type,
+                                (gint*)&type))
        return -1;
 
     if (pygobject_construct(self,
@@ -1082,7 +1109,9 @@
         }
 
         gimp_int_combo_box_append(GIMP_INT_COMBO_BOX(self->obj),
+                                  GIMP_INT_STORE_LABEL,
                                   PyString_AsString(label),
+                                  GIMP_INT_STORE_VALUE,
                                   PyInt_AsLong(value),
                                   -1);
     }
@@ -1092,6 +1121,89 @@
 %%
 new-constructor GIMP_TYPE_INT_COMBO_BOX
 %%
+override gimp_int_combo_box_set_sensitivity kwargs
+static gboolean
+pygimp_int_combo_box_sensitivity_marshal(gint value, gpointer user_data)
+{
+    PyObject *py_value;
+    PyGimpIntSensitivityData *data;
+    PyObject *ret;
+    gboolean res;
+
+    data = user_data;
+
+    py_value = PyInt_FromLong(value);
+
+    ret = PyObject_CallFunctionObjArgs(data->sensitivity_func, py_value,
+                                       data->user_data, NULL);
+    
+    if (!ret) {
+        PyErr_Print();
+        res = FALSE;
+    } else {
+        res = PyObject_IsTrue(ret);
+        Py_DECREF(ret);
+    }
+
+    Py_DECREF(py_value);
+
+    return res;
+}
+
+static void
+pygimp_int_combo_box_sensitivity_data_destroy(gpointer user_data)
+{
+    PyGimpIntSensitivityData *data;
+    data = user_data;
+
+    Py_DECREF(data->sensitivity_func);
+    Py_XDECREF(data->user_data);
+
+    g_free(data);
+}
+
+static PyObject *
+_wrap_gimp_int_combo_box_set_sensitivity(PyGObject *self, PyObject *args,
+                                         PyObject *kwargs)
+{
+    PyObject *py_sensitivity_func;
+    PyObject *py_user_data = NULL;
+    PyGimpIntSensitivityData *data;
+
+    static char *kwlist[] = { "sensitivity_func", "user_data", NULL };
+
+    if (!PyArg_ParseTupleAndKeywords(args, kwargs, 
+                                     "O|O:GimpIntComboBox.set_sensitivity",
+                                     kwlist, &py_sensitivity_func,
+                                     &py_user_data))
+        return NULL;
+
+    if (!PyCallable_Check(py_sensitivity_func)) {
+        PyErr_SetString(PyExc_TypeError, "first argument must be callable.");
+        return NULL;
+    }
+
+    data = g_new(PyGimpIntSensitivityData, 1);
+
+    data->sensitivity_func = py_sensitivity_func;
+    Py_INCREF(data->sensitivity_func);
+    
+   if (py_user_data == NULL || py_user_data == Py_None)
+        data->user_data = NULL;
+    else {
+       data->user_data = py_user_data;
+       Py_INCREF(data->user_data);
+    }
+
+    gimp_int_combo_box_set_sensitivity(GIMP_INT_COMBO_BOX(self->obj),
+                                pygimp_int_combo_box_sensitivity_marshal,
+                                data,
+                                pygimp_int_combo_box_sensitivity_data_destroy);
+    
+    Py_INCREF(Py_None);
+    return Py_None;
+}
+%%
 override gimp_int_combo_box_get_active noargs
 static PyObject *
 _wrap_gimp_int_combo_box_get_active(PyGObject *self)
@@ -1107,7 +1219,8 @@
 %%
 override gimp_int_combo_box_set_active kwargs
 static PyObject *
-_wrap_gimp_int_combo_box_set_active(PyGObject *self, PyObject *args, PyObject *kwargs)
+_wrap_gimp_int_combo_box_set_active(PyGObject *self, PyObject *args,
+                                    PyObject *kwargs)
 {
     int value;
 
@@ -1129,58 +1242,155 @@
     return Py_None;
 }
 %%
-override gimp_browser_add_search_types kwargs
+override gimp_int_combo_box_append kwargs
 static PyObject *
-_wrap_gimp_browser_add_search_types(PyGObject *self, PyObject *args, PyObject *kwargs)
+_wrap_gimp_int_combo_box_append(PyGObject *self, PyObject *args,
+                                PyObject *kwargs)
 {
-    PyObject *py_types = NULL;
-    int len, i;
+    PyObject *py_items;
+    int i, len;
 
-    static char *kwlist[] = { "search_types", NULL };
+    static char *kwlist[] = { "items", NULL };
 
     if (!PyArg_ParseTupleAndKeywords(args, kwargs,
-                                     "O:GimpBrowser.add_search_types",
+                                     "O:gimpui.IntComboBox.append",
                                      kwlist,
-                                     &py_types))
+                                     &py_items))
+        return NULL; 
+
+    if (py_items == NULL || py_items == Py_None)
+        len = 0;
+    else if (PyTuple_Check(py_items))
+        len = PyTuple_Size(py_items);
+    else {
+        PyErr_SetString(PyExc_TypeError,
+                        "items must be a tuple containing label/value pairs "
+                        "or None");
+        return NULL;
+    }
+
+    if (len % 2) {
+        PyErr_SetString(PyExc_RuntimeError,
+                        "items tuple must contain label/value pairs");
         return NULL;
+    }
+
+    for (i = 0; i < len; i += 2) {
+        PyObject *label = PyTuple_GetItem(py_items, i);
+        PyObject *value = PyTuple_GetItem(py_items, i + 1);
+
+        if (!PyString_Check(label)) {
+            PyErr_SetString(PyExc_RuntimeError,
+                            "first member of each label/value pair "
+                            "must be a string");
+            return NULL;
+        }
+
+        if (!PyInt_Check(value)) {
+            PyErr_SetString(PyExc_RuntimeError,
+                            "second member of each label/value pair "
+                            "must be a number");
+            return NULL;
+        }
+
+        gimp_int_combo_box_append(GIMP_INT_COMBO_BOX(self->obj),
+                                  GIMP_INT_STORE_LABEL,
+                                  PyString_AsString(label),
+                                  GIMP_INT_STORE_VALUE,
+                                  PyInt_AsLong(value),
+                                  -1);
+    }
+    
+    Py_INCREF(Py_None);
+    return Py_None;
+}
+%%
+override gimp_int_combo_box_prepend kwargs
+static PyObject *
+_wrap_gimp_int_combo_box_prepend(PyGObject *self, PyObject *args,
+                                 PyObject *kwargs)
+{
+    PyObject *py_items;
+    int i, len;
+
+    static char *kwlist[] = { "items", NULL };
 
-    if (PyTuple_Check(py_types))
-        len = PyTuple_Size(py_types);
+    if (!PyArg_ParseTupleAndKeywords(args, kwargs,
+                                     "O:gimpui.IntComboBox.prepend",
+                                     kwlist,
+                                     &py_items))
+        return NULL; 
+
+    if (py_items == NULL || py_items == Py_None)
+        len = 0;
+    else if (PyTuple_Check(py_items))
+        len = PyTuple_Size(py_items);
     else {
         PyErr_SetString(PyExc_TypeError,
-                        "search_types must be a tuple containing label/id "
-                        "pairs");
+                        "items must be a tuple containing label/value pairs "
+                        "or None");
         return NULL;
     }
 
     if (len % 2) {
         PyErr_SetString(PyExc_RuntimeError,
-                        "search_types tuple must contain label/id pairs");
+                        "items tuple must contain label/value pairs");
         return NULL;
     }
 
     for (i = 0; i < len; i += 2) {
-        PyObject *label = PyTuple_GetItem(py_types, i);
-        PyObject *id = PyTuple_GetItem(py_types, i + 1);
+        PyObject *label = PyTuple_GetItem(py_items, i);
+        PyObject *value = PyTuple_GetItem(py_items, i + 1);
 
         if (!PyString_Check(label)) {
             PyErr_SetString(PyExc_RuntimeError,
-                            "first member of each label/id pair "
+                            "first member of each label/value pair "
                             "must be a string");
             return NULL;
         }
 
-        if (!PyInt_Check(id)) {
+        if (!PyInt_Check(value)) {
             PyErr_SetString(PyExc_RuntimeError,
-                            "second member of each label/id pair "
+                            "second member of each label/value pair "
                             "must be a number");
             return NULL;
         }
 
-        gimp_browser_add_search_types(GIMP_BROWSER(self->obj),
-                                      PyString_AsString(label),
-                                      PyInt_AsLong(id),
-                                      NULL);
+        gimp_int_combo_box_prepend(GIMP_INT_COMBO_BOX(self->obj),
+                                  GIMP_INT_STORE_LABEL,
+                                  PyString_AsString(label),
+                                  GIMP_INT_STORE_VALUE,
+                                  PyInt_AsLong(value),
+                                  -1);
+    }
+    
+    Py_INCREF(Py_None);
+    return Py_None;
+}
+%%
+override gimp_browser_add_search_types args
+static PyObject *
+_wrap_gimp_browser_add_search_types(PyGObject *self, PyObject *args)
+{
+    GimpBrowser *browser;
+    int len, i;
+    PyObject *element;
+    gchar *label;
+    gint id;
+
+    browser = GIMP_BROWSER(self->obj);
+
+    len = PyTuple_Size(args);
+
+    for (i = 0; i < len; ++i) {
+        element = PyTuple_GetItem(args, i);
+        if (!PyTuple_Check(element)) {
+            PyErr_SetString(PyExc_TypeError, "GimpBrowser.add_search_types: Arguments must be tuples");
+            return NULL;
+        }
+        if (!PyArg_ParseTuple(element, "si",  &label, &id))
+            return NULL;
+        gimp_browser_add_search_types(browser, label, id, NULL);
     }
 
     Py_INCREF(Py_None);
@@ -1189,7 +1399,8 @@
 %%
 override gimp_proc_browser_dialog_new kwargs
 static int
-_wrap_gimp_proc_browser_dialog_new(PyGObject *self, PyObject *args, PyObject *kwargs)
+_wrap_gimp_proc_browser_dialog_new(PyGObject *self, PyObject *args,
+                                   PyObject *kwargs)
 {
     gchar *title, *role;
     PyObject *py_buttons = Py_None;
@@ -1208,6 +1419,23 @@
                                      &py_buttons))
         return -1;
 
+    if (py_buttons == Py_None)
+        len = 0;
+    else if (PyTuple_Check(py_buttons))
+        len = PyTuple_Size(py_buttons);
+    else {
+        PyErr_SetString(PyExc_TypeError,
+                        "buttons must be a tuple containing text/response "
+                        "pairs or None");
+        return -1;
+    }
+
+    if (len % 2) {
+        PyErr_SetString(PyExc_RuntimeError,
+                        "buttons tuple must contain text/response id pairs");
+        return -1;
+    }
+
     if (help_func) {
         if (help_func != Py_None) {
             if (!PyCallable_Check(help_func)) {
@@ -1217,33 +1445,13 @@
 
             func = pygimp_help_func_marshal;
 
-            g_object_set_data(self->obj, "pygimp-dialog-help-data", self);
-
-            Py_INCREF(help_func);
-            g_object_set_data_full(self->obj, "pygimp-dialog-help-func",
-                                   help_func, pygimp_help_func_destroy);
-        } else {
+       } else {
             func = gimp_standard_help_func;
         }
     } else {
         func = gimp_standard_help_func;
     }
 
-    if (py_buttons == Py_None)
-        len = 0;
-    else if (PyTuple_Check(py_buttons))
-        len = PyTuple_Size(py_buttons);
-    else {
-        PyErr_SetString(PyExc_TypeError, "buttons must be a tuple containing text/response pairs or None");
-        return -1;
-    }
-
-    if (len % 2) {
-        PyErr_SetString(PyExc_RuntimeError,
-                        "buttons tuple must contain text/response id pairs");
-        return -1;
-    }
-
     pygobject_construct(self,
                         "title",     title,
                         "role",      role,
@@ -1281,9 +1489,491 @@
                                PyInt_AsLong(id));
     }
 
+    if (help_func && help_func != Py_None) {
+        g_object_set_data(self->obj, "pygimp-dialog-help-data", self);
+
+        Py_INCREF(help_func);
+        g_object_set_data_full(self->obj, "pygimp-dialog-help-func",
+                               help_func, pygimp_help_func_destroy);
+    }
+
     g_signal_emit_by_name(GIMP_PROC_BROWSER_DIALOG(self->obj)->browser,
                           "search", "", 0, self->obj);
     return 0;
 }
 %%
 new-constructor GIMP_TYPE_PROC_BROWSER_DIALOG
+%%
+override gimp_number_pair_entry_get_values noargs
+static PyObject *
+_wrap_gimp_number_pair_entry_get_values(PyGObject *self)
+{
+    gdouble left, right;
+
+    gimp_number_pair_entry_get_values(GIMP_NUMBER_PAIR_ENTRY(self->obj),
+                                      &left, &right);
+
+    return Py_BuildValue("(dd)", left, right);   
+}
+%%
+override gimp_number_pair_entry_get_default_values noargs
+static PyObject *
+_wrap_gimp_number_pair_entry_get_default_values(PyGObject *self)
+{
+    gdouble left, right;
+
+    gimp_number_pair_entry_get_default_values(
+                                             GIMP_NUMBER_PAIR_ENTRY(self->obj),
+                                             &left, &right);
+
+    return Py_BuildValue("(dd)", left, right);
+}
+%%
+override gimp_number_pair_entry_get_aspect noargs
+static PyObject *
+_wrap_gimp_number_pair_entry_get_aspect(PyGObject *self)
+{
+    GimpAspectType aspect;
+
+    aspect =
+          gimp_number_pair_entry_get_aspect(GIMP_NUMBER_PAIR_ENTRY(self->obj));
+
+    return pyg_enum_from_gtype(GIMP_TYPE_ASPECT_TYPE, aspect);
+}
+%%
+override gimp_number_pair_entry_set_aspect kwargs
+static PyObject *
+_wrap_gimp_number_pair_entry_set_aspect(PyGObject *self, PyObject *args,
+                                        PyObject *kwargs)
+{
+    PyObject *py_aspect;
+    GimpAspectType aspect;
+
+    static char *kwlist[] = {"aspect", NULL};
+
+    if (!PyArg_ParseTupleAndKeywords(args, kwargs,
+                                    "O:GimpNumberPairEntry.set_aspect",
+                                    kwlist, &py_aspect))
+        return NULL;
+
+    if (pyg_enum_get_value(GIMP_TYPE_ASPECT_TYPE, py_aspect, (gint*)&aspect))
+    {
+        Py_XDECREF(py_aspect);
+        return NULL;
+    }
+
+    gimp_number_pair_entry_set_aspect(GIMP_NUMBER_PAIR_ENTRY(self->obj),
+                                      aspect);
+
+    Py_DECREF(py_aspect);
+
+    Py_INCREF(Py_None);
+    return Py_None;
+}
+%%
+override gimp_page_selector_get_selected_pages noargs
+static PyObject *
+_wrap_gimp_page_selector_get_selected_pages(PyGObject *self)
+{
+    gint *selected_pages;
+    gint n_selected_pages;
+    PyObject *py_selected_pages;
+    int i;
+
+    selected_pages = gimp_page_selector_get_selected_pages(
+                                                GIMP_PAGE_SELECTOR (self->obj),
+                                                &n_selected_pages);
+    
+    py_selected_pages = PyTuple_New(n_selected_pages);
+    for (i = 0; i < n_selected_pages; ++i)
+        PyTuple_SetItem(py_selected_pages, i,
+                        PyInt_FromLong(selected_pages[i]));
+
+    g_free(selected_pages);
+
+    return py_selected_pages;
+}
+%%
+override gimp_preview_get_position noargs
+static PyObject *
+_wrap_gimp_preview_get_position(PyGObject *self)
+{
+    gint x;
+    gint y;
+  
+    gimp_preview_get_position(GIMP_PREVIEW(self->obj), &x, &y);
+
+    return Py_BuildValue("(ii)", x, y);
+}
+%%
+override gimp_preview_get_size noargs
+static PyObject *
+_wrap_gimp_preview_get_size(PyGObject *self)
+{
+    gint width;
+    gint height;
+  
+    gimp_preview_get_size(GIMP_PREVIEW(self->obj), &width, &height);
+
+    return Py_BuildValue("(ii)", width, height);
+}
+%%
+override gimp_preview_transform kwargs
+static PyObject *
+_wrap_gimp_preview_transform(PyGObject *self, PyObject *args, PyObject *kwargs)
+{
+    gint src_x;
+    gint src_y;
+    gint dest_x;
+    gint dest_y;
+
+    static char *kwlist[] = {"x", "y", NULL};
+    
+    if (!PyArg_ParseTupleAndKeywords(args, kwargs, "ii:GimpPreview.transform",
+                                     kwlist, &src_x, &src_y))
+        return NULL;
+
+    gimp_preview_transform(GIMP_PREVIEW(self->obj), src_x, src_y, &dest_x,
+                           &dest_y);
+
+    return Py_BuildValue("(ii)", dest_x, dest_y);
+}
+%%
+override gimp_preview_untransform kwargs
+static PyObject *
+_wrap_gimp_preview_untransform(PyGObject *self, PyObject *args,
+                               PyObject *kwargs)
+{
+    gint src_x;
+    gint src_y;
+    gint dest_x;
+    gint dest_y;
+
+    static char *kwlist[] = {"x", "y", NULL};
+    
+    if (!PyArg_ParseTupleAndKeywords(args, kwargs,
+                                     "ii:GimpPreview.untransform",
+                                     kwlist, &src_x, &src_y))
+        return NULL;
+
+    gimp_preview_untransform(GIMP_PREVIEW(self->obj), src_x, src_y, &dest_x,
+                             &dest_y);
+
+    return Py_BuildValue("(ii)", dest_x, dest_y);
+}
+%%
+override gimp_zoom_model_get_fraction noargs
+static PyObject *
+_wrap_gimp_zoom_model_get_fraction(PyGObject *self)
+{
+    gint numerator;
+    gint denominator;
+
+    gimp_zoom_model_get_fraction(GIMP_ZOOM_MODEL(self->obj), &numerator,
+                                 &denominator);
+
+    return Py_BuildValue("(ii)", numerator, denominator);
+}
+%%
+override gimp_drawable_preview_get_drawable noargs
+static PyObject *
+_wrap_gimp_drawable_preview_get_drawable(PyGObject *self)
+{
+    PyObject *drawable;
+    
+    drawable = g_object_get_data(self->obj, 
+                                 "pygimp-drawable-preview-pydrawable");
+    Py_INCREF(drawable);
+    return drawable;
+}
+%%
+override gimp_zoom_preview_get_drawable noargs
+static PyObject *
+_wrap_gimp_zoom_preview_get_drawable(PyGObject *self)
+{
+    PyObject *drawable;
+    
+    drawable = g_object_get_data(self->obj,
+                                 "pygimp-zoom-preview-pydrawable");
+    Py_INCREF(drawable);
+    return drawable;
+}
+%%
+override gimp_drawable_preview_draw_region kwargs
+static PyObject *
+_wrap_gimp_drawable_preview_draw_region(PyGObject *self, PyObject *args,
+                                        PyObject *kwargs)
+{
+/*    PyGimpPixelRgn *pypixelrgn;
+
+    static char *kwlist[] = {"drawable", NULL};
+
+    if (!PyArg_ParseTupleAndKeywords(args, kwargs,
+                                    "O!:GimpDrawablePreview.draw_region",
+                                    kwlist, PyGimpPixelRgn_Type, &pypixelrgn))
+        return NULL;
+
+    gimp_drawable_preview_draw_region(GIMP_DRAWABLE_PREVIEW(self->obj),
+                                      &pypixelrgn->pr);
+*/
+    Py_INCREF(Py_None);
+    return Py_None;
+}
+%%
+override gimp_int_store_lookup_by_value
+static PyObject *
+_wrap_gimp_int_store_lookup_by_value(PyGObject *self, PyObject *args,
+                                     PyObject *kwargs)
+{
+    static char *kwlist[] = { "value", NULL };
+    int value, ret;
+    GtkTreeIter iter;
+
+    if (!PyArg_ParseTupleAndKeywords(args, kwargs,
+                               "i:GimpIntStore.gimp_int_store_lookup_by_value",
+                               kwlist, &value))
+        return NULL;
+
+    ret = gimp_int_store_lookup_by_value(GTK_TREE_MODEL(self->obj), value,
+                                         &iter);
+    if (ret)
+        pyg_boxed_new(GTK_TYPE_TREE_ITER, &iter, TRUE, TRUE);
+
+    Py_INCREF(Py_None);
+    return Py_None;
+}
+%%
+override gimp_memsize_entry_new
+static int
+_wrap_gimp_memsize_entry_new(PyGObject *self, PyObject *args, PyObject *kwargs)
+{
+    static char *kwlist[] = { "value", "lower", "upper", NULL };
+    guint64 value, lower, upper;
+
+    if (!PyArg_ParseTupleAndKeywords(args, kwargs,
+                                     "LLL:GimpMemsizeEntry.__init__",
+                                     kwlist, &value, &lower, &upper))
+        return -1;
+    
+    self->obj = (GObject *)gimp_memsize_entry_new(value, lower, upper);
+
+    if (!self->obj) {
+        PyErr_SetString(PyExc_RuntimeError,
+                        "could not create GimpMemsizeEntry object");
+        return -1;
+    }
+    pygobject_register_wrapper((PyObject *)self);
+    return 0;
+}
+%%
+override gimp_memsize_entry_set_value
+static PyObject *
+_wrap_gimp_memsize_entry_set_value(PyGObject *self, PyObject *args,
+                                   PyObject *kwargs)
+{
+    static char *kwlist[] = { "value", NULL };
+    guint64 value;
+
+    if (!PyArg_ParseTupleAndKeywords(args, kwargs, 
+                                     "L:GimpMemsizeEntry.set_value",
+                                     kwlist, &value))
+        return NULL;
+
+    gimp_memsize_entry_set_value(GIMP_MEMSIZE_ENTRY(self->obj), value);
+
+    Py_INCREF(Py_None);
+    return Py_None;
+}
+%%
+override gimp_color_area_get_color noargs
+static PyObject *
+_wrap_gimp_color_area_get_color(PyGObject *self)
+{
+    GimpRGB rgb;
+
+    gimp_color_area_get_color(GIMP_COLOR_AREA(self->obj), &rgb);
+
+    return pygimp_rgb_new(&rgb);
+}
+%%
+override gimp_color_hex_entry_get_color noargs
+static PyObject *
+_wrap_gimp_color_hex_entry_get_color(PyGObject *self)
+{
+    GimpRGB rgb;
+
+    gimp_color_hex_entry_get_color(GIMP_COLOR_HEX_ENTRY(self->obj), &rgb);
+
+    return pygimp_rgb_new(&rgb);
+}
+%%
+override gimp_color_notebook_get_color noargs
+static PyObject *
+_wrap_gimp_color_notebook_get_color(PyGObject *self)
+{
+    GimpRGB rgb;
+
+    gimp_color_notebook_get_color(GIMP_COLOR_NOTEBOOK(self->obj), &rgb);
+
+    return pygimp_rgb_new(&rgb);
+}
+%%
+override gimp_color_selection_get_color noargs
+static PyObject *
+_wrap_gimp_color_selection_get_color(PyGObject *self)
+{
+    GimpRGB rgb;
+
+    gimp_color_selection_get_color(GIMP_COLOR_SELECTION(self->obj), &rgb);
+
+    return pygimp_rgb_new(&rgb);
+}
+%%
+override gimp_color_selection_get_old_color noargs
+static PyObject *
+_wrap_gimp_color_selection_get_old_color(PyGObject *self)
+{
+    GimpRGB rgb;
+
+    gimp_color_selection_get_old_color(GIMP_COLOR_SELECTION(self->obj), &rgb);
+
+    return pygimp_rgb_new(&rgb);
+}
+%%
+override gimp_enum_store_new kwargs
+static int
+_wrap_gimp_enum_store_new(PyGObject *self, PyObject *args, PyObject *kwargs)
+{
+    static char *kwlist[] = { "enum_type", "minimum", "maximum", NULL };
+    PyObject *py_enum_type = NULL;
+    PyObject *py_minimum = NULL;
+    PyObject *py_maximum = NULL;
+    GType enum_type;
+    GEnumClass *enum_class;
+    gint minimum, maximum;
+
+    if (!PyArg_ParseTupleAndKeywords(args, kwargs,
+                                     "O|O!O!:GimpEnumStore.__init__", kwlist,
+                                      &py_enum_type, &PyInt_Type, &py_minimum,
+                                      &PyInt_Type, &py_maximum))
+        return -1;
+    if ((enum_type = pyg_type_from_object(py_enum_type)) == 0)
+        return -1;
+
+    enum_class = g_type_class_ref(enum_type);
+
+    if (py_minimum == NULL)
+        minimum = enum_class->minimum;
+    else
+        minimum = PyInt_AsLong(py_minimum);
+    
+    if (py_maximum == NULL)
+        maximum = enum_class->maximum;
+    else
+        maximum = PyInt_AsLong(py_maximum);
+    
+    g_type_class_unref(enum_class);
+
+    self->obj = (GObject *)gimp_enum_store_new_with_range(enum_type, minimum, maximum);
+
+    if (!self->obj) {
+        PyErr_SetString(PyExc_RuntimeError, "could not create GimpEnumStore object");
+        return -1;
+    }
+    pygobject_register_wrapper((PyObject *)self);
+    return 0;
+}
+%%
+override gimp_zoom_preview_new_with_model kwargs
+static int
+_wrap_gimp_zoom_preview_new_with_model(PyGObject *self, PyObject *args, PyObject *kwargs)
+{
+    static char *kwlist[] = { "drawable", "model", NULL };
+    PyGimpDrawable *py_drawable;
+    PyGObject *py_zoom_model = NULL;
+    GimpZoomModel *zoom_model;
+
+    if (!PyArg_ParseTupleAndKeywords(args, kwargs,
+                                     "O!|O!:GimpZoomPreview.__init__", kwlist,
+                                     PyGimpDrawable_Type, &py_drawable,
+                                     &PyGimpZoomModel_Type, &py_zoom_model))
+        return -1;
+
+    if (py_zoom_model)
+        zoom_model = (GimpZoomModel*)py_zoom_model->obj;
+    else
+        zoom_model = NULL;
+
+    if (!py_drawable->drawable)
+        py_drawable->drawable = gimp_drawable_get(py_drawable->ID);
+
+    if (pygobject_construct(self, "drawable", py_drawable->drawable, "model", zoom_model, NULL))
+        return -1;
+
+    g_object_set_data_full(self->obj, "pygimp-zoom-preview-pydrawable",
+                           py_drawable,
+                           (GDestroyNotify)pygimp_decref_callback);
+
+    Py_INCREF(py_drawable);
+
+    return 0;
+}
+%%
+new-constructor GIMP_TYPE_ZOOM_PREVIEW
+%%
+override gimp_aspect_preview_new kwargs
+static int
+_wrap_gimp_aspect_preview_new(PyGObject *self, PyObject *args, PyObject *kwargs)
+{
+    static char *kwlist[] = { "drawable", NULL };
+    PyGimpDrawable *py_drawable;
+
+    if (!PyArg_ParseTupleAndKeywords(args, kwargs,
+                                     "O!|:GimpAspectPreview.__init__", kwlist,
+                                     PyGimpDrawable_Type, &py_drawable))
+        return -1;
+
+    if (!py_drawable->drawable)
+        py_drawable->drawable = gimp_drawable_get(py_drawable->ID);
+    
+    if (pygobject_construct(self, "drawable", py_drawable->drawable, NULL))
+        return -1;
+    
+    g_signal_connect_swapped(self->obj, "destroy",
+                             (GCallback)pygimp_decref_callback, py_drawable);
+    Py_INCREF(py_drawable);
+
+    return 0;
+}
+%%
+new-constructor GIMP_TYPE_ASPECT_PREVIEW
+%%
+override gimp_drawable_preview_new kwargs
+static int
+_wrap_gimp_drawable_preview_new(PyGObject *self, PyObject *args, PyObject *kwargs)
+{
+    static char *kwlist[] = { "drawable", NULL };
+    PyGimpDrawable *py_drawable;
+
+    if (!PyArg_ParseTupleAndKeywords(args, kwargs,
+                                     "O!|:GimpDrawablePreview.__init__", kwlist,
+                                     PyGimpDrawable_Type, &py_drawable))
+        return -1;
+
+    if (!py_drawable->drawable)
+        py_drawable->drawable = gimp_drawable_get(py_drawable->ID);
+  
+    if (pygobject_construct(self, "drawable", py_drawable->drawable, NULL))
+        return -1;
+
+    g_object_set_data_full(self->obj, "pygimp-drawable-preview-pydrawable",
+                           py_drawable, 
+                           (GDestroyNotify)pygimp_decref_callback);
+
+    Py_INCREF(py_drawable);
+
+    return 0;
+}
+
+%%
+new-constructor GIMP_TYPE_DRAWABLE_PREVIEW



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