gimp r25951 - in branches/soc-2008-python: libgimpwidgets plug-ins/pygimp



Author: larsc
Date: Sun Jun 15 01:50:53 2008
New Revision: 25951
URL: http://svn.gnome.org/viewvc/gimp?rev=25951&view=rev

Log:
2008-06-15  Lars-Peter Clausen  <lars metafoo de>

	* plug-ins/pygimp/gimpui.defs: Regenerated file
	* plug-ins/pygimp/gimpui.defs:
		Fixed or added the following wrapper functions:
		gimp_browser_add_search_types
	gimp_preview_transform
	gimp_preview_untransform
	gimp_int_store_lookup_by_value
	gimp_memsize_entry_new
	gimp_memsize_entry_set_value
	gimp_color_area_get_color
	gimp_color_hex_entry_get_color
	gimp_color_notebook_get_color
	gimp_color_selection_get_color
	gimp_color_selection_get_old_color
	gimp_enum_store_new
	* libgimpwidgets/gimpbrowser.c  (gimp_browser_add_search_types):
	Fixed usage of gimp_int_combo_box_append
	* libgimwidgets/gimppatheditor.c: Changed constructor to use properties
	* plug-ins/pygimp/testui{.py}: Added a script that calls every wrapped
	method to ensure that it does not crash and accepts the expected
	arguments.
	* plug-ins/pygimp/gimpmodule.c:
	* plug-ins/pygimp/pygimp-api.h:
	* plug-ins/pygimp/pygimp.h:
	Moved PyGimpPixelRgn into the API struct


Added:
   branches/soc-2008-python/plug-ins/pygimp/testui   (contents, props changed)
   branches/soc-2008-python/plug-ins/pygimp/testui.py
Modified:
   branches/soc-2008-python/libgimpwidgets/gimpbrowser.c
   branches/soc-2008-python/libgimpwidgets/gimppatheditor.c
   branches/soc-2008-python/plug-ins/pygimp/gimpmodule.c
   branches/soc-2008-python/plug-ins/pygimp/gimpui.defs
   branches/soc-2008-python/plug-ins/pygimp/gimpui.override
   branches/soc-2008-python/plug-ins/pygimp/pygimp-api.h
   branches/soc-2008-python/plug-ins/pygimp/pygimp.h

Modified: branches/soc-2008-python/libgimpwidgets/gimpbrowser.c
==============================================================================
--- branches/soc-2008-python/libgimpwidgets/gimpbrowser.c	(original)
+++ branches/soc-2008-python/libgimpwidgets/gimpbrowser.c	Sun Jun 15 01:50:53 2008
@@ -223,8 +223,9 @@
   else
     {
       gimp_int_combo_box_append (GIMP_INT_COMBO_BOX (browser->search_type_combo),
-                                 first_type_label, first_type_id,
-                                 NULL);
+                                 GIMP_INT_STORE_LABEL, first_type_label,
+                                 GIMP_INT_STORE_VALUE, first_type_id,
+                                 -1);
     }
 }
 

Modified: branches/soc-2008-python/libgimpwidgets/gimppatheditor.c
==============================================================================
--- branches/soc-2008-python/libgimpwidgets/gimppatheditor.c	(original)
+++ branches/soc-2008-python/libgimpwidgets/gimppatheditor.c	Sun Jun 15 01:50:53 2008
@@ -53,6 +53,12 @@
   NUM_COLUMNS
 };
 
+enum
+{
+    PROP_0,
+    PROP_TITLE,
+    PROP_PATH
+};
 
 static void   gimp_path_editor_new_clicked        (GtkWidget           *widget,
                                                    GimpPathEditor      *editor);
@@ -67,6 +73,14 @@
 static void   gimp_path_editor_writable_toggled   (GtkCellRendererToggle *toggle,
                                                    gchar               *path_str,
                                                    GimpPathEditor      *editor);
+static void   gimp_path_editor_set_property       (GObject      *object,
+                                                   guint         property_id,
+                                                   const GValue *value,
+                                                   GParamSpec   *pspec);
+static void   gimp_path_editor_get_property       (GObject      *object,
+                                                   guint         property_id,
+                                                   GValue       *value,
+                                                   GParamSpec   *pspec);
 
 
 G_DEFINE_TYPE (GimpPathEditor, gimp_path_editor, GTK_TYPE_VBOX)
@@ -79,6 +93,11 @@
 static void
 gimp_path_editor_class_init (GimpPathEditorClass *klass)
 {
+  GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
+
+  gobject_class->set_property = gimp_path_editor_set_property;
+  gobject_class->get_property = gimp_path_editor_get_property;
+  
   /**
    * GimpPathEditor::path-changed:
    *
@@ -110,6 +129,17 @@
                   g_cclosure_marshal_VOID__VOID,
                   G_TYPE_NONE, 0);
 
+
+  g_object_class_install_property (gobject_class, PROP_TITLE,
+                                  g_param_spec_string ("title", NULL, NULL, "",
+                                                      G_PARAM_CONSTRUCT_ONLY |
+                                                      G_PARAM_WRITABLE));
+  g_object_class_install_property (gobject_class, PROP_PATH,
+                                   g_param_spec_string ("path", NULL, NULL, "",
+                                                        G_PARAM_READWRITE |
+                                                        G_PARAM_CONSTRUCT));
+
+
   klass->path_changed     = NULL;
   klass->writable_changed = NULL;
 }
@@ -252,26 +282,8 @@
 gimp_path_editor_new (const gchar *title,
                       const gchar *path)
 {
-  GimpPathEditor *editor;
-
-  g_return_val_if_fail (title != NULL, NULL);
-
-  editor = g_object_new (GIMP_TYPE_PATH_EDITOR, NULL);
-
-  editor->file_entry = gimp_file_entry_new (title, "", TRUE, TRUE);
-  gtk_widget_set_sensitive (editor->file_entry, FALSE);
-  gtk_box_pack_start (GTK_BOX (editor->upper_hbox), editor->file_entry,
-                      TRUE, TRUE, 0);
-  gtk_widget_show (editor->file_entry);
-
-  g_signal_connect (editor->file_entry, "filename-changed",
-                    G_CALLBACK (gimp_path_editor_file_entry_changed),
-                    editor);
-
-  if (path)
-    gimp_path_editor_set_path (editor, path);
+  return g_object_new (GIMP_TYPE_PATH_EDITOR, "title", title, "path", path, NULL);
 
-  return GTK_WIDGET (editor);
 }
 
 /**
@@ -827,3 +839,54 @@
 
   gtk_tree_path_free (path);
 }
+
+static void
+gimp_path_editor_get_property (GObject    *object,
+                              guint       property_id,
+                              GValue     *value,
+                              GParamSpec *pspec)
+{
+  GimpPathEditor *editor = GIMP_PATH_EDITOR (object);
+
+  switch (property_id)
+    {
+    case PROP_PATH:
+        g_value_take_string (value, gimp_path_editor_get_path (editor));
+      break;
+
+    default:
+        G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
+      break;
+    }
+}
+
+static void
+gimp_path_editor_set_property (GObject      *object,
+                              guint         property_id,
+                              const GValue *value,
+                              GParamSpec   *pspec)
+{
+  GimpPathEditor *editor = GIMP_PATH_EDITOR (object);
+
+  switch (property_id)
+    {
+    case PROP_TITLE:
+      editor->file_entry = gimp_file_entry_new (g_value_get_string (value), "", TRUE, TRUE);
+      gtk_widget_set_sensitive (editor->file_entry, FALSE);
+      gtk_box_pack_start (GTK_BOX (editor->upper_hbox), editor->file_entry,
+                          TRUE, TRUE, 0);
+      gtk_widget_show (editor->file_entry);
+
+      g_signal_connect (editor->file_entry, "filename-changed",
+                        G_CALLBACK (gimp_path_editor_file_entry_changed),
+                        editor);
+
+      break;
+    case PROP_PATH:
+        gimp_path_editor_set_path(editor, g_value_get_string (value));
+      break;
+    default:
+        G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
+      break;
+    }
+}

Modified: branches/soc-2008-python/plug-ins/pygimp/gimpmodule.c
==============================================================================
--- branches/soc-2008-python/plug-ins/pygimp/gimpmodule.c	(original)
+++ branches/soc-2008-python/plug-ins/pygimp/gimpmodule.c	Sun Jun 15 01:50:53 2008
@@ -1775,6 +1775,8 @@
     pygimp_channel_new,
     &PyGimpVectors_Type,
     pygimp_vectors_new,
+    &PyGimpPixelRgn_Type,
+    pygimp_pixel_rgn_new
 };
 
 

Modified: branches/soc-2008-python/plug-ins/pygimp/gimpui.defs
==============================================================================
--- branches/soc-2008-python/plug-ins/pygimp/gimpui.defs	(original)
+++ branches/soc-2008-python/plug-ins/pygimp/gimpui.defs	Sun Jun 15 01:50:53 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")
@@ -119,13 +133,6 @@
   (gtype-id "GIMP_TYPE_FRAME")
 )
 
-(define-object HintBox
-  (in-module "Gimp")
-  (parent "GtkHBox")
-  (c-name "GimpHintBox")
-  (gtype-id "GIMP_TYPE_HINT_BOX")
-)
-
 (define-object IntComboBox
   (in-module "Gimp")
   (parent "GtkComboBox")
@@ -133,6 +140,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 +154,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 +182,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 +196,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 +329,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 +343,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,50 +364,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")
-)
-
-(define-object VectorsComboBox
-  (in-module "Gimp")
-  (parent "GimpIntComboBox")
-  (c-name "GimpVectorsComboBox")
-  (gtype-id "GIMP_TYPE_VECTORS_COMBO_BOX")
-)
+;; Enumerations and flags ...
 
-(define-object ImageComboBox
+(define-enum IntStoreColumns
   (in-module "Gimp")
-  (parent "GimpIntComboBox")
-  (c-name "GimpImageComboBox")
-  (gtype-id "GIMP_TYPE_IMAGE_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 NumberPairEntry
+(define-enum AspectType
   (in-module "Gimp")
-  (parent "GtkEntry")
-  (c-name "GimpNumberPairEntry")
-  (gtype-id "GIMP_TYPE_NUMBER_PAIR_ENTRY")
+  (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")
@@ -427,7 +466,7 @@
 )
 
 
-;; From ../../libgimpwidgets/gimpbrowser.h
+;; From gimpbrowser.h
 
 (define-function gimp_browser_get_type
   (c-name "gimp_browser_get_type")
@@ -471,7 +510,7 @@
 
 
 
-;; From ../../libgimpwidgets/gimpbutton.h
+;; From gimpbutton.h
 
 (define-function gimp_button_get_type
   (c-name "gimp_button_get_type")
@@ -495,7 +534,7 @@
 
 
 
-;; From ../../libgimpwidgets/gimpcellrenderercolor.h
+;; From gimpcellrenderercolor.h
 
 (define-function gimp_cell_renderer_color_get_type
   (c-name "gimp_cell_renderer_color_get_type")
@@ -510,7 +549,7 @@
 
 
 
-;; From ../../libgimpwidgets/gimpcellrenderertoggle.h
+;; From gimpcellrenderertoggle.h
 
 (define-function gimp_cell_renderer_toggle_get_type
   (c-name "gimp_cell_renderer_toggle_get_type")
@@ -522,7 +561,7 @@
   (is-constructor-of "GimpCellRendererToggle")
   (return-type "GtkCellRenderer*")
   (properties
-    '("stock-id" (argname "stock_id") (optional))
+    '("stock-id", (argname "stock_id") (optional))
   )
 )
 
@@ -538,7 +577,7 @@
 
 
 
-;; From ../../libgimpwidgets/gimpchainbutton.h
+;; From gimpchainbutton.h
 
 (define-function gimp_chain_button_get_type
   (c-name "gimp_chain_button_get_type")
@@ -571,7 +610,7 @@
 
 
 
-;; From ../../libgimpwidgets/gimpcolorarea.h
+;; From gimpcolorarea.h
 
 (define-function gimp_color_area_get_type
   (c-name "gimp_color_area_get_type")
@@ -583,8 +622,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))
   )
 )
@@ -633,7 +672,7 @@
 
 
 
-;; From ../../libgimpwidgets/gimpcolorbutton.h
+;; From gimpcolorbutton.h
 
 (define-function gimp_color_button_get_type
   (c-name "gimp_color_button_get_type")
@@ -703,13 +742,22 @@
 
 
 
-;; From ../../libgimpwidgets/gimpcolordisplay.h
+;; From gimpcolordisplay.h
 
 (define-function gimp_color_display_get_type
   (c-name "gimp_color_display_get_type")
   (return-type "GType")
 )
 
+(define-function gimp_color_display_new
+  (c-name "gimp_color_display_new")
+  (is-constructor-of "GimpColorDisplay")
+  (return-type "GimpColorDisplay*")
+  (parameters
+    '("GType" "display_type")
+  )
+)
+
 (define-method clone
   (of-object "GimpColorDisplay")
   (c-name "gimp_color_display_clone")
@@ -777,9 +825,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")
@@ -855,7 +915,7 @@
 
 
 
-;; From ../../libgimpwidgets/gimpcolorhexentry.h
+;; From gimpcolorhexentry.h
 
 (define-function gimp_color_hex_entry_get_type
   (c-name "gimp_color_hex_entry_get_type")
@@ -888,7 +948,7 @@
 
 
 
-;; From ../../libgimpwidgets/gimpcolornotebook.h
+;; From gimpcolornotebook.h
 
 (define-function gimp_color_notebook_get_type
   (c-name "gimp_color_notebook_get_type")
@@ -907,7 +967,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")
@@ -945,7 +1078,7 @@
 
 
 
-;; From ../../libgimpwidgets/gimpcolorscales.h
+;; From gimpcolorscales.h
 
 (define-function gimp_color_scales_get_type
   (c-name "gimp_color_scales_get_type")
@@ -954,7 +1087,7 @@
 
 
 
-;; From ../../libgimpwidgets/gimpcolorselect.h
+;; From gimpcolorselect.h
 
 (define-function gimp_color_select_get_type
   (c-name "gimp_color_select_get_type")
@@ -963,7 +1096,7 @@
 
 
 
-;; From ../../libgimpwidgets/gimpcolorselection.h
+;; From gimpcolorselection.h
 
 (define-function gimp_color_selection_get_type
   (c-name "gimp_color_selection_get_type")
@@ -1039,9 +1172,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")
@@ -1118,9 +1260,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")
@@ -1144,7 +1295,6 @@
 
 (define-function gimp_dialog_new_valist
   (c-name "gimp_dialog_new_valist")
-  (is-constructor-of "GimpDialog")
   (return-type "GtkWidget*")
   (parameters
     '("const-gchar*" "title")
@@ -1171,6 +1321,8 @@
   (of-object "GimpDialog")
   (c-name "gimp_dialog_add_buttons")
   (return-type "none")
+  (parameters
+  )
   (varargs #t)
 )
 
@@ -1199,7 +1351,7 @@
 
 
 
-;; From ../../libgimpwidgets/gimpenumcombobox.h
+;; From gimpenumcombobox.h
 
 (define-function gimp_enum_combo_box_get_type
   (c-name "gimp_enum_combo_box_get_type")
@@ -1217,7 +1369,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")
@@ -1235,7 +1386,7 @@
 
 
 
-;; From ../../libgimpwidgets/gimpenumlabel.h
+;; From gimpenumlabel.h
 
 (define-function gimp_enum_label_get_type
   (c-name "gimp_enum_label_get_type")
@@ -1263,7 +1414,7 @@
 
 
 
-;; From ../../libgimpwidgets/gimpenumstore.h
+;; From gimpenumstore.h
 
 (define-function gimp_enum_store_get_type
   (c-name "gimp_enum_store_get_type")
@@ -1281,7 +1432,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")
@@ -1292,7 +1442,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")
@@ -1303,7 +1452,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")
@@ -1323,120 +1471,44 @@
 
 
 
-;; From ../../libgimpwidgets/gimpenumwidgets.h
+;; From gimpframe.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_frame_get_type
+  (c-name "gimp_frame_get_type")
+  (return-type "GType")
 )
 
-(define-function gimp_enum_radio_box_new_with_range
-  (c-name "gimp_enum_radio_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")
-    '("GCallback" "callback")
-    '("gpointer" "callback_data")
-    '("GtkWidget**" "first_button")
+  (properties
+    '("label")
   )
 )
 
-(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 gimphintbox.h
+
+(define-function gimp_hint_box_get_type
+  (c-name "gimp_hint_box_get_type")
+  (return-type "GType")
 )
 
-(define-function gimp_enum_stock_box_new
-  (c-name "gimp_enum_stock_box_new")
-  (is-constructor-of "GimpEnumStockBox")
+(define-function gimp_hint_box_new
+  (c-name "gimp_hint_box_new")
+  (is-constructor-of "GimpHintBox")
   (return-type "GtkWidget*")
-  (parameters
-    '("GType" "enum_type")
-    '("const-gchar*" "stock_prefix")
-    '("GtkIconSize" "icon_size")
-    '("GCallback" "callback")
-    '("gpointer" "callback_data")
-    '("GtkWidget**" "first_button")
+  (properties
+    '("hint")
+    '("stock-id" (optional))
   )
 )
 
-(define-function gimp_enum_stock_box_new_with_range
-  (c-name "gimp_enum_stock_box_new_with_range")
-  (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")
-  )
-)
-
-
-
-;; From ../../libgimpwidgets/gimpframe.h
-
-(define-function gimp_frame_get_type
-  (c-name "gimp_frame_get_type")
-  (return-type "GType")
-)
-
-(define-function gimp_frame_new
-  (c-name "gimp_frame_new")
-  (is-constructor-of "GimpFrame")
-  (return-type "GtkWidget*")
-  (properties
-    '("label")
-  )
-)
 
 
-
-;; From ../../libgimpwidgets/gimpintcombobox.h
+;; From gimpintcombobox.h
 
 (define-function gimp_int_combo_box_get_type
   (c-name "gimp_int_combo_box_get_type")
@@ -1533,25 +1605,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")
@@ -1564,11 +1618,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")
   )
@@ -1576,7 +1630,7 @@
 
 
 
-;; From ../../libgimpwidgets/gimpmemsizeentry.h
+;; From gimpmemsizeentry.h
 
 (define-function gimp_memsize_entry_get_type
   (c-name "gimp_memsize_entry_get_type")
@@ -1611,7 +1665,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")
@@ -1659,7 +1834,7 @@
 
 
 
-;; From ../../libgimpwidgets/gimppageselector.h
+;; From gimppageselector.h
 
 (define-function gimp_page_selector_get_type
   (c-name "gimp_page_selector_get_type")
@@ -1805,7 +1980,7 @@
 
 
 
-;; From ../../libgimpwidgets/gimppatheditor.h
+;; From gimppatheditor.h
 
 (define-function gimp_path_editor_get_type
   (c-name "gimp_path_editor_get_type")
@@ -1815,11 +1990,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
@@ -1873,7 +2048,7 @@
 
 
 
-;; From ../../libgimpwidgets/gimppickbutton.h
+;; From gimppickbutton.h
 
 (define-function gimp_pick_button_get_type
   (c-name "gimp_pick_button_get_type")
@@ -1888,22 +2063,13 @@
 
 
 
-;; From ../../libgimpwidgets/gimppreview.h
+;; From gimppreview.h
 
 (define-function gimp_preview_get_type
   (c-name "gimp_preview_get_type")
   (return-type "GType")
 )
 
-(define-function gimp_preview_new
-  (c-name "gimp_preview_new")
-  (is-constructor-of "GimpPreview")
-  (return-type "GtkWidget*")
-  (properties
-    '("update")
-  )
-)
-
 (define-method set_update
   (of-object "GimpPreview")
   (c-name "gimp_preview_set_update")
@@ -1951,6 +2117,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")
@@ -1996,7 +2186,7 @@
 
 
 
-;; From ../../libgimpwidgets/gimppreviewarea.h
+;; From gimppreviewarea.h
 
 (define-function gimp_preview_area_get_type
   (c-name "gimp_preview_area_get_type")
@@ -2117,524 +2307,67 @@
 
 
 
-;; 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-function gimp_prop_int_combo_box_new
-  (c-name "gimp_prop_int_combo_box_new")
-  (is-constructor-of "GimpPropIntComboBox")
-  (return-type "GtkWidget*")
-  (parameters
-    '("GObject*" "config")
-    '("const-gchar*" "property_name")
-    '("GimpIntStore*" "store")
-  )
+(define-method thaw
+  (of-object "GimpScrolledPreview")
+  (c-name "gimp_scrolled_preview_thaw")
+  (return-type "none")
 )
 
-(define-function gimp_prop_enum_combo_box_new
-  (c-name "gimp_prop_enum_combo_box_new")
-  (is-constructor-of "GimpPropEnumComboBox")
-  (return-type "GtkWidget*")
-  (parameters
-    '("GObject*" "config")
-    '("const-gchar*" "property_name")
-    '("gint" "minimum")
-    '("gint" "maximum")
-  )
+
+
+;; From gimpsizeentry.h
+
+(define-function gimp_size_entry_get_type
+  (c-name "gimp_size_entry_get_type")
+  (return-type "GType")
 )
 
-(define-function gimp_prop_enum_check_button_new
-  (c-name "gimp_prop_enum_check_button_new")
-  (is-constructor-of "GimpPropEnumCheckButton")
+(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")
-    '("const-gchar*" "label")
-    '("gint" "false_value")
-    '("gint" "true_value")
-  )
-)
-
-(define-function gimp_prop_enum_radio_frame_new
-  (c-name "gimp_prop_enum_radio_frame_new")
-  (is-constructor-of "GimpPropEnumRadioFrame")
-  (return-type "GtkWidget*")
-  (parameters
-    '("GObject*" "config")
-    '("const-gchar*" "property_name")
-    '("const-gchar*" "title")
-    '("gint" "minimum")
-    '("gint" "maximum")
-  )
-)
-
-(define-function gimp_prop_enum_radio_box_new
-  (c-name "gimp_prop_enum_radio_box_new")
-  (is-constructor-of "GimpPropEnumRadioBox")
-  (return-type "GtkWidget*")
-  (parameters
-    '("GObject*" "config")
-    '("const-gchar*" "property_name")
-    '("gint" "minimum")
-    '("gint" "maximum")
-  )
-)
-
-(define-function gimp_prop_enum_stock_box_new
-  (c-name "gimp_prop_enum_stock_box_new")
-  (is-constructor-of "GimpPropEnumStockBox")
-  (return-type "GtkWidget*")
-  (parameters
-    '("GObject*" "config")
-    '("const-gchar*" "property_name")
-    '("const-gchar*" "stock_prefix")
-    '("gint" "minimum")
-    '("gint" "maximum")
-  )
-)
-
-(define-function gimp_prop_enum_label_new
-  (c-name "gimp_prop_enum_label_new")
-  (is-constructor-of "GimpPropEnumLabel")
-  (return-type "GtkWidget*")
-  (parameters
-    '("GObject*" "config")
-    '("const-gchar*" "property_name")
-  )
-)
-
-(define-function gimp_prop_spin_button_new
-  (c-name "gimp_prop_spin_button_new")
-  (is-constructor-of "GimpPropSpinButton")
-  (return-type "GtkWidget*")
-  (parameters
-    '("GObject*" "config")
-    '("const-gchar*" "property_name")
-    '("gdouble" "step_increment")
-    '("gdouble" "page_increment")
-    '("gint" "digits")
-  )
-)
-
-(define-function gimp_prop_hscale_new
-  (c-name "gimp_prop_hscale_new")
-  (is-constructor-of "GimpPropHscale")
-  (return-type "GtkWidget*")
-  (parameters
-    '("GObject*" "config")
-    '("const-gchar*" "property_name")
-    '("gdouble" "step_increment")
-    '("gdouble" "page_increment")
-    '("gint" "digits")
-  )
-)
-
-(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")
-    '("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*")
-  (parameters
-    '("GObject*" "config")
-    '("const-gchar*" "property_name")
-    '("GtkTable*" "table")
-    '("gint" "column")
-    '("gint" "row")
-    '("const-gchar*" "label")
-  )
-)
-
-(define-function gimp_prop_memsize_entry_new
-  (c-name "gimp_prop_memsize_entry_new")
-  (is-constructor-of "GimpPropMemsizeEntry")
-  (return-type "GtkWidget*")
-  (parameters
-    '("GObject*" "config")
-    '("const-gchar*" "property_name")
-  )
-)
-
-(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-function gimp_prop_entry_new
-  (c-name "gimp_prop_entry_new")
-  (is-constructor-of "GimpPropEntry")
-  (return-type "GtkWidget*")
-  (parameters
-    '("GObject*" "config")
-    '("const-gchar*" "property_name")
-    '("gint" "max_len")
-  )
-)
-
-(define-function gimp_prop_text_buffer_new
-  (c-name "gimp_prop_text_buffer_new")
-  (is-constructor-of "GimpPropTextBuffer")
-  (return-type "GtkTextBuffer*")
-  (parameters
-    '("GObject*" "config")
-    '("const-gchar*" "property_name")
-    '("gint" "max_len")
-  )
-)
-
-(define-function gimp_prop_file_entry_new
-  (c-name "gimp_prop_file_entry_new")
-  (is-constructor-of "GimpPropFileEntry")
-  (return-type "GtkWidget*")
-  (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")
+    '("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")
   )
 )
 
@@ -2811,7 +2544,42 @@
 
 
 
-;; From ../../libgimpwidgets/gimpunitmenu.h
+;; From gimpstringcombobox.h
+
+(define-function gimp_string_combo_box_get_type
+  (c-name "gimp_string_combo_box_get_type")
+  (return-type "GType")
+)
+
+(define-function gimp_string_combo_box_new
+  (c-name "gimp_string_combo_box_new")
+  (is-constructor-of "GimpStringComboBox")
+  (return-type "GtkWidget*")
+  (properties
+    '("model")
+    '("id-column" (argname "id_column"))
+    '("label-column" (argname "label_column"))
+  )
+)
+
+(define-method set_active
+  (of-object "GimpStringComboBox")
+  (c-name "gimp_string_combo_box_set_active")
+  (return-type "gboolean")
+  (parameters
+    '("const-gchar*" "id")
+  )
+)
+
+(define-method get_active
+  (of-object "GimpStringComboBox")
+  (c-name "gimp_string_combo_box_get_active")
+  (return-type "gchar*")
+)
+
+
+
+;; From gimpunitmenu.h
 
 (define-function gimp_unit_menu_get_type
   (c-name "gimp_unit_menu_get_type")
@@ -2863,326 +2631,7 @@
 
 
 
-;; 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")
-  (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")
-  )
-)
-
-(define-function gimp_scale_entry_get_logarithmic
-  (c-name "gimp_scale_entry_get_logarithmic")
-  (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")
-  )
-)
-
-(define-function gimp_int_adjustment_update
-  (c-name "gimp_int_adjustment_update")
-  (return-type "none")
-  (parameters
-    '("GtkAdjustment*" "adjustment")
-    '("gpointer" "data")
-  )
-)
-
-(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")
-  )
-)
-
-(define-function gimp_unit_menu_update
-  (c-name "gimp_unit_menu_update")
-  (return-type "none")
-  (parameters
-    '("GtkWidget*" "widget")
-    '("gpointer" "data")
-  )
-)
-
-(define-function gimp_table_attach_aligned
-  (c-name "gimp_table_attach_aligned")
-  (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")
-  )
-)
-
-(define-function gimp_label_set_attributes
-  (c-name "gimp_label_set_attributes")
-  (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")
-)
-
-(define-function gimp_page_selector_target_get_type
-  (c-name "gimp_page_selector_target_get_type")
-  (return-type "GType")
-)
-
-(define-function gimp_size_entry_update_policy_get_type
-  (c-name "gimp_size_entry_update_policy_get_type")
-  (return-type "GType")
-)
-
-(define-function gimp_zoom_type_get_type
-  (c-name "gimp_zoom_type_get_type")
-  (return-type "GType")
-)
-
-
-
-;; From ../../libgimpwidgets/gimpzoommodel.h
+;; From gimpzoommodel.h
 
 (define-function gimp_zoom_model_get_type
   (c-name "gimp_zoom_model_get_type")
@@ -3252,7 +2701,8 @@
 )
 
 
-;; From ../../libgimp/gimpaspectpreview.h
+
+;; From gimpaspectpreview.h
 
 (define-function gimp_aspect_preview_get_type
   (c-name "gimp_aspect_preview_get_type")
@@ -3265,12 +2715,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")
@@ -3303,94 +2754,46 @@
 
 
 
-;; 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")
+(define-function gimp_image_combo_box_new
+  (c-name "gimp_image_combo_box_new")
+  (is-constructor-of "GimpImageComboBox")
   (return-type "GtkWidget*")
   (parameters
-    '("const-gchar*" "title")
-    '("const-gchar*" "role")
-    '("GimpHelpFunc" "help_func")
-    '("const-gchar*" "help_id")
+    '("GimpImageConstraintFunc" "constraint")
+    '("gpointer" "data")
   )
-  (varargs #t)
 )
 
-(define-method get_selected
-  (of-object "GimpProcBrowserDialog")
-  (c-name "gimp_proc_browser_dialog_get_selected")
-  (return-type "gchar*")
+
+
+;; From gimpitemcombobox.h
+
+(define-function gimp_drawable_combo_box_get_type
+  (c-name "gimp_drawable_combo_box_get_type")
+  (return-type "GType")
 )
 
+(define-function gimp_channel_combo_box_get_type
+  (c-name "gimp_channel_combo_box_get_type")
+  (return-type "GType")
+)
 
+(define-function gimp_layer_combo_box_get_type
+  (c-name "gimp_layer_combo_box_get_type")
+  (return-type "GType")
+)
 
-;; From ../../libgimp/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 ../../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
-
-(define-function gimp_drawable_combo_box_get_type
-  (c-name "gimp_drawable_combo_box_get_type")
-  (return-type "GType")
-)
-
-(define-function gimp_channel_combo_box_get_type
-  (c-name "gimp_channel_combo_box_get_type")
-  (return-type "GType")
-)
-
-(define-function gimp_layer_combo_box_get_type
-  (c-name "gimp_layer_combo_box_get_type")
-  (return-type "GType")
-)
-
-(define-function gimp_vectors_combo_box_get_type
-  (c-name "gimp_vectors_combo_box_get_type")
-  (return-type "GType")
-)
+(define-function gimp_vectors_combo_box_get_type
+  (c-name "gimp_vectors_combo_box_get_type")
+  (return-type "GType")
+)
 
 (define-function gimp_drawable_combo_box_new
   (c-name "gimp_drawable_combo_box_new")
@@ -3434,26 +2837,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 ../../libgimp/gimpbrushselectbutton.h
+;; 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 gimpbrushselectbutton.h
 
 (define-function gimp_brush_select_button_get_type
   (c-name "gimp_brush_select_button_get_type")
@@ -3465,7 +2988,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))
@@ -3498,7 +3021,7 @@
 
 
 
-;; From ../../libgimp/gimpfontselectbutton.h
+;; From gimpfontselectbutton.h
 
 (define-function gimp_font_select_button_get_type
   (c-name "gimp_font_select_button_get_type")
@@ -3510,7 +3033,7 @@
   (is-constructor-of "GimpFontSelectButton")
   (return-type "GtkWidget*")
   (properties
-    '("title" (argname "title") (optional))
+    '("title" (optional))
     '("font-name" (argname "font_name") (optional))
   )
 )
@@ -3532,7 +3055,7 @@
 
 
 
-;; From ../../libgimp/gimpgradientselectbutton.h
+;; From gimpgradientselectbutton.h
 
 (define-function gimp_gradient_select_button_get_type
   (c-name "gimp_gradient_select_button_get_type")
@@ -3544,7 +3067,7 @@
   (is-constructor-of "GimpGradientSelectButton")
   (return-type "GtkWidget*")
   (properties
-    '("title" (argname "title") (optional))
+    '("title" (optional))
     '("gradient-name" (argname "gradient_name") (optional))
   )
 )
@@ -3566,7 +3089,7 @@
 
 
 
-;; From ../../libgimp/gimppaletteselectbutton.h
+;; From gimppaletteselectbutton.h
 
 (define-function gimp_palette_select_button_get_type
   (c-name "gimp_palette_select_button_get_type")
@@ -3578,7 +3101,7 @@
   (is-constructor-of "GimpPaletteSelectButton")
   (return-type "GtkWidget*")
   (properties
-    '("title" (argname "title") (optional))
+    '("title")
     '("palette-name" (argname "palette_name") (optional))
   )
 )
@@ -3600,7 +3123,7 @@
 
 
 
-;; From ../../libgimp/gimppatternselectbutton.h
+;; From gimppatternselectbutton.h
 
 (define-function gimp_pattern_select_button_get_type
   (c-name "gimp_pattern_select_button_get_type")
@@ -3612,7 +3135,7 @@
   (is-constructor-of "GimpPatternSelectButton")
   (return-type "GtkWidget*")
   (properties
-    '("title" (argname "title") (optional))
+    '("title" (optional))
     '("pattern-name" (argname "pattern_name") (optional))
   )
 )
@@ -3634,7 +3157,7 @@
 
 
 
-;; From ../../libgimp/gimpselectbutton.h
+;; From gimpselectbutton.h
 
 (define-function gimp_select_button_get_type
   (c-name "gimp_select_button_get_type")
@@ -3649,278 +3172,41 @@
 
 
 
-;; From ../../libgimp/gimpui.h
+;; From gimpwidgetsenums.h
 
-(define-method set_transient
-  (of-object "GimpDialog")
-  (c-name "gimp_window_set_transient")
-  (return-type "none")
-)
-
-
-
-;; From ../../libgimp/gimpzoompreview.h
-
-(define-function gimp_zoom_preview_get_type
-  (c-name "gimp_zoom_preview_get_type")
+(define-function gimp_aspect_type_get_type
+  (c-name "gimp_aspect_type_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")
-  )
-)
-
-(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_factor
-  (of-object "GimpZoomPreview")
-  (c-name "gimp_zoom_preview_get_factor")
-  (return-type "gdouble")
-)
-
-;; From gimpnumberpairentry.h
-
-(define-function gimp_number_pair_entry_get_type
-  (c-name "gimp_number_pair_entry_get_type")
+(define-function gimp_chain_position_get_type
+  (c-name "gimp_chain_position_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")
-)
-
-
-;; -*- scheme -*-
-; object definitions ...
-(define-object ColorProfileStore
-  (in-module "Gimp")
-  (parent "GtkListStore")
-  (c-name "GimpColorProfileStore")
-  (gtype-id "GIMP_TYPE_COLOR_PROFILE_STORE")
-)
-
-;; Enumerations and flags ...
-
-
-;; From gimpcolorprofilestore.h
-
-(define-function gimp_color_profile_store_get_type
-  (c-name "gimp_color_profile_store_get_type")
+(define-function gimp_color_area_type_get_type
+  (c-name "gimp_color_area_type_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")
-  )
-)
-
-
-;; -*- scheme -*-
-; object definitions ...
-(define-object ColorProfileComboBox
-  (in-module "Gimp")
-  (parent "GtkComboBox")
-  (c-name "GimpColorProfileComboBox")
-  (gtype-id "GIMP_TYPE_COLOR_PROFILE_COMBO_BOX")
-)
-
-;; Enumerations and flags ...
-
-
-;; From gimpcolorprofilecombobox.h
-
-(define-function gimp_color_profile_combo_box_get_type
-  (c-name "gimp_color_profile_combo_box_get_type")
+(define-function gimp_color_selector_channel_get_type
+  (c-name "gimp_color_selector_channel_get_type")
   (return-type "GType")
 )
 
-(define-function gimp_color_profile_combo_box_new
-  (c-name "gimp_color_profile_combo_box_new")
-  (is-constructor-of "GimpColorProfileComboBox")
-  (return-type "GtkWidget*")
-  (parameters
-    '("GtkWidget*" "dialog")
-    '("const-gchar*" "history")
-  )
-)
-
-(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-function gimp_page_selector_target_get_type
+  (c-name "gimp_page_selector_target_get_type")
+  (return-type "GType")
 )
 
-(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-function gimp_size_entry_update_policy_get_type
+  (c-name "gimp_size_entry_update_policy_get_type")
+  (return-type "GType")
 )
 
-(define-method get_active
-  (of-object "GimpColorProfileComboBox")
-  (c-name "gimp_color_profile_combo_box_get_active")
-  (return-type "gchar*")
+(define-function gimp_zoom_type_get_type
+  (c-name "gimp_zoom_type_get_type")
+  (return-type "GType")
 )
 
 

Modified: branches/soc-2008-python/plug-ins/pygimp/gimpui.override
==============================================================================
--- branches/soc-2008-python/plug-ins/pygimp/gimpui.override	(original)
+++ branches/soc-2008-python/plug-ins/pygimp/gimpui.override	Sun Jun 15 01:50:53 2008
@@ -8,7 +8,7 @@
 #include <libgimp/gimpui.h>
 
 #define NO_IMPORT_PYGIMP
-#include "pygimp.h"
+#include "pygimp-api.h"
 
 #define NO_IMPORT_PYGIMPCOLOR
 #include "pygimpcolor-api.h"
@@ -57,14 +57,17 @@
 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
-  gimp_color_profile_combo_box_new
+ignore-type
+  GimpIntStoreColumns 
 %%
 override gimp_drawable_combo_box_new kwargs
 static gboolean
@@ -159,7 +162,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;
 
@@ -288,16 +292,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)) {
@@ -417,7 +422,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;
 
@@ -546,16 +552,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)) {
@@ -666,7 +673,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;
 
@@ -941,7 +949,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,
@@ -1116,9 +1125,10 @@
 
     py_value = PyInt_FromLong(value);
 
-    ret = PyObject_CallFunctionObjArgs(data->sensitivity_func, py_value, data->user_data, NULL);
+    ret = PyObject_CallFunctionObjArgs(data->sensitivity_func, py_value,
+                                       data->user_data, NULL);
     
-    if(!ret) {
+    if (!ret) {
         PyErr_Print();
         res = FALSE;
     } else {
@@ -1144,7 +1154,8 @@
 }
 
 static PyObject *
-_wrap_gimp_int_combo_box_set_sensitivity(PyGObject *self, PyObject *args, PyObject *kwargs)
+_wrap_gimp_int_combo_box_set_sensitivity(PyGObject *self, PyObject *args,
+                                         PyObject *kwargs)
 {
     PyObject *py_sensitivity_func;
     PyObject *py_user_data = NULL;
@@ -1158,7 +1169,7 @@
                                      &py_user_data))
         return NULL;
 
-    if(!PyCallable_Check(py_sensitivity_func)) {
+    if (!PyCallable_Check(py_sensitivity_func)) {
         PyErr_SetString(PyExc_TypeError, "first argument must be callable.");
         return NULL;
     }
@@ -1168,7 +1179,7 @@
     data->sensitivity_func = py_sensitivity_func;
     Py_INCREF(data->sensitivity_func);
     
-   if(py_user_data == NULL || py_user_data == Py_None)
+   if (py_user_data == NULL || py_user_data == Py_None)
         data->user_data = NULL;
     else {
        data->user_data = py_user_data;
@@ -1176,9 +1187,9 @@
     }
 
     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);
+                                pygimp_int_combo_box_sensitivity_marshal,
+                                data,
+                                pygimp_int_combo_box_sensitivity_data_destroy);
     
     Py_INCREF(Py_None);
     return Py_None;
@@ -1199,7 +1210,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;
 
@@ -1223,12 +1235,13 @@
 %%
 override gimp_int_combo_box_append kwargs
 static PyObject *
-_wrap_gimp_int_combo_box_append(PyGObject *self, PyObject *args, PyObject *kwargs)
+_wrap_gimp_int_combo_box_append(PyGObject *self, PyObject *args,
+                                PyObject *kwargs)
 {
     PyObject *py_items;
     int i, len;
 
-static char *kwlist[] = { "items", NULL };
+    static char *kwlist[] = { "items", NULL };
 
     if (!PyArg_ParseTupleAndKeywords(args, kwargs,
                                      "O:gimpui.IntComboBox.append",
@@ -1285,7 +1298,8 @@
 %%
 override gimp_int_combo_box_prepend kwargs
 static PyObject *
-_wrap_gimp_int_combo_box_prepend(PyGObject *self, PyObject *args, PyObject *kwargs)
+_wrap_gimp_int_combo_box_prepend(PyGObject *self, PyObject *args,
+                                 PyObject *kwargs)
 {
     PyObject *py_items;
     int i, len;
@@ -1345,58 +1359,29 @@
     return Py_None;
 }
 %%
-override gimp_browser_add_search_types kwargs
+override gimp_browser_add_search_types args
 static PyObject *
-_wrap_gimp_browser_add_search_types(PyGObject *self, PyObject *args, PyObject *kwargs)
+_wrap_gimp_browser_add_search_types(PyGObject *self, PyObject *args)
 {
-    PyObject *py_types = NULL;
+    GimpBrowser *browser;
     int len, i;
-
-    static char *kwlist[] = { "search_types", NULL };
-
-    if (!PyArg_ParseTupleAndKeywords(args, kwargs,
-                                     "O:GimpBrowser.add_search_types",
-                                     kwlist,
-                                     &py_types))
-        return NULL;
-
-    if (PyTuple_Check(py_types))
-        len = PyTuple_Size(py_types);
-    else {
-        PyErr_SetString(PyExc_TypeError,
-                        "search_types must be a tuple containing label/id "
-                        "pairs");
-        return NULL;
-    }
-
-    if (len % 2) {
-        PyErr_SetString(PyExc_RuntimeError,
-                        "search_types tuple must contain label/id 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);
-
-        if (!PyString_Check(label)) {
-            PyErr_SetString(PyExc_RuntimeError,
-                            "first member of each label/id pair "
-                            "must be a string");
+    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 (!PyInt_Check(id)) {
-            PyErr_SetString(PyExc_RuntimeError,
-                            "second member of each label/id pair "
-                            "must be a number");
+        if (!PyArg_ParseTuple(element, "si",  &label, &id))
             return NULL;
-        }
-
-        gimp_browser_add_search_types(GIMP_BROWSER(self->obj),
-                                      PyString_AsString(label),
-                                      PyInt_AsLong(id),
-                                      NULL);
+        gimp_browser_add_search_types(browser, label, id, NULL);
     }
 
     Py_INCREF(Py_None);
@@ -1405,7 +1390,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;
@@ -1450,7 +1436,9 @@
     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");
+        PyErr_SetString(PyExc_TypeError,
+                        "buttons must be a tuple containing text/response "
+                        "pairs or None");
         return -1;
     }
 
@@ -1510,7 +1498,8 @@
 {
     gdouble left, right;
 
-    gimp_number_pair_entry_get_values(GIMP_NUMBER_PAIR_ENTRY(self->obj), &left, &right);
+    gimp_number_pair_entry_get_values(GIMP_NUMBER_PAIR_ENTRY(self->obj),
+                                      &left, &right);
 
     return Py_BuildValue("(dd)", left, right);   
 }
@@ -1521,7 +1510,9 @@
 {
     gdouble left, right;
 
-    gimp_number_pair_entry_get_default_values(GIMP_NUMBER_PAIR_ENTRY(self->obj), &left, &right);
+    gimp_number_pair_entry_get_default_values(
+                                             GIMP_NUMBER_PAIR_ENTRY(self->obj),
+                                             &left, &right);
 
     return Py_BuildValue("(dd)", left, right);
 }
@@ -1533,21 +1524,22 @@
     GimpAspectType aspect;
 
     aspect =
-        gimp_number_pair_entry_get_aspect(GIMP_NUMBER_PAIR_ENTRY(self->obj));
+          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)
+_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,
+    if (!PyArg_ParseTupleAndKeywords(args, kwargs,
                                     "O:GimpNumberPairEntry.set_aspect",
                                     kwlist, &py_aspect))
         return NULL;
@@ -1558,7 +1550,8 @@
         return NULL;
     }
 
-    gimp_number_pair_entry_set_aspect(GIMP_NUMBER_PAIR_ENTRY(self->obj), aspect);
+    gimp_number_pair_entry_set_aspect(GIMP_NUMBER_PAIR_ENTRY(self->obj),
+                                      aspect);
 
     Py_DECREF(py_aspect);
 
@@ -1568,18 +1561,21 @@
 %%
 override gimp_page_selector_get_selected_pages noargs
 static PyObject *
-_wrap_gimp_page_selector_get_selected_pages(PyGObject *self) 
+_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);
+    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]));
+        PyTuple_SetItem(py_selected_pages, i,
+                        PyInt_FromLong(selected_pages[i]));
 
     g_free(selected_pages);
 
@@ -1610,6 +1606,50 @@
     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)
@@ -1617,7 +1657,8 @@
     gint numerator;
     gint denominator;
 
-    gimp_zoom_model_get_fraction(GIMP_ZOOM_MODEL(self->obj), &numerator, &denominator);
+    gimp_zoom_model_get_fraction(GIMP_ZOOM_MODEL(self->obj), &numerator,
+                                 &denominator);
 
     return Py_BuildValue("(ii)", numerator, denominator);
 }
@@ -1627,7 +1668,8 @@
 _wrap_gimp_drawable_preview_get_drawable(PyGObject *self)
 {
     GimpDrawable *drawable;
-    drawable = gimp_drawable_preview_get_drawable(GIMP_DRAWABLE_PREVIEW(self->obj));
+    drawable = gimp_drawable_preview_get_drawable(
+                                             GIMP_DRAWABLE_PREVIEW(self->obj));
     return pygimp_drawable_new(drawable, -1);
 }
 %%
@@ -1642,20 +1684,186 @@
 %%
 override gimp_drawable_preview_draw_region kwargs
 static PyObject *
-_wrap_gimp_drawable_preview_draw_region(PyGObject *self, PyObject *args, PyObject *kwargs)
+_wrap_gimp_drawable_preview_draw_region(PyGObject *self, PyObject *args,
+                                        PyObject *kwargs)
 {
     PyGimpPixelRgn *pypixelrgn;
 
     static char *kwlist[] = {"drawable", NULL};
 
-    if(!PyArg_ParseTupleAndKeywords(args, kwargs,
+    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);
+    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;
+}
 

Modified: branches/soc-2008-python/plug-ins/pygimp/pygimp-api.h
==============================================================================
--- branches/soc-2008-python/plug-ins/pygimp/pygimp-api.h	(original)
+++ branches/soc-2008-python/plug-ins/pygimp/pygimp-api.h	Sun Jun 15 01:50:53 2008
@@ -46,6 +46,12 @@
     gint32 ID;
 } PyGimpVectors;
 
+typedef struct {
+    PyObject_HEAD
+    GimpPixelRgn pr;
+    PyGimpDrawable *drawable; /* keep the drawable around */
+} PyGimpPixelRgn;
+
 struct _PyGimp_Functions {
     PyTypeObject *Image_Type;
     PyObject *(* image_new)(gint32 ID);
@@ -66,6 +72,11 @@
     PyObject *(* vectors_new)(gint32 ID);
 
     PyObject *pygimp_error;
+
+    PyTypeObject *PixelRgn_Type;
+    PyObject *(* pixel_rgn_new)(PyGimpDrawable *drw, int x, int y,
+                                   int w, int h, int dirty, int shadow);
+
 };
 
 #ifndef _INSIDE_PYGIMP_
@@ -89,6 +100,8 @@
 #define PyGimpVectors_Type      (_PyGimp_API->Vectors_Type)
 #define pygimp_vectors_new      (_PyGimp_API->vectors_new)
 #define pygimp_error            (_PyGimp_API->pygimp_error)
+#define PyGimpPixelRgn_Type     (_PyGimp_API->PixelRgn_Type)
+#define pygimp_pixel_rgn_new    (_PyGimp_API->pixel_rgn_new)
 
 #define init_pygimp() G_STMT_START { \
     PyObject *gimpmodule = PyImport_ImportModule("gimp"); \

Modified: branches/soc-2008-python/plug-ins/pygimp/pygimp.h
==============================================================================
--- branches/soc-2008-python/plug-ins/pygimp/pygimp.h	(original)
+++ branches/soc-2008-python/plug-ins/pygimp/pygimp.h	Sun Jun 15 01:50:53 2008
@@ -80,12 +80,6 @@
 #define pygimp_tile_check(v) (PyObject_TypeCheck(v, &PyGimpTile_Type))
 PyObject *pygimp_tile_new(GimpTile *tile, PyGimpDrawable *drw);
 
-typedef struct {
-    PyObject_HEAD
-    GimpPixelRgn pr;
-    PyGimpDrawable *drawable; /* keep the drawable around */
-} PyGimpPixelRgn;
-
 extern PyTypeObject PyGimpPixelRgn_Type;
 #define pygimp_pixel_rgn_check(v) (PyObject_TypeCheck(v, &PyGimpPixelRgn_Type))
 PyObject *pygimp_pixel_rgn_new(PyGimpDrawable *drw, int x, int y,

Added: branches/soc-2008-python/plug-ins/pygimp/testui
==============================================================================
--- (empty file)
+++ branches/soc-2008-python/plug-ins/pygimp/testui	Sun Jun 15 01:50:53 2008
@@ -0,0 +1,2 @@
+#!/bin/sh
+gimp-2.5 -i --batch-interpreter python-fu-eval -b "-" < testui.py

Added: branches/soc-2008-python/plug-ins/pygimp/testui.py
==============================================================================
--- (empty file)
+++ branches/soc-2008-python/plug-ins/pygimp/testui.py	Sun Jun 15 01:50:53 2008
@@ -0,0 +1,346 @@
+import unittest
+import gimp
+
+class TestAllWidgetFunctions(unittest.TestCase):
+    
+    @classmethod
+    def suite(cls):
+        import unittest
+        return unittest.makeSuite(cls,'test')
+
+    
+    def _testBoolGetterSetter(self, setter, getter):
+        setter(True)
+        assert getter() == True
+        setter(False)
+        assert getter() == False
+
+    def _testColorGetterSetter(self, setter, getter):
+        setter(gimp.color.RGB(1,2,3))
+        getter()
+
+    def testButton(self):
+        import gtk
+        button = gimp.ui.Button()
+        button.extended_clicked(gtk.gdk.BUTTON1_MASK)
+
+    def testAspectPreview(self):
+        # FIXME
+        # drawable = gimp.Image(100,100)
+        # ap = gimp.ui.AspectPreview(drawable, False)
+        # ap = gimp.ui.AspectPreview(drawable, True)
+        pass
+
+    def testBrowser(self):
+        import gtk
+        browser = gimp.ui.Browser()
+        browser.add_search_types((".gif", 1), (".png", 2))
+        browser.set_widget(gtk.Button("some label"))
+        browser.show_message("Some label")
+
+    def testBrushSelectButton(self):
+        bs = gimp.ui.BrushSelectButton("Some title", gimp.context.get_brush(), 1.0, 10,
+                                       gimp.enums.NORMAL_MODE)
+        # FIXME
+        bs.set_brush(str(gimp.context.get_brush()), 1.0, 10, gimp.enums.NORMAL_MODE)
+        brush = bs.get_brush()
+
+    def testChainButton(self):
+        cb = gimp.ui.ChainButton(gimp.ui.CHAIN_TOP)
+        self._testBoolGetterSetter(cb.set_active, cb.get_active)
+
+    def testChannelComboBox(self):
+        ccb = gimp.ui.ChannelComboBox(lambda value: True)
+        ccb = gimp.ui.ChannelComboBox(lambda value, data: False, "Some Data")
+
+    def testColorArea(self):
+        import gtk
+        ca = gimp.ui.ColorArea(gimp.color.RGB(255, 0, 0), gimp.ui.COLOR_AREA_FLAT,
+                               gtk.gdk.BUTTON1_MASK)
+        ca.set_color(gimp.color.RGB(255, 0, 0))
+        color = ca.get_color()
+        has_alpha = ca.has_alpha()
+        ca.set_type(gimp.ui.COLOR_AREA_SMALL_CHECKS)
+        ca.set_draw_border(True)
+
+    def testColorButton(self):
+        cb = gimp.ui.ColorButton("Some title", 100, 40, gimp.color.RGB(200,255,10),
+                                 gimp.ui.COLOR_AREA_FLAT)
+        cb.set_color(gimp.color.RGB(255, 1, 2, 3))
+        color = cb.get_color()
+        has_alpha = cb.has_alpha()
+        cb.set_type(gimp.ui.COLOR_AREA_SMALL_CHECKS)
+        cb.set_update(True)
+        update = cb.get_update()
+
+    def testColorDisplay(self):
+        # FIXME
+        pass
+
+    def testColorDisplayStack(self):
+        # FIXME
+        pass
+
+    def testColorHexEntry(self):
+        che = gimp.ui.ColorHexEntry()
+        che.set_color(gimp.color.RGB(0,0,0))
+        color = che.get_color()
+
+    def testColorNotebook(self):
+        cn = gimp.ui.ColorNotebook()
+        page = cn.set_has_page(gimp._ui.ColorSelector.__gtype__, False)
+
+    def testColorProfileComboBox(self):
+        import gtk
+        cps = gimp.ui.ColorProfileStore("history")
+        cpcb = gimp.ui.ColorProfileComboBox(gtk.Dialog(), cps)
+        cpcb.add("Some/filename", "Some label")
+        cpcb.set_active("Some/filename", "Some label")
+        cpcb.get_active()
+
+    def testColorProfileStore(self):
+        cps = gimp.ui.ColorProfileStore("history")
+        cps.add("Some/filename", "Some label")
+        
+    def testColorScale(self):
+        import gtk
+        cs = gimp.ui.ColorScale(gtk.ORIENTATION_VERTICAL, gimp.ui.COLOR_SELECTOR_SATURATION)
+        cs.set_channel(gimp.ui.COLOR_SELECTOR_GREEN)
+        cs.set_color(gimp.color.RGB(1,2,3), gimp.color.HSV(3,2,1))
+
+    def testColorSelection(self):
+        cs = gimp.ui.ColorSelection()
+        self._testBoolGetterSetter(cs.set_show_alpha, cs.get_show_alpha)
+        self._testColorGetterSetter(cs.set_color, cs.get_color)
+        self._testColorGetterSetter(cs.set_old_color, cs.get_old_color)
+        cs.reset()
+        cs.color_changed()
+        #cs.set_config(None)
+
+    def testDialog(self):
+        dialog = gimp.ui.Dialog("Some title", "Some role", None, 0,
+                                lambda id: True, "Some help id",
+                                ("foo", 1, "bar", 2))
+        dialog.add_button("batz", 2)
+        # dialog.run()
+
+    def testDrawableComboBox(self):
+        dcb = gimp.ui.DrawableComboBox(lambda value: True)
+        dcb = gimp.ui.DrawableComboBox(lambda value, data: False, "Some data")
+
+    def testDrawablePreview(self):
+        image = gimp.Image(100, 100)
+        dp = gimp.ui.DrawablePreview(image)
+
+    def testEnumComboBox(self):
+        ecb = gimp.ui.EnumComboBox(gimp.ui.ColorSelectorChannel.__gtype__)
+        ecb.set_stock_prefix("FOOBAR")
+
+    def testEnumLabel(self):
+        el = gimp.ui.EnumLabel(gimp.ui.ColorSelectorChannel.__gtype__, 0)
+        el.set_value(1)
+
+    def testEnumStore(self):
+        es = gimp.ui.EnumStore(gimp.ui.ColorSelectorChannel.__gtype__)
+        es = gimp.ui.EnumStore(gimp.ui.ColorSelectorChannel.__gtype__, 1, 3)
+        es.set_stock_prefix("FOOBAR")
+
+    def testFontSelectButton(self):
+        fsb = gimp.ui.FontSelectButton("Some title", "Some font")
+        fsb.set_font("Arial")
+        font = fsb.get_font()
+
+    def testFrame(self):
+        frame = gimp.ui.Frame("Some title")
+
+    def testGradientSelectButton(self):
+        gsb = gimp.ui.GradientSelectButton("Some title",
+                                           gimp.context.get_gradient())
+        # FIXME
+        gsb.set_gradient(str(gimp.context.get_gradient()))
+        gradient = gsb.get_gradient()
+
+    def testImageComboBox(self):
+        icb = gimp.ui.ImageComboBox(lambda value: True)
+        icb = gimp.ui.ImageComboBox(lambda value, data: False, "Some data")
+
+    def testIntComboBox(self):
+        icb = gimp.ui.IntComboBox(("foo", 1))
+        icb.prepend(("bar", 2))
+        icb.append(("batz", 3))
+        icb.set_active(1)
+        active = icb.get_active()
+        icb.set_sensitivity(lambda value: True)
+        icb.set_sensitivity(lambda value, data: False, "Some data")
+
+    def testIntStore(self):
+        intstore = gimp.ui.IntStore()
+        intstore.lookup_by_value(10)
+
+    def testLayerComboBox(self):
+        lcb = gimp.ui.LayerComboBox(lambda value: True)
+        lcb = gimp.ui.LayerComboBox(lambda value, data: False, "Some data")
+
+    def testMemsizeEntry(self):
+        me = gimp.ui.MemsizeEntry(10, 0, 100)
+        me.set_value(20)
+        value = me.get_value()
+
+    def testNumberPairEntry(self):
+        npe = gimp.ui.NumberPairEntry("-", True, 1.5, 2)
+        npe.set_default_values(4.3, 5)
+        default_values = npe.get_default_values()
+        npe.set_values(1, 2.4)
+        values = npe.get_values()
+        npe.set_default_text("MOO")
+        default_text = npe.get_default_text()
+        npe.set_ratio(2)
+        ratio = npe.get_ratio()
+        npe.set_aspect(4)
+        aspect = npe.get_aspect()
+        self._testBoolGetterSetter(npe.set_user_override, npe.get_user_override)
+
+    def testOffsetAreas(self):
+        import gtk
+        oa = gimp.ui.OffsetArea(200, 100)
+        oa.set_pixbuf(gtk.gdk.pixbuf_new_from_file("../../data/images/wilber.png"))
+        oa.set_size(10,20)
+        oa.set_offsets(30, 49)
+
+    def testPageSelector(self):
+        ps = gimp.ui.PageSelector()
+        ps.set_n_pages(10)
+        n_pages = ps.get_n_pages()
+        ps.set_target(gimp.ui.gimp.ui.PAGE_SELECTOR_TARGET_IMAGES)
+        target = ps.get_target()
+        # FIXME
+        # ps.set_page_thumbnail()
+        # ps.get_page_thumbnail()
+        ps.set_page_label(1, "Some label")
+        label = ps.get_page_label(0)
+        ps.select_all()
+        ps.unselect_all()
+        ps.select_page(0)
+        ps.unselect_page(1)
+        ps.page_is_selected(0)
+        ps.get_selected_pages()
+        ps.select_range("2,4-6")
+        ps.get_selected_range()
+
+    def testPaletteSelectButton(self):
+        psb = gimp.ui.PaletteSelectButton("Some title",
+                                          gimp.context.get_palette())
+        # FIXME
+        psb.set_palette(str(gimp.context.get_palette()))
+        psb.get_palette()
+        
+    def testPathEditor(self):
+        pe = gimp.ui.PathEditor("Some title", "Some/path")
+        pe.set_path("Some/pther/path")
+        pe.get_path()
+        pe.set_writable_path("foo/bar")
+        pe.get_writable_path()
+        pe.set_dir_writable("foo/bar", True)
+        pe.get_dir_writable("foo/bar")
+        
+    def testPatternSelectButton(self):
+        psb = gimp.ui.PatternSelectButton("Some title",
+                                         gimp.context.get_pattern())
+        # FIXME
+        psb.set_pattern(str(gimp.context.get_pattern()))
+        psb.get_pattern()
+        
+    def testPickButton(self):
+        pb = gimp.ui.PickButton()
+        
+    def testPreview(self):
+        # FIXME
+        pass
+
+    def testPreviewArea(self):
+        # FIXME
+        pass
+
+    def testProcBrowserDialog(self):
+        pbd = gimp.ui.ProcBrowserDialog("Some title", "Some role")
+        pbd.get_selected()
+        pbd = gimp.ui.ProcBrowserDialog("Some title", "Some role",
+                                       lambda id: True, "some help id")
+        pbd = gimp.ui.ProcBrowserDialog("Some title", "Some role",
+                                       lambda id:False, "some help id",
+                                       ("foo", 0, "bar", 1))
+        
+    def testProgressBar(self):
+        pb = gimp.ui.ProgressBar()
+
+    def testScrolledPreview(self):
+        # FIXME
+        pass
+
+    def testSelectButton(self):
+        sb = gimp.ui.SelectButton()
+        sb.close_popup()
+
+    def testSizeEntry(self):
+        return
+        # FIXME
+        import gtk
+        se = gimp.ui.SizeEntry(3, gimp.enums.UNIT_PIXEL, "%a", True, False, True, 100,
+                               gimp.ui.SIZE_ENTRY_UPDATE_NONE)
+        se.add_field(gtk.SpinButton(), gtk.SpinButton())
+        se.attach_label("foo", 0, 0, 0.5)
+        se.set_resolution(0, 3, True)
+        se.set_size(0, 0, 100)
+        se.set_value_boundaries(0, 10, 20)
+        se.get_value(0)
+        se.set_value(0, 4.4)
+        se.set_refval_boundaries(0, 0, 10)
+        se.set_refval_digits(0, 2)
+        se.set_refval(0, 1.3)
+        se.get_refval(0)
+        se.get_unit()
+        se.set_unit(gimp.enums.UNIT_PIXEL)
+        se.show_unit_menu(True)
+        se.set_pixel_digits(2)
+        se.grab_focus()
+        se.set_activates_default(True)
+        # FIXME
+        # se.get_help_widget(0) 
+
+    def testStringComboBox(self):
+        import gtk
+        import gobject
+
+        scb = gimp.ui.StringComboBox(gtk.ListStore(gobject.TYPE_STRING,
+                                     gobject.TYPE_STRING), 0, 1)
+        scb.set_active("foo")
+        scb.get_active()
+
+    def testUnitMenu(self):
+        um = gimp.ui.UnitMenu("%y%a", gimp.enums.UNIT_PIXEL, True, True, True)
+        um.set_unit(gimp.enums.UNIT_INCH)
+        um.get_unit()
+        um.set_pixel_digits(10)
+        um.get_pixel_digits()
+
+    def testVectorsComboBox(self):
+        vcb = gimp.ui.VectorsComboBox(lambda value: True)
+        vcb = gimp.ui.VectorsComboBox(lambda value, data: False, "Some data")
+
+    def testZoomModel(self):
+        zm = gimp.ui.ZoomModel()
+        zm.set_range(5, 5.5)
+        zm.zoom(gimp.ui.ZOOM_IN, 3)
+        zm.get_factor()
+        zm.get_fraction()
+
+    def testZoomPreview(self):
+       image = gimp.Image(100, 100)
+       zp = gimp.ui.ZoomPreview(image)
+       assert zp.get_drawable() == image
+       zp.get_model()
+       zp.get_factor()
+
+if __name__ == "__main__":
+    runner = unittest.TextTestRunner()
+    runner.run(TestAllWidgetFunctions.suite())



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