summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--configure.ac18
-rw-r--r--examples/pygtk-demo/demos/spinner.py63
-rw-r--r--examples/pygtk-demo/demos/toolpalette.py111
-rw-r--r--gtk/Makefile.am15
-rw-r--r--gtk/gdk-2.20.defs30
-rw-r--r--gtk/gtk-2.20-types.defs50
-rw-r--r--gtk/gtk-2.20.defs699
-rw-r--r--gtk/gtkunixprint-2.20.defs14
-rwxr-xr-xsetup.py3
9 files changed, 1002 insertions, 1 deletions
diff --git a/configure.ac b/configure.ac
index 89e368ca..e9b07ae8 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 00000000..10111863
--- /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 00000000..82d30e41
--- /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 c02a0e28..a5e3a5dc 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 00000000..c41b23b6
--- /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 00000000..32cdb357
--- /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 00000000..1ca9bca7
--- /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 00000000..761ee105
--- /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 5d1d2ddb..4c47a05a 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',