From 846e0c0fff38a79ff9794754b31b5ccc79537966 Mon Sep 17 00:00:00 2001 From: Chris Jones Date: Thu, 3 Sep 2009 00:51:46 +0100 Subject: [PATCH] Emit a signal when editing is done --- terminatorlib/editablelabel.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/terminatorlib/editablelabel.py b/terminatorlib/editablelabel.py index f2dd8058..d997c2e7 100644 --- a/terminatorlib/editablelabel.py +++ b/terminatorlib/editablelabel.py @@ -20,6 +20,7 @@ # pylint: disable-msg=W0212 """ Editable Label class""" import gtk +import gobject class EditableLabel(gtk.EventBox): """ @@ -33,9 +34,15 @@ class EditableLabel(gtk.EventBox): _entry = None _entry_handler_id = [] + __gsignals__ = { + 'edit-done': (gobject.SIGNAL_RUN_LAST, gobject.TYPE_NONE, ()), + } + def __init__(self, text = ""): """ Class initialiser""" gtk.EventBox.__init__(self) + self.__gobject_init__() + self._label = gtk.Label(text) self._custom = False self.set_visible_window (False) @@ -58,7 +65,7 @@ class EditableLabel(gtk.EventBox): def _on_click_text(self, widget, event): """event handling text edition""" - if event.type == gtk.gdk._2BUTTON_PRESS : + if event.type == gtk.gdk._2BUTTON_PRESS: self.remove (self._label) self._entry = gtk.Entry () self._entry.set_text (self._label.get_text ()) @@ -89,6 +96,7 @@ class EditableLabel(gtk.EventBox): self.add (self._label) self._entry = None self.show_all () + self.emit('edit-done') return True #make pylint happy if 1 or widget or event: @@ -119,3 +127,4 @@ class EditableLabel(gtk.EventBox): if 1 or widget or event: return +gobject.type_register(EditableLabel)