Author: johannes
Date: 2005-09-21 00:15:02 -0500 (Wed, 21 Sep 2005)
New Revision: 7934
Modified:
trunk/gnue-forms/src/uidrivers/gtk2/ToolBar.py
Log:
Block- and Unblock toggle events when toggle called from outside
Modified: trunk/gnue-forms/src/uidrivers/gtk2/ToolBar.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/gtk2/ToolBar.py 2005-09-20 17:16:02 UTC
(rev 7933)
+++ trunk/gnue-forms/src/uidrivers/gtk2/ToolBar.py 2005-09-21 05:15:02 UTC
(rev 7934)
@@ -88,10 +88,12 @@
if self._useNewGTKAPI:
if userAction.canToggle:
button = gtk.ToggleToolButton ()
- button.connect ('toggled', self._toggleEvent, userAction)
+ button._toggleHandler = button.connect ('toggled', self._toggleEvent,
+ userAction)
else:
button = gtk.ToolButton ()
button.connect ('clicked', self._buttonPress, userAction)
+ button._toggleHandler = None
button.set_icon_widget (icon)
button.set_label (label)
@@ -171,13 +173,31 @@
# ---------------------------------------------------------------------------
def startingItem (self, item):
- if item is not None:
- item.set_active (1)
+ if item._toggleHandler:
+ item.handler_block (item._toggleHandler)
+
+ try:
+ if item is not None:
+ item.set_active (1)
+
+ finally:
+ if item._toggleHandler:
+ item.handler_unblock (item._toggleHandler)
+
# ---------------------------------------------------------------------------
# Set an item inactive
# ---------------------------------------------------------------------------
def endingItem (self, item):
- if item is not None:
- item.set_active (0)
+
+ if item._toggleHandler:
+ item.handler_block (item._toggleHandler)
+
+ try:
+ if item is not None:
+ item.set_active (0)
+
+ finally:
+ if item._toggleHandler:
+ item.handler_unblock (item._toggleHandler)
_______________________________________________
Commit-gnue mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/commit-gnue