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 Commit-gnue@gnu.org http://lists.gnu.org/mailman/listinfo/commit-gnue