X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/d167fc518a2f59d76f683da70a07f55bcbb95345..d74b38444ea4e7a3b900079b927a80f6bb1fca40:/wxPython/wx/lib/buttons.py diff --git a/wxPython/wx/lib/buttons.py b/wxPython/wx/lib/buttons.py index 7f19817547..11c3e77860 100644 --- a/wxPython/wx/lib/buttons.py +++ b/wxPython/wx/lib/buttons.py @@ -31,8 +31,8 @@ import imageutils class GenButtonEvent(wx.PyCommandEvent): """Event sent from the generic buttons when the button is activated. """ - def __init__(self, eventType, ID): - wx.PyCommandEvent.__init__(self, eventType, ID) + def __init__(self, eventType, id): + wx.PyCommandEvent.__init__(self, eventType, id) self.isDown = False self.theButton = None @@ -56,14 +56,14 @@ class GenButton(wx.PyControl): labelDelta = 1 - def __init__(self, parent, ID, label, + def __init__(self, parent, id=-1, label='', pos = wx.DefaultPosition, size = wx.DefaultSize, style = 0, validator = wx.DefaultValidator, name = "genbutton"): cstyle = style if cstyle == 0: cstyle = wx.BORDER_NONE - wx.PyControl.__init__(self, parent, ID, pos, size, cstyle, validator, name) + wx.PyControl.__init__(self, parent, id, pos, size, cstyle, validator, name) self.up = True self.hasFocus = False @@ -262,7 +262,7 @@ class GenButton(wx.PyControl): x2 = width-1 y2 = height-1 - dc = wx.BufferedPaintDC(self) + dc = wx.PaintDC(self) brush = None if self.up: @@ -312,8 +312,9 @@ class GenButton(wx.PyControl): if not self.up: # if the button was down when the mouse was released... self.Notify() self.up = True - self.Refresh() - event.Skip() + if self: # in case the button was destroyed in the eventhandler + self.Refresh() + event.Skip() def OnMotion(self, event): @@ -335,29 +336,25 @@ class GenButton(wx.PyControl): def OnGainFocus(self, event): self.hasFocus = True - dc = wx.ClientDC(self) - w, h = self.GetClientSizeTuple() - if self.useFocusInd: - self.DrawFocusIndicator(dc, w, h) + self.Refresh() + self.Update() def OnLoseFocus(self, event): self.hasFocus = False - dc = wx.ClientDC(self) - w, h = self.GetClientSizeTuple() - if self.useFocusInd: - self.DrawFocusIndicator(dc, w, h) + self.Refresh() + self.Update() def OnKeyDown(self, event): - if self.hasFocus and event.KeyCode() == ord(" "): + if self.hasFocus and event.GetKeyCode() == ord(" "): self.up = False self.Refresh() event.Skip() def OnKeyUp(self, event): - if self.hasFocus and event.KeyCode() == ord(" "): + if self.hasFocus and event.GetKeyCode() == ord(" "): self.up = True self.Notify() self.Refresh() @@ -369,7 +366,7 @@ class GenButton(wx.PyControl): class GenBitmapButton(GenButton): """A generic bitmap button.""" - def __init__(self, parent, ID, bitmap, + def __init__(self, parent, id=-1, bitmap=wx.NullBitmap, pos = wx.DefaultPosition, size = wx.DefaultSize, style = 0, validator = wx.DefaultValidator, name = "genbutton"): @@ -377,7 +374,7 @@ class GenBitmapButton(GenButton): self.bmpFocus = None self.bmpSelected = None self.SetBitmapLabel(bitmap) - GenButton.__init__(self, parent, ID, "", pos, size, style, validator, name) + GenButton.__init__(self, parent, id, "", pos, size, style, validator, name) def GetBitmapLabel(self): @@ -444,11 +441,11 @@ class GenBitmapButton(GenButton): class GenBitmapTextButton(GenBitmapButton): """A generic bitmapped button with text label""" - def __init__(self, parent, ID, bitmap, label, + def __init__(self, parent, id=-1, bitmap=wx.NullBitmap, label='', pos = wx.DefaultPosition, size = wx.DefaultSize, style = 0, validator = wx.DefaultValidator, name = "genbutton"): - GenBitmapButton.__init__(self, parent, ID, bitmap, pos, size, style, validator, name) + GenBitmapButton.__init__(self, parent, id, bitmap, pos, size, style, validator, name) self.SetLabel(label) @@ -529,10 +526,10 @@ class __ToggleMixin: if not self.IsEnabled() or not self.HasCapture(): return if self.HasCapture(): - if self.up != self.saveUp: - self.Notify() self.ReleaseMouse() self.Refresh() + if self.up != self.saveUp: + self.Notify() def OnKeyDown(self, event): event.Skip() @@ -554,7 +551,7 @@ class __ToggleMixin: event.Skip() def OnKeyUp(self, event): - if self.hasFocus and event.KeyCode() == ord(" "): + if self.hasFocus and event.GetKeyCode() == ord(" "): self.up = not self.up self.Notify() self.Refresh()