summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohan Dahlin <johan@src.gnome.org>2005-01-08 18:40:29 +0000
committerJohan Dahlin <johan@src.gnome.org>2005-01-08 18:40:29 +0000
commitee309c2845bacac60ecdd4aab2ba6d698769b804 (patch)
tree2784a84260db59cff8c67729df124f612ee3117a
parent1e028e5710e6b74f5a44a2330efd4ed19cf3aa9b (diff)
downloadpygtk-ee309c2845bacac60ecdd4aab2ba6d698769b804.tar.gz
Add pygtk_postinstall.py Updated Deprecate gtk.idle_add and friends. Merge
* Makefile.am: Add pygtk_postinstall.py * docs/random/missing-symbols: Updated * gtk/__init__.py: Deprecate gtk.idle_add and friends. * gtk/gtk.defs: Merge in 2.6 api, for GtkLabel functions, thanks to Gian Mario Tagliaretti, fixes bug #163296 * tests/test_thread.py: Don't use gtk.idle_add
-rw-r--r--ChangeLog9
-rw-r--r--Makefile.am1
-rw-r--r--docs/random/missing-symbols22
-rwxr-xr-xexamples/ide/gtkcons.py7
-rw-r--r--gtk/__init__.py68
-rw-r--r--gtk/gtk.defs230
-rw-r--r--tests/test_thread.py4
7 files changed, 292 insertions, 49 deletions
diff --git a/ChangeLog b/ChangeLog
index 86a0ec49..bacc79e0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2005-01-08 Johan Dahlin <johan@gnome.org>
+
+ * Makefile.am: Add pygtk_postinstall.py
+ * docs/random/missing-symbols: Updated
+ * gtk/__init__.py: Deprecate gtk.idle_add and friends.
+ * gtk/gtk.defs: Merge in 2.6 api, for GtkLabel functions,
+ thanks to Gian Mario Tagliaretti, fixes bug #163296
+ * tests/test_thread.py: Don't use gtk.idle_add
+
2005-01-08 Gustavo J. A. M. Carneiro <gjc@gnome.org>
* codegen/reversewrapper.py (GFlagsReturn, GFlagsParam): Add type
diff --git a/Makefile.am b/Makefile.am
index 633c919a..368ffd2c 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -98,6 +98,7 @@ EXTRA_DIST += \
makefile.msc \
setup.py \
dsextras.py \
+ pygtk_postinstall.py \
MANIFEST.in \
PKG-INFO \
PKG-INFO.in \
diff --git a/docs/random/missing-symbols b/docs/random/missing-symbols
index e1601b27..2623433f 100644
--- a/docs/random/missing-symbols
+++ b/docs/random/missing-symbols
@@ -1,6 +1,16 @@
Symbols, added in gtk+ between our merging with 2.5.x and 2.6.0
They need to be added to the defs file, probably manually.
+gtk_label_get_max_width_chars
+gtk_label_set_max_width_chars
+gtk_label_get_angle
+gtk_label_set_angle
+gtk_label_get_single_line_mode
+gtk_label_set_single_line_mode
+gtk_button_get_image
+gtk_button_set_image
+gtk_progress_bar_get_ellipsize
+gtk_progress_bar_set_ellipsize
gtk_icon_view_get_column_spacing
gtk_icon_view_get_columns
gtk_icon_view_get_item_width
@@ -13,21 +23,11 @@ gtk_icon_view_set_item_width
gtk_icon_view_set_margin
gtk_icon_view_set_row_spacing
gtk_icon_view_set_spacing
-gtk_label_get_max_width_chars
-gtk_label_set_max_width_chars
gtk_cell_renderer_stop_editing
gtk_list_store_insert_with_values
gtk_list_store_insert_with_valuesv
-gtk_text_layout_get_iter_at_position
+gtk_text_layout_get_iter_at_position (NOT MERGED INTERNAL API)
gtk_text_view_get_iter_at_position
-gtk_label_get_angle
-gtk_label_set_angle
gtk_dialog_set_alterantive_button_order_from_array
-gtk_button_get_image
-gtk_button_set_image
-gtk_progress_bar_get_ellipsize
-gtk_progress_bar_set_ellipsize
gtk_action_get_accel_path
gtk_file_filter_add_pixbuf_formats
-gtk_label_get_single_line_mode
-gtk_label_set_single_line_mode
diff --git a/examples/ide/gtkcons.py b/examples/ide/gtkcons.py
index f85c313a..770d5859 100755
--- a/examples/ide/gtkcons.py
+++ b/examples/ide/gtkcons.py
@@ -32,6 +32,7 @@
import sys, string, traceback
import pygtk
pygtk.require('2.0')
+import gobject
import gtk
stdout = sys.stdout
@@ -210,15 +211,15 @@ class Console(gtk.VBox):
if event.keyval == gtk.keysyms.Tab:
self.line.emit_stop_by_name("key_press_event")
self.line.append_text('\t')
- gtk.idle_add(self.focus_text)
+ gobject.idle_add(self.focus_text)
elif event.keyval in (gtk.keysyms.KP_Up, gtk.keysyms.Up):
self.line.emit_stop_by_name("key_press_event")
self.historyUp()
- gtk.idle_add(self.focus_text)
+ gobject.idle_add(self.focus_text)
elif event.keyval in (gtk.keysyms.KP_Down, gtk.keysyms.Down):
self.line.emit_stop_by_name("key_press_event")
self.historyDown()
- gtk.idle_add(self.focus_text)
+ gobject.idle_add(self.focus_text)
elif event.keyval in (gtk.keysyms.D, gtk.keysyms.d) and \
event.state & gtk.gdk.CONTROL_MASK:
self.line.emit_stop_by_name("key_press_event")
diff --git a/gtk/__init__.py b/gtk/__init__.py
index 6ed46f98..e9f3139a 100644
--- a/gtk/__init__.py
+++ b/gtk/__init__.py
@@ -40,31 +40,10 @@ threads_init = gdk.threads_init
threads_enter = gdk.threads_enter
threads_leave = gdk.threads_leave
-idle_add = _gobject.idle_add
-idle_remove = _gobject.source_remove
-timeout_add = _gobject.timeout_add
-timeout_remove = _gobject.source_remove
-input_add = _gobject.io_add_watch
-input_add_full = _gobject.io_add_watch
-input_remove = _gobject.source_remove
-
gdk.INPUT_READ = _gobject.IO_IN | _gobject.IO_HUP | _gobject.IO_ERR
gdk.INPUT_WRITE = _gobject.IO_OUT | _gobject.IO_HUP
gdk.INPUT_EXCEPTION = _gobject.IO_PRI
-# _gobject deprecation
-from types import ModuleType as _module
-from warnings import warn as _warn
-
-class _GObjectWrapper(_module):
- _gobject = _gobject
- def __getattr__(self, attr):
- _warn('gtk._gobject is deprecated, use gobject directly instead',
- DeprecationWarning, 2)
- return getattr(self._gobject, attr)
-_gobject = _GObjectWrapper('gtk._gobject')
-del _GObjectWrapper, _module
-
# other deprecated symbols
class _Deprecated:
def __init__(self, func, oldname, module=''):
@@ -72,7 +51,7 @@ class _Deprecated:
self.oldname = oldname
self.name = func.__name__
if module:
- self.module = 'gtk.' + module
+ self.module = module
else:
self.module = 'gtk'
@@ -80,24 +59,49 @@ class _Deprecated:
return '<deprecated function %s>' % (self.oldname)
def __call__(self, *args, **kwargs):
- message = 'gtk.%s is deprecated, use %s.%s instead' % (self.oldname,
- self.module,
- self.name)
+ oldname = 'gtk.' + self.oldname
+ newname = self.module + '.' + self.name
+ message = '%s is deprecated, use %s instead' % (oldname, newname)
# DeprecationWarning is imported from _gtk, so it's not the same
# as the one found in exceptions.
_warn(message, DeprecationWarning, 2)
- return self.func(*args, **kwargs)
-
+ try:
+ return self.func(*args, **kwargs)
+ except TypeError, e:
+ msg = str(e).replace(self.name, self.oldname)
+ raise TypeError(msg)
+
# old names compatibility ...
+idle_add = _Deprecated(_gobject.idle_add, 'idle_add', 'gobject')
+idle_remove = _Deprecated(_gobject.source_remove, 'idle_remove', 'gobject')
+timeout_add = _Deprecated(_gobject.timeout_add, 'timeout_add', 'gobject')
+timeout_remove = _Deprecated(_gobject.source_remove, 'timeout_remove', 'gobject')
+input_add = _Deprecated(_gobject.io_add_watch, 'input_add', 'gobject')
+input_add_full = _Deprecated(_gobject.io_add_watch, 'input_add_full', 'gobject')
+input_remove = _Deprecated(_gobject.source_remove, 'input_remove', 'gobject')
+
mainloop = _Deprecated(main, 'mainloop')
mainquit = _Deprecated(main_quit, 'mainquit')
mainiteration = _Deprecated(main_iteration, 'mainiteration')
-load_font = _Deprecated(gdk.Font, 'load_font', 'gdk')
-load_fontset = _Deprecated(gdk.fontset_load, 'load_fontset', 'gdk')
-create_pixmap = _Deprecated(gdk.Pixmap, 'create_pixmap', 'gdk')
+load_font = _Deprecated(gdk.Font, 'load_font', 'gtk.gdk')
+load_fontset = _Deprecated(gdk.fontset_load, 'load_fontset', 'gtk.gdk')
+create_pixmap = _Deprecated(gdk.Pixmap, 'create_pixmap', 'gtk.gdk')
create_pixmap_from_xpm = _Deprecated(gdk.pixmap_create_from_xpm,
- 'pixmap_create_from_xpm', 'gdk')
+ 'pixmap_create_from_xpm', 'gtk.gdk')
create_pixmap_from_xpm_d = _Deprecated(gdk.pixmap_create_from_xpm_d,
- 'pixmap_create_from_xpm_d', 'gdk')
+ 'pixmap_create_from_xpm_d', 'gtk.gdk')
+
+# _gobject deprecation
+from types import ModuleType as _module
+from warnings import warn as _warn
+
+class _GObjectWrapper(_module):
+ _gobject = _gobject
+ def __getattr__(self, attr):
+ _warn('gtk._gobject is deprecated, use gobject directly instead',
+ DeprecationWarning, 2)
+ return getattr(self._gobject, attr)
+_gobject = _GObjectWrapper('gtk._gobject')
+del _GObjectWrapper, _module
del _Deprecated
diff --git a/gtk/gtk.defs b/gtk/gtk.defs
index d2d9f6eb..57bc07a7 100644
--- a/gtk/gtk.defs
+++ b/gtk/gtk.defs
@@ -735,6 +735,12 @@
(return-type "none")
)
+(define-method get_accel_path
+ (of-object "GtkAction")
+ (c-name "gtk_action_get_accel_path")
+ (return-type "const-gchar*")
+)
+
(define-method block_activate_from
(of-object "GtkAction")
(c-name "gtk_action_block_activate_from")
@@ -1715,6 +1721,20 @@
)
)
+(define-method set_image
+ (of-object "GtkButton")
+ (c-name "gtk_button_set_image")
+ (return-type "none")
+ (parameters
+ '("GtkWidget*" "image")
+ )
+)
+
+(define-method get_image
+ (of-object "GtkButton")
+ (c-name "gtk_button_get_image")
+ (return-type "GtkWidget*")
+)
;; From /opt/gtk2/include/gtk-2.0/gtk/gtkcalendar.h
@@ -2028,6 +2048,15 @@
(return-type "none")
)
+(define-method stop_editing
+ (of-object "GtkCellRenderer")
+ (c-name "gtk_cell_renderer_stop_editing")
+ (return-type "none")
+ (parameters
+ '("gboolean" "canceled")
+ )
+)
+
;; From /opt/gtk2/include/gtk-2.0/gtk/gtkcellrenderercombo.h
@@ -2043,7 +2072,7 @@
(return-type "GtkCellRenderer*")
)
-
+
;; From /opt/gtk2/include/gtk-2.0/gtk/gtkcellrendererpixbuf.h
@@ -5065,6 +5094,16 @@
(varargs #t)
)
+(define-method set_alternative_button_order_from_array
+ (of-object "GtkDialog")
+ (c-name "gtk_dialog_set_alternative_button_order_from_array")
+ (return-type "none")
+ (parameters
+ '("gint" "n_params")
+ '("gint*" "new_order")
+ )
+)
+
;; From /opt/gtk2/include/gtk-2.0/gtk/gtkdnd.h
@@ -6508,6 +6547,12 @@
)
)
+(define-method add_pixbuf_formats
+ (of-object "GtkFileFilter")
+ (c-name "gtk_file_filter_add_pixbuf_formats")
+ (return-type "none")
+)
+
(define-method add_custom
(of-object "GtkFileFilter")
(c-name "gtk_file_filter_add_custom")
@@ -8295,6 +8340,96 @@
(return-type "GtkOrientation")
)
+(define-method set_columns
+ (of-object "GtkIconView")
+ (c-name "gtk_icon_view_set_columns")
+ (return-type "none")
+ (parameters
+ '("gint" "columns")
+ )
+)
+
+(define-method get_columns
+ (of-object "GtkIconView")
+ (c-name "gtk_icon_view_get_columns")
+ (return-type "gint")
+)
+
+(define-method set_item_width
+ (of-object "GtkIconView")
+ (c-name "gtk_icon_view_set_item_width")
+ (return-type "none")
+ (parameters
+ '("gint" "item_width")
+ )
+)
+
+(define-method get_item_width
+ (of-object "GtkIconView")
+ (c-name "gtk_icon_view_get_item_width")
+ (return-type "gint")
+)
+
+(define-method set_spacing
+ (of-object "GtkIconView")
+ (c-name "gtk_icon_view_set_spacing")
+ (return-type "none")
+ (parameters
+ '("gint" "spacing")
+ )
+)
+
+(define-method get_spacing
+ (of-object "GtkIconView")
+ (c-name "gtk_icon_view_get_spacing")
+ (return-type "gint")
+)
+
+(define-method set_row_spacing
+ (of-object "GtkIconView")
+ (c-name "gtk_icon_view_set_row_spacing")
+ (return-type "none")
+ (parameters
+ '("gint" "row_spacing")
+ )
+)
+
+(define-method get_row_spacing
+ (of-object "GtkIconView")
+ (c-name "gtk_icon_view_get_row_spacing")
+ (return-type "gint")
+)
+
+(define-method set_column_spacing
+ (of-object "GtkIconView")
+ (c-name "gtk_icon_view_set_column_spacing")
+ (return-type "none")
+ (parameters
+ '("gint" "column_spacing")
+ )
+)
+
+(define-method get_column_spacing
+ (of-object "GtkIconView")
+ (c-name "gtk_icon_view_get_column_spacing")
+ (return-type "gint")
+)
+
+(define-method set_margin
+ (of-object "GtkIconView")
+ (c-name "gtk_icon_view_set_margin")
+ (return-type "none")
+ (parameters
+ '("gint" "margin")
+ )
+)
+
+(define-method get_margin
+ (of-object "GtkIconView")
+ (c-name "gtk_icon_view_get_margin")
+ (return-type "gint")
+)
+
(define-method get_path_at_pos
(of-object "GtkIconView")
(c-name "gtk_icon_view_get_path_at_pos")
@@ -9474,6 +9609,21 @@
(return-type "PangoEllipsizeMode")
)
+(define-method set_angle
+ (of-object "GtkLabel")
+ (c-name "gtk_label_set_angle")
+ (return-type "none")
+ (parameters
+ '("gint" "angle")
+ )
+)
+
+(define-method get_angle
+ (of-object "GtkLabel")
+ (c-name "gtk_label_get_angle")
+ (return-type "gint")
+)
+
(define-method set_width_chars
(of-object "GtkLabel")
(c-name "gtk_label_set_width_chars")
@@ -9489,7 +9639,35 @@
(return-type "gint")
)
+(define-method set_max_width_chars
+ (of-object "GtkLabel")
+ (c-name "gtk_label_set_max_width_chars")
+ (return-type "none")
+ (parameters
+ '("gint" "n_chars")
+ )
+)
+(define-method get_max_width_chars
+ (of-object "GtkLabel")
+ (c-name "gtk_label_get_max_width_chars")
+ (return-type "gint")
+)
+
+(define-method set_single_line_mode
+ (of-object "GtkLabel")
+ (c-name "gtk_label_set_single_line_mode")
+ (return-type "none")
+ (parameters
+ '("gboolean" "single_line_mode")
+ )
+)
+
+(define-method get_single_line_mode
+ (of-object "GtkLabel")
+ (c-name "gtk_label_get_single_line_mode")
+ (return-type "gboolean")
+)
;; From /opt/gtk2/include/gtk-2.0/gtk/gtklayout.h
@@ -9970,6 +10148,30 @@
)
)
+(define-method insert_with_values
+ (of-object "GtkListStore")
+ (c-name "gtk_list_store_insert_with_values")
+ (return-type "none")
+ (parameters
+ '("GtkTreeIter*" "iter")
+ '("gint" "position")
+ )
+ (varargs #t)
+)
+
+(define-method insert_with_valuesv
+ (of-object "GtkListStore")
+ (c-name "gtk_list_store_insert_with_valuesv")
+ (return-type "none")
+ (parameters
+ '("GtkTreeIter*" "iter")
+ '("gint" "position")
+ '("gint*" "columns")
+ '("GValue*" "values")
+ '("gint" "n_values")
+ )
+)
+
(define-method prepend
(of-object "GtkListStore")
(c-name "gtk_list_store_prepend")
@@ -12056,6 +12258,20 @@
(deprecated "")
)
+(define-method set_ellipsize
+ (of-object "GtkProgressBar")
+ (c-name "gtk_progress_bar_set_ellipsize")
+ (return-type "none")
+ (parameters
+ '("PangoEllipsizeMode" "mode")
+ )
+)
+
+(define-method get_ellipsize
+ (of-object "GtkProgressBar")
+ (c-name "gtk_progress_bar_get_ellipsize")
+ (return-type "PangoEllipsizeMode")
+)
;; From /opt/gtk2/include/gtk-2.0/gtk/gtkradioaction.h
@@ -16348,6 +16564,18 @@
)
)
+(define-method get_iter_at_position
+ (of-object "GtkTextView")
+ (c-name "gtk_text_view_get_iter_at_position")
+ (return-type "none")
+ (parameters
+ '("GtkTextIter*" "iter")
+ '("gint*" "trailing")
+ '("gint" "x")
+ '("gint" "y")
+ )
+)
+
(define-method get_line_yrange
(of-object "GtkTextView")
(c-name "gtk_text_view_get_line_yrange")
diff --git a/tests/test_thread.py b/tests/test_thread.py
index d58a30f3..ad23d273 100644
--- a/tests/test_thread.py
+++ b/tests/test_thread.py
@@ -20,8 +20,8 @@ class TestThread(unittest.TestCase):
self.obj.emit('emit-signal')
def testExtensionModule(self):
- gtk.idle_add(self.idle_cb)
- gtk.timeout_add(50, self.timeout_cb)
+ gobject.idle_add(self.idle_cb)
+ gobject.timeout_add(50, self.timeout_cb)
gtk.main()
def timeout_cb(self):