]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/wx/lib/buttonpanel.py
Remove const bool
[wxWidgets.git] / wxPython / wx / lib / buttonpanel.py
index 05d9b3be583431bd2f673ee89e6d3bdeeb99c5c2..703474a94b35e5947f0f616ef9059372e557b4e0 100644 (file)
@@ -620,7 +620,7 @@ class BPArt:
             if isVertical:
                 dc.DrawLine(rect.x, coord, rect.x + rect.width, coord) 
             else:
-                dc.DrawLine(coord, rect.y, coord, rect.y + rect.width)
+                dc.DrawLine(coord, rect.y, coord, rect.y + rect.height)
                 
             rf += rstep
             gf += gstep
@@ -1113,7 +1113,7 @@ class ButtonInfo(Control):
         if alignment == self._textAlignment:
             return
 
-        self._alignment = alignment
+        self._textAlignment = alignment
         
 
     def GetToggled(self):
@@ -1256,6 +1256,7 @@ class ButtonPanel(wx.PyPanel):
         self._useHelp = True
         self._freezeCount = 0
         self._currentButton = -1
+        self._haveTip = False
 
         self._art = BPArt(style)
 
@@ -1583,7 +1584,7 @@ class ButtonPanel(wx.PyPanel):
 
     def OnPaint(self, event):
         """ Handles the wx.EVT_PAINT event for ButtonPanel. """
-        
+
         dc = wx.BufferedPaintDC(self) 
         rect = self.GetClientRect()
 
@@ -1743,7 +1744,7 @@ class ButtonPanel(wx.PyPanel):
         
     def OnMouseMove(self, event):
         """ Handles the wx.EVT_MOTION event for ButtonPanel. """
-        
+
         # Check to see if we are hovering a button
         tabId, flags = self.HitTest(event.GetPosition())
 
@@ -1764,7 +1765,8 @@ class ButtonPanel(wx.PyPanel):
             self.RepaintOldSelection()
         
         if btn.GetRect().Contains(event.GetPosition()):
-            btn.SetStatus("Hover")
+            if btn.GetStatus() != "Pressed":
+                btn.SetStatus("Hover")
         else:
             btn.SetStatus("Normal")
 
@@ -1807,21 +1809,21 @@ class ButtonPanel(wx.PyPanel):
                 btn.SetFocus(False)
                 
         if hit.GetStatus() == "Pressed": 
-            # Fire a button click event 
-            btnEvent = wx.CommandEvent(wx.wxEVT_COMMAND_BUTTON_CLICKED, hit.GetId())
-            self.GetEventHandler().ProcessEvent(btnEvent) 
-
             hit.SetToggled(not hit.GetToggled())
             
             # Update the button status to be hovered 
             hit.SetStatus("Hover")
             hit.SetFocus()
             self._currentButton = tabId
+
+            # Fire a button click event 
+            btnEvent = wx.CommandEvent(wx.wxEVT_COMMAND_BUTTON_CLICKED, hit.GetId())
+            self.GetEventHandler().ProcessEvent(btnEvent) 
             
 
     def OnMouseLeave(self, event):
         """ Handles the wx.EVT_LEAVE_WINDOW event for ButtonPanel. """
-        
+
         # Reset all buttons statuses
         for btn in self._vButtons:
             if not btn.IsEnabled():
@@ -1857,10 +1859,11 @@ class ButtonPanel(wx.PyPanel):
 
         if not self.GetUseHelp():
             return
-        
+
         shortHelp = hit.GetShortHelp()
         if shortHelp:
             self.SetToolTipString(shortHelp)
+            self._haveTip = True
 
         longHelp = hit.GetLongHelp()
         if not longHelp:
@@ -1886,7 +1889,9 @@ class ButtonPanel(wx.PyPanel):
         if not self.GetUseHelp():
             return
 
-        self.SetToolTipString("")
+        if self._haveTip:
+            self.SetToolTipString("")
+            self._haveTip = False
 
         if self._statusTimer and self._statusTimer.IsRunning():
             topLevel = wx.GetTopLevelParent(self)