[pygobject/pygobject-3-2] Add missing override for TreeModel.iter_previous()



commit 0ed74e4c4da4ed3313d83807b998f4f096aeefcd
Author: Martin Pitt <martinpitt gnome org>
Date:   Mon Apr 23 15:24:04 2012 +0200

    Add missing override for TreeModel.iter_previous()
    
    This should behave like the override for TreeModel.iter_next().
    
    https://bugzilla.gnome.org/show_bug.cgi?id=660018

 gi/overrides/Gtk.py     |    6 ++++++
 tests/test_overrides.py |    4 ++++
 2 files changed, 10 insertions(+), 0 deletions(-)
---
diff --git a/gi/overrides/Gtk.py b/gi/overrides/Gtk.py
index 007ea30..aba5a73 100644
--- a/gi/overrides/Gtk.py
+++ b/gi/overrides/Gtk.py
@@ -783,6 +783,12 @@ class TreeModel(Gtk.TreeModel):
         if success:
             return next_iter
 
+    def iter_previous(self, aiter):
+        prev_iter = aiter.copy()
+        success = super(TreeModel, self).iter_previous(prev_iter)
+        if success:
+            return prev_iter
+
     def iter_children(self, aiter):
         success, child_iter = super(TreeModel, self).iter_children(aiter)
         if success:
diff --git a/tests/test_overrides.py b/tests/test_overrides.py
index 6f2fbaf..92c615c 100644
--- a/tests/test_overrides.py
+++ b/tests/test_overrides.py
@@ -1350,6 +1350,8 @@ class TestGtk(unittest.TestCase):
         self.assertTrue(tree_store)
         self.assertEqual(len(tree_store), 100)
 
+        self.assertEqual(tree_store.iter_previous(tree_store.get_iter(0)), None)
+
         for i,row in enumerate(tree_store):
             self.assertEqual(row.model, tree_store)
             self.assertEqual(row.parent, None)
@@ -1375,6 +1377,8 @@ class TestGtk(unittest.TestCase):
             next = tree_store.iter_next(aiter)
             if i < len(tree_store) - 1:
                 self.assertEqual(tree_store.get_path(next), row.next.path)
+                self.assertEqual(tree_store.get_path(tree_store.iter_previous(next)),
+                                 tree_store.get_path(aiter))
             else:
                 self.assertEqual(next, None)
 



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