[pygtk] Add new Gtk-2.20 API



commit 088ff0490a0fa05a31c4840dad189c913e7ab91b
Author: John Stowers <john stowers gmail com>
Date:   Fri Jul 9 13:43:11 2010 +1200

    Add new Gtk-2.20 API
    
    	* Notably this adds GtkSpinner, GtkOffscreenWindow,
    	  GtkCellRendererSpinner, GtkToolPalette objects
    	* Add new api to other objects
    	* Add gtk.ToolbarPalette demo
    	* Add gtk.Spinner demo

 configure.ac                             |   18 +
 examples/pygtk-demo/demos/spinner.py     |   63 +++
 examples/pygtk-demo/demos/toolpalette.py |  111 +++++
 gtk/Makefile.am                          |   15 +-
 gtk/gdk-2.20.defs                        |   30 ++
 gtk/gtk-2.20-types.defs                  |   50 +++
 gtk/gtk-2.20.defs                        |  699 ++++++++++++++++++++++++++++++
 gtk/gtkunixprint-2.20.defs               |   14 +
 setup.py                                 |    3 +
 9 files changed, 1002 insertions(+), 1 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index 89e368c..e9b07ae 100644
--- a/configure.ac
+++ b/configure.ac
@@ -334,6 +334,23 @@ if test "x$have_pycairo" = "xtrue"; then
   AC_SUBST(HAVE_GTK_2_18)
   AC_DEFINE([HAVE_GTK_2_18], [$have_gtk_218], [If Gtk 2.18 was found])
 
+  dnl check for gtk 2.20
+  PKG_CHECK_MODULES(GTK220, gtk+-2.0 >= 2.20.0,
+	  HAVE_GTK_220="yes", HAVE_GTK_220="no")
+
+  if test "x$HAVE_GTK_220" = "xyes"; then
+     gtk_version="2.20"
+     have_gtk_220=true
+     PYGTK_CODEGEN_DEFINES="$PYGTK_CODEGEN_DEFINES -DHAVE_GTK_2_20"
+  else
+     AC_MSG_RESULT(no)
+     have_gtk_220=false
+  fi
+
+  AM_CONDITIONAL(HAVE_GTK_2_20, $have_gtk_220)
+  AC_SUBST(HAVE_GTK_2_20)
+  AC_DEFINE([HAVE_GTK_2_20], [$have_gtk_220], [If Gtk 2.20 was found])
+
   dnl libglade
   PKG_CHECK_MODULES(LIBGLADE, [libglade-2.0 >= libglade_required_version],
 	  have_libglade=true, have_libglade=false)
@@ -364,6 +381,7 @@ else
   AM_CONDITIONAL(HAVE_GTK_2_14, false)
   AM_CONDITIONAL(HAVE_GTK_2_16, false)
   AM_CONDITIONAL(HAVE_GTK_2_18, false)
+  AM_CONDITIONAL(HAVE_GTK_2_20, false)
   AM_CONDITIONAL(BUILD_LIBGLADE, false)
   AM_CONDITIONAL(BUILD_GTKUNIXPRINT, false)
   have_pangocairo=false
diff --git a/examples/pygtk-demo/demos/spinner.py b/examples/pygtk-demo/demos/spinner.py
new file mode 100644
index 0000000..1011186
--- /dev/null
+++ b/examples/pygtk-demo/demos/spinner.py
@@ -0,0 +1,63 @@
+#!/usr/bin/env python
+"""Spinner
+
+GtkSpinner allows to show that background activity is on-going.
+"""
+# pygtk version: John Stowers <john stowers gmail com>
+
+import gtk
+
+class SpinnerDemo(gtk.Window):
+    def __init__(self, parent=None):
+        gtk.Window.__init__(self)
+        try:
+            self.set_screen(parent.get_screen())
+        except AttributeError:
+            self.connect('destroy', lambda *w: gtk.main_quit())
+        self.set_title(self.__class__.__name__)
+        self.set_border_width(5)
+
+        vb = gtk.VBox(spacing=5)
+        self.add(vb)
+
+        #sensitive
+        hb = gtk.HBox(spacing=5)
+        self.ss = gtk.Spinner()
+        hb.add(self.ss)
+        hb.add(gtk.Entry())
+        vb.add(hb)
+
+        #unsensitive
+        hb = gtk.HBox(spacing=5)
+        self.us = gtk.Spinner()
+        hb.add(self.us)
+        hb.add(gtk.Entry())
+        hb.set_sensitive(False)
+        vb.add(hb)
+
+        b = gtk.Button(stock=gtk.STOCK_MEDIA_PLAY)
+        b.connect("clicked", self._on_play_clicked)
+        vb.add(b)
+
+        b = gtk.Button(stock=gtk.STOCK_MEDIA_STOP)
+        b.connect("clicked", self._on_stop_clicked)
+        vb.add(b)
+
+        self._on_play_clicked(None)
+
+        self.show_all()
+
+    def _on_play_clicked(self, b):
+        self.ss.start()
+        self.us.start()
+
+    def _on_stop_clicked(self, b):
+        self.ss.stop()
+        self.us.stop()
+
+def main():
+    SpinnerDemo()
+    gtk.main()
+
+if __name__ == '__main__':
+    main()
diff --git a/examples/pygtk-demo/demos/toolpalette.py b/examples/pygtk-demo/demos/toolpalette.py
new file mode 100644
index 0000000..82d30e4
--- /dev/null
+++ b/examples/pygtk-demo/demos/toolpalette.py
@@ -0,0 +1,111 @@
+#!/usr/bin/env python
+"""Tool Palette
+
+A tool palette widget shows groups of toolbar items as a grid of icons or a list of names.
+"""
+# pygtk version: John Stowers <john stowers gmail com>
+
+import gtk
+
+class ToolPaletteDemo(gtk.Window):
+    def __init__(self, parent=None):
+        gtk.Window.__init__(self)
+        try:
+            self.set_screen(parent.get_screen())
+        except AttributeError:
+            self.connect('destroy', lambda *w: gtk.main_quit())
+        self.set_title(self.__class__.__name__)
+        self.set_border_width(8)
+        self.set_default_size(400,400)
+
+        vb = gtk.VBox(spacing=6)
+
+        m = gtk.ListStore(str, object)
+        m.append( ("Vertical", gtk.ORIENTATION_VERTICAL) )
+        m.append( ("Horizontal", gtk.ORIENTATION_HORIZONTAL) )
+        cb = gtk.ComboBox(m)
+        cell = gtk.CellRendererText()
+        cb.pack_start(cell)
+        cb.add_attribute(cell, 'text',0)
+        cb.set_active(0)
+        cb.connect("changed", self._orientation_changed)
+        vb.pack_start(cb, False, False)
+
+        m = gtk.ListStore(str, object)
+        m.append( ("Icons", gtk.TOOLBAR_ICONS) )
+        m.append( ("Text", gtk.TOOLBAR_TEXT) )
+        m.append( ("Both", gtk.TOOLBAR_BOTH) )
+        m.append( ("Both: Horizontal", gtk.TOOLBAR_BOTH_HORIZ) )
+        cb = gtk.ComboBox(m)
+        cell = gtk.CellRendererText()
+        cb.pack_start(cell)
+        cb.add_attribute(cell, 'text',0)
+        cb.set_active(0)
+        cb.connect("changed", self._style_changed)
+        vb.pack_start(cb, False, False)
+
+        self.palette = gtk.ToolPalette()
+        self._load_stock_items()
+
+        self.sw = gtk.ScrolledWindow()
+        self.sw.set_policy (gtk.POLICY_NEVER, gtk.POLICY_AUTOMATIC)
+        self.sw.add(self.palette)
+        vb.pack_start(self.sw, True, True)
+
+        self.add(vb)
+        self.show_all()
+
+    def _orientation_changed(self, cb):
+        i = cb.get_active_iter()
+        if i:
+            val = cb.get_model().get_value(i, 1)
+            if val == gtk.ORIENTATION_HORIZONTAL:
+                self.sw.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_NEVER)
+            else:
+                self.sw.set_policy(gtk.POLICY_NEVER, gtk.POLICY_AUTOMATIC)
+            self.palette.set_orientation(val)
+
+    def _style_changed(self, cb):
+        i = cb.get_active_iter()
+        if i:
+            self.palette.set_style(cb.get_model().get_value(i, 1))
+
+    def _load_stock_items(self):
+        groups = {
+            "a":gtk.ToolItemGroup("Stock Icons (A-F)"),
+            "g":gtk.ToolItemGroup("Stock Icons (G-N)"),
+            "o":gtk.ToolItemGroup("Stock Icons (O-R)"),
+            "s":gtk.ToolItemGroup("Stock Icons (S-Z)")
+        }
+        group = groups["a"]
+        for g in groups.values():
+            self.palette.add(g)
+
+        items = gtk.stock_list_ids()
+        items.sort()
+        for i in items:
+            #stock id names are in form gtk-foo, sort into one of the groups above
+            try:
+                group = groups[i[4]]
+            except KeyError:
+                pass
+
+            b = gtk.ToolButton(i)
+            b.set_tooltip_text(i)
+            b.set_is_important(True)
+            info = gtk.stock_lookup(i)
+            if info:
+                b.set_label(info[1].replace("_",""))
+            else:
+                b.set_label(i)
+
+            group.insert(b,-1)
+            
+            
+
+def main():
+    ToolPaletteDemo()
+    gtk.main()
+
+if __name__ == '__main__':
+    main()
diff --git a/gtk/Makefile.am b/gtk/Makefile.am
index c02a0e2..a5e3a5d 100644
--- a/gtk/Makefile.am
+++ b/gtk/Makefile.am
@@ -72,6 +72,12 @@ GTK_2_18_DEFS =
 	gtk-2.18.defs		\
 	gtk-2.18-types.defs
 
+GTK_2_20_DEFS =
+	gdk-2.20.defs		\
+	gtk-2.20.defs		\
+	gtk-2.20-types.defs	\
+	gtkunixprint-2.20.defs
+
 if HAVE_GTK_2_10
 GDK_DEFS += gdk-2.10.defs 
 GTK_DEFS += gtk-2.10.defs 
@@ -105,6 +111,12 @@ GTK_DEFS += gtk-2.18.defs
 GTK_TYPES_DEFS += gtk-2.18-types.defs
 endif
 
+if HAVE_GTK_2_20
+GDK_DEFS += gdk-2.20.defs 
+GTK_DEFS += gtk-2.20.defs 
+GTK_TYPES_DEFS += gtk-2.20-types.defs
+endif
+
 CREATEDEFS = $(PYTHON) $(CODEGENDIR)/createdefs.py
 
 GDK_OVERRIDES = \
@@ -154,8 +166,9 @@ EXTRA_DIST += 			\
 	$(GTK_2_10_DEFS)	\
 	$(GTK_2_12_DEFS)	\
 	$(GTK_2_14_DEFS)	\
-        $(GTK_2_16_DEFS)	\
+	$(GTK_2_16_DEFS)	\
 	$(GTK_2_18_DEFS)	\
+	$(GTK_2_20_DEFS)	\
 	$(GTK_OVERRIDES)
 
 
diff --git a/gtk/gdk-2.20.defs b/gtk/gdk-2.20.defs
new file mode 100644
index 0000000..c41b23b
--- /dev/null
+++ b/gtk/gdk-2.20.defs
@@ -0,0 +1,30 @@
+;; -*- scheme -*-
+
+;; From gdkkeys.h
+
+(define-method add_virtual_modifiers
+  (of-object "GdkKeymap")
+  (c-name "gdk_keymap_add_virtual_modifiers")
+  (return-type "none")
+  (parameters
+    '("GdkModifierType*" "state")
+  )
+)
+
+(define-method map_virtual_modifiers
+  (of-object "GdkKeymap")
+  (c-name "gdk_keymap_map_virtual_modifiers")
+  (return-type "gboolean")
+  (parameters
+    '("GdkModifierType*" "state")
+  )
+)
+
+;; From gdkscreen.h
+
+(define-method get_primary_monitor
+  (of-object "GdkScreen")
+  (c-name "gdk_screen_get_primary_monitor")
+  (return-type "gint")
+)
+
diff --git a/gtk/gtk-2.20-types.defs b/gtk/gtk-2.20-types.defs
new file mode 100644
index 0000000..32cdb35
--- /dev/null
+++ b/gtk/gtk-2.20-types.defs
@@ -0,0 +1,50 @@
+;; -*- scheme -*-
+; object definitions ...
+
+(define-object ToolItemGroup
+  (in-module "Gtk")
+  (parent "GtkContainer")
+  (c-name "GtkToolItemGroup")
+  (gtype-id "GTK_TYPE_TOOL_ITEM_GROUP")
+)
+
+(define-object ToolPalette
+  (in-module "Gtk")
+  (parent "GtkContainer")
+  (c-name "GtkToolPalette")
+  (gtype-id "GTK_TYPE_TOOL_PALETTE")
+)
+
+(define-object CellRendererSpinner
+  (in-module "Gtk")
+  (parent "GtkCellRenderer")
+  (c-name "GtkCellRendererSpinner")
+  (gtype-id "GTK_TYPE_CELL_RENDERER_SPINNER")
+)
+
+(define-object OffscreenWindow
+  (in-module "Gtk")
+  (parent "GtkWindow")
+  (c-name "GtkOffscreenWindow")
+  (gtype-id "GTK_TYPE_OFFSCREEN_WINDOW")
+)
+
+(define-object Spinner
+  (in-module "Gtk")
+  (parent "GtkDrawingArea")
+  (c-name "GtkSpinner")
+  (gtype-id "GTK_TYPE_SPINNER")
+)
+
+;; Enumerations and flags ...
+
+(define-flags ToolPaletteDragTargets
+  (in-module "Gtk")
+  (c-name "GtkToolPaletteDragTargets")
+  (gtype-id "GTK_TYPE_TOOL_PALETTE_DRAG_TARGETS")
+  (values
+    '("items" "GTK_TOOL_PALETTE_DRAG_ITEMS")
+    '("groups" "GTK_TOOL_PALETTE_DRAG_GROUPS")
+  )
+)
+
diff --git a/gtk/gtk-2.20.defs b/gtk/gtk-2.20.defs
new file mode 100644
index 0000000..1ca9bca
--- /dev/null
+++ b/gtk/gtk-2.20.defs
@@ -0,0 +1,699 @@
+;; -*- scheme -*-
+
+(include "gtk-2.20-types.defs")
+
+;; From gtktoolpalette.h
+
+(define-function gtk_tool_palette_get_type
+  (c-name "gtk_tool_palette_get_type")
+  (return-type "GType")
+)
+
+(define-function gtk_tool_palette_new
+  (c-name "gtk_tool_palette_new")
+  (is-constructor-of "GtkToolPalette")
+  (return-type "GtkWidget*")
+)
+
+(define-method set_group_position
+  (of-object "GtkToolPalette")
+  (c-name "gtk_tool_palette_set_group_position")
+  (return-type "none")
+  (parameters
+    '("GtkToolItemGroup*" "group")
+    '("gint" "position")
+  )
+)
+
+(define-method set_exclusive
+  (of-object "GtkToolPalette")
+  (c-name "gtk_tool_palette_set_exclusive")
+  (return-type "none")
+  (parameters
+    '("GtkToolItemGroup*" "group")
+    '("gboolean" "exclusive")
+  )
+)
+
+(define-method set_expand
+  (of-object "GtkToolPalette")
+  (c-name "gtk_tool_palette_set_expand")
+  (return-type "none")
+  (parameters
+    '("GtkToolItemGroup*" "group")
+    '("gboolean" "expand")
+  )
+)
+
+(define-method get_group_position
+  (of-object "GtkToolPalette")
+  (c-name "gtk_tool_palette_get_group_position")
+  (return-type "gint")
+  (parameters
+    '("GtkToolItemGroup*" "group")
+  )
+)
+
+(define-method get_exclusive
+  (of-object "GtkToolPalette")
+  (c-name "gtk_tool_palette_get_exclusive")
+  (return-type "gboolean")
+  (parameters
+    '("GtkToolItemGroup*" "group")
+  )
+)
+
+(define-method get_expand
+  (of-object "GtkToolPalette")
+  (c-name "gtk_tool_palette_get_expand")
+  (return-type "gboolean")
+  (parameters
+    '("GtkToolItemGroup*" "group")
+  )
+)
+
+(define-method set_icon_size
+  (of-object "GtkToolPalette")
+  (c-name "gtk_tool_palette_set_icon_size")
+  (return-type "none")
+  (parameters
+    '("GtkIconSize" "icon_size")
+  )
+)
+
+(define-method unset_icon_size
+  (of-object "GtkToolPalette")
+  (c-name "gtk_tool_palette_unset_icon_size")
+  (return-type "none")
+)
+
+(define-method set_style
+  (of-object "GtkToolPalette")
+  (c-name "gtk_tool_palette_set_style")
+  (return-type "none")
+  (parameters
+    '("GtkToolbarStyle" "style")
+  )
+)
+
+(define-method unset_style
+  (of-object "GtkToolPalette")
+  (c-name "gtk_tool_palette_unset_style")
+  (return-type "none")
+)
+
+(define-method get_icon_size
+  (of-object "GtkToolPalette")
+  (c-name "gtk_tool_palette_get_icon_size")
+  (return-type "GtkIconSize")
+)
+
+(define-method get_style
+  (of-object "GtkToolPalette")
+  (c-name "gtk_tool_palette_get_style")
+  (return-type "GtkToolbarStyle")
+)
+
+(define-method get_drop_item
+  (of-object "GtkToolPalette")
+  (c-name "gtk_tool_palette_get_drop_item")
+  (return-type "GtkToolItem*")
+  (parameters
+    '("gint" "x")
+    '("gint" "y")
+  )
+)
+
+(define-method get_drop_group
+  (of-object "GtkToolPalette")
+  (c-name "gtk_tool_palette_get_drop_group")
+  (return-type "GtkToolItemGroup*")
+  (parameters
+    '("gint" "x")
+    '("gint" "y")
+  )
+)
+
+(define-method get_drag_item
+  (of-object "GtkToolPalette")
+  (c-name "gtk_tool_palette_get_drag_item")
+  (return-type "GtkWidget*")
+  (parameters
+    '("const-GtkSelectionData*" "selection")
+  )
+)
+
+(define-method set_drag_source
+  (of-object "GtkToolPalette")
+  (c-name "gtk_tool_palette_set_drag_source")
+  (return-type "none")
+  (parameters
+    '("GtkToolPaletteDragTargets" "targets")
+  )
+)
+
+(define-method add_drag_dest
+  (of-object "GtkToolPalette")
+  (c-name "gtk_tool_palette_add_drag_dest")
+  (return-type "none")
+  (parameters
+    '("GtkWidget*" "widget")
+    '("GtkDestDefaults" "flags")
+    '("GtkToolPaletteDragTargets" "targets")
+    '("GdkDragAction" "actions")
+  )
+)
+
+(define-method get_hadjustment
+  (of-object "GtkToolPalette")
+  (c-name "gtk_tool_palette_get_hadjustment")
+  (return-type "GtkAdjustment*")
+)
+
+(define-method get_vadjustment
+  (of-object "GtkToolPalette")
+  (c-name "gtk_tool_palette_get_vadjustment")
+  (return-type "GtkAdjustment*")
+)
+
+(define-function gtk_tool_palette_get_drag_target_item
+  (c-name "gtk_tool_palette_get_drag_target_item")
+  (return-type "const-GtkTargetEntry*")
+)
+
+(define-function gtk_tool_palette_get_drag_target_group
+  (c-name "gtk_tool_palette_get_drag_target_group")
+  (return-type "const-GtkTargetEntry*")
+)
+
+;; From gtktoolitem.h
+
+(define-method get_ellipsize_mode
+  (of-object "GtkToolItem")
+  (c-name "gtk_tool_item_get_ellipsize_mode")
+  (return-type "PangoEllipsizeMode")
+)
+
+(define-method get_text_alignment
+  (of-object "GtkToolItem")
+  (c-name "gtk_tool_item_get_text_alignment")
+  (return-type "gfloat")
+)
+
+(define-method get_text_orientation
+  (of-object "GtkToolItem")
+  (c-name "gtk_tool_item_get_text_orientation")
+  (return-type "GtkOrientation")
+)
+
+(define-method get_text_size_group
+  (of-object "GtkToolItem")
+  (c-name "gtk_tool_item_get_text_size_group")
+  (return-type "GtkSizeGroup*")
+)
+
+;; From gtktoolitemgroup.h
+
+(define-function gtk_tool_item_group_get_type
+  (c-name "gtk_tool_item_group_get_type")
+  (return-type "GType")
+)
+
+(define-function gtk_tool_item_group_new
+  (c-name "gtk_tool_item_group_new")
+  (is-constructor-of "GtkToolItemGroup")
+  (return-type "GtkWidget*")
+  (parameters
+    '("const-gchar*" "label")
+  )
+)
+
+(define-method set_label
+  (of-object "GtkToolItemGroup")
+  (c-name "gtk_tool_item_group_set_label")
+  (return-type "none")
+  (parameters
+    '("const-gchar*" "label")
+  )
+)
+
+(define-method set_label_widget
+  (of-object "GtkToolItemGroup")
+  (c-name "gtk_tool_item_group_set_label_widget")
+  (return-type "none")
+  (parameters
+    '("GtkWidget*" "label_widget")
+  )
+)
+
+(define-method set_collapsed
+  (of-object "GtkToolItemGroup")
+  (c-name "gtk_tool_item_group_set_collapsed")
+  (return-type "none")
+  (parameters
+    '("gboolean" "collapsed")
+  )
+)
+
+(define-method set_ellipsize
+  (of-object "GtkToolItemGroup")
+  (c-name "gtk_tool_item_group_set_ellipsize")
+  (return-type "none")
+  (parameters
+    '("PangoEllipsizeMode" "ellipsize")
+  )
+)
+
+(define-method set_header_relief
+  (of-object "GtkToolItemGroup")
+  (c-name "gtk_tool_item_group_set_header_relief")
+  (return-type "none")
+  (parameters
+    '("GtkReliefStyle" "style")
+  )
+)
+
+(define-method get_label
+  (of-object "GtkToolItemGroup")
+  (c-name "gtk_tool_item_group_get_label")
+  (return-type "const-gchar*")
+)
+
+(define-method get_label_widget
+  (of-object "GtkToolItemGroup")
+  (c-name "gtk_tool_item_group_get_label_widget")
+  (return-type "GtkWidget*")
+)
+
+(define-method get_collapsed
+  (of-object "GtkToolItemGroup")
+  (c-name "gtk_tool_item_group_get_collapsed")
+  (return-type "gboolean")
+)
+
+(define-method get_ellipsize
+  (of-object "GtkToolItemGroup")
+  (c-name "gtk_tool_item_group_get_ellipsize")
+  (return-type "PangoEllipsizeMode")
+)
+
+(define-method get_header_relief
+  (of-object "GtkToolItemGroup")
+  (c-name "gtk_tool_item_group_get_header_relief")
+  (return-type "GtkReliefStyle")
+)
+
+(define-method insert
+  (of-object "GtkToolItemGroup")
+  (c-name "gtk_tool_item_group_insert")
+  (return-type "none")
+  (parameters
+    '("GtkToolItem*" "item")
+    '("gint" "position")
+  )
+)
+
+(define-method set_item_position
+  (of-object "GtkToolItemGroup")
+  (c-name "gtk_tool_item_group_set_item_position")
+  (return-type "none")
+  (parameters
+    '("GtkToolItem*" "item")
+    '("gint" "position")
+  )
+)
+
+(define-method get_item_position
+  (of-object "GtkToolItemGroup")
+  (c-name "gtk_tool_item_group_get_item_position")
+  (return-type "gint")
+  (parameters
+    '("GtkToolItem*" "item")
+  )
+)
+
+(define-method get_n_items
+  (of-object "GtkToolItemGroup")
+  (c-name "gtk_tool_item_group_get_n_items")
+  (return-type "guint")
+)
+
+(define-method get_nth_item
+  (of-object "GtkToolItemGroup")
+  (c-name "gtk_tool_item_group_get_nth_item")
+  (return-type "GtkToolItem*")
+  (parameters
+    '("guint" "index")
+  )
+)
+
+(define-method get_drop_item
+  (of-object "GtkToolItemGroup")
+  (c-name "gtk_tool_item_group_get_drop_item")
+  (return-type "GtkToolItem*")
+  (parameters
+    '("gint" "x")
+    '("gint" "y")
+  )
+)
+
+;; From gtkspinner.h
+
+(define-function gtk_spinner_get_type
+  (c-name "gtk_spinner_get_type")
+  (return-type "GType")
+)
+
+(define-function gtk_spinner_new
+  (c-name "gtk_spinner_new")
+  (is-constructor-of "GtkSpinner")
+  (return-type "GtkWidget*")
+)
+
+(define-method start
+  (of-object "GtkSpinner")
+  (c-name "gtk_spinner_start")
+  (return-type "none")
+)
+
+(define-method stop
+  (of-object "GtkSpinner")
+  (c-name "gtk_spinner_stop")
+  (return-type "none")
+)
+
+;; From gtkcellrendererspinner.h
+
+(define-function gtk_cell_renderer_spinner_get_type
+  (c-name "gtk_cell_renderer_spinner_get_type")
+  (return-type "GType")
+)
+
+(define-function gtk_cell_renderer_spinner_new
+  (c-name "gtk_cell_renderer_spinner_new")
+  (is-constructor-of "GtkCellRendererSpinner")
+  (return-type "GtkCellRenderer*")
+)
+
+;; From gtkaction.h
+
+(define-method get_always_show_image
+  (of-object "GtkAction")
+  (c-name "gtk_action_get_always_show_image")
+  (return-type "gboolean")
+)
+
+(define-method set_always_show_image
+  (of-object "GtkAction")
+  (c-name "gtk_action_set_always_show_image")
+  (return-type "none")
+  (parameters
+    '("gboolean" "always_show")
+  )
+)
+
+;; From gtkdialog.h
+
+(define-method get_widget_for_response
+  (of-object "GtkDialog")
+  (c-name "gtk_dialog_get_widget_for_response")
+  (return-type "GtkWidget*")
+  (parameters
+    '("gint" "response_id")
+  )
+)
+
+;; From gtkoffscreenwindow.h
+
+(define-function gtk_offscreen_window_get_type
+  (c-name "gtk_offscreen_window_get_type")
+  (return-type "GType")
+)
+
+(define-function gtk_offscreen_window_new
+  (c-name "gtk_offscreen_window_new")
+  (is-constructor-of "GtkOffscreenWindow")
+  (return-type "GtkWidget*")
+)
+
+(define-method get_pixmap
+  (of-object "GtkOffscreenWindow")
+  (c-name "gtk_offscreen_window_get_pixmap")
+  (return-type "GdkPixmap*")
+)
+
+(define-method get_pixbuf
+  (of-object "GtkOffscreenWindow")
+  (c-name "gtk_offscreen_window_get_pixbuf")
+  (return-type "GdkPixbuf*")
+)
+
+;; From gtkentry.h
+
+(define-method get_icon_window
+  (of-object "GtkEntry")
+  (c-name "gtk_entry_get_icon_window")
+  (return-type "GdkWindow*")
+  (parameters
+    '("GtkEntryIconPosition" "icon_pos")
+  )
+)
+
+(define-method get_text_window
+  (of-object "GtkEntry")
+  (c-name "gtk_entry_get_text_window")
+  (return-type "GdkWindow*")
+)
+
+;; From gtknotebook.h
+
+(define-method get_action_widget
+  (of-object "GtkNotebook")
+  (c-name "gtk_notebook_get_action_widget")
+  (return-type "GtkWidget*")
+  (parameters
+    '("GtkPackType" "pack_type")
+  )
+)
+
+(define-method set_action_widget
+  (of-object "GtkNotebook")
+  (c-name "gtk_notebook_set_action_widget")
+  (return-type "none")
+  (parameters
+    '("GtkWidget*" "widget")
+    '("GtkPackType" "pack_type")
+  )
+)
+
+;; From gtkstyle.h
+
+(define-method paint_spinner
+  (of-object "GtkStyle")
+  (c-name "gtk_paint_spinner")
+  (return-type "none")
+  (parameters
+    '("GtkStyle*" "style")
+    '("GdkWindow*" "window")
+    '("GtkStateType" "state_type")
+    '("const-GdkRectangle*" "area")
+    '("GtkWidget*" "widget")
+    '("const-gchar*" "detail")
+    '("guint" "step")
+    '("gint" "x")
+    '("gint" "y")
+    '("gint" "width")
+    '("gint" "height")
+  )
+)
+
+;; From gtkpaned.h
+
+(define-method get_handle_window
+  (of-object "GtkPaned")
+  (c-name "gtk_paned_get_handle_window")
+  (return-type "GdkWindow*")
+)
+
+;; From gtkrange.h
+
+(define-method get_min_slider_size
+  (of-object "GtkRange")
+  (c-name "gtk_range_get_min_slider_size")
+  (return-type "gint")
+)
+
+(define-method get_range_rect
+  (of-object "GtkRange")
+  (c-name "gtk_range_get_range_rect")
+  (return-type "none")
+  (parameters
+    '("GdkRectangle*" "range_rect")
+  )
+)
+
+(define-method get_slider_range
+  (of-object "GtkRange")
+  (c-name "gtk_range_get_slider_range")
+  (return-type "none")
+  (parameters
+    '("gint*" "slider_start")
+    '("gint*" "slider_end")
+  )
+)
+
+(define-method get_slider_size_fixed
+  (of-object "GtkRange")
+  (c-name "gtk_range_get_slider_size_fixed")
+  (return-type "gboolean")
+)
+
+(define-method set_min_slider_size
+  (of-object "GtkRange")
+  (c-name "gtk_range_set_min_slider_size")
+  (return-type "none")
+  (parameters
+    '("gboolean" "min_size")
+  )
+)
+
+(define-method set_slider_size_fixed
+  (of-object "GtkRange")
+  (c-name "gtk_range_set_slider_size_fixed")
+  (return-type "none")
+  (parameters
+    '("gboolean" "size_fixed")
+  )
+)
+
+;; From gtkstatusbar.h
+
+(define-method get_message_area
+  (of-object "GtkStatusbar")
+  (c-name "gtk_statusbar_get_message_area")
+  (return-type "GtkWidget*")
+)
+
+;; From gtkstatusicon.h
+
+(define-method set_name
+  (of-object "GtkStatusIcon")
+  (c-name "gtk_status_icon_set_name")
+  (return-type "none")
+  (parameters
+    '("const-gchar*" "name")
+  )
+)
+
+;; From gtkviewport.h
+
+(define-method get_bin_window
+  (of-object "GtkViewport")
+  (c-name "gtk_viewport_get_bin_window")
+  (return-type "GdkWindow*")
+)
+
+;; From gtkwidget.h
+
+(define-method set_realized
+  (of-object "GtkWidget")
+  (c-name "gtk_widget_set_realized")
+  (return-type "none")
+  (parameters
+    '("gboolean" "realized")
+  )
+)
+
+(define-method get_realized
+  (of-object "GtkWidget")
+  (c-name "gtk_widget_get_realized")
+  (return-type "gboolean")
+)
+
+(define-method set_mapped
+  (of-object "GtkWidget")
+  (c-name "gtk_widget_set_mapped")
+  (return-type "none")
+  (parameters
+    '("gboolean" "mapped")
+  )
+)
+
+(define-method get_mapped
+  (of-object "GtkWidget")
+  (c-name "gtk_widget_get_mapped")
+  (return-type "gboolean")
+)
+
+(define-method get_requisition
+  (of-object "GtkWidget")
+  (c-name "gtk_widget_get_requisition")
+  (return-type "none")
+  (parameters
+    '("GtkRequisition*" "requisition")
+  )
+)
+
+(define-method style_attach
+  (of-object "GtkWidget")
+  (c-name "gtk_widget_style_attach")
+  (return-type "none")
+)
+
+(define-method has_rc_style
+  (of-object "GtkWidget")
+  (c-name "gtk_widget_has_rc_style")
+  (return-type "gboolean")
+)
+
+;; From gtkwindow.h
+
+(define-method set_mnemonics_visible
+  (of-object "GtkWindow")
+  (c-name "gtk_window_set_mnemonics_visible")
+  (return-type "none")
+  (parameters
+    '("gboolean" "setting")
+  )
+)
+
+(define-method get_mnemonics_visible
+  (of-object "GtkWindow")
+  (c-name "gtk_window_get_mnemonics_visible")
+  (return-type "gboolean")
+)
+
+(define-method get_window_type
+  (of-object "GtkWindow")
+  (c-name "gtk_window_get_window_type")
+  (return-type "GtkWindowType")
+)
+
+;; From gtktooltip.h
+
+(define-method set_icon_from_gicon
+  (of-object "GtkTooltip")
+  (c-name "gtk_tooltip_set_icon_from_gicon")
+  (return-type "none")
+  (parameters
+    '("GIcon*" "gicon")
+    '("GtkIconSize" "size")
+  )
+)
+
+;; From gtkprintecontext.h
+
+(define-method get_hard_margins
+  (of-object "GtkPrintContext")
+  (c-name "gtk_print_context_get_hard_margins")
+  (return-type "gboolean")
+  (parameters
+    '("gdouble*" "top")
+    '("gdouble*" "bottom")
+    '("gdouble*" "left")
+    '("gdouble*" "right")
+  )
+)
+
+
+
diff --git a/gtk/gtkunixprint-2.20.defs b/gtk/gtkunixprint-2.20.defs
new file mode 100644
index 0000000..761ee10
--- /dev/null
+++ b/gtk/gtkunixprint-2.20.defs
@@ -0,0 +1,14 @@
+;; From gtkprinter.h
+
+(define-method get_hard_margins
+  (of-object "GtkPrinter")
+  (c-name "gtk_printer_get_hard_margins")
+  (return-type "gboolean")
+  (parameters
+    '("gdouble*" "top")
+    '("gdouble*" "bottom")
+    '("gdouble*" "left")
+    '("gdouble*" "right")
+  )
+)
+
diff --git a/setup.py b/setup.py
index 5d1d2dd..4c47a05 100755
--- a/setup.py
+++ b/setup.py
@@ -119,6 +119,7 @@ PyGtkBuild.user_options.append(('enable-threading', None,
 # FOR A NEW RELEASE, YOU USUALLY ONLY NEED TO CHANGE THE FOLLOWING
 # These defs are registered with many modules...
 gdk_defs = [
+    'gtk/gdk-2.20.defs',
     'gtk/gdk-2.18.defs',
     'gtk/gdk-2.16.defs',
     'gtk/gdk-2.14.defs',
@@ -126,6 +127,7 @@ gdk_defs = [
     'gtk/gdk-2.10.defs',
     'gtk/gdk-base.defs']
 gtk_defs = [
+    'gtk/gtk-2.20.defs',
     'gtk/gtk-2.18.defs',
     'gtk/gtk-2.16.defs',
     'gtk/gtk-2.14.defs',
@@ -133,6 +135,7 @@ gtk_defs = [
     'gtk/gtk-2.10.defs',
     'gtk/gtk-base.defs']
 gtk_types_defs = [
+    'gtk/gtk-2.20-types.defs',
     'gtk/gtk-2.18-types.defs',
     'gtk/gtk-2.16-types.defs',
     'gtk/gtk-2.14-types.defs',



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