X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/5193b348e83ce2d8117e96ee269a099e2528f544..d65a37333582efb19ff60cf26ca2b68f4bc5f0ad:/wxPython/wx/lib/buttons.py diff --git a/wxPython/wx/lib/buttons.py b/wxPython/wx/lib/buttons.py index 833f176a57..adeb59e133 100644 --- a/wxPython/wx/lib/buttons.py +++ b/wxPython/wx/lib/buttons.py @@ -18,18 +18,9 @@ """ This module implements various forms of generic buttons, meaning that -they are not built on native controls but are self-drawn. - -The GenButton is the base. It acts like a normal button but you -are able to better control how it looks, bevel width, colours, etc. - -GenBitmapButton is a button with one or more bitmaps that show -the various states the button can be in. - -GenToggleButton stays depressed when clicked, until clicked again. - -GenBitmapToggleButton the same but with bitmaps. - +they are not built on native controls but are self-drawn. They act +like normal buttons but you are able to better control how they look, +bevel width, colours, etc. """ import wx @@ -39,6 +30,7 @@ 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) self.isDown = False @@ -60,20 +52,27 @@ class GenButtonEvent(wx.PyCommandEvent): #---------------------------------------------------------------------- class GenButton(wx.PyControl): + """A generic button, and base class for the other generic buttons.""" + labelDelta = 1 def __init__(self, parent, ID, label, pos = wx.DefaultPosition, size = wx.DefaultSize, style = 0, validator = wx.DefaultValidator, name = "genbutton"): - if style == 0: - style = wx.NO_BORDER - wx.PyControl.__init__(self, parent, ID, pos, size, style, validator, name) + cstyle = style + if cstyle == 0: + cstyle = wx.NO_BORDER + wx.PyControl.__init__(self, parent, ID, pos, size, cstyle, validator, name) self.up = True - self.bezelWidth = 2 self.hasFocus = False - self.useFocusInd = True + if style & wx.NO_BORDER: + self.bezelWidth = 0 + self.useFocusInd = False + else: + self.bezelWidth = 2 + self.useFocusInd = True self.SetLabel(label) self.InheritAttributes() @@ -197,7 +196,9 @@ class GenButton(wx.PyControl): wx.PyControl.SetForegroundColour(self, colour) self.InitColours() - + def SetDefault(self): + self.GetParent().SetDefaultItem(self) + def _GetLabelSize(self): """ used internally """ w, h = self.GetTextExtent(self.GetLabel()) @@ -349,6 +350,8 @@ class GenButton(wx.PyControl): #---------------------------------------------------------------------- class GenBitmapButton(GenButton): + """A generic bitmap button.""" + def __init__(self, parent, ID, bitmap, pos = wx.DefaultPosition, size = wx.DefaultSize, style = 0, validator = wx.DefaultValidator, @@ -422,7 +425,8 @@ class GenBitmapButton(GenButton): #---------------------------------------------------------------------- -class GenBitmapTextButton(GenBitmapButton): # generic bitmapped button with Text Label +class GenBitmapTextButton(GenBitmapButton): + """A generic bitmapped button with text label""" def __init__(self, parent, ID, bitmap, label, pos = wx.DefaultPosition, size = wx.DefaultSize, style = 0, validator = wx.DefaultValidator, @@ -543,12 +547,15 @@ class __ToggleMixin: class GenToggleButton(__ToggleMixin, GenButton): + """A generic toggle button""" pass class GenBitmapToggleButton(__ToggleMixin, GenBitmapButton): + """A generic toggle bitmap button""" pass class GenBitmapTextToggleButton(__ToggleMixin, GenBitmapTextButton): + """A generic toggle bitmap button with text label""" pass #----------------------------------------------------------------------