Force a full refresh when the focus changes so the bitmap button will

redraw its label if needed.  Also give defaults to more of the ctor parameters.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38588 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robin Dunn 2006-04-06 00:12:11 +00:00
parent bfaee57e81
commit 2f643d0600

View File

@ -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
@ -335,18 +335,14 @@ 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):
@ -369,7 +365,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 +373,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 +440,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)