From d6b9ff1c546bbde585fbe6150059dff6c372a9de Mon Sep 17 00:00:00 2001 From: Robin Dunn Date: Mon, 26 Feb 2007 23:23:57 +0000 Subject: [PATCH] Reorder what happens when a button is pressed so if the user's event handler blocks it won't leave the buttonbar in a funny state when it finally returns. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@44571 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- wxPython/wx/lib/buttonpanel.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/wxPython/wx/lib/buttonpanel.py b/wxPython/wx/lib/buttonpanel.py index 7df01da87d..f90a99071a 100644 --- a/wxPython/wx/lib/buttonpanel.py +++ b/wxPython/wx/lib/buttonpanel.py @@ -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()) @@ -1808,21 +1808,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():