diff options
Diffstat (limited to 'gi/overrides/Gtk.py')
-rw-r--r-- | gi/overrides/Gtk.py | 41 |
1 files changed, 35 insertions, 6 deletions
diff --git a/gi/overrides/Gtk.py b/gi/overrides/Gtk.py index e4525921..9c35b068 100644 --- a/gi/overrides/Gtk.py +++ b/gi/overrides/Gtk.py @@ -35,6 +35,18 @@ else: Gtk = modules['Gtk']._introspection_module __all__ = [] +if Gtk._version == '2.0': + import warnings + warn_msg = "You have imported the Gtk 2.0 module. Because Gtk 2.0 \ +was not designed for use with introspection some of the \ +interfaces and API will fail. As such this is not supported \ +by the pygobject development team and we encourage you to \ +port your app to Gtk 3 or greater. PyGTK is the recomended \ +python module to use with Gtk 2.0" + + warnings.warn(warn_msg, RuntimeWarning) + + class Widget(Gtk.Widget): def translate_coordinates(self, dest_widget, src_x, src_y): @@ -365,7 +377,8 @@ class Dialog(Gtk.Dialog, Container): if flags & Gtk.DialogFlags.NO_SEPARATOR: self.set_has_separator(False) except AttributeError: - pass + import warnings + warnings.warn("Gtk.DialogFlags.NO_SEPARATOR has been depricated since Gtk+-3.0", DeprecationWarning) if buttons is not None: self.add_buttons(*buttons) @@ -401,16 +414,23 @@ class MessageDialog(Gtk.MessageDialog, Dialog): def __init__(self, parent=None, flags=0, - type=Gtk.MessageType.INFO, + message_type=Gtk.MessageType.INFO, buttons=Gtk.ButtonsType.NONE, message_format=None, **kwds): if message_format != None: kwds['text'] = message_format + + # type keyword is used for backwards compat with PyGTK + if 'type' in kwds: + import warnings + warnings.warn("The use of the keyword type as a parameter of the Gtk.MessageDialog constructor has been depricated. Please use message_type instead.", DeprecationWarning) + message_type = kwds.pop('type') + Gtk.MessageDialog.__init__(self, _buttons_property=buttons, - message_type=type, + message_type=message_type, **kwds) Dialog.__init__(self, parent=parent, flags=flags) @@ -738,9 +758,7 @@ class TreeModel(Gtk.TreeModel): # we may need to convert to a basic type type_ = self.get_column_type(column) - if type_ == GObject.TYPE_PYOBJECT: - pass # short-circut branching - elif type_ == GObject.TYPE_STRING: + if type_ == GObject.TYPE_STRING: if isinstance(value, str): value = str(value) elif sys.version_info < (3, 0): @@ -808,6 +826,9 @@ class TreeModel(Gtk.TreeModel): elif type_ == GObject.TYPE_UINT64: value_container.set_uint64(value) value = value_container + elif type_ == GObject.TYPE_PYOBJECT: + value_container.set_boxed(value) + value = value_container return value @@ -884,6 +905,14 @@ class ListStore(Gtk.ListStore, TreeModel, TreeSortable): return treeiter + def prepend(self, row=None): + treeiter = Gtk.ListStore.prepend(self) + + if row is not None: + self.set_row(treeiter, row) + + return treeiter + def set_value(self, treeiter, column, value): value = self._convert_value(treeiter, column, value) Gtk.ListStore.set_value(self, treeiter, column, value) |