[pygobject] [gi] add overrides to Gtk.Editable



commit ce8b948310220288e9eef904eef4ec8f4e24a376
Author: John (J5) Palmieri <johnp redhat com>
Date:   Tue Nov 9 22:11:51 2010 -0500

    [gi] add overrides to Gtk.Editable

 gi/overrides/Gtk.py     |   17 +++++++++++++++++
 tests/test_overrides.py |   12 ++++++++++++
 2 files changed, 29 insertions(+), 0 deletions(-)
---
diff --git a/gi/overrides/Gtk.py b/gi/overrides/Gtk.py
index 7616a66..a2f38ac 100644
--- a/gi/overrides/Gtk.py
+++ b/gi/overrides/Gtk.py
@@ -57,6 +57,23 @@ class Container(Gtk.Container, Widget):
 Container = override(Container)
 __all__.append('Container')
 
+class Editable(Gtk.Editable):
+
+    def insert_text(self, text, position):
+        pos = super(Editable, self).insert_text(text, -1, position)
+
+        return pos
+
+    def get_selection_bounds(self):
+        success, start_pos, end_pos = super(Editable, self).get_selection_bounds()
+        if success:
+            return (start_pos, end_pos,)
+        else:
+            return tuple()
+
+Editable = override(Editable)
+__all__.append("Editable")
+
 class ActionGroup(Gtk.ActionGroup):
     def add_actions(self, entries, user_data=None):
         """
diff --git a/tests/test_overrides.py b/tests/test_overrides.py
index d2add7b..79c7093 100644
--- a/tests/test_overrides.py
+++ b/tests/test_overrides.py
@@ -628,3 +628,15 @@ class TestGtk(unittest.TestCase):
                     if kl.get_name() == name:
                         self.assertTrue(issubclass(klass, over,),
                             "%r does not inherit from override %r" % (klass, over,))
+
+    def test_editable(self):
+        self.assertEquals(Gtk.Editable, overrides.Gtk.Editable)
+
+        # need to use Gtk.Entry because Editable is an interface
+        entry=Gtk.Entry()
+        pos = entry.insert_text('HeWorld', 0)
+        self.assertEquals(pos, 7)
+        pos = entry.insert_text('llo ', 2)
+        self.assertEquals(pos, 6)
+        text = entry.get_chars(0, 11)
+        self.assertEquals('Hello World', text)



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