summaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authorGustavo J. A. M. Carneiro <gjc@src.gnome.org>2006-04-01 18:07:23 +0000
committerGustavo J. A. M. Carneiro <gjc@src.gnome.org>2006-04-01 18:07:23 +0000
commitf3f6e39e8cab7000dd8291e1355890f2b11f7026 (patch)
tree52b06fa18cd9d9e4b9507f03bb4b814f0e56fb69 /examples
parent2e8a3136d5c1cf333b1d4bce69eef76cb5e34e71 (diff)
downloadpygtk-f3f6e39e8cab7000dd8291e1355890f2b11f7026.tar.gz
Bug 334986 – Make it possible to re-implement interfaces and chain to parent impl.
Diffstat (limited to 'examples')
-rw-r--r--examples/Makefile.am1
-rw-r--r--examples/gobject/editable-interface.py31
2 files changed, 32 insertions, 0 deletions
diff --git a/examples/Makefile.am b/examples/Makefile.am
index f7bb2ae1..ddc11232 100644
--- a/examples/Makefile.am
+++ b/examples/Makefile.am
@@ -16,6 +16,7 @@ CLEANFILES = pygtk-demo/pygtk-demo
EXTRA_DIST = \
pygtk-demo/pygtk-demo.in\
atk/atk-demo.py \
+ gobject/editable-interface.py \
gobject/properties.py \
gobject/signal.py \
gtk/bin.py \
diff --git a/examples/gobject/editable-interface.py b/examples/gobject/editable-interface.py
new file mode 100644
index 00000000..d7c78126
--- /dev/null
+++ b/examples/gobject/editable-interface.py
@@ -0,0 +1,31 @@
+import gtk
+import gobject
+
+
+class EditableLabel(gtk.Entry, gtk.Editable):
+
+ def __init__(self, text):
+ gtk.Entry.__init__(self, 100)
+ self.set_text(text)
+
+ def do_do_delete_text(self, start_pos, end_pos):
+ print "do_do_delete_text", start_pos, end_pos
+ gtk.Entry.do_do_delete_text(self, start_pos, end_pos)
+
+gobject.type_register(EditableLabel)
+
+if __name__ == '__main__':
+ w = gtk.Window()
+ vbox = gtk.VBox()
+ w.add(vbox)
+ label = EditableLabel("Foo Bar Zbr")
+ vbox.add(label)
+ bt = gtk.Button("delete word")
+ def delete_word(bt):
+ label.delete_text(4, 7)
+ bt.connect("clicked", delete_word)
+ vbox.add(bt)
+ w.connect("destroy", lambda w: gtk.main_quit())
+ w.show_all()
+ gtk.main()
+