+TE_NO_VSCROLL = _controls.TE_NO_VSCROLL
+TE_AUTO_SCROLL = _controls.TE_AUTO_SCROLL
+TE_READONLY = _controls.TE_READONLY
+TE_MULTILINE = _controls.TE_MULTILINE
+TE_PROCESS_TAB = _controls.TE_PROCESS_TAB
+TE_LEFT = _controls.TE_LEFT
+TE_CENTER = _controls.TE_CENTER
+TE_RIGHT = _controls.TE_RIGHT
+TE_CENTRE = _controls.TE_CENTRE
+TE_RICH = _controls.TE_RICH
+TE_PROCESS_ENTER = _controls.TE_PROCESS_ENTER
+TE_PASSWORD = _controls.TE_PASSWORD
+TE_AUTO_URL = _controls.TE_AUTO_URL
+TE_NOHIDESEL = _controls.TE_NOHIDESEL
+TE_DONTWRAP = _controls.TE_DONTWRAP
+TE_LINEWRAP = _controls.TE_LINEWRAP
+TE_WORDWRAP = _controls.TE_WORDWRAP
+TE_RICH2 = _controls.TE_RICH2
+TEXT_ALIGNMENT_DEFAULT = _controls.TEXT_ALIGNMENT_DEFAULT
+TEXT_ALIGNMENT_LEFT = _controls.TEXT_ALIGNMENT_LEFT
+TEXT_ALIGNMENT_CENTRE = _controls.TEXT_ALIGNMENT_CENTRE
+TEXT_ALIGNMENT_CENTER = _controls.TEXT_ALIGNMENT_CENTER
+TEXT_ALIGNMENT_RIGHT = _controls.TEXT_ALIGNMENT_RIGHT
+TEXT_ALIGNMENT_JUSTIFIED = _controls.TEXT_ALIGNMENT_JUSTIFIED
+TEXT_ATTR_TEXT_COLOUR = _controls.TEXT_ATTR_TEXT_COLOUR
+TEXT_ATTR_BACKGROUND_COLOUR = _controls.TEXT_ATTR_BACKGROUND_COLOUR
+TEXT_ATTR_FONT_FACE = _controls.TEXT_ATTR_FONT_FACE
+TEXT_ATTR_FONT_SIZE = _controls.TEXT_ATTR_FONT_SIZE
+TEXT_ATTR_FONT_WEIGHT = _controls.TEXT_ATTR_FONT_WEIGHT
+TEXT_ATTR_FONT_ITALIC = _controls.TEXT_ATTR_FONT_ITALIC
+TEXT_ATTR_FONT_UNDERLINE = _controls.TEXT_ATTR_FONT_UNDERLINE
+TEXT_ATTR_FONT = _controls.TEXT_ATTR_FONT
+TEXT_ATTR_ALIGNMENT = _controls.TEXT_ATTR_ALIGNMENT
+TEXT_ATTR_LEFT_INDENT = _controls.TEXT_ATTR_LEFT_INDENT
+TEXT_ATTR_RIGHT_INDENT = _controls.TEXT_ATTR_RIGHT_INDENT
+TEXT_ATTR_TABS = _controls.TEXT_ATTR_TABS
+TE_HT_UNKNOWN = _controls.TE_HT_UNKNOWN
+TE_HT_BEFORE = _controls.TE_HT_BEFORE
+TE_HT_ON_TEXT = _controls.TE_HT_ON_TEXT
+TE_HT_BELOW = _controls.TE_HT_BELOW
+TE_HT_BEYOND = _controls.TE_HT_BEYOND
+class TextAttr(object):
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxTextAttr instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args):
+        """
+        __init__() -> TextAttr
+        __init__(Colour colText, Colour colBack=wxNullColour, Font font=wxNullFont, 
+            int alignment=TEXT_ALIGNMENT_DEFAULT) -> TextAttr
+        """
+        newobj = _controls.new_TextAttr(*args)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+    def __del__(self, destroy=_controls.delete_TextAttr):
+        """__del__()"""
+        try:
+            if self.thisown: destroy(self)
+        except: pass
+
+    def Init(*args, **kwargs):
+        """Init()"""
+        return _controls.TextAttr_Init(*args, **kwargs)
+
+    def SetTextColour(*args, **kwargs):
+        """SetTextColour(Colour colText)"""
+        return _controls.TextAttr_SetTextColour(*args, **kwargs)
+
+    def SetBackgroundColour(*args, **kwargs):
+        """SetBackgroundColour(Colour colBack)"""
+        return _controls.TextAttr_SetBackgroundColour(*args, **kwargs)
+
+    def SetFont(*args, **kwargs):
+        """SetFont(Font font, long flags=TEXT_ATTR_FONT)"""
+        return _controls.TextAttr_SetFont(*args, **kwargs)
+
+    def SetAlignment(*args, **kwargs):
+        """SetAlignment(int alignment)"""
+        return _controls.TextAttr_SetAlignment(*args, **kwargs)
+
+    def SetTabs(*args, **kwargs):
+        """SetTabs(wxArrayInt tabs)"""
+        return _controls.TextAttr_SetTabs(*args, **kwargs)
+
+    def SetLeftIndent(*args, **kwargs):
+        """SetLeftIndent(int indent)"""
+        return _controls.TextAttr_SetLeftIndent(*args, **kwargs)
+
+    def SetRightIndent(*args, **kwargs):
+        """SetRightIndent(int indent)"""
+        return _controls.TextAttr_SetRightIndent(*args, **kwargs)
+
+    def SetFlags(*args, **kwargs):
+        """SetFlags(long flags)"""
+        return _controls.TextAttr_SetFlags(*args, **kwargs)
+
+    def HasTextColour(*args, **kwargs):
+        """HasTextColour() -> bool"""
+        return _controls.TextAttr_HasTextColour(*args, **kwargs)
+
+    def HasBackgroundColour(*args, **kwargs):
+        """HasBackgroundColour() -> bool"""
+        return _controls.TextAttr_HasBackgroundColour(*args, **kwargs)
+
+    def HasFont(*args, **kwargs):
+        """HasFont() -> bool"""
+        return _controls.TextAttr_HasFont(*args, **kwargs)
+
+    def HasAlignment(*args, **kwargs):
+        """HasAlignment() -> bool"""
+        return _controls.TextAttr_HasAlignment(*args, **kwargs)
+
+    def HasTabs(*args, **kwargs):
+        """HasTabs() -> bool"""
+        return _controls.TextAttr_HasTabs(*args, **kwargs)
+
+    def HasLeftIndent(*args, **kwargs):
+        """HasLeftIndent() -> bool"""
+        return _controls.TextAttr_HasLeftIndent(*args, **kwargs)
+
+    def HasRightIndent(*args, **kwargs):
+        """HasRightIndent() -> bool"""
+        return _controls.TextAttr_HasRightIndent(*args, **kwargs)
+
+    def HasFlag(*args, **kwargs):
+        """HasFlag(long flag) -> bool"""
+        return _controls.TextAttr_HasFlag(*args, **kwargs)
+
+    def GetTextColour(*args, **kwargs):
+        """GetTextColour() -> Colour"""
+        return _controls.TextAttr_GetTextColour(*args, **kwargs)
+
+    def GetBackgroundColour(*args, **kwargs):
+        """GetBackgroundColour() -> Colour"""
+        return _controls.TextAttr_GetBackgroundColour(*args, **kwargs)
+
+    def GetFont(*args, **kwargs):
+        """GetFont() -> Font"""
+        return _controls.TextAttr_GetFont(*args, **kwargs)
+
+    def GetAlignment(*args, **kwargs):
+        """GetAlignment() -> int"""
+        return _controls.TextAttr_GetAlignment(*args, **kwargs)
+
+    def GetTabs(*args, **kwargs):
+        """GetTabs() -> wxArrayInt"""
+        return _controls.TextAttr_GetTabs(*args, **kwargs)
+
+    def GetLeftIndent(*args, **kwargs):
+        """GetLeftIndent() -> long"""
+        return _controls.TextAttr_GetLeftIndent(*args, **kwargs)
+
+    def GetRightIndent(*args, **kwargs):
+        """GetRightIndent() -> long"""
+        return _controls.TextAttr_GetRightIndent(*args, **kwargs)
+
+    def GetFlags(*args, **kwargs):
+        """GetFlags() -> long"""
+        return _controls.TextAttr_GetFlags(*args, **kwargs)
+
+    def IsDefault(*args, **kwargs):
+        """IsDefault() -> bool"""
+        return _controls.TextAttr_IsDefault(*args, **kwargs)
+
+    def Combine(*args, **kwargs):
+        """Combine(TextAttr attr, TextAttr attrDef, TextCtrl text) -> TextAttr"""
+        return _controls.TextAttr_Combine(*args, **kwargs)
+
+    Combine = staticmethod(Combine)
+
+class TextAttrPtr(TextAttr):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = TextAttr
+_controls.TextAttr_swigregister(TextAttrPtr)
+TextCtrlNameStr = cvar.TextCtrlNameStr
+
+def TextAttr_Combine(*args, **kwargs):
+    """TextAttr_Combine(TextAttr attr, TextAttr attrDef, TextCtrl text) -> TextAttr"""
+    return _controls.TextAttr_Combine(*args, **kwargs)
+
+class TextCtrl(core.Control):
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxTextCtrl instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """
+        __init__(Window parent, int id, String value=EmptyString, Point pos=DefaultPosition, 
+            Size size=DefaultSize, 
+            long style=0, Validator validator=DefaultValidator, 
+            String name=TextCtrlNameStr) -> TextCtrl
+        """
+        newobj = _controls.new_TextCtrl(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+        self._setOORInfo(self)
+
+    def Create(*args, **kwargs):
+        """
+        Create(Window parent, int id, String value=EmptyString, Point pos=DefaultPosition, 
+            Size size=DefaultSize, 
+            long style=0, Validator validator=DefaultValidator, 
+            String name=TextCtrlNameStr) -> bool
+        """
+        return _controls.TextCtrl_Create(*args, **kwargs)
+
+    def GetValue(*args, **kwargs):
+        """GetValue() -> String"""
+        return _controls.TextCtrl_GetValue(*args, **kwargs)
+
+    def SetValue(*args, **kwargs):
+        """SetValue(String value)"""
+        return _controls.TextCtrl_SetValue(*args, **kwargs)
+
+    def GetRange(*args, **kwargs):
+        """GetRange(long from, long to) -> String"""
+        return _controls.TextCtrl_GetRange(*args, **kwargs)
+
+    def GetLineLength(*args, **kwargs):
+        """GetLineLength(long lineNo) -> int"""
+        return _controls.TextCtrl_GetLineLength(*args, **kwargs)
+
+    def GetLineText(*args, **kwargs):
+        """GetLineText(long lineNo) -> String"""
+        return _controls.TextCtrl_GetLineText(*args, **kwargs)
+
+    def GetNumberOfLines(*args, **kwargs):
+        """GetNumberOfLines() -> int"""
+        return _controls.TextCtrl_GetNumberOfLines(*args, **kwargs)
+
+    def IsModified(*args, **kwargs):
+        """IsModified() -> bool"""
+        return _controls.TextCtrl_IsModified(*args, **kwargs)
+
+    def IsEditable(*args, **kwargs):
+        """IsEditable() -> bool"""
+        return _controls.TextCtrl_IsEditable(*args, **kwargs)
+
+    def IsSingleLine(*args, **kwargs):
+        """IsSingleLine() -> bool"""
+        return _controls.TextCtrl_IsSingleLine(*args, **kwargs)
+
+    def IsMultiLine(*args, **kwargs):
+        """IsMultiLine() -> bool"""
+        return _controls.TextCtrl_IsMultiLine(*args, **kwargs)
+
+    def GetSelection(*args, **kwargs):
+        """
+        GetSelection() -> (from, to)
+
+        If the return values from and to are the same, there is no selection.
+        """
+        return _controls.TextCtrl_GetSelection(*args, **kwargs)
+
+    def GetStringSelection(*args, **kwargs):
+        """GetStringSelection() -> String"""
+        return _controls.TextCtrl_GetStringSelection(*args, **kwargs)
+
+    def Clear(*args, **kwargs):
+        """Clear()"""
+        return _controls.TextCtrl_Clear(*args, **kwargs)
+
+    def Replace(*args, **kwargs):
+        """Replace(long from, long to, String value)"""
+        return _controls.TextCtrl_Replace(*args, **kwargs)
+
+    def Remove(*args, **kwargs):
+        """Remove(long from, long to)"""
+        return _controls.TextCtrl_Remove(*args, **kwargs)
+
+    def LoadFile(*args, **kwargs):
+        """LoadFile(String file) -> bool"""
+        return _controls.TextCtrl_LoadFile(*args, **kwargs)
+
+    def SaveFile(*args, **kwargs):
+        """SaveFile(String file=EmptyString) -> bool"""
+        return _controls.TextCtrl_SaveFile(*args, **kwargs)
+
+    def MarkDirty(*args, **kwargs):
+        """MarkDirty()"""
+        return _controls.TextCtrl_MarkDirty(*args, **kwargs)
+
+    def DiscardEdits(*args, **kwargs):
+        """DiscardEdits()"""
+        return _controls.TextCtrl_DiscardEdits(*args, **kwargs)
+
+    def SetMaxLength(*args, **kwargs):
+        """SetMaxLength(unsigned long len)"""
+        return _controls.TextCtrl_SetMaxLength(*args, **kwargs)
+
+    def WriteText(*args, **kwargs):
+        """WriteText(String text)"""
+        return _controls.TextCtrl_WriteText(*args, **kwargs)
+
+    def AppendText(*args, **kwargs):
+        """AppendText(String text)"""
+        return _controls.TextCtrl_AppendText(*args, **kwargs)
+
+    def EmulateKeyPress(*args, **kwargs):
+        """EmulateKeyPress(KeyEvent event) -> bool"""
+        return _controls.TextCtrl_EmulateKeyPress(*args, **kwargs)
+
+    def SetStyle(*args, **kwargs):
+        """SetStyle(long start, long end, TextAttr style) -> bool"""
+        return _controls.TextCtrl_SetStyle(*args, **kwargs)
+
+    def GetStyle(*args, **kwargs):
+        """GetStyle(long position, TextAttr style) -> bool"""
+        return _controls.TextCtrl_GetStyle(*args, **kwargs)
+
+    def SetDefaultStyle(*args, **kwargs):
+        """SetDefaultStyle(TextAttr style) -> bool"""
+        return _controls.TextCtrl_SetDefaultStyle(*args, **kwargs)
+
+    def GetDefaultStyle(*args, **kwargs):
+        """GetDefaultStyle() -> TextAttr"""
+        return _controls.TextCtrl_GetDefaultStyle(*args, **kwargs)
+
+    def XYToPosition(*args, **kwargs):
+        """XYToPosition(long x, long y) -> long"""
+        return _controls.TextCtrl_XYToPosition(*args, **kwargs)
+
+    def PositionToXY(*args, **kwargs):
+        """PositionToXY(long pos) -> (x, y)"""
+        return _controls.TextCtrl_PositionToXY(*args, **kwargs)
+
+    def ShowPosition(*args, **kwargs):
+        """ShowPosition(long pos)"""
+        return _controls.TextCtrl_ShowPosition(*args, **kwargs)
+
+    def HitTest(*args, **kwargs):
+        """
+        HitTest(Point pt) -> (result, row, col)
+
+        Find the character at position given in pixels.
+        NB: pt is in device coords (not adjusted for the client area
+        origin nor scrolling)
+        """
+        return _controls.TextCtrl_HitTest(*args, **kwargs)
+
+    def Copy(*args, **kwargs):
+        """Copy()"""
+        return _controls.TextCtrl_Copy(*args, **kwargs)
+
+    def Cut(*args, **kwargs):
+        """Cut()"""
+        return _controls.TextCtrl_Cut(*args, **kwargs)
+
+    def Paste(*args, **kwargs):
+        """Paste()"""
+        return _controls.TextCtrl_Paste(*args, **kwargs)
+
+    def CanCopy(*args, **kwargs):
+        """CanCopy() -> bool"""
+        return _controls.TextCtrl_CanCopy(*args, **kwargs)
+
+    def CanCut(*args, **kwargs):
+        """CanCut() -> bool"""
+        return _controls.TextCtrl_CanCut(*args, **kwargs)
+
+    def CanPaste(*args, **kwargs):
+        """CanPaste() -> bool"""
+        return _controls.TextCtrl_CanPaste(*args, **kwargs)
+
+    def Undo(*args, **kwargs):
+        """Undo()"""
+        return _controls.TextCtrl_Undo(*args, **kwargs)
+
+    def Redo(*args, **kwargs):
+        """Redo()"""
+        return _controls.TextCtrl_Redo(*args, **kwargs)
+
+    def CanUndo(*args, **kwargs):
+        """CanUndo() -> bool"""
+        return _controls.TextCtrl_CanUndo(*args, **kwargs)
+
+    def CanRedo(*args, **kwargs):
+        """CanRedo() -> bool"""
+        return _controls.TextCtrl_CanRedo(*args, **kwargs)
+
+    def SetInsertionPoint(*args, **kwargs):
+        """SetInsertionPoint(long pos)"""
+        return _controls.TextCtrl_SetInsertionPoint(*args, **kwargs)
+
+    def SetInsertionPointEnd(*args, **kwargs):
+        """SetInsertionPointEnd()"""
+        return _controls.TextCtrl_SetInsertionPointEnd(*args, **kwargs)
+
+    def GetInsertionPoint(*args, **kwargs):
+        """GetInsertionPoint() -> long"""
+        return _controls.TextCtrl_GetInsertionPoint(*args, **kwargs)
+
+    def GetLastPosition(*args, **kwargs):
+        """GetLastPosition() -> long"""
+        return _controls.TextCtrl_GetLastPosition(*args, **kwargs)
+
+    def SetSelection(*args, **kwargs):
+        """SetSelection(long from, long to)"""
+        return _controls.TextCtrl_SetSelection(*args, **kwargs)
+
+    def SelectAll(*args, **kwargs):
+        """SelectAll()"""
+        return _controls.TextCtrl_SelectAll(*args, **kwargs)
+
+    def SetEditable(*args, **kwargs):
+        """SetEditable(bool editable)"""
+        return _controls.TextCtrl_SetEditable(*args, **kwargs)
+
+    def ShowNativeCaret(*args, **kwargs):
+        """ShowNativeCaret(bool show=True) -> bool"""
+        return _controls.TextCtrl_ShowNativeCaret(*args, **kwargs)
+
+    def HideNativeCaret(*args, **kwargs):
+        """HideNativeCaret() -> bool"""
+        return _controls.TextCtrl_HideNativeCaret(*args, **kwargs)
+
+    def write(*args, **kwargs):
+        """write(String text)"""
+        return _controls.TextCtrl_write(*args, **kwargs)
+
+    def GetString(*args, **kwargs):
+        """GetString(long from, long to) -> String"""
+        return _controls.TextCtrl_GetString(*args, **kwargs)
+
+
+class TextCtrlPtr(TextCtrl):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = TextCtrl
+_controls.TextCtrl_swigregister(TextCtrlPtr)
+
+def PreTextCtrl(*args, **kwargs):
+    """PreTextCtrl() -> TextCtrl"""
+    val = _controls.new_PreTextCtrl(*args, **kwargs)
+    val.thisown = 1
+    return val
+
+wxEVT_COMMAND_TEXT_UPDATED = _controls.wxEVT_COMMAND_TEXT_UPDATED
+wxEVT_COMMAND_TEXT_ENTER = _controls.wxEVT_COMMAND_TEXT_ENTER
+wxEVT_COMMAND_TEXT_URL = _controls.wxEVT_COMMAND_TEXT_URL
+wxEVT_COMMAND_TEXT_MAXLEN = _controls.wxEVT_COMMAND_TEXT_MAXLEN
+class TextUrlEvent(core.CommandEvent):
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxTextUrlEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__(int winid, MouseEvent evtMouse, long start, long end) -> TextUrlEvent"""
+        newobj = _controls.new_TextUrlEvent(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+    def GetMouseEvent(*args, **kwargs):
+        """GetMouseEvent() -> MouseEvent"""
+        return _controls.TextUrlEvent_GetMouseEvent(*args, **kwargs)
+
+    def GetURLStart(*args, **kwargs):
+        """GetURLStart() -> long"""
+        return _controls.TextUrlEvent_GetURLStart(*args, **kwargs)
+
+    def GetURLEnd(*args, **kwargs):
+        """GetURLEnd() -> long"""
+        return _controls.TextUrlEvent_GetURLEnd(*args, **kwargs)
+
+
+class TextUrlEventPtr(TextUrlEvent):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = TextUrlEvent
+_controls.TextUrlEvent_swigregister(TextUrlEventPtr)
+
+EVT_TEXT        = wx.PyEventBinder( wxEVT_COMMAND_TEXT_UPDATED, 1)
+EVT_TEXT_ENTER  = wx.PyEventBinder( wxEVT_COMMAND_TEXT_ENTER, 1)
+EVT_TEXT_URL    = wx.PyEventBinder( wxEVT_COMMAND_TEXT_URL, 1) 
+EVT_TEXT_MAXLEN = wx.PyEventBinder( wxEVT_COMMAND_TEXT_MAXLEN, 1)
+
+#---------------------------------------------------------------------------
+
+class ScrollBar(core.Control):
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxScrollBar instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """
+        __init__(Window parent, int id=-1, Point pos=DefaultPosition, 
+            Size size=DefaultSize, long style=SB_HORIZONTAL, 
+            Validator validator=DefaultValidator, String name=ScrollBarNameStr) -> ScrollBar
+        """
+        newobj = _controls.new_ScrollBar(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+        self._setOORInfo(self)
+
+    def Create(*args, **kwargs):
+        """
+        Create(Window parent, int id=-1, Point pos=DefaultPosition, 
+            Size size=DefaultSize, long style=SB_HORIZONTAL, 
+            Validator validator=DefaultValidator, String name=ScrollBarNameStr) -> bool
+
+        Do the 2nd phase and create the GUI control.
+        """
+        return _controls.ScrollBar_Create(*args, **kwargs)
+
+    def GetThumbPosition(*args, **kwargs):
+        """GetThumbPosition() -> int"""
+        return _controls.ScrollBar_GetThumbPosition(*args, **kwargs)
+
+    def GetThumbSize(*args, **kwargs):
+        """GetThumbSize() -> int"""
+        return _controls.ScrollBar_GetThumbSize(*args, **kwargs)
+
+    GetThumbLength = GetThumbSize 
+    def GetPageSize(*args, **kwargs):
+        """GetPageSize() -> int"""
+        return _controls.ScrollBar_GetPageSize(*args, **kwargs)
+
+    def GetRange(*args, **kwargs):
+        """GetRange() -> int"""
+        return _controls.ScrollBar_GetRange(*args, **kwargs)
+
+    def IsVertical(*args, **kwargs):
+        """IsVertical() -> bool"""
+        return _controls.ScrollBar_IsVertical(*args, **kwargs)
+
+    def SetThumbPosition(*args, **kwargs):
+        """SetThumbPosition(int viewStart)"""
+        return _controls.ScrollBar_SetThumbPosition(*args, **kwargs)
+
+    def SetScrollbar(*args, **kwargs):
+        """
+        SetScrollbar(int position, int thumbSize, int range, int pageSize, 
+            bool refresh=True)
+
+        Sets the scrollbar properties of a built-in scrollbar.
+
+            orientation: Determines the scrollbar whose page size is to be
+                         set. May be wx.HORIZONTAL or wx.VERTICAL.
+
+            position:    The position of the scrollbar in scroll units.
+
+            thumbSize:   The size of the thumb, or visible portion of the
+                         scrollbar, in scroll units.
+
+            range:       The maximum position of the scrollbar.
+
+            refresh:     True to redraw the scrollbar, false otherwise.
+        """
+        return _controls.ScrollBar_SetScrollbar(*args, **kwargs)
+
+
+class ScrollBarPtr(ScrollBar):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = ScrollBar
+_controls.ScrollBar_swigregister(ScrollBarPtr)
+ScrollBarNameStr = cvar.ScrollBarNameStr
+
+def PreScrollBar(*args, **kwargs):
+    """PreScrollBar() -> ScrollBar"""
+    val = _controls.new_PreScrollBar(*args, **kwargs)
+    val.thisown = 1
+    return val
+
+#---------------------------------------------------------------------------
+
+SP_HORIZONTAL = _controls.SP_HORIZONTAL
+SP_VERTICAL = _controls.SP_VERTICAL
+SP_ARROW_KEYS = _controls.SP_ARROW_KEYS
+SP_WRAP = _controls.SP_WRAP
+class SpinButton(core.Control):
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxSpinButton instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """
+        __init__(Window parent, int id=-1, Point pos=DefaultPosition, 
+            Size size=DefaultSize, long style=SP_HORIZONTAL, 
+            String name=SPIN_BUTTON_NAME) -> SpinButton
+        """
+        newobj = _controls.new_SpinButton(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+        self._setOORInfo(self)
+
+    def Create(*args, **kwargs):
+        """
+        Create(Window parent, int id=-1, Point pos=DefaultPosition, 
+            Size size=DefaultSize, long style=SP_HORIZONTAL, 
+            String name=SPIN_BUTTON_NAME) -> bool
+        """
+        return _controls.SpinButton_Create(*args, **kwargs)
+
+    def GetValue(*args, **kwargs):
+        """GetValue() -> int"""
+        return _controls.SpinButton_GetValue(*args, **kwargs)
+
+    def GetMin(*args, **kwargs):
+        """GetMin() -> int"""
+        return _controls.SpinButton_GetMin(*args, **kwargs)
+
+    def GetMax(*args, **kwargs):
+        """GetMax() -> int"""
+        return _controls.SpinButton_GetMax(*args, **kwargs)
+
+    def SetValue(*args, **kwargs):
+        """SetValue(int val)"""
+        return _controls.SpinButton_SetValue(*args, **kwargs)
+
+    def SetMin(*args, **kwargs):
+        """SetMin(int minVal)"""
+        return _controls.SpinButton_SetMin(*args, **kwargs)
+
+    def SetMax(*args, **kwargs):
+        """SetMax(int maxVal)"""
+        return _controls.SpinButton_SetMax(*args, **kwargs)
+
+    def SetRange(*args, **kwargs):
+        """SetRange(int minVal, int maxVal)"""
+        return _controls.SpinButton_SetRange(*args, **kwargs)
+
+    def IsVertical(*args, **kwargs):
+        """IsVertical() -> bool"""
+        return _controls.SpinButton_IsVertical(*args, **kwargs)
+
+
+class SpinButtonPtr(SpinButton):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = SpinButton
+_controls.SpinButton_swigregister(SpinButtonPtr)
+SPIN_BUTTON_NAME = cvar.SPIN_BUTTON_NAME
+SpinCtrlNameStr = cvar.SpinCtrlNameStr
+
+def PreSpinButton(*args, **kwargs):
+    """PreSpinButton() -> SpinButton"""
+    val = _controls.new_PreSpinButton(*args, **kwargs)
+    val.thisown = 1
+    return val
+
+class SpinCtrl(core.Control):
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxSpinCtrl instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """
+        __init__(Window parent, int id=-1, String value=EmptyString, 
+            Point pos=DefaultPosition, Size size=DefaultSize, 
+            long style=SP_ARROW_KEYS, int min=0, int max=100, 
+            int initial=0, String name=SpinCtrlNameStr) -> SpinCtrl
+        """
+        newobj = _controls.new_SpinCtrl(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+        self._setOORInfo(self)
+
+    def Create(*args, **kwargs):
+        """
+        Create(Window parent, int id=-1, String value=EmptyString, 
+            Point pos=DefaultPosition, Size size=DefaultSize, 
+            long style=SP_ARROW_KEYS, int min=0, int max=100, 
+            int initial=0, String name=SpinCtrlNameStr) -> bool
+        """
+        return _controls.SpinCtrl_Create(*args, **kwargs)
+
+    def GetValue(*args, **kwargs):
+        """GetValue() -> int"""
+        return _controls.SpinCtrl_GetValue(*args, **kwargs)
+
+    def SetValue(*args, **kwargs):
+        """SetValue(int value)"""
+        return _controls.SpinCtrl_SetValue(*args, **kwargs)
+
+    def SetValueString(*args, **kwargs):
+        """SetValueString(String text)"""
+        return _controls.SpinCtrl_SetValueString(*args, **kwargs)
+
+    def SetRange(*args, **kwargs):
+        """SetRange(int minVal, int maxVal)"""
+        return _controls.SpinCtrl_SetRange(*args, **kwargs)
+
+    def GetMin(*args, **kwargs):
+        """GetMin() -> int"""
+        return _controls.SpinCtrl_GetMin(*args, **kwargs)
+
+    def GetMax(*args, **kwargs):
+        """GetMax() -> int"""
+        return _controls.SpinCtrl_GetMax(*args, **kwargs)
+
+    def SetSelection(*args, **kwargs):
+        """SetSelection(long from, long to)"""
+        return _controls.SpinCtrl_SetSelection(*args, **kwargs)
+
+
+class SpinCtrlPtr(SpinCtrl):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = SpinCtrl
+_controls.SpinCtrl_swigregister(SpinCtrlPtr)
+
+def PreSpinCtrl(*args, **kwargs):
+    """PreSpinCtrl() -> SpinCtrl"""
+    val = _controls.new_PreSpinCtrl(*args, **kwargs)
+    val.thisown = 1
+    return val
+
+class SpinEvent(core.NotifyEvent):
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxSpinEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__(wxEventType commandType=wxEVT_NULL, int winid=0) -> SpinEvent"""
+        newobj = _controls.new_SpinEvent(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+    def GetPosition(*args, **kwargs):
+        """GetPosition() -> int"""
+        return _controls.SpinEvent_GetPosition(*args, **kwargs)
+
+    def SetPosition(*args, **kwargs):
+        """SetPosition(int pos)"""
+        return _controls.SpinEvent_SetPosition(*args, **kwargs)
+
+
+class SpinEventPtr(SpinEvent):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = SpinEvent
+_controls.SpinEvent_swigregister(SpinEventPtr)
+
+wxEVT_COMMAND_SPINCTRL_UPDATED = _controls.wxEVT_COMMAND_SPINCTRL_UPDATED
+EVT_SPIN_UP   = wx.PyEventBinder( wx.wxEVT_SCROLL_LINEUP, 1)
+EVT_SPIN_DOWN = wx.PyEventBinder( wx.wxEVT_SCROLL_LINEDOWN, 1)
+EVT_SPIN      = wx.PyEventBinder( wx.wxEVT_SCROLL_THUMBTRACK, 1)
+EVT_SPINCTRL  = wx.PyEventBinder( wxEVT_COMMAND_SPINCTRL_UPDATED, 1)
+
+#---------------------------------------------------------------------------
+
+class RadioBox(core.Control):
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxRadioBox instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """
+        __init__(Window parent, int id, String label, Point pos=DefaultPosition, 
+            Size size=DefaultSize, wxArrayString choices=wxPyEmptyStringArray, 
+            int majorDimension=0, 
+            long style=RA_HORIZONTAL, Validator validator=DefaultValidator, 
+            String name=RadioBoxNameStr) -> RadioBox
+        """
+        if kwargs.has_key('point'): kwargs['pos'] = kwargs['point']
+        newobj = _controls.new_RadioBox(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+        self._setOORInfo(self)
+
+    def Create(*args, **kwargs):
+        """
+        Create(Window parent, int id, String label, Point pos=DefaultPosition, 
+            Size size=DefaultSize, wxArrayString choices=wxPyEmptyStringArray, 
+            int majorDimension=0, 
+            long style=RA_HORIZONTAL, Validator validator=DefaultValidator, 
+            String name=RadioBoxNameStr) -> bool
+        """
+        return _controls.RadioBox_Create(*args, **kwargs)
+
+    def SetSelection(*args, **kwargs):
+        """SetSelection(int n)"""
+        return _controls.RadioBox_SetSelection(*args, **kwargs)
+
+    def GetSelection(*args, **kwargs):
+        """GetSelection() -> int"""
+        return _controls.RadioBox_GetSelection(*args, **kwargs)
+
+    def GetStringSelection(*args, **kwargs):
+        """GetStringSelection() -> String"""
+        return _controls.RadioBox_GetStringSelection(*args, **kwargs)
+
+    def SetStringSelection(*args, **kwargs):
+        """SetStringSelection(String s) -> bool"""
+        return _controls.RadioBox_SetStringSelection(*args, **kwargs)
+
+    def GetCount(*args, **kwargs):
+        """GetCount() -> int"""
+        return _controls.RadioBox_GetCount(*args, **kwargs)
+
+    def FindString(*args, **kwargs):
+        """FindString(String s) -> int"""
+        return _controls.RadioBox_FindString(*args, **kwargs)
+
+    def GetString(*args, **kwargs):
+        """GetString(int n) -> String"""
+        return _controls.RadioBox_GetString(*args, **kwargs)
+
+    def SetString(*args, **kwargs):
+        """SetString(int n, String label)"""
+        return _controls.RadioBox_SetString(*args, **kwargs)
+
+    GetItemLabel = GetString 
+    SetItemLabel = SetString 
+    def EnableItem(*args, **kwargs):
+        """EnableItem(int n, bool enable=True)"""
+        return _controls.RadioBox_EnableItem(*args, **kwargs)
+
+    def ShowItem(*args, **kwargs):
+        """ShowItem(int n, bool show=True)"""
+        return _controls.RadioBox_ShowItem(*args, **kwargs)
+
+    def GetColumnCount(*args, **kwargs):
+        """GetColumnCount() -> int"""
+        return _controls.RadioBox_GetColumnCount(*args, **kwargs)
+
+    def GetRowCount(*args, **kwargs):
+        """GetRowCount() -> int"""
+        return _controls.RadioBox_GetRowCount(*args, **kwargs)
+
+    def GetNextItem(*args, **kwargs):
+        """GetNextItem(int item, int dir, long style) -> int"""
+        return _controls.RadioBox_GetNextItem(*args, **kwargs)
+
+
+class RadioBoxPtr(RadioBox):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = RadioBox
+_controls.RadioBox_swigregister(RadioBoxPtr)
+RadioBoxNameStr = cvar.RadioBoxNameStr
+RadioButtonNameStr = cvar.RadioButtonNameStr
+
+def PreRadioBox(*args, **kwargs):
+    """PreRadioBox() -> RadioBox"""
+    val = _controls.new_PreRadioBox(*args, **kwargs)
+    val.thisown = 1
+    return val
+
+#---------------------------------------------------------------------------
+
+class RadioButton(core.Control):
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxRadioButton instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """
+        __init__(Window parent, int id, String label, Point pos=DefaultPosition, 
+            Size size=DefaultSize, long style=0, 
+            Validator validator=DefaultValidator, String name=RadioButtonNameStr) -> RadioButton
+        """
+        newobj = _controls.new_RadioButton(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+        self._setOORInfo(self)
+
+    def Create(*args, **kwargs):
+        """
+        Create(Window parent, int id, String label, Point pos=DefaultPosition, 
+            Size size=DefaultSize, long style=0, 
+            Validator validator=DefaultValidator, String name=RadioButtonNameStr) -> bool
+        """
+        return _controls.RadioButton_Create(*args, **kwargs)
+
+    def GetValue(*args, **kwargs):
+        """GetValue() -> bool"""
+        return _controls.RadioButton_GetValue(*args, **kwargs)
+
+    def SetValue(*args, **kwargs):
+        """SetValue(bool value)"""
+        return _controls.RadioButton_SetValue(*args, **kwargs)
+
+
+class RadioButtonPtr(RadioButton):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = RadioButton
+_controls.RadioButton_swigregister(RadioButtonPtr)
+
+def PreRadioButton(*args, **kwargs):
+    """PreRadioButton() -> RadioButton"""
+    val = _controls.new_PreRadioButton(*args, **kwargs)
+    val.thisown = 1
+    return val
+
+#---------------------------------------------------------------------------
+
+class Slider(core.Control):
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxSlider instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """
+        __init__(Window parent, int id, int value, int minValue, int maxValue, 
+            Point pos=DefaultPosition, Size size=DefaultSize, 
+            long style=SL_HORIZONTAL, Validator validator=DefaultValidator, 
+            String name=SliderNameStr) -> Slider
+        """
+        if kwargs.has_key('point'): kwargs['pos'] = kwargs['point']
+        newobj = _controls.new_Slider(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+        self._setOORInfo(self)
+
+    def Create(*args, **kwargs):
+        """
+        Create(Window parent, int id, int value, int minValue, int maxValue, 
+            Point pos=DefaultPosition, Size size=DefaultSize, 
+            long style=SL_HORIZONTAL, Validator validator=DefaultValidator, 
+            String name=SliderNameStr) -> bool
+        """
+        return _controls.Slider_Create(*args, **kwargs)
+
+    def GetValue(*args, **kwargs):
+        """GetValue() -> int"""
+        return _controls.Slider_GetValue(*args, **kwargs)
+
+    def SetValue(*args, **kwargs):
+        """SetValue(int value)"""
+        return _controls.Slider_SetValue(*args, **kwargs)
+
+    def SetRange(*args, **kwargs):
+        """SetRange(int minValue, int maxValue)"""
+        return _controls.Slider_SetRange(*args, **kwargs)
+
+    def GetMin(*args, **kwargs):
+        """GetMin() -> int"""
+        return _controls.Slider_GetMin(*args, **kwargs)
+
+    def GetMax(*args, **kwargs):
+        """GetMax() -> int"""
+        return _controls.Slider_GetMax(*args, **kwargs)
+
+    def SetMin(*args, **kwargs):
+        """SetMin(int minValue)"""
+        return _controls.Slider_SetMin(*args, **kwargs)
+
+    def SetMax(*args, **kwargs):
+        """SetMax(int maxValue)"""
+        return _controls.Slider_SetMax(*args, **kwargs)
+
+    def SetLineSize(*args, **kwargs):
+        """SetLineSize(int lineSize)"""
+        return _controls.Slider_SetLineSize(*args, **kwargs)
+
+    def SetPageSize(*args, **kwargs):
+        """SetPageSize(int pageSize)"""
+        return _controls.Slider_SetPageSize(*args, **kwargs)
+
+    def GetLineSize(*args, **kwargs):
+        """GetLineSize() -> int"""
+        return _controls.Slider_GetLineSize(*args, **kwargs)
+
+    def GetPageSize(*args, **kwargs):
+        """GetPageSize() -> int"""
+        return _controls.Slider_GetPageSize(*args, **kwargs)
+
+    def SetThumbLength(*args, **kwargs):
+        """SetThumbLength(int lenPixels)"""
+        return _controls.Slider_SetThumbLength(*args, **kwargs)
+
+    def GetThumbLength(*args, **kwargs):
+        """GetThumbLength() -> int"""
+        return _controls.Slider_GetThumbLength(*args, **kwargs)
+
+    def SetTickFreq(*args, **kwargs):
+        """SetTickFreq(int n, int pos=1)"""
+        return _controls.Slider_SetTickFreq(*args, **kwargs)
+
+    def GetTickFreq(*args, **kwargs):
+        """GetTickFreq() -> int"""
+        return _controls.Slider_GetTickFreq(*args, **kwargs)
+
+    def ClearTicks(*args, **kwargs):
+        """ClearTicks()"""
+        return _controls.Slider_ClearTicks(*args, **kwargs)
+
+    def SetTick(*args, **kwargs):
+        """SetTick(int tickPos)"""
+        return _controls.Slider_SetTick(*args, **kwargs)
+
+    def ClearSel(*args, **kwargs):
+        """ClearSel()"""
+        return _controls.Slider_ClearSel(*args, **kwargs)
+
+    def GetSelEnd(*args, **kwargs):
+        """GetSelEnd() -> int"""
+        return _controls.Slider_GetSelEnd(*args, **kwargs)
+
+    def GetSelStart(*args, **kwargs):
+        """GetSelStart() -> int"""
+        return _controls.Slider_GetSelStart(*args, **kwargs)
+
+    def SetSelection(*args, **kwargs):
+        """SetSelection(int min, int max)"""
+        return _controls.Slider_SetSelection(*args, **kwargs)
+
+
+class SliderPtr(Slider):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = Slider
+_controls.Slider_swigregister(SliderPtr)
+SliderNameStr = cvar.SliderNameStr
+
+def PreSlider(*args, **kwargs):
+    """PreSlider() -> Slider"""
+    val = _controls.new_PreSlider(*args, **kwargs)
+    val.thisown = 1
+    return val
+
+#---------------------------------------------------------------------------
+
+wxEVT_COMMAND_TOGGLEBUTTON_CLICKED = _controls.wxEVT_COMMAND_TOGGLEBUTTON_CLICKED
+EVT_TOGGLEBUTTON = wx.PyEventBinder( wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, 1)
+
+class ToggleButton(core.Control):
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxToggleButton instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """
+        __init__(Window parent, int id, String label, Point pos=DefaultPosition, 
+            Size size=DefaultSize, long style=0, 
+            Validator validator=DefaultValidator, String name=ToggleButtonNameStr) -> ToggleButton
+        """
+        newobj = _controls.new_ToggleButton(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+        self._setOORInfo(self)
+
+    def Create(*args, **kwargs):
+        """
+        Create(Window parent, int id, String label, Point pos=DefaultPosition, 
+            Size size=DefaultSize, long style=0, 
+            Validator validator=DefaultValidator, String name=ToggleButtonNameStr) -> bool
+        """
+        return _controls.ToggleButton_Create(*args, **kwargs)
+
+    def SetValue(*args, **kwargs):
+        """SetValue(bool value)"""
+        return _controls.ToggleButton_SetValue(*args, **kwargs)
+
+    def GetValue(*args, **kwargs):
+        """GetValue() -> bool"""
+        return _controls.ToggleButton_GetValue(*args, **kwargs)
+
+    def SetLabel(*args, **kwargs):
+        """
+        SetLabel(String label)
+
+        Sets the item's text.
+        """
+        return _controls.ToggleButton_SetLabel(*args, **kwargs)
+
+
+class ToggleButtonPtr(ToggleButton):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = ToggleButton
+_controls.ToggleButton_swigregister(ToggleButtonPtr)
+ToggleButtonNameStr = cvar.ToggleButtonNameStr
+
+def PreToggleButton(*args, **kwargs):
+    """PreToggleButton() -> ToggleButton"""
+    val = _controls.new_PreToggleButton(*args, **kwargs)
+    val.thisown = 1
+    return val
+
+#---------------------------------------------------------------------------
+
+class BookCtrl(core.Control):
+    def __init__(self): raise RuntimeError, "No constructor defined"
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxBookCtrl instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def GetPageCount(*args, **kwargs):
+        """GetPageCount() -> size_t"""
+        return _controls.BookCtrl_GetPageCount(*args, **kwargs)
+
+    def GetPage(*args, **kwargs):
+        """GetPage(size_t n) -> Window"""
+        return _controls.BookCtrl_GetPage(*args, **kwargs)
+
+    def GetSelection(*args, **kwargs):
+        """GetSelection() -> int"""
+        return _controls.BookCtrl_GetSelection(*args, **kwargs)
+
+    def SetPageText(*args, **kwargs):
+        """SetPageText(size_t n, String strText) -> bool"""
+        return _controls.BookCtrl_SetPageText(*args, **kwargs)
+
+    def GetPageText(*args, **kwargs):
+        """GetPageText(size_t n) -> String"""
+        return _controls.BookCtrl_GetPageText(*args, **kwargs)
+
+    def SetImageList(*args, **kwargs):
+        """SetImageList(ImageList imageList)"""
+        return _controls.BookCtrl_SetImageList(*args, **kwargs)
+
+    def AssignImageList(*args, **kwargs):
+        """AssignImageList(ImageList imageList)"""
+        return _controls.BookCtrl_AssignImageList(*args, **kwargs)
+
+    def GetImageList(*args, **kwargs):
+        """GetImageList() -> ImageList"""
+        return _controls.BookCtrl_GetImageList(*args, **kwargs)
+
+    def GetPageImage(*args, **kwargs):
+        """GetPageImage(size_t n) -> int"""
+        return _controls.BookCtrl_GetPageImage(*args, **kwargs)
+
+    def SetPageImage(*args, **kwargs):
+        """SetPageImage(size_t n, int imageId) -> bool"""
+        return _controls.BookCtrl_SetPageImage(*args, **kwargs)
+
+    def SetPageSize(*args, **kwargs):
+        """SetPageSize(Size size)"""
+        return _controls.BookCtrl_SetPageSize(*args, **kwargs)
+
+    def CalcSizeFromPage(*args, **kwargs):
+        """CalcSizeFromPage(Size sizePage) -> Size"""
+        return _controls.BookCtrl_CalcSizeFromPage(*args, **kwargs)
+
+    def DeletePage(*args, **kwargs):
+        """DeletePage(size_t n) -> bool"""
+        return _controls.BookCtrl_DeletePage(*args, **kwargs)
+
+    def RemovePage(*args, **kwargs):
+        """RemovePage(size_t n) -> bool"""
+        return _controls.BookCtrl_RemovePage(*args, **kwargs)
+
+    def DeleteAllPages(*args, **kwargs):
+        """DeleteAllPages() -> bool"""
+        return _controls.BookCtrl_DeleteAllPages(*args, **kwargs)
+
+    def AddPage(*args, **kwargs):
+        """AddPage(Window page, String text, bool select=False, int imageId=-1) -> bool"""
+        return _controls.BookCtrl_AddPage(*args, **kwargs)
+
+    def InsertPage(*args, **kwargs):
+        """
+        InsertPage(size_t n, Window page, String text, bool select=False, 
+            int imageId=-1) -> bool
+        """
+        return _controls.BookCtrl_InsertPage(*args, **kwargs)
+
+    def SetSelection(*args, **kwargs):
+        """SetSelection(size_t n) -> int"""
+        return _controls.BookCtrl_SetSelection(*args, **kwargs)
+
+    def AdvanceSelection(*args, **kwargs):
+        """AdvanceSelection(bool forward=True)"""
+        return _controls.BookCtrl_AdvanceSelection(*args, **kwargs)
+
+
+class BookCtrlPtr(BookCtrl):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = BookCtrl
+_controls.BookCtrl_swigregister(BookCtrlPtr)
+NOTEBOOK_NAME = cvar.NOTEBOOK_NAME
+
+class BookCtrlEvent(core.NotifyEvent):
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxBookCtrlEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """
+        __init__(wxEventType commandType=wxEVT_NULL, int id=0, int nSel=-1, 
+            int nOldSel=-1) -> BookCtrlEvent
+        """
+        newobj = _controls.new_BookCtrlEvent(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+    def GetSelection(*args, **kwargs):
+        """GetSelection() -> int"""
+        return _controls.BookCtrlEvent_GetSelection(*args, **kwargs)
+
+    def SetSelection(*args, **kwargs):
+        """SetSelection(int nSel)"""
+        return _controls.BookCtrlEvent_SetSelection(*args, **kwargs)
+
+    def GetOldSelection(*args, **kwargs):
+        """GetOldSelection() -> int"""
+        return _controls.BookCtrlEvent_GetOldSelection(*args, **kwargs)
+
+    def SetOldSelection(*args, **kwargs):
+        """SetOldSelection(int nOldSel)"""
+        return _controls.BookCtrlEvent_SetOldSelection(*args, **kwargs)
+
+
+class BookCtrlEventPtr(BookCtrlEvent):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = BookCtrlEvent
+_controls.BookCtrlEvent_swigregister(BookCtrlEventPtr)
+
+#---------------------------------------------------------------------------
+
+NB_FIXEDWIDTH = _controls.NB_FIXEDWIDTH
+NB_TOP = _controls.NB_TOP
+NB_LEFT = _controls.NB_LEFT
+NB_RIGHT = _controls.NB_RIGHT
+NB_BOTTOM = _controls.NB_BOTTOM
+NB_MULTILINE = _controls.NB_MULTILINE
+NB_HITTEST_NOWHERE = _controls.NB_HITTEST_NOWHERE
+NB_HITTEST_ONICON = _controls.NB_HITTEST_ONICON
+NB_HITTEST_ONLABEL = _controls.NB_HITTEST_ONLABEL
+NB_HITTEST_ONITEM = _controls.NB_HITTEST_ONITEM
+class Notebook(BookCtrl):
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxNotebook instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """
+        __init__(Window parent, int id=-1, Point pos=DefaultPosition, 
+            Size size=DefaultSize, long style=0, String name=NOTEBOOK_NAME) -> Notebook
+        """
+        newobj = _controls.new_Notebook(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+        self._setOORInfo(self)
+
+    def Create(*args, **kwargs):
+        """
+        Create(Window parent, int id, Point pos=DefaultPosition, Size size=DefaultSize, 
+            long style=0, String name=NOTEBOOK_NAME) -> bool
+        """
+        return _controls.Notebook_Create(*args, **kwargs)
+
+    def GetRowCount(*args, **kwargs):
+        """GetRowCount() -> int"""
+        return _controls.Notebook_GetRowCount(*args, **kwargs)
+
+    def SetPadding(*args, **kwargs):
+        """SetPadding(Size padding)"""
+        return _controls.Notebook_SetPadding(*args, **kwargs)
+
+    def SetTabSize(*args, **kwargs):
+        """SetTabSize(Size sz)"""
+        return _controls.Notebook_SetTabSize(*args, **kwargs)
+
+    def HitTest(*args, **kwargs):
+        """
+        HitTest(Point pt) -> (tab, where)
+
+        Returns the tab which is hit, and flags indicating where using wx.NB_HITTEST_ flags.
+        """
+        return _controls.Notebook_HitTest(*args, **kwargs)
+
+    def CalcSizeFromPage(*args, **kwargs):
+        """CalcSizeFromPage(Size sizePage) -> Size"""
+        return _controls.Notebook_CalcSizeFromPage(*args, **kwargs)
+
+    def ApplyThemeBackground(*args, **kwargs):
+        """ApplyThemeBackground(Window window, Colour colour)"""
+        return _controls.Notebook_ApplyThemeBackground(*args, **kwargs)
+
+
+class NotebookPtr(Notebook):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = Notebook
+_controls.Notebook_swigregister(NotebookPtr)
+
+def PreNotebook(*args, **kwargs):
+    """PreNotebook() -> Notebook"""
+    val = _controls.new_PreNotebook(*args, **kwargs)
+    val.thisown = 1
+    return val
+
+class NotebookEvent(BookCtrlEvent):
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxNotebookEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """
+        __init__(wxEventType commandType=wxEVT_NULL, int id=0, int nSel=-1, 
+            int nOldSel=-1) -> NotebookEvent
+        """
+        newobj = _controls.new_NotebookEvent(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+
+class NotebookEventPtr(NotebookEvent):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = NotebookEvent
+_controls.NotebookEvent_swigregister(NotebookEventPtr)
+
+wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED = _controls.wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED
+wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGING = _controls.wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGING
+# wxNotebook events
+EVT_NOTEBOOK_PAGE_CHANGED  = wx.PyEventBinder( wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED, 1 )
+EVT_NOTEBOOK_PAGE_CHANGING = wx.PyEventBinder( wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGING, 1 )
+
+#----------------------------------------------------------------------------
+
+class NotebookPage(wx.Panel):
+    """
+    There is an old (and apparently unsolvable) bug when placing a
+    window with a nonstandard background colour in a wxNotebook on
+    wxGTK, as the notbooks's background colour would always be used
+    when the window is refreshed.  The solution is to place a panel in
+    the notbook and the coloured window on the panel, sized to cover
+    the panel.  This simple class does that for you, just put an
+    instance of this in the notebook and make your regular window a
+    child of this one and it will handle the resize for you.
+    """
+    def __init__(self, parent, id=-1,
+                 pos=wx.DefaultPosition, size=wx.DefaultSize,
+                 style=wx.TAB_TRAVERSAL, name="panel"):
+        wx.Panel.__init__(self, parent, id, pos, size, style, name)
+        self.child = None
+        EVT_SIZE(self, self.OnSize)
+        
+    def OnSize(self, evt):
+        if self.child is None:
+            children = self.GetChildren()
+            if len(children):
+                self.child = children[0]
+        if self.child:
+            self.child.SetPosition((0,0))
+            self.child.SetSize(self.GetSize())
+
+
+#---------------------------------------------------------------------------
+
+LB_DEFAULT = _controls.LB_DEFAULT
+LB_TOP = _controls.LB_TOP
+LB_BOTTOM = _controls.LB_BOTTOM
+LB_LEFT = _controls.LB_LEFT
+LB_RIGHT = _controls.LB_RIGHT
+LB_ALIGN_MASK = _controls.LB_ALIGN_MASK
+class Listbook(BookCtrl):
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxListbook instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """
+        __init__(Window parent, int id=-1, Point pos=DefaultPosition, 
+            Size size=DefaultSize, long style=0, String name=EmptyString) -> Listbook
+        """
+        newobj = _controls.new_Listbook(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+        self._setOORInfo(self)
+
+    def Create(*args, **kwargs):
+        """
+        Create(Window parent, int id, Point pos=DefaultPosition, Size size=DefaultSize, 
+            long style=0, String name=EmptyString) -> bool
+        """
+        return _controls.Listbook_Create(*args, **kwargs)
+
+    def IsVertical(*args, **kwargs):
+        """IsVertical() -> bool"""
+        return _controls.Listbook_IsVertical(*args, **kwargs)
+
+
+class ListbookPtr(Listbook):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = Listbook
+_controls.Listbook_swigregister(ListbookPtr)
+
+def PreListbook(*args, **kwargs):
+    """PreListbook() -> Listbook"""
+    val = _controls.new_PreListbook(*args, **kwargs)
+    val.thisown = 1
+    return val
+
+class ListbookEvent(BookCtrlEvent):
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxListbookEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """
+        __init__(wxEventType commandType=wxEVT_NULL, int id=0, int nSel=-1, 
+            int nOldSel=-1) -> ListbookEvent
+        """
+        newobj = _controls.new_ListbookEvent(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+
+class ListbookEventPtr(ListbookEvent):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = ListbookEvent
+_controls.ListbookEvent_swigregister(ListbookEventPtr)
+
+wxEVT_COMMAND_LISTBOOK_PAGE_CHANGED = _controls.wxEVT_COMMAND_LISTBOOK_PAGE_CHANGED
+wxEVT_COMMAND_LISTBOOK_PAGE_CHANGING = _controls.wxEVT_COMMAND_LISTBOOK_PAGE_CHANGING
+EVT_LISTBOOK_PAGE_CHANGED  = wx.PyEventBinder( wxEVT_COMMAND_LISTBOOK_PAGE_CHANGED, 1 )
+EVT_LISTBOOK_PAGE_CHANGING = wx.PyEventBinder( wxEVT_COMMAND_LISTBOOK_PAGE_CHANGING, 1 )
+
+#---------------------------------------------------------------------------
+
+class BookCtrlSizer(core.Sizer):
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxBookCtrlSizer instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__(BookCtrl nb) -> BookCtrlSizer"""
+        newobj = _controls.new_BookCtrlSizer(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+        self._setOORInfo(self)
+
+    def RecalcSizes(*args, **kwargs):
+        """RecalcSizes()"""
+        return _controls.BookCtrlSizer_RecalcSizes(*args, **kwargs)
+
+    def CalcMin(*args, **kwargs):
+        """CalcMin() -> Size"""
+        return _controls.BookCtrlSizer_CalcMin(*args, **kwargs)
+
+    def GetControl(*args, **kwargs):
+        """GetControl() -> BookCtrl"""
+        return _controls.BookCtrlSizer_GetControl(*args, **kwargs)
+
+
+class BookCtrlSizerPtr(BookCtrlSizer):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = BookCtrlSizer
+_controls.BookCtrlSizer_swigregister(BookCtrlSizerPtr)
+
+class NotebookSizer(core.Sizer):
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxNotebookSizer instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__(Notebook nb) -> NotebookSizer"""
+        newobj = _controls.new_NotebookSizer(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+        self._setOORInfo(self)
+
+    def RecalcSizes(*args, **kwargs):
+        """RecalcSizes()"""
+        return _controls.NotebookSizer_RecalcSizes(*args, **kwargs)
+
+    def CalcMin(*args, **kwargs):
+        """CalcMin() -> Size"""
+        return _controls.NotebookSizer_CalcMin(*args, **kwargs)
+
+    def GetNotebook(*args, **kwargs):
+        """GetNotebook() -> Notebook"""
+        return _controls.NotebookSizer_GetNotebook(*args, **kwargs)
+
+
+class NotebookSizerPtr(NotebookSizer):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = NotebookSizer
+_controls.NotebookSizer_swigregister(NotebookSizerPtr)
+
+#---------------------------------------------------------------------------
+
+TOOL_STYLE_BUTTON = _controls.TOOL_STYLE_BUTTON
+TOOL_STYLE_SEPARATOR = _controls.TOOL_STYLE_SEPARATOR
+TOOL_STYLE_CONTROL = _controls.TOOL_STYLE_CONTROL
+TB_HORIZONTAL = _controls.TB_HORIZONTAL
+TB_VERTICAL = _controls.TB_VERTICAL
+TB_3DBUTTONS = _controls.TB_3DBUTTONS
+TB_FLAT = _controls.TB_FLAT
+TB_DOCKABLE = _controls.TB_DOCKABLE
+TB_NOICONS = _controls.TB_NOICONS
+TB_TEXT = _controls.TB_TEXT
+TB_NODIVIDER = _controls.TB_NODIVIDER
+TB_NOALIGN = _controls.TB_NOALIGN
+TB_HORZ_LAYOUT = _controls.TB_HORZ_LAYOUT
+TB_HORZ_TEXT = _controls.TB_HORZ_TEXT
+class ToolBarToolBase(core.Object):
+    def __init__(self): raise RuntimeError, "No constructor defined"
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxToolBarToolBase instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def GetId(*args, **kwargs):
+        """GetId() -> int"""
+        return _controls.ToolBarToolBase_GetId(*args, **kwargs)
+
+    def GetControl(*args, **kwargs):
+        """GetControl() -> Control"""
+        return _controls.ToolBarToolBase_GetControl(*args, **kwargs)
+
+    def GetToolBar(*args, **kwargs):
+        """GetToolBar() -> ToolBarBase"""
+        return _controls.ToolBarToolBase_GetToolBar(*args, **kwargs)
+
+    def IsButton(*args, **kwargs):
+        """IsButton() -> int"""
+        return _controls.ToolBarToolBase_IsButton(*args, **kwargs)
+
+    def IsControl(*args, **kwargs):
+        """IsControl() -> int"""
+        return _controls.ToolBarToolBase_IsControl(*args, **kwargs)
+
+    def IsSeparator(*args, **kwargs):
+        """IsSeparator() -> int"""
+        return _controls.ToolBarToolBase_IsSeparator(*args, **kwargs)
+
+    def GetStyle(*args, **kwargs):
+        """GetStyle() -> int"""
+        return _controls.ToolBarToolBase_GetStyle(*args, **kwargs)
+
+    def GetKind(*args, **kwargs):
+        """GetKind() -> int"""
+        return _controls.ToolBarToolBase_GetKind(*args, **kwargs)
+
+    def IsEnabled(*args, **kwargs):
+        """IsEnabled() -> bool"""
+        return _controls.ToolBarToolBase_IsEnabled(*args, **kwargs)
+
+    def IsToggled(*args, **kwargs):
+        """IsToggled() -> bool"""
+        return _controls.ToolBarToolBase_IsToggled(*args, **kwargs)
+
+    def CanBeToggled(*args, **kwargs):
+        """CanBeToggled() -> bool"""
+        return _controls.ToolBarToolBase_CanBeToggled(*args, **kwargs)
+
+    def GetNormalBitmap(*args, **kwargs):
+        """GetNormalBitmap() -> Bitmap"""
+        return _controls.ToolBarToolBase_GetNormalBitmap(*args, **kwargs)
+
+    def GetDisabledBitmap(*args, **kwargs):
+        """GetDisabledBitmap() -> Bitmap"""
+        return _controls.ToolBarToolBase_GetDisabledBitmap(*args, **kwargs)
+
+    def GetBitmap(*args, **kwargs):
+        """GetBitmap() -> Bitmap"""
+        return _controls.ToolBarToolBase_GetBitmap(*args, **kwargs)
+
+    def GetLabel(*args, **kwargs):
+        """GetLabel() -> String"""
+        return _controls.ToolBarToolBase_GetLabel(*args, **kwargs)
+
+    def GetShortHelp(*args, **kwargs):
+        """GetShortHelp() -> String"""
+        return _controls.ToolBarToolBase_GetShortHelp(*args, **kwargs)
+
+    def GetLongHelp(*args, **kwargs):
+        """GetLongHelp() -> String"""
+        return _controls.ToolBarToolBase_GetLongHelp(*args, **kwargs)
+
+    def Enable(*args, **kwargs):
+        """Enable(bool enable) -> bool"""
+        return _controls.ToolBarToolBase_Enable(*args, **kwargs)
+
+    def Toggle(*args, **kwargs):
+        """Toggle()"""
+        return _controls.ToolBarToolBase_Toggle(*args, **kwargs)
+
+    def SetToggle(*args, **kwargs):
+        """SetToggle(bool toggle) -> bool"""
+        return _controls.ToolBarToolBase_SetToggle(*args, **kwargs)
+
+    def SetShortHelp(*args, **kwargs):
+        """SetShortHelp(String help) -> bool"""
+        return _controls.ToolBarToolBase_SetShortHelp(*args, **kwargs)
+
+    def SetLongHelp(*args, **kwargs):
+        """SetLongHelp(String help) -> bool"""
+        return _controls.ToolBarToolBase_SetLongHelp(*args, **kwargs)
+
+    def SetNormalBitmap(*args, **kwargs):
+        """SetNormalBitmap(Bitmap bmp)"""
+        return _controls.ToolBarToolBase_SetNormalBitmap(*args, **kwargs)
+
+    def SetDisabledBitmap(*args, **kwargs):
+        """SetDisabledBitmap(Bitmap bmp)"""
+        return _controls.ToolBarToolBase_SetDisabledBitmap(*args, **kwargs)
+
+    def SetLabel(*args, **kwargs):
+        """SetLabel(String label)"""
+        return _controls.ToolBarToolBase_SetLabel(*args, **kwargs)
+
+    def Detach(*args, **kwargs):
+        """Detach()"""
+        return _controls.ToolBarToolBase_Detach(*args, **kwargs)
+
+    def Attach(*args, **kwargs):
+        """Attach(ToolBarBase tbar)"""
+        return _controls.ToolBarToolBase_Attach(*args, **kwargs)
+
+    def GetClientData(*args, **kwargs):
+        """GetClientData() -> PyObject"""
+        return _controls.ToolBarToolBase_GetClientData(*args, **kwargs)
+
+    def SetClientData(*args, **kwargs):
+        """SetClientData(PyObject clientData)"""
+        return _controls.ToolBarToolBase_SetClientData(*args, **kwargs)
+
+    GetBitmap1 = GetNormalBitmap
+    GetBitmap2 = GetDisabledBitmap
+    SetBitmap1 = SetNormalBitmap
+    SetBitmap2 = SetDisabledBitmap
+
+
+class ToolBarToolBasePtr(ToolBarToolBase):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = ToolBarToolBase
+_controls.ToolBarToolBase_swigregister(ToolBarToolBasePtr)
+
+class ToolBarBase(core.Control):
+    def __init__(self): raise RuntimeError, "No constructor defined"
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxToolBarBase instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def DoAddTool(*args, **kwargs):
+        """
+        DoAddTool(int id, String label, Bitmap bitmap, Bitmap bmpDisabled=wxNullBitmap, 
+            int kind=ITEM_NORMAL, String shortHelp=EmptyString, 
+            String longHelp=EmptyString, 
+            PyObject clientData=None) -> ToolBarToolBase
+        """
+        return _controls.ToolBarBase_DoAddTool(*args, **kwargs)
+
+    def DoInsertTool(*args, **kwargs):
+        """
+        DoInsertTool(size_t pos, int id, String label, Bitmap bitmap, Bitmap bmpDisabled=wxNullBitmap, 
+            int kind=ITEM_NORMAL, 
+            String shortHelp=EmptyString, String longHelp=EmptyString, 
+            PyObject clientData=None) -> ToolBarToolBase
+        """
+        return _controls.ToolBarBase_DoInsertTool(*args, **kwargs)
+
+    # These match the original Add methods for this class, kept for
+    # backwards compatibility with versions < 2.3.3.
+
+
+    def AddTool(self, id, bitmap,
+                pushedBitmap = wx.NullBitmap,
+                isToggle = 0,
+                clientData = None,
+                shortHelpString = '',
+                longHelpString = '') :
+        '''Old style method to add a tool to the toolbar.'''
+        kind = wx.ITEM_NORMAL
+        if isToggle: kind = wx.ITEM_CHECK
+        return self.DoAddTool(id, '', bitmap, pushedBitmap, kind,
+                              shortHelpString, longHelpString, clientData)
+
+    def AddSimpleTool(self, id, bitmap,
+                      shortHelpString = '',
+                      longHelpString = '',
+                      isToggle = 0):
+        '''Old style method to add a tool to the toolbar.'''
+        kind = wx.ITEM_NORMAL
+        if isToggle: kind = wx.ITEM_CHECK
+        return self.DoAddTool(id, '', bitmap, wx.NullBitmap, kind,
+                              shortHelpString, longHelpString, None)
+
+    def InsertTool(self, pos, id, bitmap,
+                   pushedBitmap = wx.NullBitmap,
+                   isToggle = 0,
+                   clientData = None,
+                   shortHelpString = '',
+                   longHelpString = ''):
+        '''Old style method to insert a tool in the toolbar.'''
+        kind = wx.ITEM_NORMAL
+        if isToggle: kind = wx.ITEM_CHECK
+        return self.DoInsertTool(pos, id, '', bitmap, pushedBitmap, kind,
+                                 shortHelpString, longHelpString, clientData)
+
+    def InsertSimpleTool(self, pos, id, bitmap,
+                         shortHelpString = '',
+                         longHelpString = '',
+                         isToggle = 0):
+        '''Old style method to insert a tool in the toolbar.'''
+        kind = wx.ITEM_NORMAL
+        if isToggle: kind = wx.ITEM_CHECK
+        return self.DoInsertTool(pos, id, '', bitmap, wx.NullBitmap, kind,
+                                 shortHelpString, longHelpString, None)
+
+
+    # The following are the new toolbar Add methods starting with
+    # 2.3.3.  They are renamed to have 'Label' in the name so as to be
+    # able to keep backwards compatibility with using the above
+    # methods.  Eventually these should migrate to be the methods used
+    # primarily and lose the 'Label' in the name...
+
+    def AddLabelTool(self, id, label, bitmap,
+                     bmpDisabled = wx.NullBitmap,
+                     kind = wx.ITEM_NORMAL,
+                     shortHelp = '', longHelp = '',
+                     clientData = None):
+        '''
+        The full AddTool() function.
+
+        If bmpDisabled is wx.NullBitmap, a shadowed version of the normal bitmap
+        is created and used as the disabled image.
+        '''
+        return self.DoAddTool(id, label, bitmap, bmpDisabled, kind,
+                              shortHelp, longHelp, clientData)
+
+
+    def InsertLabelTool(self, pos, id, label, bitmap,
+                        bmpDisabled = wx.NullBitmap,
+                        kind = wx.ITEM_NORMAL,
+                        shortHelp = '', longHelp = '',
+                        clientData = None):
+        '''
+        Insert the new tool at the given position, if pos == GetToolsCount(), it
+        is equivalent to AddTool()
+        '''
+        return self.DoInsertTool(pos, id, label, bitmap, bmpDisabled, kind,
+                                 shortHelp, longHelp, clientData)
+
+    def AddCheckLabelTool(self, id, label, bitmap,
+                        bmpDisabled = wx.NullBitmap,
+                        shortHelp = '', longHelp = '',
+                        clientData = None):
+        '''Add a check tool, i.e. a tool which can be toggled'''
+        return self.DoAddTool(id, label, bitmap, bmpDisabled, wx.ITEM_CHECK,
+                              shortHelp, longHelp, clientData)
+
+    def AddRadioLabelTool(self, id, label, bitmap,
+                          bmpDisabled = wx.NullBitmap,
+                          shortHelp = '', longHelp = '',
+                          clientData = None):
+        '''
+        Add a radio tool, i.e. a tool which can be toggled and releases any
+        other toggled radio tools in the same group when it happens
+        '''
+        return self.DoAddTool(id, label, bitmap, bmpDisabled, wx.ITEM_RADIO,
+                              shortHelp, longHelp, clientData)
+
+
+    # For consistency with the backwards compatible methods above, here are
+    # some non-'Label' versions of the Check and Radio methods
+    def AddCheckTool(self, id, bitmap,
+                     bmpDisabled = wx.NullBitmap,
+                     shortHelp = '', longHelp = '',
+                     clientData = None):
+        '''Add a check tool, i.e. a tool which can be toggled'''
+        return self.DoAddTool(id, '', bitmap, bmpDisabled, wx.ITEM_CHECK,
+                              shortHelp, longHelp, clientData)
+
+    def AddRadioTool(self, id, bitmap,
+                     bmpDisabled = wx.NullBitmap,
+                     shortHelp = '', longHelp = '',
+                     clientData = None):
+        '''
+        Add a radio tool, i.e. a tool which can be toggled and releases any
+        other toggled radio tools in the same group when it happens
+        '''
+        return self.DoAddTool(id, '', bitmap, bmpDisabled, wx.ITEM_RADIO,
+                              shortHelp, longHelp, clientData)
+
+    def AddToolItem(*args, **kwargs):
+        """AddToolItem(ToolBarToolBase tool) -> ToolBarToolBase"""
+        return _controls.ToolBarBase_AddToolItem(*args, **kwargs)
+
+    def InsertToolItem(*args, **kwargs):
+        """InsertToolItem(size_t pos, ToolBarToolBase tool) -> ToolBarToolBase"""
+        return _controls.ToolBarBase_InsertToolItem(*args, **kwargs)
+
+    def AddControl(*args, **kwargs):
+        """AddControl(Control control) -> ToolBarToolBase"""
+        return _controls.ToolBarBase_AddControl(*args, **kwargs)
+
+    def InsertControl(*args, **kwargs):
+        """InsertControl(size_t pos, Control control) -> ToolBarToolBase"""
+        return _controls.ToolBarBase_InsertControl(*args, **kwargs)
+
+    def FindControl(*args, **kwargs):
+        """FindControl(int id) -> Control"""
+        return _controls.ToolBarBase_FindControl(*args, **kwargs)
+
+    def AddSeparator(*args, **kwargs):
+        """AddSeparator() -> ToolBarToolBase"""
+        return _controls.ToolBarBase_AddSeparator(*args, **kwargs)
+
+    def InsertSeparator(*args, **kwargs):
+        """InsertSeparator(size_t pos) -> ToolBarToolBase"""
+        return _controls.ToolBarBase_InsertSeparator(*args, **kwargs)
+
+    def RemoveTool(*args, **kwargs):
+        """RemoveTool(int id) -> ToolBarToolBase"""
+        return _controls.ToolBarBase_RemoveTool(*args, **kwargs)
+
+    def DeleteToolByPos(*args, **kwargs):
+        """DeleteToolByPos(size_t pos) -> bool"""
+        return _controls.ToolBarBase_DeleteToolByPos(*args, **kwargs)
+
+    def DeleteTool(*args, **kwargs):
+        """DeleteTool(int id) -> bool"""
+        return _controls.ToolBarBase_DeleteTool(*args, **kwargs)
+
+    def ClearTools(*args, **kwargs):
+        """ClearTools()"""
+        return _controls.ToolBarBase_ClearTools(*args, **kwargs)
+
+    def Realize(*args, **kwargs):
+        """Realize() -> bool"""
+        return _controls.ToolBarBase_Realize(*args, **kwargs)
+
+    def EnableTool(*args, **kwargs):
+        """EnableTool(int id, bool enable)"""
+        return _controls.ToolBarBase_EnableTool(*args, **kwargs)
+
+    def ToggleTool(*args, **kwargs):
+        """ToggleTool(int id, bool toggle)"""
+        return _controls.ToolBarBase_ToggleTool(*args, **kwargs)
+
+    def SetToggle(*args, **kwargs):
+        """SetToggle(int id, bool toggle)"""
+        return _controls.ToolBarBase_SetToggle(*args, **kwargs)
+
+    def GetToolClientData(*args, **kwargs):
+        """GetToolClientData(int id) -> PyObject"""
+        return _controls.ToolBarBase_GetToolClientData(*args, **kwargs)
+
+    def SetToolClientData(*args, **kwargs):
+        """SetToolClientData(int id, PyObject clientData)"""
+        return _controls.ToolBarBase_SetToolClientData(*args, **kwargs)
+
+    def GetToolPos(*args, **kwargs):
+        """GetToolPos(int id) -> int"""
+        return _controls.ToolBarBase_GetToolPos(*args, **kwargs)
+
+    def GetToolState(*args, **kwargs):
+        """GetToolState(int id) -> bool"""
+        return _controls.ToolBarBase_GetToolState(*args, **kwargs)
+
+    def GetToolEnabled(*args, **kwargs):
+        """GetToolEnabled(int id) -> bool"""
+        return _controls.ToolBarBase_GetToolEnabled(*args, **kwargs)
+
+    def SetToolShortHelp(*args, **kwargs):
+        """SetToolShortHelp(int id, String helpString)"""
+        return _controls.ToolBarBase_SetToolShortHelp(*args, **kwargs)
+
+    def GetToolShortHelp(*args, **kwargs):
+        """GetToolShortHelp(int id) -> String"""
+        return _controls.ToolBarBase_GetToolShortHelp(*args, **kwargs)
+
+    def SetToolLongHelp(*args, **kwargs):
+        """SetToolLongHelp(int id, String helpString)"""
+        return _controls.ToolBarBase_SetToolLongHelp(*args, **kwargs)
+
+    def GetToolLongHelp(*args, **kwargs):
+        """GetToolLongHelp(int id) -> String"""
+        return _controls.ToolBarBase_GetToolLongHelp(*args, **kwargs)
+
+    def SetMarginsXY(*args, **kwargs):
+        """SetMarginsXY(int x, int y)"""
+        return _controls.ToolBarBase_SetMarginsXY(*args, **kwargs)
+
+    def SetMargins(*args, **kwargs):
+        """SetMargins(Size size)"""
+        return _controls.ToolBarBase_SetMargins(*args, **kwargs)
+
+    def SetToolPacking(*args, **kwargs):
+        """SetToolPacking(int packing)"""
+        return _controls.ToolBarBase_SetToolPacking(*args, **kwargs)
+
+    def SetToolSeparation(*args, **kwargs):
+        """SetToolSeparation(int separation)"""
+        return _controls.ToolBarBase_SetToolSeparation(*args, **kwargs)
+
+    def GetToolMargins(*args, **kwargs):
+        """GetToolMargins() -> Size"""
+        return _controls.ToolBarBase_GetToolMargins(*args, **kwargs)
+
+    def GetMargins(*args, **kwargs):
+        """GetMargins() -> Size"""
+        return _controls.ToolBarBase_GetMargins(*args, **kwargs)
+
+    def GetToolPacking(*args, **kwargs):
+        """GetToolPacking() -> int"""
+        return _controls.ToolBarBase_GetToolPacking(*args, **kwargs)
+
+    def GetToolSeparation(*args, **kwargs):
+        """GetToolSeparation() -> int"""
+        return _controls.ToolBarBase_GetToolSeparation(*args, **kwargs)
+
+    def SetRows(*args, **kwargs):
+        """SetRows(int nRows)"""
+        return _controls.ToolBarBase_SetRows(*args, **kwargs)
+
+    def SetMaxRowsCols(*args, **kwargs):
+        """SetMaxRowsCols(int rows, int cols)"""
+        return _controls.ToolBarBase_SetMaxRowsCols(*args, **kwargs)
+
+    def GetMaxRows(*args, **kwargs):
+        """GetMaxRows() -> int"""
+        return _controls.ToolBarBase_GetMaxRows(*args, **kwargs)
+
+    def GetMaxCols(*args, **kwargs):
+        """GetMaxCols() -> int"""
+        return _controls.ToolBarBase_GetMaxCols(*args, **kwargs)
+
+    def SetToolBitmapSize(*args, **kwargs):
+        """SetToolBitmapSize(Size size)"""
+        return _controls.ToolBarBase_SetToolBitmapSize(*args, **kwargs)
+
+    def GetToolBitmapSize(*args, **kwargs):
+        """GetToolBitmapSize() -> Size"""
+        return _controls.ToolBarBase_GetToolBitmapSize(*args, **kwargs)
+
+    def GetToolSize(*args, **kwargs):
+        """GetToolSize() -> Size"""
+        return _controls.ToolBarBase_GetToolSize(*args, **kwargs)
+
+    def FindToolForPosition(*args, **kwargs):
+        """FindToolForPosition(int x, int y) -> ToolBarToolBase"""
+        return _controls.ToolBarBase_FindToolForPosition(*args, **kwargs)
+
+    def FindById(*args, **kwargs):
+        """FindById(int toolid) -> ToolBarToolBase"""
+        return _controls.ToolBarBase_FindById(*args, **kwargs)
+
+    def IsVertical(*args, **kwargs):
+        """IsVertical() -> bool"""
+        return _controls.ToolBarBase_IsVertical(*args, **kwargs)
+
+
+class ToolBarBasePtr(ToolBarBase):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = ToolBarBase
+_controls.ToolBarBase_swigregister(ToolBarBasePtr)
+
+class ToolBar(ToolBarBase):
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxToolBar instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """
+        __init__(Window parent, int id, Point pos=DefaultPosition, Size size=DefaultSize, 
+            long style=wxNO_BORDER|wxTB_HORIZONTAL, 
+            String name=wxPyToolBarNameStr) -> ToolBar
+        """
+        newobj = _controls.new_ToolBar(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+        self._setOORInfo(self)
+
+    def Create(*args, **kwargs):
+        """
+        Create(Window parent, int id, Point pos=DefaultPosition, Size size=DefaultSize, 
+            long style=wxNO_BORDER|wxTB_HORIZONTAL, 
+            String name=wxPyToolBarNameStr) -> bool
+        """
+        return _controls.ToolBar_Create(*args, **kwargs)
+
+    def FindToolForPosition(*args, **kwargs):
+        """FindToolForPosition(int x, int y) -> ToolBarToolBase"""
+        return _controls.ToolBar_FindToolForPosition(*args, **kwargs)
+
+
+class ToolBarPtr(ToolBar):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = ToolBar
+_controls.ToolBar_swigregister(ToolBarPtr)
+
+def PreToolBar(*args, **kwargs):
+    """PreToolBar() -> ToolBar"""
+    val = _controls.new_PreToolBar(*args, **kwargs)
+    val.thisown = 1
+    return val
+
+#---------------------------------------------------------------------------
+
+LC_VRULES = _controls.LC_VRULES
+LC_HRULES = _controls.LC_HRULES
+LC_ICON = _controls.LC_ICON
+LC_SMALL_ICON = _controls.LC_SMALL_ICON
+LC_LIST = _controls.LC_LIST
+LC_REPORT = _controls.LC_REPORT
+LC_ALIGN_TOP = _controls.LC_ALIGN_TOP
+LC_ALIGN_LEFT = _controls.LC_ALIGN_LEFT
+LC_AUTOARRANGE = _controls.LC_AUTOARRANGE
+LC_VIRTUAL = _controls.LC_VIRTUAL
+LC_EDIT_LABELS = _controls.LC_EDIT_LABELS
+LC_NO_HEADER = _controls.LC_NO_HEADER
+LC_NO_SORT_HEADER = _controls.LC_NO_SORT_HEADER
+LC_SINGLE_SEL = _controls.LC_SINGLE_SEL
+LC_SORT_ASCENDING = _controls.LC_SORT_ASCENDING
+LC_SORT_DESCENDING = _controls.LC_SORT_DESCENDING
+LC_MASK_TYPE = _controls.LC_MASK_TYPE
+LC_MASK_ALIGN = _controls.LC_MASK_ALIGN
+LC_MASK_SORT = _controls.LC_MASK_SORT
+LIST_MASK_STATE = _controls.LIST_MASK_STATE
+LIST_MASK_TEXT = _controls.LIST_MASK_TEXT
+LIST_MASK_IMAGE = _controls.LIST_MASK_IMAGE
+LIST_MASK_DATA = _controls.LIST_MASK_DATA
+LIST_SET_ITEM = _controls.LIST_SET_ITEM
+LIST_MASK_WIDTH = _controls.LIST_MASK_WIDTH
+LIST_MASK_FORMAT = _controls.LIST_MASK_FORMAT
+LIST_STATE_DONTCARE = _controls.LIST_STATE_DONTCARE
+LIST_STATE_DROPHILITED = _controls.LIST_STATE_DROPHILITED
+LIST_STATE_FOCUSED = _controls.LIST_STATE_FOCUSED
+LIST_STATE_SELECTED = _controls.LIST_STATE_SELECTED
+LIST_STATE_CUT = _controls.LIST_STATE_CUT
+LIST_STATE_DISABLED = _controls.LIST_STATE_DISABLED
+LIST_STATE_FILTERED = _controls.LIST_STATE_FILTERED
+LIST_STATE_INUSE = _controls.LIST_STATE_INUSE
+LIST_STATE_PICKED = _controls.LIST_STATE_PICKED
+LIST_STATE_SOURCE = _controls.LIST_STATE_SOURCE
+LIST_HITTEST_ABOVE = _controls.LIST_HITTEST_ABOVE
+LIST_HITTEST_BELOW = _controls.LIST_HITTEST_BELOW
+LIST_HITTEST_NOWHERE = _controls.LIST_HITTEST_NOWHERE
+LIST_HITTEST_ONITEMICON = _controls.LIST_HITTEST_ONITEMICON
+LIST_HITTEST_ONITEMLABEL = _controls.LIST_HITTEST_ONITEMLABEL
+LIST_HITTEST_ONITEMRIGHT = _controls.LIST_HITTEST_ONITEMRIGHT
+LIST_HITTEST_ONITEMSTATEICON = _controls.LIST_HITTEST_ONITEMSTATEICON
+LIST_HITTEST_TOLEFT = _controls.LIST_HITTEST_TOLEFT
+LIST_HITTEST_TORIGHT = _controls.LIST_HITTEST_TORIGHT
+LIST_HITTEST_ONITEM = _controls.LIST_HITTEST_ONITEM
+LIST_NEXT_ABOVE = _controls.LIST_NEXT_ABOVE
+LIST_NEXT_ALL = _controls.LIST_NEXT_ALL
+LIST_NEXT_BELOW = _controls.LIST_NEXT_BELOW
+LIST_NEXT_LEFT = _controls.LIST_NEXT_LEFT
+LIST_NEXT_RIGHT = _controls.LIST_NEXT_RIGHT
+LIST_ALIGN_DEFAULT = _controls.LIST_ALIGN_DEFAULT
+LIST_ALIGN_LEFT = _controls.LIST_ALIGN_LEFT
+LIST_ALIGN_TOP = _controls.LIST_ALIGN_TOP
+LIST_ALIGN_SNAP_TO_GRID = _controls.LIST_ALIGN_SNAP_TO_GRID
+LIST_FORMAT_LEFT = _controls.LIST_FORMAT_LEFT
+LIST_FORMAT_RIGHT = _controls.LIST_FORMAT_RIGHT
+LIST_FORMAT_CENTRE = _controls.LIST_FORMAT_CENTRE
+LIST_FORMAT_CENTER = _controls.LIST_FORMAT_CENTER
+LIST_AUTOSIZE = _controls.LIST_AUTOSIZE
+LIST_AUTOSIZE_USEHEADER = _controls.LIST_AUTOSIZE_USEHEADER
+LIST_RECT_BOUNDS = _controls.LIST_RECT_BOUNDS
+LIST_RECT_ICON = _controls.LIST_RECT_ICON
+LIST_RECT_LABEL = _controls.LIST_RECT_LABEL
+LIST_FIND_UP = _controls.LIST_FIND_UP
+LIST_FIND_DOWN = _controls.LIST_FIND_DOWN
+LIST_FIND_LEFT = _controls.LIST_FIND_LEFT
+LIST_FIND_RIGHT = _controls.LIST_FIND_RIGHT
+#---------------------------------------------------------------------------
+
+class ListItemAttr(object):
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxListItemAttr instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """
+        __init__(Colour colText=wxNullColour, Colour colBack=wxNullColour, 
+            Font font=wxNullFont) -> ListItemAttr
+        """
+        newobj = _controls.new_ListItemAttr(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+    def SetTextColour(*args, **kwargs):
+        """SetTextColour(Colour colText)"""
+        return _controls.ListItemAttr_SetTextColour(*args, **kwargs)
+
+    def SetBackgroundColour(*args, **kwargs):
+        """SetBackgroundColour(Colour colBack)"""
+        return _controls.ListItemAttr_SetBackgroundColour(*args, **kwargs)
+
+    def SetFont(*args, **kwargs):
+        """SetFont(Font font)"""
+        return _controls.ListItemAttr_SetFont(*args, **kwargs)
+
+    def HasTextColour(*args, **kwargs):
+        """HasTextColour() -> bool"""
+        return _controls.ListItemAttr_HasTextColour(*args, **kwargs)
+
+    def HasBackgroundColour(*args, **kwargs):
+        """HasBackgroundColour() -> bool"""
+        return _controls.ListItemAttr_HasBackgroundColour(*args, **kwargs)
+
+    def HasFont(*args, **kwargs):
+        """HasFont() -> bool"""
+        return _controls.ListItemAttr_HasFont(*args, **kwargs)
+
+    def GetTextColour(*args, **kwargs):
+        """GetTextColour() -> Colour"""
+        return _controls.ListItemAttr_GetTextColour(*args, **kwargs)
+
+    def GetBackgroundColour(*args, **kwargs):
+        """GetBackgroundColour() -> Colour"""
+        return _controls.ListItemAttr_GetBackgroundColour(*args, **kwargs)
+
+    def GetFont(*args, **kwargs):
+        """GetFont() -> Font"""
+        return _controls.ListItemAttr_GetFont(*args, **kwargs)
+
+    def Destroy(*args, **kwargs):
+        """Destroy()"""
+        return _controls.ListItemAttr_Destroy(*args, **kwargs)
+
+
+class ListItemAttrPtr(ListItemAttr):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = ListItemAttr
+_controls.ListItemAttr_swigregister(ListItemAttrPtr)
+ListCtrlNameStr = cvar.ListCtrlNameStr
+
+#---------------------------------------------------------------------------
+
+class ListItem(core.Object):
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxListItem instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__() -> ListItem"""
+        newobj = _controls.new_ListItem(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+    def __del__(self, destroy=_controls.delete_ListItem):
+        """__del__()"""
+        try:
+            if self.thisown: destroy(self)
+        except: pass
+
+    def Clear(*args, **kwargs):
+        """Clear()"""
+        return _controls.ListItem_Clear(*args, **kwargs)
+
+    def ClearAttributes(*args, **kwargs):
+        """ClearAttributes()"""
+        return _controls.ListItem_ClearAttributes(*args, **kwargs)
+
+    def SetMask(*args, **kwargs):
+        """SetMask(long mask)"""
+        return _controls.ListItem_SetMask(*args, **kwargs)
+
+    def SetId(*args, **kwargs):
+        """SetId(long id)"""
+        return _controls.ListItem_SetId(*args, **kwargs)
+
+    def SetColumn(*args, **kwargs):
+        """SetColumn(int col)"""
+        return _controls.ListItem_SetColumn(*args, **kwargs)
+
+    def SetState(*args, **kwargs):
+        """SetState(long state)"""
+        return _controls.ListItem_SetState(*args, **kwargs)
+
+    def SetStateMask(*args, **kwargs):
+        """SetStateMask(long stateMask)"""
+        return _controls.ListItem_SetStateMask(*args, **kwargs)
+
+    def SetText(*args, **kwargs):
+        """SetText(String text)"""
+        return _controls.ListItem_SetText(*args, **kwargs)
+
+    def SetImage(*args, **kwargs):
+        """SetImage(int image)"""
+        return _controls.ListItem_SetImage(*args, **kwargs)
+
+    def SetData(*args, **kwargs):
+        """SetData(long data)"""
+        return _controls.ListItem_SetData(*args, **kwargs)
+
+    def SetWidth(*args, **kwargs):
+        """SetWidth(int width)"""
+        return _controls.ListItem_SetWidth(*args, **kwargs)
+
+    def SetAlign(*args, **kwargs):
+        """SetAlign(int align)"""
+        return _controls.ListItem_SetAlign(*args, **kwargs)
+
+    def SetTextColour(*args, **kwargs):
+        """SetTextColour(Colour colText)"""
+        return _controls.ListItem_SetTextColour(*args, **kwargs)
+
+    def SetBackgroundColour(*args, **kwargs):
+        """SetBackgroundColour(Colour colBack)"""
+        return _controls.ListItem_SetBackgroundColour(*args, **kwargs)
+
+    def SetFont(*args, **kwargs):
+        """SetFont(Font font)"""
+        return _controls.ListItem_SetFont(*args, **kwargs)
+
+    def GetMask(*args, **kwargs):
+        """GetMask() -> long"""
+        return _controls.ListItem_GetMask(*args, **kwargs)
+
+    def GetId(*args, **kwargs):
+        """GetId() -> long"""
+        return _controls.ListItem_GetId(*args, **kwargs)
+
+    def GetColumn(*args, **kwargs):
+        """GetColumn() -> int"""
+        return _controls.ListItem_GetColumn(*args, **kwargs)
+
+    def GetState(*args, **kwargs):
+        """GetState() -> long"""
+        return _controls.ListItem_GetState(*args, **kwargs)
+
+    def GetText(*args, **kwargs):
+        """GetText() -> String"""
+        return _controls.ListItem_GetText(*args, **kwargs)
+
+    def GetImage(*args, **kwargs):
+        """GetImage() -> int"""
+        return _controls.ListItem_GetImage(*args, **kwargs)
+
+    def GetData(*args, **kwargs):
+        """GetData() -> long"""
+        return _controls.ListItem_GetData(*args, **kwargs)
+
+    def GetWidth(*args, **kwargs):
+        """GetWidth() -> int"""
+        return _controls.ListItem_GetWidth(*args, **kwargs)
+
+    def GetAlign(*args, **kwargs):
+        """GetAlign() -> int"""
+        return _controls.ListItem_GetAlign(*args, **kwargs)
+
+    def GetAttributes(*args, **kwargs):
+        """GetAttributes() -> ListItemAttr"""
+        return _controls.ListItem_GetAttributes(*args, **kwargs)
+
+    def HasAttributes(*args, **kwargs):
+        """HasAttributes() -> bool"""
+        return _controls.ListItem_HasAttributes(*args, **kwargs)
+
+    def GetTextColour(*args, **kwargs):
+        """GetTextColour() -> Colour"""
+        return _controls.ListItem_GetTextColour(*args, **kwargs)
+
+    def GetBackgroundColour(*args, **kwargs):
+        """GetBackgroundColour() -> Colour"""
+        return _controls.ListItem_GetBackgroundColour(*args, **kwargs)
+
+    def GetFont(*args, **kwargs):
+        """GetFont() -> Font"""
+        return _controls.ListItem_GetFont(*args, **kwargs)
+
+    m_mask = property(_controls.ListItem_m_mask_get, _controls.ListItem_m_mask_set)
+    m_itemId = property(_controls.ListItem_m_itemId_get, _controls.ListItem_m_itemId_set)
+    m_col = property(_controls.ListItem_m_col_get, _controls.ListItem_m_col_set)
+    m_state = property(_controls.ListItem_m_state_get, _controls.ListItem_m_state_set)
+    m_stateMask = property(_controls.ListItem_m_stateMask_get, _controls.ListItem_m_stateMask_set)
+    m_text = property(_controls.ListItem_m_text_get, _controls.ListItem_m_text_set)
+    m_image = property(_controls.ListItem_m_image_get, _controls.ListItem_m_image_set)
+    m_data = property(_controls.ListItem_m_data_get, _controls.ListItem_m_data_set)
+    m_format = property(_controls.ListItem_m_format_get, _controls.ListItem_m_format_set)
+    m_width = property(_controls.ListItem_m_width_get, _controls.ListItem_m_width_set)
+
+class ListItemPtr(ListItem):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = ListItem
+_controls.ListItem_swigregister(ListItemPtr)
+
+#---------------------------------------------------------------------------
+
+class ListEvent(core.NotifyEvent):
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxListEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__(wxEventType commandType=wxEVT_NULL, int id=0) -> ListEvent"""
+        newobj = _controls.new_ListEvent(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+    m_code = property(_controls.ListEvent_m_code_get, _controls.ListEvent_m_code_set)
+    m_oldItemIndex = property(_controls.ListEvent_m_oldItemIndex_get, _controls.ListEvent_m_oldItemIndex_set)
+    m_itemIndex = property(_controls.ListEvent_m_itemIndex_get, _controls.ListEvent_m_itemIndex_set)
+    m_col = property(_controls.ListEvent_m_col_get, _controls.ListEvent_m_col_set)
+    m_pointDrag = property(_controls.ListEvent_m_pointDrag_get, _controls.ListEvent_m_pointDrag_set)
+    m_item = property(_controls.ListEvent_m_item_get)
+    def GetKeyCode(*args, **kwargs):
+        """GetKeyCode() -> int"""
+        return _controls.ListEvent_GetKeyCode(*args, **kwargs)
+
+    GetCode = GetKeyCode 
+    def GetIndex(*args, **kwargs):
+        """GetIndex() -> long"""
+        return _controls.ListEvent_GetIndex(*args, **kwargs)
+
+    def GetColumn(*args, **kwargs):
+        """GetColumn() -> int"""
+        return _controls.ListEvent_GetColumn(*args, **kwargs)
+
+    def GetPoint(*args, **kwargs):
+        """GetPoint() -> Point"""
+        return _controls.ListEvent_GetPoint(*args, **kwargs)
+
+    GetPosition = GetPoint 
+    def GetLabel(*args, **kwargs):
+        """GetLabel() -> String"""
+        return _controls.ListEvent_GetLabel(*args, **kwargs)
+
+    def GetText(*args, **kwargs):
+        """GetText() -> String"""
+        return _controls.ListEvent_GetText(*args, **kwargs)
+
+    def GetImage(*args, **kwargs):
+        """GetImage() -> int"""
+        return _controls.ListEvent_GetImage(*args, **kwargs)
+
+    def GetData(*args, **kwargs):
+        """GetData() -> long"""
+        return _controls.ListEvent_GetData(*args, **kwargs)
+
+    def GetMask(*args, **kwargs):
+        """GetMask() -> long"""
+        return _controls.ListEvent_GetMask(*args, **kwargs)
+
+    def GetItem(*args, **kwargs):
+        """GetItem() -> ListItem"""
+        return _controls.ListEvent_GetItem(*args, **kwargs)
+
+    def GetCacheFrom(*args, **kwargs):
+        """GetCacheFrom() -> long"""
+        return _controls.ListEvent_GetCacheFrom(*args, **kwargs)
+
+    def GetCacheTo(*args, **kwargs):
+        """GetCacheTo() -> long"""
+        return _controls.ListEvent_GetCacheTo(*args, **kwargs)
+
+    def IsEditCancelled(*args, **kwargs):
+        """IsEditCancelled() -> bool"""
+        return _controls.ListEvent_IsEditCancelled(*args, **kwargs)
+
+    def SetEditCanceled(*args, **kwargs):
+        """SetEditCanceled(bool editCancelled)"""
+        return _controls.ListEvent_SetEditCanceled(*args, **kwargs)
+
+
+class ListEventPtr(ListEvent):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = ListEvent
+_controls.ListEvent_swigregister(ListEventPtr)
+
+wxEVT_COMMAND_LIST_BEGIN_DRAG = _controls.wxEVT_COMMAND_LIST_BEGIN_DRAG
+wxEVT_COMMAND_LIST_BEGIN_RDRAG = _controls.wxEVT_COMMAND_LIST_BEGIN_RDRAG
+wxEVT_COMMAND_LIST_BEGIN_LABEL_EDIT = _controls.wxEVT_COMMAND_LIST_BEGIN_LABEL_EDIT
+wxEVT_COMMAND_LIST_END_LABEL_EDIT = _controls.wxEVT_COMMAND_LIST_END_LABEL_EDIT
+wxEVT_COMMAND_LIST_DELETE_ITEM = _controls.wxEVT_COMMAND_LIST_DELETE_ITEM
+wxEVT_COMMAND_LIST_DELETE_ALL_ITEMS = _controls.wxEVT_COMMAND_LIST_DELETE_ALL_ITEMS
+wxEVT_COMMAND_LIST_GET_INFO = _controls.wxEVT_COMMAND_LIST_GET_INFO
+wxEVT_COMMAND_LIST_SET_INFO = _controls.wxEVT_COMMAND_LIST_SET_INFO
+wxEVT_COMMAND_LIST_ITEM_SELECTED = _controls.wxEVT_COMMAND_LIST_ITEM_SELECTED
+wxEVT_COMMAND_LIST_ITEM_DESELECTED = _controls.wxEVT_COMMAND_LIST_ITEM_DESELECTED
+wxEVT_COMMAND_LIST_KEY_DOWN = _controls.wxEVT_COMMAND_LIST_KEY_DOWN
+wxEVT_COMMAND_LIST_INSERT_ITEM = _controls.wxEVT_COMMAND_LIST_INSERT_ITEM
+wxEVT_COMMAND_LIST_COL_CLICK = _controls.wxEVT_COMMAND_LIST_COL_CLICK
+wxEVT_COMMAND_LIST_ITEM_RIGHT_CLICK = _controls.wxEVT_COMMAND_LIST_ITEM_RIGHT_CLICK
+wxEVT_COMMAND_LIST_ITEM_MIDDLE_CLICK = _controls.wxEVT_COMMAND_LIST_ITEM_MIDDLE_CLICK
+wxEVT_COMMAND_LIST_ITEM_ACTIVATED = _controls.wxEVT_COMMAND_LIST_ITEM_ACTIVATED
+wxEVT_COMMAND_LIST_CACHE_HINT = _controls.wxEVT_COMMAND_LIST_CACHE_HINT
+wxEVT_COMMAND_LIST_COL_RIGHT_CLICK = _controls.wxEVT_COMMAND_LIST_COL_RIGHT_CLICK
+wxEVT_COMMAND_LIST_COL_BEGIN_DRAG = _controls.wxEVT_COMMAND_LIST_COL_BEGIN_DRAG
+wxEVT_COMMAND_LIST_COL_DRAGGING = _controls.wxEVT_COMMAND_LIST_COL_DRAGGING
+wxEVT_COMMAND_LIST_COL_END_DRAG = _controls.wxEVT_COMMAND_LIST_COL_END_DRAG
+wxEVT_COMMAND_LIST_ITEM_FOCUSED = _controls.wxEVT_COMMAND_LIST_ITEM_FOCUSED
+EVT_LIST_BEGIN_DRAG        = wx.PyEventBinder(wxEVT_COMMAND_LIST_BEGIN_DRAG       , 1)
+EVT_LIST_BEGIN_RDRAG       = wx.PyEventBinder(wxEVT_COMMAND_LIST_BEGIN_RDRAG      , 1)
+EVT_LIST_BEGIN_LABEL_EDIT  = wx.PyEventBinder(wxEVT_COMMAND_LIST_BEGIN_LABEL_EDIT , 1)
+EVT_LIST_END_LABEL_EDIT    = wx.PyEventBinder(wxEVT_COMMAND_LIST_END_LABEL_EDIT   , 1)
+EVT_LIST_DELETE_ITEM       = wx.PyEventBinder(wxEVT_COMMAND_LIST_DELETE_ITEM      , 1)
+EVT_LIST_DELETE_ALL_ITEMS  = wx.PyEventBinder(wxEVT_COMMAND_LIST_DELETE_ALL_ITEMS , 1)
+EVT_LIST_GET_INFO          = wx.PyEventBinder(wxEVT_COMMAND_LIST_GET_INFO         , 1)
+EVT_LIST_SET_INFO          = wx.PyEventBinder(wxEVT_COMMAND_LIST_SET_INFO         , 1)
+EVT_LIST_ITEM_SELECTED     = wx.PyEventBinder(wxEVT_COMMAND_LIST_ITEM_SELECTED    , 1)
+EVT_LIST_ITEM_DESELECTED   = wx.PyEventBinder(wxEVT_COMMAND_LIST_ITEM_DESELECTED  , 1)
+EVT_LIST_KEY_DOWN          = wx.PyEventBinder(wxEVT_COMMAND_LIST_KEY_DOWN         , 1)
+EVT_LIST_INSERT_ITEM       = wx.PyEventBinder(wxEVT_COMMAND_LIST_INSERT_ITEM      , 1)
+EVT_LIST_COL_CLICK         = wx.PyEventBinder(wxEVT_COMMAND_LIST_COL_CLICK        , 1)
+EVT_LIST_ITEM_RIGHT_CLICK  = wx.PyEventBinder(wxEVT_COMMAND_LIST_ITEM_RIGHT_CLICK , 1)
+EVT_LIST_ITEM_MIDDLE_CLICK = wx.PyEventBinder(wxEVT_COMMAND_LIST_ITEM_MIDDLE_CLICK, 1)
+EVT_LIST_ITEM_ACTIVATED    = wx.PyEventBinder(wxEVT_COMMAND_LIST_ITEM_ACTIVATED   , 1)
+EVT_LIST_CACHE_HINT        = wx.PyEventBinder(wxEVT_COMMAND_LIST_CACHE_HINT       , 1)
+EVT_LIST_COL_RIGHT_CLICK   = wx.PyEventBinder(wxEVT_COMMAND_LIST_COL_RIGHT_CLICK  , 1)
+EVT_LIST_COL_BEGIN_DRAG    = wx.PyEventBinder(wxEVT_COMMAND_LIST_COL_BEGIN_DRAG   , 1)
+EVT_LIST_COL_DRAGGING      = wx.PyEventBinder(wxEVT_COMMAND_LIST_COL_DRAGGING     , 1)
+EVT_LIST_COL_END_DRAG      = wx.PyEventBinder(wxEVT_COMMAND_LIST_COL_END_DRAG     , 1)
+EVT_LIST_ITEM_FOCUSED      = wx.PyEventBinder(wxEVT_COMMAND_LIST_ITEM_FOCUSED     , 1)
+
+#---------------------------------------------------------------------------
+
+class ListCtrl(core.Control):
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxPyListCtrl instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """
+        __init__(Window parent, int id=-1, Point pos=DefaultPosition, 
+            Size size=DefaultSize, long style=LC_ICON, 
+            Validator validator=DefaultValidator, String name=ListCtrlNameStr) -> ListCtrl
+        """
+        newobj = _controls.new_ListCtrl(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+        self._setOORInfo(self);self._setCallbackInfo(self, ListCtrl)
+
+    def Create(*args, **kwargs):
+        """
+        Create(Window parent, int id=-1, Point pos=DefaultPosition, 
+            Size size=DefaultSize, long style=LC_ICON, 
+            Validator validator=DefaultValidator, String name=ListCtrlNameStr) -> bool
+
+        Do the 2nd phase and create the GUI control.
+        """
+        return _controls.ListCtrl_Create(*args, **kwargs)
+
+    def _setCallbackInfo(*args, **kwargs):
+        """_setCallbackInfo(PyObject self, PyObject _class)"""
+        return _controls.ListCtrl__setCallbackInfo(*args, **kwargs)
+
+    def SetForegroundColour(*args, **kwargs):
+        """SetForegroundColour(Colour col) -> bool"""
+        return _controls.ListCtrl_SetForegroundColour(*args, **kwargs)
+
+    def SetBackgroundColour(*args, **kwargs):
+        """SetBackgroundColour(Colour col) -> bool"""
+        return _controls.ListCtrl_SetBackgroundColour(*args, **kwargs)
+
+    def GetColumn(*args, **kwargs):
+        """GetColumn(int col) -> ListItem"""
+        val = _controls.ListCtrl_GetColumn(*args, **kwargs)
+        if val is not None: val.thisown = 1