mirror of
https://github.com/wxWidgets/Phoenix.git
synced 2026-01-04 19:10:09 +01:00
Update buttons.py
This commit is contained in:
@@ -174,17 +174,18 @@ class GenButton(wx.Control):
|
||||
self.SetInitialSize(size)
|
||||
self.SetBackgroundColour(wx.SystemSettings.GetColour(wx.SYS_COLOUR_BTNFACE))
|
||||
|
||||
self.Bind(wx.EVT_LEFT_DOWN, self.OnLeftDown)
|
||||
self.Bind(wx.EVT_LEFT_UP, self.OnLeftUp)
|
||||
self.Bind(wx.EVT_LEFT_DCLICK, self.OnLeftDown)
|
||||
self.Bind(wx.EVT_MOTION, self.OnMotion)
|
||||
self.Bind(wx.EVT_SET_FOCUS, self.OnGainFocus)
|
||||
self.Bind(wx.EVT_KILL_FOCUS, self.OnLoseFocus)
|
||||
self.Bind(wx.EVT_KEY_DOWN, self.OnKeyDown)
|
||||
self.Bind(wx.EVT_KEY_UP, self.OnKeyUp)
|
||||
self.Bind(wx.EVT_PAINT, self.OnPaint)
|
||||
self.Bind(wx.EVT_ERASE_BACKGROUND, lambda evt: None)
|
||||
self.Bind(wx.EVT_SIZE, self.OnSize)
|
||||
self.Bind(wx.EVT_LEFT_DOWN, self.OnLeftDown)
|
||||
self.Bind(wx.EVT_LEFT_UP, self.OnLeftUp)
|
||||
self.Bind(wx.EVT_LEFT_DCLICK, self.OnLeftDown)
|
||||
self.Bind(wx.EVT_MOTION, self.OnMotion)
|
||||
self.Bind(wx.EVT_SET_FOCUS, self.OnGainFocus)
|
||||
self.Bind(wx.EVT_KILL_FOCUS, self.OnLoseFocus)
|
||||
self.Bind(wx.EVT_MOUSE_CAPTURE_LOST, self.OnLoseCapture)
|
||||
self.Bind(wx.EVT_KEY_DOWN, self.OnKeyDown)
|
||||
self.Bind(wx.EVT_KEY_UP, self.OnKeyUp)
|
||||
self.Bind(wx.EVT_PAINT, self.OnPaint)
|
||||
self.Bind(wx.EVT_ERASE_BACKGROUND, lambda evt: None)
|
||||
self.Bind(wx.EVT_SIZE, self.OnSize)
|
||||
self.InitOtherEvents()
|
||||
|
||||
|
||||
@@ -543,7 +544,7 @@ class GenButton(wx.Control):
|
||||
:param `event`: a :class:`wx.MouseEvent` event to be processed.
|
||||
"""
|
||||
|
||||
if not self.IsEnabled():
|
||||
if (not self.IsEnabled()) or self.HasCapture():
|
||||
return
|
||||
|
||||
self.up = False
|
||||
@@ -624,6 +625,18 @@ class GenButton(wx.Control):
|
||||
self.Update()
|
||||
|
||||
|
||||
def OnLoseCapture(self, event):
|
||||
"""
|
||||
Handles the ``wx.EVT_MOUSE_CAPTURE_LOST`` event for :class:`GenButton`.
|
||||
|
||||
:param `event`: a :class:`wx.MouseCaptureLostEvent` event to be processed.
|
||||
"""
|
||||
|
||||
self.up = True
|
||||
self.Refresh()
|
||||
self.Update()
|
||||
|
||||
|
||||
def OnKeyDown(self, event):
|
||||
"""
|
||||
Handles the ``wx.EVT_KEY_DOWN`` event for :class:`GenButton`.
|
||||
@@ -962,6 +975,9 @@ class __ToggleMixin(object):
|
||||
return
|
||||
|
||||
self.saveUp = self.up
|
||||
if self.HasCapture():
|
||||
return
|
||||
|
||||
self.up = not self.up
|
||||
self.CaptureMouse()
|
||||
self.SetFocus()
|
||||
|
||||
Reference in New Issue
Block a user