"""
 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
 #----------------------------------------------------------------------
 
 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
 #----------------------------------------------------------------------
 
 class GenButton(wx.PyControl):
+    """A generic button, and base class for the other generic buttons."""
+
     labelDelta = 1
 
     def __init__(self, parent, ID, label,
         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())
 #----------------------------------------------------------------------
 
 class GenBitmapButton(GenButton):
+    """A generic bitmap button."""
+
     def __init__(self, parent, ID, bitmap,
                  pos = wx.DefaultPosition, size = wx.DefaultSize,
                  style = 0, validator = wx.DefaultValidator,
 #----------------------------------------------------------------------
 
 
-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,
 
 
 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
 
 #----------------------------------------------------------------------