summaryrefslogtreecommitdiff
path: root/examples/gobject/editable-interface.py
blob: 409f9860246310c1ab50006acc2ffac78f4229e4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import pygtk
pygtk.require('2.0')
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()