diff options
author | dave <drykod@gmail.com> | 2009-10-30 03:41:39 (GMT) |
---|---|---|
committer | dave <drykod@gmail.com> | 2009-10-30 03:41:39 (GMT) |
commit | 282c3c377a4a9cc18190295af565a151ed242232 (patch) | |
tree | 2cbad752bda5df1ce02f583c589e96ce1cac076d | |
parent | 99bba75b141b7d5a3d253c75c0bdf80ff26b0284 (diff) |
change color action/event
-rw-r--r-- | addons/changecolorevent.py | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/addons/changecolorevent.py b/addons/changecolorevent.py index e558937..70b28f9 100644 --- a/addons/changecolorevent.py +++ b/addons/changecolorevent.py @@ -50,6 +50,8 @@ class ChangeColorEvent(EventFilter): self._new_color = None self.tmp_color = None + self._old_label = None + self.wid = None self._handler_id = None @@ -75,6 +77,8 @@ class ChangeColorEvent(EventFilter): current_style = self.wid.rc_get_style() self._old_color = current_style.bg[gtk.STATE_NORMAL] + self._old_label = self.wid.get_label() + # define new color self._new_color = gtk.gdk.color_parse(xo_fill_color) @@ -99,11 +103,12 @@ class ChangeColorEvent(EventFilter): # modify bg color (go back to original color) self.wid.modify_bg(gtk.STATE_NORMAL, self._old_color) - self.wid.modify_bg(gtk.STATE_NORMAL, self._old_color) self.wid.modify_bg(gtk.STATE_PRELIGHT, self._old_color) self.wid.modify_bg(gtk.STATE_ACTIVE, self._old_color) self.wid.modify_bg(gtk.STATE_INSENSITIVE, self._old_color) + self.wid.set_label(self._old_label) + def _timeout_cb(self): """ _timeout_cb triggers the eventfilter callback. @@ -114,16 +119,17 @@ class ChangeColorEvent(EventFilter): if self.tmp_color == self._old_color: self.tmp_color = self._new_color + self.wid.set_label("CLICK") else: self.tmp_color = self._old_color - + self.wid.set_label(self._old_label) + # modify bg color self.wid.modify_bg(gtk.STATE_NORMAL, self.tmp_color) - self.wid.modify_bg(gtk.STATE_NORMAL, self.tmp_color) self.wid.modify_bg(gtk.STATE_PRELIGHT, self.tmp_color) self.wid.modify_bg(gtk.STATE_ACTIVE, self.tmp_color) self.wid.modify_bg(gtk.STATE_INSENSITIVE, self.tmp_color) - + self._handler_id = gobject.timeout_add(self.timeout, self._timeout_cb) def wid_clicked(self, widget): |