commit-gnue
[Top][All Lists]
Advanced

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

[gnue] r7964 - trunk/gnue-forms/src/uidrivers/win32


From: btami
Subject: [gnue] r7964 - trunk/gnue-forms/src/uidrivers/win32
Date: Wed, 28 Sep 2005 12:35:34 -0500 (CDT)

Author: btami
Date: 2005-09-22 01:01:05 -0500 (Thu, 22 Sep 2005)
New Revision: 7964

Modified:
   trunk/gnue-forms/src/uidrivers/win32/ToolBar.py
Log:
added togglebutton support

Modified: trunk/gnue-forms/src/uidrivers/win32/ToolBar.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/win32/ToolBar.py     2005-09-22 04:28:42 UTC 
(rev 7963)
+++ trunk/gnue-forms/src/uidrivers/win32/ToolBar.py     2005-09-22 06:01:05 UTC 
(rev 7964)
@@ -103,11 +103,28 @@
       else:
         print "** WARNING: Cannot add '%s' to toolbar; no icon" % 
userAction.event
         return
+
+    if userAction.canToggle:
+      self.container.Connect(id, 
+        lambda l=self.driver,
+              e=event,
+              te='request%s' % userAction.canToggle,
+              tb=parent.GetHwnd(),
+              f=self.form: l.dispatchEvent(
+                  (win32gui.SendMessage(tb, commctrl.TB_ISBUTTONCHECKED, id, 
0) and e or te),_form=f))
+    else:
+      self.container.Connect(id, 
+        lambda l=self.driver, e=event, f=self.form: l.dispatchEvent(e,_form=f))
 
-    self.container.Connect(id, lambda l=self.driver, e=event, f=self.form: 
l.dispatchEvent(events.Event(e,_form=f)))
-
-#    TBBUTTON stru (iBitmap, idCommand, fsState, fsStyle, dwData, iString)
-    tbb=struct.pack("iibbli", self._buttonCount, id, commctrl.TBSTATE_ENABLED, 
commctrl.TBSTYLE_BUTTON, 0, 0)
+    if userAction.canToggle:
+      check = 1
+      style = commctrl.TBSTYLE_CHECK
+    else:
+      check = 0
+      style = commctrl.TBSTYLE_BUTTON
+    
+#    TBBUTTON stru (iBitmap, idCommand, fsState, fsStyle, dwData, iString)
+    tbb=struct.pack("iibbli", self._buttonCount, id, commctrl.TBSTATE_ENABLED, 
style, 0, 0)
     win32gui.SendMessage(parent.GetHwnd(), commctrl.TB_ADDBUTTONS, 1, tbb)
     # i have to count myself 'coz TB_BUTTONCOUNT counts separators too...
     self._buttonCount += 1
@@ -120,7 +137,7 @@
     ti = struct.pack(format, size, 0, self.toolbar.GetHwnd(), id, 0, 0, 0, 0, 
0, addrText, 0)
     win32gui.SendMessage(self._htt, commctrl.TTM_UPDATETIPTEXT , 0, ti)
 
-    return (parent, id)
+    return (parent, id, check)
 
 
   # Add a separator
@@ -130,18 +147,24 @@
 
   # Enable a menu item
   def enableItem(self, item):
-    parent, id = item
+    parent, id, check = item
     win32gui.SendMessage(self.toolbar.GetHwnd(), commctrl.TB_ENABLEBUTTON, id, 
1)
 
   # Disable a menu item
   def disableItem(self, item):
-    parent, id = item
+    parent, id, check = item
     win32gui.SendMessage(self.toolbar.GetHwnd(), commctrl.TB_ENABLEBUTTON, id, 
0)
 
-  def startingItem(self, item):
-    parent, id = item
-    win32gui.SendMessage(self.toolbar.GetHwnd(), commctrl.TB_PRESSBUTTON, id, 
1)
+  def startingItem(self, item):
+    parent, id, check = item
+    if check:
+      win32gui.SendMessage(self.toolbar.GetHwnd(), commctrl.TB_CHECKBUTTON, 
id, 1)
+    else:
+      win32gui.SendMessage(self.toolbar.GetHwnd(), commctrl.TB_PRESSBUTTON, 
id, 1)
 
-  def endingItem(self, item):
-    parent, id = item
-    win32gui.SendMessage(self.toolbar.GetHwnd(), commctrl.TB_PRESSBUTTON, id, 
0)
+  def endingItem(self, item):
+    parent, id, check = item
+    if check:
+      win32gui.SendMessage(self.toolbar.GetHwnd(), commctrl.TB_CHECKBUTTON, 
id, 0)
+    else:
+      win32gui.SendMessage(self.toolbar.GetHwnd(), commctrl.TB_PRESSBUTTON, 
id, 0)





reply via email to

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