diff options
author | Arjan Molenaar <gaphor@gmail.com> | 2021-05-19 15:36:42 +0200 |
---|---|---|
committer | Christoph Reiter <reiter.christoph@gmail.com> | 2022-04-01 19:16:50 +0200 |
commit | 5cfe80748ceefb0c45f1242033028d12d1e56d76 (patch) | |
tree | 424296bd5c05809d9ec44e93594250a971e32930 | |
parent | 8a633f845749ce975d45769a93988d2ce1bf2549 (diff) | |
download | pygobject-5cfe80748ceefb0c45f1242033028d12d1e56d76.tar.gz |
Do not override Treeview.enable_model_drag_xx for GTK4
Those methods require a Gdk.ContentFormats object.
-rw-r--r-- | gi/overrides/Gtk.py | 22 | ||||
-rw-r--r-- | tests/test_overrides_gtk.py | 15 |
2 files changed, 26 insertions, 11 deletions
diff --git a/gi/overrides/Gtk.py b/gi/overrides/Gtk.py index f53ec6bd..d9ec6fbe 100644 --- a/gi/overrides/Gtk.py +++ b/gi/overrides/Gtk.py @@ -1359,16 +1359,18 @@ class TreeView(Gtk.TreeView, Container): 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) + if GTK2 or GTK3: + 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) + + if GTK2 or GTK3: + 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): diff --git a/tests/test_overrides_gtk.py b/tests/test_overrides_gtk.py index 6bd2345a..50c1ad8b 100644 --- a/tests/test_overrides_gtk.py +++ b/tests/test_overrides_gtk.py @@ -786,7 +786,7 @@ class TestGtk(unittest.TestCase): @unittest.skipIf(sys.platform == "darwin", "crashes") @unittest.skipIf(GTK4, "uses lots of gtk3 only api") - def test_drag_target_list_gtk3(self): + def test_tree_view_drag_target_list_gtk3(self): mixed_target_list = [Gtk.TargetEntry.new('test0', 0, 0), ('test1', 1, 1), Gtk.TargetEntry.new('test2', 2, 2), @@ -818,6 +818,19 @@ class TestGtk(unittest.TestCase): treeview.enable_model_drag_dest(mixed_target_list, Gdk.DragAction.DEFAULT | Gdk.DragAction.MOVE) + @unittest.skipUnless(GTK4, "gtk4 only") + def test_tree_view_drag_content_formats_gtk4(self): + content_formats = Gdk.ContentFormats.new( + ["application/json", "GTK_TREE_MODEL_ROW"] + ) + treeview = Gtk.TreeView() + treeview.enable_model_drag_source(Gdk.ModifierType.BUTTON1_MASK, + content_formats, + Gdk.DragAction.MOVE) + + treeview.enable_model_drag_dest(content_formats, + Gdk.DragAction.MOVE) + @unittest.skipIf(Gtk_version == "4.0", "not in gtk4") def test_scrollbar(self): adjustment = Gtk.Adjustment() |