commit-gnue
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[gnue] r9358 - trunk/gnue-forms/src/uidrivers/gtk2/widgets


From: reinhard
Subject: [gnue] r9358 - trunk/gnue-forms/src/uidrivers/gtk2/widgets
Date: Thu, 8 Feb 2007 11:19:02 -0600 (CST)

Author: reinhard
Date: 2007-02-08 11:19:01 -0600 (Thu, 08 Feb 2007)
New Revision: 9358

Modified:
   trunk/gnue-forms/src/uidrivers/gtk2/widgets/menuitem.py
Log:
Added toggle menu items to gtk2 uidriver.


Modified: trunk/gnue-forms/src/uidrivers/gtk2/widgets/menuitem.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/gtk2/widgets/menuitem.py     2007-02-08 
14:19:54 UTC (rev 9357)
+++ trunk/gnue-forms/src/uidrivers/gtk2/widgets/menuitem.py     2007-02-08 
17:19:01 UTC (rev 9358)
@@ -51,14 +51,17 @@
         hotkey = self._gfObject.hotkey
         check = (self._gfObject.action_off is not None)
 
-        # TODO: Checkable menu items
-        #if check:
-        #    kind = wx.ITEM_CHECK
-        #else:
-        #    kind = wx.ITEM_NORMAL
-
         if label is not None:
-            widget = gtk.ImageMenuItem(label.replace("&", "_"))
+            if check:
+                widget = gtk.CheckMenuItem(label.replace("&", "_"))
+            else:
+                widget = gtk.ImageMenuItem(label.replace("&", "_"))
+
+                if icon_file:
+                    image = gtk.Image()
+                    image.set_from_file(icon_file)
+                    widget.set_image(image)
+
             if hotkey is not None:
                 parts = hotkey.split("+")
                 if len(parts[-1]) == 1:
@@ -72,17 +75,12 @@
                 widget.add_accelerator('activate', self._uiForm.accelGroup,
                             base, mod, gtk.ACCEL_VISIBLE)
     
-            if icon_file:
-                image = gtk.Image()
-                image.set_from_file(icon_file)
-                widget.set_image(image)
-
             event.container.append(widget)
 
             self.__description = description
             self.__container = event.container
 
-            widget.connect('activate', self.__on_activate)
+            self.__h_activate = widget.connect('activate', self.__on_activate)
             widget.connect('select', self.__on_select)
             widget.connect('deselect', self.__on_deselect)
         else:
@@ -117,17 +115,17 @@
 
     def _ui_switch_on_(self):
         if self.__widget is not None:
-            # FIXME
-            #self.__widget.Check(True)
-            pass
+            self.__widget.handler_block(self.__h_activate)
+            self.__widget.set_active(True)
+            self.__widget.handler_unblock(self.__h_activate)
 
     # -------------------------------------------------------------------------
 
     def _ui_switch_off_(self):
         if self.__widget is not None:
-            # FIXME
-            #self.__widget.Check(False)
-            pass
+            self.__widget.handler_block(self.__h_activate)
+            self.__widget.set_active(False)
+            self.__widget.handler_unblock(self.__h_activate)
 
 
     # -------------------------------------------------------------------------





reply via email to

[Prev in Thread] Current Thread [Next in Thread]