parameters: (self, parent, id=wx.ID_ANY, label="", pos=wx.DefaultPosition,
                   size=wx.DefaultSize)
docstring: Default class constructor.
  
          :param `parent`: the :class:`SButton` parent. Must not be ``None``;
          :param `id`: window identifier. A value of -1 indicates a default value;
          :param `label`: the button text label;
          :param `pos`: the control position. A value of (-1, -1) indicates a default position,
           chosen by either the windowing system or wxPython, depending on platform;
          :param `size`: the control size. A value of (-1, -1) indicates a default size,
           chosen by either the windowing system or wxPython, depending on platform.
docstring_summary: Default class constructor.
docstring_tokens: Default class constructor .
function: def __init__(self, parent, id=wx.ID_ANY, label="", pos=wx.DefaultPosition,
                   size=wx.DefaultSize):
          """
          Default class constructor.
  
          :param `parent`: the :class:`SButton` parent. Must not be ``None``;
          :param `id`: window identifier. A value of -1 indicates a default value;
          :param `label`: the button text label;
          :param `pos`: the control position. A value of (-1, -1) indicates a default position,
           chosen by either the windowing system or wxPython, depending on platform;
          :param `size`: the control size. A value of (-1, -1) indicates a default size,
           chosen by either the windowing system or wxPython, depending on platform.
          """
  
          wx.Window.__init__(self, parent, id, pos, size)
  
          if label is None:
              label = ""
  
          self._enabled = True
          self._isup = True
          self._hasfocus = False
          self._usefocusind = True
  
          # Initialize Button Properties
          self.SetButtonColour()
          self.SetLabel(label)
          self.SetLabelColour()
          self.InitColours()
          self.SetAngleOfRotation()
          self.SetEllipseAxis()
  
          if size == wx.DefaultSize:
              self.SetInitialSize(self.DoGetBestSize())
  
          # Event Binding
          self.Bind(wx.EVT_LEFT_DOWN, self.OnLeftDown)
          self.Bind(wx.EVT_LEFT_UP, self.OnLeftUp)
  
          if wx.Platform == '__WXMSW__':
              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_SIZE, self.OnSize)
          self.Bind(wx.EVT_ERASE_BACKGROUND, lambda x: None)
          self.Bind(wx.EVT_PAINT, self.OnPaint)
function_tokens: def __init__ ( self , parent , id = wx . ID_ANY , label = "" , pos = wx . DefaultPosition , size = wx . DefaultSize ) : wx . Window . __init__ ( self , parent , id , pos , size ) if label is None : label = "" self . _enabled = True self . _isup = True self . _hasfocus = False self . _usefocusind = True # Initialize Button Properties self . SetButtonColour ( ) self . SetLabel ( label ) self . SetLabelColour ( ) self . InitColours ( ) self . SetAngleOfRotation ( ) self . SetEllipseAxis ( ) if size == wx . DefaultSize : self . SetInitialSize ( self . DoGetBestSize ( ) ) # Event Binding self . Bind ( wx . EVT_LEFT_DOWN , self . OnLeftDown ) self . Bind ( wx . EVT_LEFT_UP , self . OnLeftUp ) if wx . Platform == '__WXMSW__' : 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_SIZE , self . OnSize ) self . Bind ( wx . EVT_ERASE_BACKGROUND , lambda x : None ) self . Bind ( wx . EVT_PAINT , self . OnPaint )