X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/122c2bae32138468f1da8bd78d6166bff19de3d1..cf5d50573f5471ed00203d3cee8661a1a6d885ce:/wxPython/wx/lib/buttonpanel.py diff --git a/wxPython/wx/lib/buttonpanel.py b/wxPython/wx/lib/buttonpanel.py index 872ef93822..703474a94b 100644 --- a/wxPython/wx/lib/buttonpanel.py +++ b/wxPython/wx/lib/buttonpanel.py @@ -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): @@ -1584,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() @@ -1744,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()) @@ -1765,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") @@ -1808,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():