diff options
author | Johan Dahlin <johan@src.gnome.org> | 2005-01-08 18:40:29 +0000 |
---|---|---|
committer | Johan Dahlin <johan@src.gnome.org> | 2005-01-08 18:40:29 +0000 |
commit | ee309c2845bacac60ecdd4aab2ba6d698769b804 (patch) | |
tree | 2784a84260db59cff8c67729df124f612ee3117a | |
parent | 1e028e5710e6b74f5a44a2330efd4ed19cf3aa9b (diff) | |
download | pygtk-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-- | ChangeLog | 9 | ||||
-rw-r--r-- | Makefile.am | 1 | ||||
-rw-r--r-- | docs/random/missing-symbols | 22 | ||||
-rwxr-xr-x | examples/ide/gtkcons.py | 7 | ||||
-rw-r--r-- | gtk/__init__.py | 68 | ||||
-rw-r--r-- | gtk/gtk.defs | 230 | ||||
-rw-r--r-- | tests/test_thread.py | 4 |
7 files changed, 292 insertions, 49 deletions
@@ -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): |