[pygobject/ebassi/gtk4-overrides: 2/4] Remove Container from GTK4 overrides




commit 23b574767b657e936a51cc85859de444d1c451b8
Author: Emmanuele Bassi <ebassi gnome org>
Date:   Fri Sep 11 17:46:47 2020 +0100

    Remove Container from GTK4 overrides
    
    The Container class does not exist any more.

 gi/overrides/Gtk.py | 177 +++++++++++++++++++++++++++++++++-------------------
 1 file changed, 113 insertions(+), 64 deletions(-)
---
diff --git a/gi/overrides/Gtk.py b/gi/overrides/Gtk.py
index 2bcb6aa1..605b7851 100644
--- a/gi/overrides/Gtk.py
+++ b/gi/overrides/Gtk.py
@@ -168,24 +168,23 @@ Widget = override(Widget)
 __all__.append('Widget')
 
 
-class Container(Gtk.Container, Widget):
-
-    def __len__(self):
-        return len(self.get_children())
+if GTK2 or GTK3:
+    class Container(Gtk.Container, Widget):
 
-    def __contains__(self, child):
-        return child in self.get_children()
+        def __len__(self):
+            return len(self.get_children())
 
-    def __iter__(self):
-        return iter(self.get_children())
+        def __contains__(self, child):
+            return child in self.get_children()
 
-    def __bool__(self):
-        return True
+        def __iter__(self):
+            return iter(self.get_children())
 
-    # alias for Python 2.x object protocol
-    __nonzero__ = __bool__
+        def __bool__(self):
+            return True
 
-    if Gtk._version in ("2.0", "3.0"):
+        # alias for Python 2.x object protocol
+        __nonzero__ = __bool__
 
         def child_get_property(self, child, property_name, value=None):
             if value is None:
@@ -210,9 +209,8 @@ class Container(Gtk.Container, Widget):
 
         get_focus_chain = strip_boolean_result(Gtk.Container.get_focus_chain)
 
-
-Container = override(Container)
-__all__.append('Container')
+    Container = override(Container)
+    __all__.append('Container')
 
 
 class Editable(Gtk.Editable):
@@ -421,12 +419,20 @@ if GTK2 or GTK3:
     __all__.append('UIManager')
 
 
-class ComboBox(Gtk.ComboBox, Container):
-    get_active_iter = strip_boolean_result(Gtk.ComboBox.get_active_iter)
+if GTK4:
+    class ComboBox(Gtk.ComboBox):
+        get_active_iter = strip_boolean_result(Gtk.ComboBox.get_active_iter)
+
+
+    ComboBox = override(ComboBox)
+    __all__.append('ComboBox')
+else:
+    class ComboBox(Gtk.ComboBox, Container):
+        get_active_iter = strip_boolean_result(Gtk.ComboBox.get_active_iter)
 
 
-ComboBox = override(ComboBox)
-__all__.append('ComboBox')
+    ComboBox = override(ComboBox)
+    __all__.append('ComboBox')
 
 
 class Box(Gtk.Box):
@@ -1339,51 +1345,94 @@ TreeStore = override(TreeStore)
 __all__.append('TreeStore')
 
 
-class TreeView(Gtk.TreeView, Container):
-    __init__ = deprecated_init(Gtk.TreeView.__init__,
-                               arg_names=('model',),
-                               category=PyGTKDeprecationWarning)
-
-    get_path_at_pos = strip_boolean_result(Gtk.TreeView.get_path_at_pos)
-    get_visible_range = strip_boolean_result(Gtk.TreeView.get_visible_range)
-    get_dest_row_at_pos = strip_boolean_result(Gtk.TreeView.get_dest_row_at_pos)
-
-    def enable_model_drag_source(self, start_button_mask, targets, actions):
-        target_entries = _construct_target_list(targets)
-        super(TreeView, self).enable_model_drag_source(start_button_mask,
-                                                       target_entries,
-                                                       actions)
-
-    def enable_model_drag_dest(self, targets, actions):
-        target_entries = _construct_target_list(targets)
-        super(TreeView, self).enable_model_drag_dest(target_entries,
-                                                     actions)
-
-    def scroll_to_cell(self, path, column=None, use_align=False, row_align=0.0, col_align=0.0):
-        if not isinstance(path, Gtk.TreePath):
-            path = TreePath(path)
-        super(TreeView, self).scroll_to_cell(path, column, use_align, row_align, col_align)
-
-    def set_cursor(self, path, column=None, start_editing=False):
-        if not isinstance(path, Gtk.TreePath):
-            path = TreePath(path)
-        super(TreeView, self).set_cursor(path, column, start_editing)
-
-    def get_cell_area(self, path, column=None):
-        if not isinstance(path, Gtk.TreePath):
-            path = TreePath(path)
-        return super(TreeView, self).get_cell_area(path, column)
-
-    def insert_column_with_attributes(self, position, title, cell, **kwargs):
-        column = TreeViewColumn()
-        column.set_title(title)
-        column.pack_start(cell, False)
-        self.insert_column(column, position)
-        column.set_attributes(cell, **kwargs)
-
+if GTK4:
+    class TreeView(Gtk.TreeView):
+        get_path_at_pos = strip_boolean_result(Gtk.TreeView.get_path_at_pos)
+        get_visible_range = strip_boolean_result(Gtk.TreeView.get_visible_range)
+        get_dest_row_at_pos = strip_boolean_result(Gtk.TreeView.get_dest_row_at_pos)
+
+        def enable_model_drag_source(self, start_button_mask, targets, actions):
+            target_entries = _construct_target_list(targets)
+            super(TreeView, self).enable_model_drag_source(start_button_mask,
+                                                           target_entries,
+                                                           actions)
+
+        def enable_model_drag_dest(self, targets, actions):
+            target_entries = _construct_target_list(targets)
+            super(TreeView, self).enable_model_drag_dest(target_entries,
+                                                         actions)
+
+        def scroll_to_cell(self, path, column=None, use_align=False, row_align=0.0, col_align=0.0):
+            if not isinstance(path, Gtk.TreePath):
+                path = TreePath(path)
+            super(TreeView, self).scroll_to_cell(path, column, use_align, row_align, col_align)
+
+        def set_cursor(self, path, column=None, start_editing=False):
+            if not isinstance(path, Gtk.TreePath):
+                path = TreePath(path)
+            super(TreeView, self).set_cursor(path, column, start_editing)
+
+        def get_cell_area(self, path, column=None):
+            if not isinstance(path, Gtk.TreePath):
+                path = TreePath(path)
+            return super(TreeView, self).get_cell_area(path, column)
+
+        def insert_column_with_attributes(self, position, title, cell, **kwargs):
+            column = TreeViewColumn()
+            column.set_title(title)
+            column.pack_start(cell, False)
+            self.insert_column(column, position)
+            column.set_attributes(cell, **kwargs)
+
+
+    TreeView = override(TreeView)
+    __all__.append('TreeView')
+else:
+    class TreeView(Gtk.TreeView, Container):
+        __init__ = deprecated_init(Gtk.TreeView.__init__,
+                                   arg_names=('model',),
+                                   category=PyGTKDeprecationWarning)
 
-TreeView = override(TreeView)
-__all__.append('TreeView')
+        get_path_at_pos = strip_boolean_result(Gtk.TreeView.get_path_at_pos)
+        get_visible_range = strip_boolean_result(Gtk.TreeView.get_visible_range)
+        get_dest_row_at_pos = strip_boolean_result(Gtk.TreeView.get_dest_row_at_pos)
+
+        def enable_model_drag_source(self, start_button_mask, targets, actions):
+            target_entries = _construct_target_list(targets)
+            super(TreeView, self).enable_model_drag_source(start_button_mask,
+                                                           target_entries,
+                                                           actions)
+
+        def enable_model_drag_dest(self, targets, actions):
+            target_entries = _construct_target_list(targets)
+            super(TreeView, self).enable_model_drag_dest(target_entries,
+                                                         actions)
+
+        def scroll_to_cell(self, path, column=None, use_align=False, row_align=0.0, col_align=0.0):
+            if not isinstance(path, Gtk.TreePath):
+                path = TreePath(path)
+            super(TreeView, self).scroll_to_cell(path, column, use_align, row_align, col_align)
+
+        def set_cursor(self, path, column=None, start_editing=False):
+            if not isinstance(path, Gtk.TreePath):
+                path = TreePath(path)
+            super(TreeView, self).set_cursor(path, column, start_editing)
+
+        def get_cell_area(self, path, column=None):
+            if not isinstance(path, Gtk.TreePath):
+                path = TreePath(path)
+            return super(TreeView, self).get_cell_area(path, column)
+
+        def insert_column_with_attributes(self, position, title, cell, **kwargs):
+            column = TreeViewColumn()
+            column.set_title(title)
+            column.pack_start(cell, False)
+            self.insert_column(column, position)
+            column.set_attributes(cell, **kwargs)
+
+
+    TreeView = override(TreeView)
+    __all__.append('TreeView')
 
 
 class TreeViewColumn(Gtk.TreeViewColumn):


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