]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/msw/_controls.py
added missing button state
[wxWidgets.git] / wxPython / src / msw / _controls.py
index da43133dbcdd463907e9f7c35559ab737b8fa47e..6e57913de9fbaea7885102cafb12dbc700735a8b 100644 (file)
@@ -1,7 +1,55 @@
-# This file was created automatically by SWIG.
+# This file was created automatically by SWIG 1.3.29.
 # Don't modify this file, modify the SWIG interface instead.
 
 import _controls_
 # Don't modify this file, modify the SWIG interface instead.
 
 import _controls_
+import new
+new_instancemethod = new.instancemethod
+def _swig_setattr_nondynamic(self,class_type,name,value,static=1):
+    if (name == "thisown"): return self.this.own(value)
+    if (name == "this"):
+        if type(value).__name__ == 'PySwigObject':
+            self.__dict__[name] = value
+            return
+    method = class_type.__swig_setmethods__.get(name,None)
+    if method: return method(self,value)
+    if (not static) or hasattr(self,name):
+        self.__dict__[name] = value
+    else:
+        raise AttributeError("You cannot add attributes to %s" % self)
+
+def _swig_setattr(self,class_type,name,value):
+    return _swig_setattr_nondynamic(self,class_type,name,value,0)
+
+def _swig_getattr(self,class_type,name):
+    if (name == "thisown"): return self.this.own()
+    method = class_type.__swig_getmethods__.get(name,None)
+    if method: return method(self)
+    raise AttributeError,name
+
+def _swig_repr(self):
+    try: strthis = "proxy of " + self.this.__repr__()
+    except: strthis = ""
+    return "<%s.%s; %s >" % (self.__class__.__module__, self.__class__.__name__, strthis,)
+
+import types
+try:
+    _object = types.ObjectType
+    _newclass = 1
+except AttributeError:
+    class _object : pass
+    _newclass = 0
+del types
+
+
+def _swig_setattr_nondynamic_method(set):
+    def set_attr(self,name,value):
+        if (name == "thisown"): return self.this.own(value)
+        if hasattr(self,name) or (name == "this"):
+            set(self,name,value)
+        else:
+            raise AttributeError("You cannot add attributes to %s" % self)
+    return set_attr
+
 
 import _core
 wx = _core 
 
 import _core
 wx = _core 
@@ -11,6 +59,7 @@ BU_LEFT = _controls_.BU_LEFT
 BU_TOP = _controls_.BU_TOP
 BU_RIGHT = _controls_.BU_RIGHT
 BU_BOTTOM = _controls_.BU_BOTTOM
 BU_TOP = _controls_.BU_TOP
 BU_RIGHT = _controls_.BU_RIGHT
 BU_BOTTOM = _controls_.BU_BOTTOM
+BU_ALIGN_MASK = _controls_.BU_ALIGN_MASK
 BU_EXACTFIT = _controls_.BU_EXACTFIT
 BU_AUTODRAW = _controls_.BU_AUTODRAW
 class Button(_core.Control):
 BU_EXACTFIT = _controls_.BU_EXACTFIT
 BU_AUTODRAW = _controls_.BU_AUTODRAW
 class Button(_core.Control):
@@ -18,51 +67,31 @@ class Button(_core.Control):
     A button is a control that contains a text string, and is one of the most
     common elements of a GUI.  It may be placed on a dialog box or panel, or
     indeed almost any other window.
     A button is a control that contains a text string, and is one of the most
     common elements of a GUI.  It may be placed on a dialog box or panel, or
     indeed almost any other window.
-
-    Window Styles
-    -------------
-        ==============   ==========================================
-        wx.BU_LEFT       Left-justifies the label. WIN32 only.
-        wx.BU_TOP        Aligns the label to the top of the button.
-                         WIN32 only.
-        wx.BU_RIGHT      Right-justifies the bitmap label. WIN32 only.
-        wx.BU_BOTTOM     Aligns the label to the bottom of the button.
-                         WIN32 only.
-        wx.BU_EXACTFIT   Creates the button as small as possible
-                         instead of making it of the standard size
-                         (which is the default behaviour.)
-        ==============   ==========================================
-
-    Events
-    ------
-        ============     ==========================================
-        EVT_BUTTON       Sent when the button is clicked.
-        ============     ==========================================
-
-    :see: `wx.BitmapButton`
-
     """
     """
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxButton instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def __init__(self, *args, **kwargs):
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """
         """
-        __init__(self, Window parent, int id, String label, Point pos=DefaultPosition, 
-            Size size=DefaultSize, long style=0, 
-            Validator validator=DefaultValidator, String name=ButtonNameStr) -> Button
+        __init__(self, Window parent, int id=-1, String label=EmptyString, 
+            Point pos=DefaultPosition, Size size=DefaultSize, 
+            long style=0, Validator validator=DefaultValidator, 
+            String name=ButtonNameStr) -> Button
 
 
-        Create and show a button.
+        Create and show a button.  The preferred way to create standard
+        buttons is to use a standard ID and an empty label.  In this case
+        wxWigets will automatically use a stock label that coresponds to the
+        ID given.  In additon, the button will be decorated with stock icons
+        under GTK+ 2.
         """
         """
-        newobj = _controls_.new_Button(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
+        _controls_.Button_swiginit(self,_controls_.new_Button(*args, **kwargs))
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
         """
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
         """
-        Create(self, Window parent, int id, String label, Point pos=DefaultPosition, 
-            Size size=DefaultSize, long style=0, 
-            Validator validator=DefaultValidator, String name=ButtonNameStr) -> bool
+        Create(self, Window parent, int id=-1, String label=EmptyString, 
+            Point pos=DefaultPosition, Size size=DefaultSize, 
+            long style=0, Validator validator=DefaultValidator, 
+            String name=ButtonNameStr) -> bool
 
         Acutally create the GUI Button for 2-phase creation.
         """
 
         Acutally create the GUI Button for 2-phase creation.
         """
@@ -85,13 +114,25 @@ class Button(_core.Control):
         return _controls_.Button_GetDefaultSize(*args, **kwargs)
 
     GetDefaultSize = staticmethod(GetDefaultSize)
         return _controls_.Button_GetDefaultSize(*args, **kwargs)
 
     GetDefaultSize = staticmethod(GetDefaultSize)
+    def GetClassDefaultAttributes(*args, **kwargs):
+        """
+        GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
+
+        Get the default attributes for this class.  This is useful if you want
+        to use the same font or colour in your own control as in a standard
+        control -- which is a much better idea than hard coding specific
+        colours or fonts which might look completely out of place on the
+        user's system, especially if it uses themes.
 
 
-class ButtonPtr(Button):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = Button
-_controls_.Button_swigregister(ButtonPtr)
+        The variant parameter is only relevant under Mac currently and is
+        ignore under other platforms. Under Mac, it will change the size of
+        the returned font. See `wx.Window.SetWindowVariant` for more about
+        this.
+        """
+        return _controls_.Button_GetClassDefaultAttributes(*args, **kwargs)
+
+    GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
+_controls_.Button_swigregister(Button)
 cvar = _controls_.cvar
 ButtonNameStr = cvar.ButtonNameStr
 
 cvar = _controls_.cvar
 ButtonNameStr = cvar.ButtonNameStr
 
@@ -102,16 +143,32 @@ def PreButton(*args, **kwargs):
     Precreate a Button for 2-phase creation.
     """
     val = _controls_.new_PreButton(*args, **kwargs)
     Precreate a Button for 2-phase creation.
     """
     val = _controls_.new_PreButton(*args, **kwargs)
-    val.thisown = 1
     return val
 
     return val
 
-def Button_GetDefaultSize(*args, **kwargs):
-    """
+def Button_GetDefaultSize(*args):
+  """
     Button_GetDefaultSize() -> Size
 
     Returns the default button size for this platform.
     """
     Button_GetDefaultSize() -> Size
 
     Returns the default button size for this platform.
     """
-    return _controls_.Button_GetDefaultSize(*args, **kwargs)
+  return _controls_.Button_GetDefaultSize(*args)
+
+def Button_GetClassDefaultAttributes(*args, **kwargs):
+  """
+    Button_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
+
+    Get the default attributes for this class.  This is useful if you want
+    to use the same font or colour in your own control as in a standard
+    control -- which is a much better idea than hard coding specific
+    colours or fonts which might look completely out of place on the
+    user's system, especially if it uses themes.
+
+    The variant parameter is only relevant under Mac currently and is
+    ignore under other platforms. Under Mac, it will change the size of
+    the returned font. See `wx.Window.SetWindowVariant` for more about
+    this.
+    """
+  return _controls_.Button_GetClassDefaultAttributes(*args, **kwargs)
 
 class BitmapButton(Button):
     """
 
 class BitmapButton(Button):
     """
@@ -119,58 +176,26 @@ class BitmapButton(Button):
     single bitmap, and wxWidgets will draw all button states using this bitmap. If
     the application needs more control, additional bitmaps for the selected state,
     unpressed focused state, and greyed-out state may be supplied.
     single bitmap, and wxWidgets will draw all button states using this bitmap. If
     the application needs more control, additional bitmaps for the selected state,
     unpressed focused state, and greyed-out state may be supplied.
-
-    Window Styles
-    -------------
-        ==============  =============================================
-        wx.BU_AUTODRAW  If this is specified, the button will be drawn
-                        automatically using the label bitmap only,
-                        providing a 3D-look border. If this style is
-                        not specified, the button will be drawn
-                        without borders and using all provided
-                        bitmaps. WIN32 only.
-        wx.BU_LEFT      Left-justifies the label. WIN32 only.
-        wx.BU_TOP       Aligns the label to the top of the button. WIN32
-                        only.
-        wx.BU_RIGHT     Right-justifies the bitmap label. WIN32 only.
-        wx.BU_BOTTOM    Aligns the label to the bottom of the
-                        button. WIN32 only.
-        wx.BU_EXACTFIT  Creates the button as small as possible
-                        instead of making it of the standard size
-                        (which is the default behaviour.)
-        ==============  =============================================
-
-    Events
-    ------
-         ===========   ==================================
-         EVT_BUTTON    Sent when the button is clicked.
-         ===========   ==================================
-
-    :see: `wx.Button`, `wx.Bitmap`
-
     """
     """
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxBitmapButton instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def __init__(self, *args, **kwargs):
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """
         """
-        __init__(self, Window parent, int id, Bitmap bitmap, Point pos=DefaultPosition
-            Size size=DefaultSize, long style=BU_AUTODRAW
-            Validator validator=DefaultValidator, 
+        __init__(self, Window parent, int id=-1, Bitmap bitmap=wxNullBitmap
+            Point pos=DefaultPosition, Size size=DefaultSize
+            long style=BU_AUTODRAW, Validator validator=DefaultValidator, 
             String name=ButtonNameStr) -> BitmapButton
 
         Create and show a button with a bitmap for the label.
         """
             String name=ButtonNameStr) -> BitmapButton
 
         Create and show a button with a bitmap for the label.
         """
-        newobj = _controls_.new_BitmapButton(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
+        _controls_.BitmapButton_swiginit(self,_controls_.new_BitmapButton(*args, **kwargs))
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
         """
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
         """
-        Create(self, Window parent, int id, Bitmap bitmap, Point pos=DefaultPosition
-            Size size=DefaultSize, long style=BU_AUTODRAW
-            Validator validator=DefaultValidator, 
+        Create(self, Window parent, int id=-1, Bitmap bitmap=wxNullBitmap
+            Point pos=DefaultPosition, Size size=DefaultSize
+            long style=BU_AUTODRAW, Validator validator=DefaultValidator, 
             String name=ButtonNameStr) -> bool
 
         Acutally create the GUI BitmapButton for 2-phase creation.
             String name=ButtonNameStr) -> bool
 
         Acutally create the GUI BitmapButton for 2-phase creation.
@@ -209,6 +234,14 @@ class BitmapButton(Button):
         """
         return _controls_.BitmapButton_GetBitmapSelected(*args, **kwargs)
 
         """
         return _controls_.BitmapButton_GetBitmapSelected(*args, **kwargs)
 
+    def GetBitmapHover(*args, **kwargs):
+        """
+        GetBitmapHover(self) -> Bitmap
+
+        Returns the bitmap used when the mouse is over the button, may be invalid.
+        """
+        return _controls_.BitmapButton_GetBitmapHover(*args, **kwargs)
+
     def SetBitmapDisabled(*args, **kwargs):
         """
         SetBitmapDisabled(self, Bitmap bitmap)
     def SetBitmapDisabled(*args, **kwargs):
         """
         SetBitmapDisabled(self, Bitmap bitmap)
@@ -242,6 +275,16 @@ class BitmapButton(Button):
         """
         return _controls_.BitmapButton_SetBitmapLabel(*args, **kwargs)
 
         """
         return _controls_.BitmapButton_SetBitmapLabel(*args, **kwargs)
 
+    def SetBitmapHover(*args, **kwargs):
+        """
+        SetBitmapHover(self, Bitmap hover)
+
+        Sets the bitmap to be shown when the mouse is over the button.  This function
+        is new since wxWidgets version 2.7.0 and the hover bitmap is currently only
+        supported in wxMSW.
+        """
+        return _controls_.BitmapButton_SetBitmapHover(*args, **kwargs)
+
     def SetMargins(*args, **kwargs):
         """SetMargins(self, int x, int y)"""
         return _controls_.BitmapButton_SetMargins(*args, **kwargs)
     def SetMargins(*args, **kwargs):
         """SetMargins(self, int x, int y)"""
         return _controls_.BitmapButton_SetMargins(*args, **kwargs)
@@ -254,13 +297,14 @@ class BitmapButton(Button):
         """GetMarginY(self) -> int"""
         return _controls_.BitmapButton_GetMarginY(*args, **kwargs)
 
         """GetMarginY(self) -> int"""
         return _controls_.BitmapButton_GetMarginY(*args, **kwargs)
 
-
-class BitmapButtonPtr(BitmapButton):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = BitmapButton
-_controls_.BitmapButton_swigregister(BitmapButtonPtr)
+    BitmapDisabled = property(GetBitmapDisabled,SetBitmapDisabled,doc="See `GetBitmapDisabled` and `SetBitmapDisabled`") 
+    BitmapFocus = property(GetBitmapFocus,SetBitmapFocus,doc="See `GetBitmapFocus` and `SetBitmapFocus`") 
+    BitmapHover = property(GetBitmapHover,SetBitmapHover,doc="See `GetBitmapHover` and `SetBitmapHover`") 
+    BitmapLabel = property(GetBitmapLabel,SetBitmapLabel,doc="See `GetBitmapLabel` and `SetBitmapLabel`") 
+    BitmapSelected = property(GetBitmapSelected,SetBitmapSelected,doc="See `GetBitmapSelected` and `SetBitmapSelected`") 
+    MarginX = property(GetMarginX,doc="See `GetMarginX`") 
+    MarginY = property(GetMarginY,doc="See `GetMarginY`") 
+_controls_.BitmapButton_swigregister(BitmapButton)
 
 def PreBitmapButton(*args, **kwargs):
     """
 
 def PreBitmapButton(*args, **kwargs):
     """
@@ -269,7 +313,6 @@ def PreBitmapButton(*args, **kwargs):
     Precreate a BitmapButton for 2-phase creation.
     """
     val = _controls_.new_PreBitmapButton(*args, **kwargs)
     Precreate a BitmapButton for 2-phase creation.
     """
     val = _controls_.new_PreBitmapButton(*args, **kwargs)
-    val.thisown = 1
     return val
 
 #---------------------------------------------------------------------------
     return val
 
 #---------------------------------------------------------------------------
@@ -287,53 +330,27 @@ class CheckBox(_core.Control):
     wx.CHK_3STATE style flag is set) it can have a third state, called the
     mixed or undetermined state. Often this is used as a "Does Not
     Apply" state.
     wx.CHK_3STATE style flag is set) it can have a third state, called the
     mixed or undetermined state. Often this is used as a "Does Not
     Apply" state.
-
-    Window Styles
-    -------------
-        =================================  ===============================
-        wx.CHK_2STATE                      Create a 2-state checkbox. 
-                                           This is the default.
-        wx.CHK_3STATE                      Create a 3-state checkbox.
-        wx.CHK_ALLOW_3RD_STATE_FOR_USER    By default a user can't set a
-                                           3-state checkbox to the
-                                           third state. It can only be
-                                           done from code. Using this
-                                           flags allows the user to set
-                                           the checkbox to the third
-                                           state by clicking.
-                                           wx.ALIGN_RIGHT Makes the
-                                           text appear on the left of
-                                           the checkbox.
-        =================================  ===============================
-
-    Events
-    ------
-        ===============================  ===============================
-        EVT_CHECKBOX                     Sent when checkbox is clicked.
-        ===============================  ===============================
-
     """
     """
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxCheckBox instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def __init__(self, *args, **kwargs):
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """
         """
-        __init__(self, Window parent, int id, String label, Point pos=DefaultPosition, 
-            Size size=DefaultSize, long style=0, 
-            Validator validator=DefaultValidator, String name=CheckBoxNameStr) -> CheckBox
+        __init__(self, Window parent, int id=-1, String label=EmptyString, 
+            Point pos=DefaultPosition, Size size=DefaultSize, 
+            long style=0, Validator validator=DefaultValidator, 
+            String name=CheckBoxNameStr) -> CheckBox
 
         Creates and shows a CheckBox control
         """
 
         Creates and shows a CheckBox control
         """
-        newobj = _controls_.new_CheckBox(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
+        _controls_.CheckBox_swiginit(self,_controls_.new_CheckBox(*args, **kwargs))
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
         """
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
         """
-        Create(self, Window parent, int id, String label, Point pos=DefaultPosition, 
-            Size size=DefaultSize, long style=0, 
-            Validator validator=DefaultValidator, String name=CheckBoxNameStr) -> bool
+        Create(self, Window parent, int id=-1, String label=EmptyString, 
+            Point pos=DefaultPosition, Size size=DefaultSize, 
+            long style=0, Validator validator=DefaultValidator, 
+            String name=CheckBoxNameStr) -> bool
 
         Actually create the GUI CheckBox for 2-phase creation.
         """
 
         Actually create the GUI CheckBox for 2-phase creation.
         """
@@ -406,13 +423,27 @@ class CheckBox(_core.Control):
         """
         return _controls_.CheckBox_Is3rdStateAllowedForUser(*args, **kwargs)
 
         """
         return _controls_.CheckBox_Is3rdStateAllowedForUser(*args, **kwargs)
 
+    def GetClassDefaultAttributes(*args, **kwargs):
+        """
+        GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
+
+        Get the default attributes for this class.  This is useful if you want
+        to use the same font or colour in your own control as in a standard
+        control -- which is a much better idea than hard coding specific
+        colours or fonts which might look completely out of place on the
+        user's system, especially if it uses themes.
+
+        The variant parameter is only relevant under Mac currently and is
+        ignore under other platforms. Under Mac, it will change the size of
+        the returned font. See `wx.Window.SetWindowVariant` for more about
+        this.
+        """
+        return _controls_.CheckBox_GetClassDefaultAttributes(*args, **kwargs)
 
 
-class CheckBoxPtr(CheckBox):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = CheckBox
-_controls_.CheckBox_swigregister(CheckBoxPtr)
+    GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
+    ThreeStateValue = property(Get3StateValue,Set3StateValue,doc="See `Get3StateValue` and `Set3StateValue`") 
+    Value = property(GetValue,SetValue,doc="See `GetValue` and `SetValue`") 
+_controls_.CheckBox_swigregister(CheckBox)
 CheckBoxNameStr = cvar.CheckBoxNameStr
 
 def PreCheckBox(*args, **kwargs):
 CheckBoxNameStr = cvar.CheckBoxNameStr
 
 def PreCheckBox(*args, **kwargs):
@@ -422,9 +453,25 @@ def PreCheckBox(*args, **kwargs):
     Precreate a CheckBox for 2-phase creation.
     """
     val = _controls_.new_PreCheckBox(*args, **kwargs)
     Precreate a CheckBox for 2-phase creation.
     """
     val = _controls_.new_PreCheckBox(*args, **kwargs)
-    val.thisown = 1
     return val
 
     return val
 
+def CheckBox_GetClassDefaultAttributes(*args, **kwargs):
+  """
+    CheckBox_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
+
+    Get the default attributes for this class.  This is useful if you want
+    to use the same font or colour in your own control as in a standard
+    control -- which is a much better idea than hard coding specific
+    colours or fonts which might look completely out of place on the
+    user's system, especially if it uses themes.
+
+    The variant parameter is only relevant under Mac currently and is
+    ignore under other platforms. Under Mac, it will change the size of
+    the returned font. See `wx.Window.SetWindowVariant` for more about
+    this.
+    """
+  return _controls_.CheckBox_GetClassDefaultAttributes(*args, **kwargs)
+
 #---------------------------------------------------------------------------
 
 class Choice(_core.ControlWithItems):
 #---------------------------------------------------------------------------
 
 class Choice(_core.ControlWithItems):
@@ -432,72 +479,63 @@ class Choice(_core.ControlWithItems):
     A Choice control is used to select one of a list of strings.
     Unlike a `wx.ListBox`, only the selection is visible until the
     user pulls down the menu of choices.
     A Choice control is used to select one of a list of strings.
     Unlike a `wx.ListBox`, only the selection is visible until the
     user pulls down the menu of choices.
-
-    Events
-    ------
-        ================    ==========================================
-        EVT_CHOICE          Sent when an item in the list is selected.
-        ================    ==========================================
-
     """
     """
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxChoice instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def __init__(self, *args, **kwargs):
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """
         __init__(Window parent, int id, Point pos=DefaultPosition, Size size=DefaultSize,
         """
         __init__(Window parent, int id, Point pos=DefaultPosition, Size size=DefaultSize,
-            List choices=[], long style=0, Validator validator=DefaultValidator,
+            List choices=EmptyList, long style=0, Validator validator=DefaultValidator,
             String name=ChoiceNameStr) -> Choice
 
         Create and show a Choice control
         """
             String name=ChoiceNameStr) -> Choice
 
         Create and show a Choice control
         """
-        newobj = _controls_.new_Choice(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
+        _controls_.Choice_swiginit(self,_controls_.new_Choice(*args, **kwargs))
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
         """
         Create(Window parent, int id, Point pos=DefaultPosition, Size size=DefaultSize,
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
         """
         Create(Window parent, int id, Point pos=DefaultPosition, Size size=DefaultSize,
-            List choices=[], long style=0, Validator validator=DefaultValidator,
+            List choices=EmptyList, long style=0, Validator validator=DefaultValidator,
             String name=ChoiceNameStr) -> bool
 
         Actually create the GUI Choice control for 2-phase creation
         """
         return _controls_.Choice_Create(*args, **kwargs)
 
             String name=ChoiceNameStr) -> bool
 
         Actually create the GUI Choice control for 2-phase creation
         """
         return _controls_.Choice_Create(*args, **kwargs)
 
-    def SetSelection(*args, **kwargs):
-        """
-        SetSelection(self, int n)
-
-        Select the n'th item (zero based) in the list.
+    def GetCurrentSelection(*args, **kwargs):
         """
         """
-        return _controls_.Choice_SetSelection(*args, **kwargs)
+        GetCurrentSelection(self) -> int
 
 
-    def SetStringSelection(*args, **kwargs):
+        Unlike `GetSelection` which only returns the accepted selection value,
+        i.e. the selection in the control once the user closes the dropdown
+        list, this function returns the current selection.  That is, while the
+        dropdown list is shown, it returns the currently selected item in
+        it. When it is not shown, its result is the same as for the other
+        function.
         """
         """
-        SetStringSelection(self, String string) -> bool
+        return _controls_.Choice_GetCurrentSelection(*args, **kwargs)
 
 
-        Select the item with the specifed string
+    def GetClassDefaultAttributes(*args, **kwargs):
         """
         """
-        return _controls_.Choice_SetStringSelection(*args, **kwargs)
+        GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
 
-    def SetString(*args, **kwargs):
-        """
-        SetString(self, int n, String string)
+        Get the default attributes for this class.  This is useful if you want
+        to use the same font or colour in your own control as in a standard
+        control -- which is a much better idea than hard coding specific
+        colours or fonts which might look completely out of place on the
+        user's system, especially if it uses themes.
 
 
-        Set the label for the n'th item (zero based) in the list.
+        The variant parameter is only relevant under Mac currently and is
+        ignore under other platforms. Under Mac, it will change the size of
+        the returned font. See `wx.Window.SetWindowVariant` for more about
+        this.
         """
         """
-        return _controls_.Choice_SetString(*args, **kwargs)
-
-    Select = SetSelection 
+        return _controls_.Choice_GetClassDefaultAttributes(*args, **kwargs)
 
 
-class ChoicePtr(Choice):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = Choice
-_controls_.Choice_swigregister(ChoicePtr)
+    GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
+    CurrentSelection = property(GetCurrentSelection,doc="See `GetCurrentSelection`") 
+_controls_.Choice_swigregister(Choice)
 ChoiceNameStr = cvar.ChoiceNameStr
 
 def PreChoice(*args, **kwargs):
 ChoiceNameStr = cvar.ChoiceNameStr
 
 def PreChoice(*args, **kwargs):
@@ -507,39 +545,55 @@ def PreChoice(*args, **kwargs):
     Precreate a Choice control for 2-phase creation.
     """
     val = _controls_.new_PreChoice(*args, **kwargs)
     Precreate a Choice control for 2-phase creation.
     """
     val = _controls_.new_PreChoice(*args, **kwargs)
-    val.thisown = 1
     return val
 
     return val
 
+def Choice_GetClassDefaultAttributes(*args, **kwargs):
+  """
+    Choice_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
+
+    Get the default attributes for this class.  This is useful if you want
+    to use the same font or colour in your own control as in a standard
+    control -- which is a much better idea than hard coding specific
+    colours or fonts which might look completely out of place on the
+    user's system, especially if it uses themes.
+
+    The variant parameter is only relevant under Mac currently and is
+    ignore under other platforms. Under Mac, it will change the size of
+    the returned font. See `wx.Window.SetWindowVariant` for more about
+    this.
+    """
+  return _controls_.Choice_GetClassDefaultAttributes(*args, **kwargs)
+
 #---------------------------------------------------------------------------
 
 class ComboBox(Choice):
     """
 #---------------------------------------------------------------------------
 
 class ComboBox(Choice):
     """
-    A combobox is like a combination of an edit control and a listbox. It can be
-    displayed as static list with editable or read-only text field; or a drop-down
-    list with text field.
+    A combobox is like a combination of an edit control and a
+    listbox. It can be displayed as static list with editable or
+    read-only text field; or a drop-down list with text field.
+
+    A combobox permits a single selection only. Combobox items are
+    numbered from zero.
     """
     """
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxComboBox instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def __init__(self, *args, **kwargs):
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """
         __init__(Window parent, int id, String value=EmptyString,
             Point pos=DefaultPosition, Size size=DefaultSize,
         """
         __init__(Window parent, int id, String value=EmptyString,
             Point pos=DefaultPosition, Size size=DefaultSize,
-             List choices=[], long style=0, Validator validator=DefaultValidator,
-             String name=ComboBoxNameStr) -> ComboBox
+            List choices=EmptyList, long style=0, Validator validator=DefaultValidator,
+            String name=ComboBoxNameStr) -> ComboBox
 
         Constructor, creates and shows a ComboBox control.
         """
 
         Constructor, creates and shows a ComboBox control.
         """
-        newobj = _controls_.new_ComboBox(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
+        _controls_.ComboBox_swiginit(self,_controls_.new_ComboBox(*args, **kwargs))
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
         """
         Create(Window parent, int id, String value=EmptyString,
             Point pos=DefaultPosition, Size size=DefaultSize,
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
         """
         Create(Window parent, int id, String value=EmptyString,
             Point pos=DefaultPosition, Size size=DefaultSize,
-            List choices=[], long style=0, Validator validator=DefaultValidator,
+            List choices=EmptyList, long style=0, Validator validator=DefaultValidator,
             String name=ChoiceNameStr) -> bool
 
         Actually create the GUI wxComboBox control for 2-phase creation
             String name=ChoiceNameStr) -> bool
 
         Actually create the GUI wxComboBox control for 2-phase creation
@@ -615,14 +669,6 @@ class ComboBox(Choice):
         """
         return _controls_.ComboBox_Replace(*args, **kwargs)
 
         """
         return _controls_.ComboBox_Replace(*args, **kwargs)
 
-    def SetSelection(*args, **kwargs):
-        """
-        SetSelection(self, int n)
-
-        Sets the item at index 'n' to be the selected item.
-        """
-        return _controls_.ComboBox_SetSelection(*args, **kwargs)
-
     def SetMark(*args, **kwargs):
         """
         SetMark(self, long from, long to)
     def SetMark(*args, **kwargs):
         """
         SetMark(self, long from, long to)
@@ -631,6 +677,28 @@ class ComboBox(Choice):
         """
         return _controls_.ComboBox_SetMark(*args, **kwargs)
 
         """
         return _controls_.ComboBox_SetMark(*args, **kwargs)
 
+    def GetMark(*args, **kwargs):
+        """
+        GetMark(self) -> (from, to)
+
+        Gets the positions of the begining and ending of the selection mark in
+        the combobox text field.
+        """
+        return _controls_.ComboBox_GetMark(*args, **kwargs)
+
+    def GetCurrentSelection(*args, **kwargs):
+        """
+        GetCurrentSelection(self) -> int
+
+        Unlike `GetSelection` which only returns the accepted selection value,
+        i.e. the selection in the control once the user closes the dropdown
+        list, this function returns the current selection.  That is, while the
+        dropdown list is shown, it returns the currently selected item in
+        it. When it is not shown, its result is the same as for the other
+        function.
+        """
+        return _controls_.ComboBox_GetCurrentSelection(*args, **kwargs)
+
     def SetStringSelection(*args, **kwargs):
         """
         SetStringSelection(self, String string) -> bool
     def SetStringSelection(*args, **kwargs):
         """
         SetStringSelection(self, String string) -> bool
@@ -667,13 +735,108 @@ class ComboBox(Choice):
         """
         return _controls_.ComboBox_Remove(*args, **kwargs)
 
         """
         return _controls_.ComboBox_Remove(*args, **kwargs)
 
+    def IsEditable(*args, **kwargs):
+        """
+        IsEditable(self) -> bool
+
+        Returns True if the combo is ediatable (not read-only.)
+        """
+        return _controls_.ComboBox_IsEditable(*args, **kwargs)
+
+    def Undo(*args, **kwargs):
+        """
+        Undo(self)
+
+        Redoes the last undo in the text field. Windows only.
+        """
+        return _controls_.ComboBox_Undo(*args, **kwargs)
+
+    def Redo(*args, **kwargs):
+        """
+        Redo(self)
+
+        Undoes the last edit in the text field. Windows only.
+        """
+        return _controls_.ComboBox_Redo(*args, **kwargs)
+
+    def SelectAll(*args, **kwargs):
+        """
+        SelectAll(self)
+
+        Select all the text in the combo's text field.
+        """
+        return _controls_.ComboBox_SelectAll(*args, **kwargs)
+
+    def CanCopy(*args, **kwargs):
+        """
+        CanCopy(self) -> bool
+
+        Returns True if the combobox is editable and there is a text selection
+        to copy to the clipboard.  Only available on Windows.
+        """
+        return _controls_.ComboBox_CanCopy(*args, **kwargs)
+
+    def CanCut(*args, **kwargs):
+        """
+        CanCut(self) -> bool
+
+        Returns True if the combobox is editable and there is a text selection
+        to copy to the clipboard.  Only available on Windows.
+        """
+        return _controls_.ComboBox_CanCut(*args, **kwargs)
+
+    def CanPaste(*args, **kwargs):
+        """
+        CanPaste(self) -> bool
+
+        Returns True if the combobox is editable and there is text on the
+        clipboard that can be pasted into the text field. Only available on
+        Windows.
+        """
+        return _controls_.ComboBox_CanPaste(*args, **kwargs)
+
+    def CanUndo(*args, **kwargs):
+        """
+        CanUndo(self) -> bool
+
+        Returns True if the combobox is editable and the last edit can be
+        undone.  Only available on Windows.
+        """
+        return _controls_.ComboBox_CanUndo(*args, **kwargs)
+
+    def CanRedo(*args, **kwargs):
+        """
+        CanRedo(self) -> bool
+
+        Returns True if the combobox is editable and the last undo can be
+        redone.  Only available on Windows.
+        """
+        return _controls_.ComboBox_CanRedo(*args, **kwargs)
+
+    def GetClassDefaultAttributes(*args, **kwargs):
+        """
+        GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
+
+        Get the default attributes for this class.  This is useful if you want
+        to use the same font or colour in your own control as in a standard
+        control -- which is a much better idea than hard coding specific
+        colours or fonts which might look completely out of place on the
+        user's system, especially if it uses themes.
+
+        The variant parameter is only relevant under Mac currently and is
+        ignore under other platforms. Under Mac, it will change the size of
+        the returned font. See `wx.Window.SetWindowVariant` for more about
+        this.
+        """
+        return _controls_.ComboBox_GetClassDefaultAttributes(*args, **kwargs)
 
 
-class ComboBoxPtr(ComboBox):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = ComboBox
-_controls_.ComboBox_swigregister(ComboBoxPtr)
+    GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
+    CurrentSelection = property(GetCurrentSelection,doc="See `GetCurrentSelection`") 
+    InsertionPoint = property(GetInsertionPoint,SetInsertionPoint,doc="See `GetInsertionPoint` and `SetInsertionPoint`") 
+    LastPosition = property(GetLastPosition,doc="See `GetLastPosition`") 
+    Mark = property(GetMark,SetMark,doc="See `GetMark` and `SetMark`") 
+    Value = property(GetValue,SetValue,doc="See `GetValue` and `SetValue`") 
+_controls_.ComboBox_swigregister(ComboBox)
 ComboBoxNameStr = cvar.ComboBoxNameStr
 
 def PreComboBox(*args, **kwargs):
 ComboBoxNameStr = cvar.ComboBoxNameStr
 
 def PreComboBox(*args, **kwargs):
@@ -683,34 +846,48 @@ def PreComboBox(*args, **kwargs):
     Precreate a ComboBox control for 2-phase creation.
     """
     val = _controls_.new_PreComboBox(*args, **kwargs)
     Precreate a ComboBox control for 2-phase creation.
     """
     val = _controls_.new_PreComboBox(*args, **kwargs)
-    val.thisown = 1
     return val
 
     return val
 
+def ComboBox_GetClassDefaultAttributes(*args, **kwargs):
+  """
+    ComboBox_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
+
+    Get the default attributes for this class.  This is useful if you want
+    to use the same font or colour in your own control as in a standard
+    control -- which is a much better idea than hard coding specific
+    colours or fonts which might look completely out of place on the
+    user's system, especially if it uses themes.
+
+    The variant parameter is only relevant under Mac currently and is
+    ignore under other platforms. Under Mac, it will change the size of
+    the returned font. See `wx.Window.SetWindowVariant` for more about
+    this.
+    """
+  return _controls_.ComboBox_GetClassDefaultAttributes(*args, **kwargs)
+
 #---------------------------------------------------------------------------
 
 GA_HORIZONTAL = _controls_.GA_HORIZONTAL
 GA_VERTICAL = _controls_.GA_VERTICAL
 GA_SMOOTH = _controls_.GA_SMOOTH
 #---------------------------------------------------------------------------
 
 GA_HORIZONTAL = _controls_.GA_HORIZONTAL
 GA_VERTICAL = _controls_.GA_VERTICAL
 GA_SMOOTH = _controls_.GA_SMOOTH
-GA_PROGRESSBAR = _controls_.GA_PROGRESSBAR
+GA_PROGRESSBAR = 0 # obsolete 
 class Gauge(_core.Control):
 class Gauge(_core.Control):
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxGauge instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def __init__(self, *args, **kwargs):
+    """Proxy of C++ Gauge class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """
         """
-        __init__(self, Window parent, int id, int range, Point pos=DefaultPosition, 
+        __init__(self, Window parent, int id=-1, int range=100, Point pos=DefaultPosition, 
             Size size=DefaultSize, long style=GA_HORIZONTAL, 
             Validator validator=DefaultValidator, 
             String name=GaugeNameStr) -> Gauge
         """
             Size size=DefaultSize, long style=GA_HORIZONTAL, 
             Validator validator=DefaultValidator, 
             String name=GaugeNameStr) -> Gauge
         """
-        newobj = _controls_.new_Gauge(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
+        _controls_.Gauge_swiginit(self,_controls_.new_Gauge(*args, **kwargs))
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
         """
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
         """
-        Create(self, Window parent, int id, int range, Point pos=DefaultPosition, 
+        Create(self, Window parent, int id=-1, int range=100, Point pos=DefaultPosition, 
             Size size=DefaultSize, long style=GA_HORIZONTAL, 
             Validator validator=DefaultValidator, 
             String name=GaugeNameStr) -> bool
             Size size=DefaultSize, long style=GA_HORIZONTAL, 
             Validator validator=DefaultValidator, 
             String name=GaugeNameStr) -> bool
@@ -733,6 +910,10 @@ class Gauge(_core.Control):
         """GetValue(self) -> int"""
         return _controls_.Gauge_GetValue(*args, **kwargs)
 
         """GetValue(self) -> int"""
         return _controls_.Gauge_GetValue(*args, **kwargs)
 
+    def Pulse(*args, **kwargs):
+        """Pulse(self)"""
+        return _controls_.Gauge_Pulse(*args, **kwargs)
+
     def IsVertical(*args, **kwargs):
         """IsVertical(self) -> bool"""
         return _controls_.Gauge_IsVertical(*args, **kwargs)
     def IsVertical(*args, **kwargs):
         """IsVertical(self) -> bool"""
         return _controls_.Gauge_IsVertical(*args, **kwargs)
@@ -753,53 +934,95 @@ class Gauge(_core.Control):
         """GetBezelFace(self) -> int"""
         return _controls_.Gauge_GetBezelFace(*args, **kwargs)
 
         """GetBezelFace(self) -> int"""
         return _controls_.Gauge_GetBezelFace(*args, **kwargs)
 
+    def GetClassDefaultAttributes(*args, **kwargs):
+        """
+        GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
+
+        Get the default attributes for this class.  This is useful if you want
+        to use the same font or colour in your own control as in a standard
+        control -- which is a much better idea than hard coding specific
+        colours or fonts which might look completely out of place on the
+        user's system, especially if it uses themes.
+
+        The variant parameter is only relevant under Mac currently and is
+        ignore under other platforms. Under Mac, it will change the size of
+        the returned font. See `wx.Window.SetWindowVariant` for more about
+        this.
+        """
+        return _controls_.Gauge_GetClassDefaultAttributes(*args, **kwargs)
 
 
-class GaugePtr(Gauge):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = Gauge
-_controls_.Gauge_swigregister(GaugePtr)
+    GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
+    BezelFace = property(GetBezelFace,SetBezelFace,doc="See `GetBezelFace` and `SetBezelFace`") 
+    Range = property(GetRange,SetRange,doc="See `GetRange` and `SetRange`") 
+    ShadowWidth = property(GetShadowWidth,SetShadowWidth,doc="See `GetShadowWidth` and `SetShadowWidth`") 
+    Value = property(GetValue,SetValue,doc="See `GetValue` and `SetValue`") 
+_controls_.Gauge_swigregister(Gauge)
 GaugeNameStr = cvar.GaugeNameStr
 
 def PreGauge(*args, **kwargs):
     """PreGauge() -> Gauge"""
     val = _controls_.new_PreGauge(*args, **kwargs)
 GaugeNameStr = cvar.GaugeNameStr
 
 def PreGauge(*args, **kwargs):
     """PreGauge() -> Gauge"""
     val = _controls_.new_PreGauge(*args, **kwargs)
-    val.thisown = 1
     return val
 
     return val
 
+def Gauge_GetClassDefaultAttributes(*args, **kwargs):
+  """
+    Gauge_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
+
+    Get the default attributes for this class.  This is useful if you want
+    to use the same font or colour in your own control as in a standard
+    control -- which is a much better idea than hard coding specific
+    colours or fonts which might look completely out of place on the
+    user's system, especially if it uses themes.
+
+    The variant parameter is only relevant under Mac currently and is
+    ignore under other platforms. Under Mac, it will change the size of
+    the returned font. See `wx.Window.SetWindowVariant` for more about
+    this.
+    """
+  return _controls_.Gauge_GetClassDefaultAttributes(*args, **kwargs)
+
 #---------------------------------------------------------------------------
 
 class StaticBox(_core.Control):
 #---------------------------------------------------------------------------
 
 class StaticBox(_core.Control):
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxStaticBox instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def __init__(self, *args, **kwargs):
-        """
-        __init__(self, Window parent, int id, String label, Point pos=DefaultPosition, 
-            Size size=DefaultSize, long style=0, 
-            String name=StaticBoxNameStr) -> StaticBox
-        """
-        newobj = _controls_.new_StaticBox(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
+    """Proxy of C++ StaticBox class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
+        """
+        __init__(self, Window parent, int id=-1, String label=EmptyString, 
+            Point pos=DefaultPosition, Size size=DefaultSize, 
+            long style=0, String name=StaticBoxNameStr) -> StaticBox
+        """
+        _controls_.StaticBox_swiginit(self,_controls_.new_StaticBox(*args, **kwargs))
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
         """
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
         """
-        Create(self, Window parent, int id, String label, Point pos=DefaultPosition
-            Size size=DefaultSize, long style=0
-            String name=StaticBoxNameStr) -> bool
+        Create(self, Window parent, int id=-1, String label=EmptyString
+            Point pos=DefaultPosition, Size size=DefaultSize
+            long style=0, String name=StaticBoxNameStr) -> bool
         """
         return _controls_.StaticBox_Create(*args, **kwargs)
 
         """
         return _controls_.StaticBox_Create(*args, **kwargs)
 
+    def GetClassDefaultAttributes(*args, **kwargs):
+        """
+        GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
+
+        Get the default attributes for this class.  This is useful if you want
+        to use the same font or colour in your own control as in a standard
+        control -- which is a much better idea than hard coding specific
+        colours or fonts which might look completely out of place on the
+        user's system, especially if it uses themes.
 
 
-class StaticBoxPtr(StaticBox):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = StaticBox
-_controls_.StaticBox_swigregister(StaticBoxPtr)
+        The variant parameter is only relevant under Mac currently and is
+        ignore under other platforms. Under Mac, it will change the size of
+        the returned font. See `wx.Window.SetWindowVariant` for more about
+        this.
+        """
+        return _controls_.StaticBox_GetClassDefaultAttributes(*args, **kwargs)
+
+    GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
+_controls_.StaticBox_swigregister(StaticBox)
 StaticBitmapNameStr = cvar.StaticBitmapNameStr
 StaticBoxNameStr = cvar.StaticBoxNameStr
 StaticTextNameStr = cvar.StaticTextNameStr
 StaticBitmapNameStr = cvar.StaticBitmapNameStr
 StaticBoxNameStr = cvar.StaticBoxNameStr
 StaticTextNameStr = cvar.StaticTextNameStr
@@ -807,30 +1030,44 @@ StaticTextNameStr = cvar.StaticTextNameStr
 def PreStaticBox(*args, **kwargs):
     """PreStaticBox() -> StaticBox"""
     val = _controls_.new_PreStaticBox(*args, **kwargs)
 def PreStaticBox(*args, **kwargs):
     """PreStaticBox() -> StaticBox"""
     val = _controls_.new_PreStaticBox(*args, **kwargs)
-    val.thisown = 1
     return val
 
     return val
 
+def StaticBox_GetClassDefaultAttributes(*args, **kwargs):
+  """
+    StaticBox_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
+
+    Get the default attributes for this class.  This is useful if you want
+    to use the same font or colour in your own control as in a standard
+    control -- which is a much better idea than hard coding specific
+    colours or fonts which might look completely out of place on the
+    user's system, especially if it uses themes.
+
+    The variant parameter is only relevant under Mac currently and is
+    ignore under other platforms. Under Mac, it will change the size of
+    the returned font. See `wx.Window.SetWindowVariant` for more about
+    this.
+    """
+  return _controls_.StaticBox_GetClassDefaultAttributes(*args, **kwargs)
+
 #---------------------------------------------------------------------------
 
 class StaticLine(_core.Control):
 #---------------------------------------------------------------------------
 
 class StaticLine(_core.Control):
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxStaticLine instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def __init__(self, *args, **kwargs):
+    """Proxy of C++ StaticLine class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """
         """
-        __init__(self, Window parent, int id, Point pos=DefaultPosition, Size size=DefaultSize
-            long style=LI_HORIZONTAL, 
+        __init__(self, Window parent, int id=-1, Point pos=DefaultPosition
+            Size size=DefaultSize, long style=LI_HORIZONTAL, 
             String name=StaticTextNameStr) -> StaticLine
         """
             String name=StaticTextNameStr) -> StaticLine
         """
-        newobj = _controls_.new_StaticLine(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
+        _controls_.StaticLine_swiginit(self,_controls_.new_StaticLine(*args, **kwargs))
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
         """
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
         """
-        Create(self, Window parent, int id, Point pos=DefaultPosition, Size size=DefaultSize
-            long style=LI_HORIZONTAL, 
+        Create(self, Window parent, int id=-1, Point pos=DefaultPosition
+            Size size=DefaultSize, long style=LI_HORIZONTAL, 
             String name=StaticTextNameStr) -> bool
         """
         return _controls_.StaticLine_Create(*args, **kwargs)
             String name=StaticTextNameStr) -> bool
         """
         return _controls_.StaticLine_Create(*args, **kwargs)
@@ -844,85 +1081,148 @@ class StaticLine(_core.Control):
         return _controls_.StaticLine_GetDefaultSize(*args, **kwargs)
 
     GetDefaultSize = staticmethod(GetDefaultSize)
         return _controls_.StaticLine_GetDefaultSize(*args, **kwargs)
 
     GetDefaultSize = staticmethod(GetDefaultSize)
+    def GetClassDefaultAttributes(*args, **kwargs):
+        """
+        GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
+
+        Get the default attributes for this class.  This is useful if you want
+        to use the same font or colour in your own control as in a standard
+        control -- which is a much better idea than hard coding specific
+        colours or fonts which might look completely out of place on the
+        user's system, especially if it uses themes.
+
+        The variant parameter is only relevant under Mac currently and is
+        ignore under other platforms. Under Mac, it will change the size of
+        the returned font. See `wx.Window.SetWindowVariant` for more about
+        this.
+        """
+        return _controls_.StaticLine_GetClassDefaultAttributes(*args, **kwargs)
 
 
-class StaticLinePtr(StaticLine):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = StaticLine
-_controls_.StaticLine_swigregister(StaticLinePtr)
+    GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
+_controls_.StaticLine_swigregister(StaticLine)
 
 def PreStaticLine(*args, **kwargs):
     """PreStaticLine() -> StaticLine"""
     val = _controls_.new_PreStaticLine(*args, **kwargs)
 
 def PreStaticLine(*args, **kwargs):
     """PreStaticLine() -> StaticLine"""
     val = _controls_.new_PreStaticLine(*args, **kwargs)
-    val.thisown = 1
     return val
 
     return val
 
-def StaticLine_GetDefaultSize(*args, **kwargs):
-    """StaticLine_GetDefaultSize() -> int"""
-    return _controls_.StaticLine_GetDefaultSize(*args, **kwargs)
+def StaticLine_GetDefaultSize(*args):
+  """StaticLine_GetDefaultSize() -> int"""
+  return _controls_.StaticLine_GetDefaultSize(*args)
+
+def StaticLine_GetClassDefaultAttributes(*args, **kwargs):
+  """
+    StaticLine_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
+
+    Get the default attributes for this class.  This is useful if you want
+    to use the same font or colour in your own control as in a standard
+    control -- which is a much better idea than hard coding specific
+    colours or fonts which might look completely out of place on the
+    user's system, especially if it uses themes.
+
+    The variant parameter is only relevant under Mac currently and is
+    ignore under other platforms. Under Mac, it will change the size of
+    the returned font. See `wx.Window.SetWindowVariant` for more about
+    this.
+    """
+  return _controls_.StaticLine_GetClassDefaultAttributes(*args, **kwargs)
 
 #---------------------------------------------------------------------------
 
 class StaticText(_core.Control):
 
 #---------------------------------------------------------------------------
 
 class StaticText(_core.Control):
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxStaticText instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def __init__(self, *args, **kwargs):
-        """
-        __init__(self, Window parent, int id, String label, Point pos=DefaultPosition, 
-            Size size=DefaultSize, long style=0, 
-            String name=StaticTextNameStr) -> StaticText
-        """
-        newobj = _controls_.new_StaticText(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
+    """Proxy of C++ StaticText class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
+        """
+        __init__(self, Window parent, int id=-1, String label=EmptyString, 
+            Point pos=DefaultPosition, Size size=DefaultSize, 
+            long style=0, String name=StaticTextNameStr) -> StaticText
+        """
+        _controls_.StaticText_swiginit(self,_controls_.new_StaticText(*args, **kwargs))
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
         """
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
         """
-        Create(self, Window parent, int id, String label, Point pos=DefaultPosition
-            Size size=DefaultSize, long style=0
-            String name=StaticTextNameStr) -> bool
+        Create(self, Window parent, int id=-1, String label=EmptyString
+            Point pos=DefaultPosition, Size size=DefaultSize
+            long style=0, String name=StaticTextNameStr) -> bool
         """
         return _controls_.StaticText_Create(*args, **kwargs)
 
         """
         return _controls_.StaticText_Create(*args, **kwargs)
 
+    def Wrap(*args, **kwargs):
+        """
+        Wrap(self, int width)
+
+        This functions wraps the control's label so that each of its lines
+        becomes at most ``width`` pixels wide if possible (the lines are
+        broken at words boundaries so it might not be the case if words are
+        too long). If ``width`` is negative, no wrapping is done.
+        """
+        return _controls_.StaticText_Wrap(*args, **kwargs)
+
+    def GetClassDefaultAttributes(*args, **kwargs):
+        """
+        GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
+
+        Get the default attributes for this class.  This is useful if you want
+        to use the same font or colour in your own control as in a standard
+        control -- which is a much better idea than hard coding specific
+        colours or fonts which might look completely out of place on the
+        user's system, especially if it uses themes.
+
+        The variant parameter is only relevant under Mac currently and is
+        ignore under other platforms. Under Mac, it will change the size of
+        the returned font. See `wx.Window.SetWindowVariant` for more about
+        this.
+        """
+        return _controls_.StaticText_GetClassDefaultAttributes(*args, **kwargs)
 
 
-class StaticTextPtr(StaticText):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = StaticText
-_controls_.StaticText_swigregister(StaticTextPtr)
+    GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
+_controls_.StaticText_swigregister(StaticText)
 
 def PreStaticText(*args, **kwargs):
     """PreStaticText() -> StaticText"""
     val = _controls_.new_PreStaticText(*args, **kwargs)
 
 def PreStaticText(*args, **kwargs):
     """PreStaticText() -> StaticText"""
     val = _controls_.new_PreStaticText(*args, **kwargs)
-    val.thisown = 1
     return val
 
     return val
 
+def StaticText_GetClassDefaultAttributes(*args, **kwargs):
+  """
+    StaticText_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
+
+    Get the default attributes for this class.  This is useful if you want
+    to use the same font or colour in your own control as in a standard
+    control -- which is a much better idea than hard coding specific
+    colours or fonts which might look completely out of place on the
+    user's system, especially if it uses themes.
+
+    The variant parameter is only relevant under Mac currently and is
+    ignore under other platforms. Under Mac, it will change the size of
+    the returned font. See `wx.Window.SetWindowVariant` for more about
+    this.
+    """
+  return _controls_.StaticText_GetClassDefaultAttributes(*args, **kwargs)
+
 #---------------------------------------------------------------------------
 
 class StaticBitmap(_core.Control):
 #---------------------------------------------------------------------------
 
 class StaticBitmap(_core.Control):
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxStaticBitmap instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def __init__(self, *args, **kwargs):
-        """
-        __init__(self, Window parent, int id, Bitmap bitmap, Point pos=DefaultPosition, 
-            Size size=DefaultSize, long style=0, 
-            String name=StaticBitmapNameStr) -> StaticBitmap
-        """
-        newobj = _controls_.new_StaticBitmap(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
+    """Proxy of C++ StaticBitmap class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
+        """
+        __init__(self, Window parent, int id=-1, Bitmap bitmap=wxNullBitmap, 
+            Point pos=DefaultPosition, Size size=DefaultSize, 
+            long style=0, String name=StaticBitmapNameStr) -> StaticBitmap
+        """
+        _controls_.StaticBitmap_swiginit(self,_controls_.new_StaticBitmap(*args, **kwargs))
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
         """
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
         """
-        Create(self, Window parent, int id, Bitmap bitmap, Point pos=DefaultPosition
-            Size size=DefaultSize, long style=0
-            String name=StaticBitmapNameStr) -> bool
+        Create(self, Window parent, int id=-1, Bitmap bitmap=wxNullBitmap
+            Point pos=DefaultPosition, Size size=DefaultSize
+            long style=0, String name=StaticBitmapNameStr) -> bool
         """
         return _controls_.StaticBitmap_Create(*args, **kwargs)
 
         """
         return _controls_.StaticBitmap_Create(*args, **kwargs)
 
@@ -938,42 +1238,68 @@ class StaticBitmap(_core.Control):
         """SetIcon(self, Icon icon)"""
         return _controls_.StaticBitmap_SetIcon(*args, **kwargs)
 
         """SetIcon(self, Icon icon)"""
         return _controls_.StaticBitmap_SetIcon(*args, **kwargs)
 
+    def GetClassDefaultAttributes(*args, **kwargs):
+        """
+        GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
+
+        Get the default attributes for this class.  This is useful if you want
+        to use the same font or colour in your own control as in a standard
+        control -- which is a much better idea than hard coding specific
+        colours or fonts which might look completely out of place on the
+        user's system, especially if it uses themes.
 
 
-class StaticBitmapPtr(StaticBitmap):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = StaticBitmap
-_controls_.StaticBitmap_swigregister(StaticBitmapPtr)
+        The variant parameter is only relevant under Mac currently and is
+        ignore under other platforms. Under Mac, it will change the size of
+        the returned font. See `wx.Window.SetWindowVariant` for more about
+        this.
+        """
+        return _controls_.StaticBitmap_GetClassDefaultAttributes(*args, **kwargs)
+
+    GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
+_controls_.StaticBitmap_swigregister(StaticBitmap)
 
 def PreStaticBitmap(*args, **kwargs):
     """PreStaticBitmap() -> StaticBitmap"""
     val = _controls_.new_PreStaticBitmap(*args, **kwargs)
 
 def PreStaticBitmap(*args, **kwargs):
     """PreStaticBitmap() -> StaticBitmap"""
     val = _controls_.new_PreStaticBitmap(*args, **kwargs)
-    val.thisown = 1
     return val
 
     return val
 
+def StaticBitmap_GetClassDefaultAttributes(*args, **kwargs):
+  """
+    StaticBitmap_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
+
+    Get the default attributes for this class.  This is useful if you want
+    to use the same font or colour in your own control as in a standard
+    control -- which is a much better idea than hard coding specific
+    colours or fonts which might look completely out of place on the
+    user's system, especially if it uses themes.
+
+    The variant parameter is only relevant under Mac currently and is
+    ignore under other platforms. Under Mac, it will change the size of
+    the returned font. See `wx.Window.SetWindowVariant` for more about
+    this.
+    """
+  return _controls_.StaticBitmap_GetClassDefaultAttributes(*args, **kwargs)
+
 #---------------------------------------------------------------------------
 
 class ListBox(_core.ControlWithItems):
 #---------------------------------------------------------------------------
 
 class ListBox(_core.ControlWithItems):
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxListBox instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def __init__(self, *args, **kwargs):
+    """Proxy of C++ ListBox class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """
         """
-        __init__(self, Window parent, int id, Point pos=DefaultPosition, Size size=DefaultSize
-            wxArrayString choices=wxPyEmptyStringArray, 
+        __init__(self, Window parent, int id=-1, Point pos=DefaultPosition
+            Size size=DefaultSize, wxArrayString choices=wxPyEmptyStringArray, 
             long style=0, Validator validator=DefaultValidator, 
             String name=ListBoxNameStr) -> ListBox
         """
             long style=0, Validator validator=DefaultValidator, 
             String name=ListBoxNameStr) -> ListBox
         """
-        newobj = _controls_.new_ListBox(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
+        _controls_.ListBox_swiginit(self,_controls_.new_ListBox(*args, **kwargs))
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
         """
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
         """
-        Create(self, Window parent, int id, Point pos=DefaultPosition, Size size=DefaultSize
-            wxArrayString choices=wxPyEmptyStringArray, 
+        Create(self, Window parent, int id=-1, Point pos=DefaultPosition
+            Size size=DefaultSize, wxArrayString choices=wxPyEmptyStringArray, 
             long style=0, Validator validator=DefaultValidator, 
             String name=ListBoxNameStr) -> bool
         """
             long style=0, Validator validator=DefaultValidator, 
             String name=ListBoxNameStr) -> bool
         """
@@ -983,13 +1309,13 @@ class ListBox(_core.ControlWithItems):
         """
         Insert(self, String item, int pos, PyObject clientData=None)
 
         """
         Insert(self, String item, int pos, PyObject clientData=None)
 
-        Insert an item into the control before the item at the pos index,
+        Insert an item into the control before the item at the ``pos`` index,
         optionally associating some data object with the item.
         """
         return _controls_.ListBox_Insert(*args, **kwargs)
 
     def InsertItems(*args, **kwargs):
         optionally associating some data object with the item.
         """
         return _controls_.ListBox_Insert(*args, **kwargs)
 
     def InsertItems(*args, **kwargs):
-        """InsertItems(self, wxArrayString items, int pos)"""
+        """InsertItems(self, wxArrayString items, unsigned int pos)"""
         return _controls_.ListBox_InsertItems(*args, **kwargs)
 
     def Set(*args, **kwargs):
         return _controls_.ListBox_InsertItems(*args, **kwargs)
 
     def Set(*args, **kwargs):
@@ -1008,7 +1334,8 @@ class ListBox(_core.ControlWithItems):
         """
         Select(self, int n)
 
         """
         Select(self, int n)
 
-        Sets the item at index 'n' to be the selected item.
+        This is the same as `SetSelection` and exists only because it is
+        slightly more natural for controls which support multiple selection.
         """
         return _controls_.ListBox_Select(*args, **kwargs)
 
         """
         return _controls_.ListBox_Select(*args, **kwargs)
 
@@ -1048,6 +1375,14 @@ class ListBox(_core.ControlWithItems):
         """IsSorted(self) -> bool"""
         return _controls_.ListBox_IsSorted(*args, **kwargs)
 
         """IsSorted(self) -> bool"""
         return _controls_.ListBox_IsSorted(*args, **kwargs)
 
+    def HitTest(*args, **kwargs):
+        """
+        HitTest(self, Point pt) -> int
+
+        Test where the given (in client coords) point lies
+        """
+        return _controls_.ListBox_HitTest(*args, **kwargs)
+
     def SetItemForegroundColour(*args, **kwargs):
         """SetItemForegroundColour(self, int item, Colour c)"""
         return _controls_.ListBox_SetItemForegroundColour(*args, **kwargs)
     def SetItemForegroundColour(*args, **kwargs):
         """SetItemForegroundColour(self, int item, Colour c)"""
         return _controls_.ListBox_SetItemForegroundColour(*args, **kwargs)
@@ -1064,117 +1399,89 @@ class ListBox(_core.ControlWithItems):
         """
         GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
         """
         GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
-        Get the default attributes for this class.  This is useful if
-        you want to use the same font or colour in your own control as
-        in a standard control -- which is a much better idea than hard
-        coding specific colours or fonts which might look completely out
-        of place on the users system, especially if it uses themes.
+        Get the default attributes for this class.  This is useful if you want
+        to use the same font or colour in your own control as in a standard
+        control -- which is a much better idea than hard coding specific
+        colours or fonts which might look completely out of place on the
+        user's system, especially if it uses themes.
 
         The variant parameter is only relevant under Mac currently and is
 
         The variant parameter is only relevant under Mac currently and is
-        ignore under other platforms. Under Mac, it will change the size of the
-        returned font. See SetWindowVariant for more about this.
+        ignore under other platforms. Under Mac, it will change the size of
+        the returned font. See `wx.Window.SetWindowVariant` for more about
+        this.
         """
         return _controls_.ListBox_GetClassDefaultAttributes(*args, **kwargs)
 
     GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
         """
         return _controls_.ListBox_GetClassDefaultAttributes(*args, **kwargs)
 
     GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
-
-class ListBoxPtr(ListBox):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = ListBox
-_controls_.ListBox_swigregister(ListBoxPtr)
+    Selections = property(GetSelections,doc="See `GetSelections`") 
+_controls_.ListBox_swigregister(ListBox)
 ListBoxNameStr = cvar.ListBoxNameStr
 
 def PreListBox(*args, **kwargs):
     """PreListBox() -> ListBox"""
     val = _controls_.new_PreListBox(*args, **kwargs)
 ListBoxNameStr = cvar.ListBoxNameStr
 
 def PreListBox(*args, **kwargs):
     """PreListBox() -> ListBox"""
     val = _controls_.new_PreListBox(*args, **kwargs)
-    val.thisown = 1
     return val
 
 def ListBox_GetClassDefaultAttributes(*args, **kwargs):
     return val
 
 def ListBox_GetClassDefaultAttributes(*args, **kwargs):
-    """
+  """
     ListBox_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
     ListBox_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
-    Get the default attributes for this class.  This is useful if
-    you want to use the same font or colour in your own control as
-    in a standard control -- which is a much better idea than hard
-    coding specific colours or fonts which might look completely out
-    of place on the users system, especially if it uses themes.
+    Get the default attributes for this class.  This is useful if you want
+    to use the same font or colour in your own control as in a standard
+    control -- which is a much better idea than hard coding specific
+    colours or fonts which might look completely out of place on the
+    user's system, especially if it uses themes.
 
     The variant parameter is only relevant under Mac currently and is
 
     The variant parameter is only relevant under Mac currently and is
-    ignore under other platforms. Under Mac, it will change the size of the
-    returned font. See SetWindowVariant for more about this.
+    ignore under other platforms. Under Mac, it will change the size of
+    the returned font. See `wx.Window.SetWindowVariant` for more about
+    this.
     """
     """
-    return _controls_.ListBox_GetClassDefaultAttributes(*args, **kwargs)
+  return _controls_.ListBox_GetClassDefaultAttributes(*args, **kwargs)
 
 #---------------------------------------------------------------------------
 
 class CheckListBox(ListBox):
 
 #---------------------------------------------------------------------------
 
 class CheckListBox(ListBox):
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxCheckListBox instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def __init__(self, *args, **kwargs):
+    """Proxy of C++ CheckListBox class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """
         """
-        __init__(self, Window parent, int id, Point pos=DefaultPosition, Size size=DefaultSize
-            wxArrayString choices=wxPyEmptyStringArray, 
+        __init__(self, Window parent, int id=-1, Point pos=DefaultPosition
+            Size size=DefaultSize, wxArrayString choices=wxPyEmptyStringArray, 
             long style=0, Validator validator=DefaultValidator, 
             String name=ListBoxNameStr) -> CheckListBox
         """
             long style=0, Validator validator=DefaultValidator, 
             String name=ListBoxNameStr) -> CheckListBox
         """
-        newobj = _controls_.new_CheckListBox(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
+        _controls_.CheckListBox_swiginit(self,_controls_.new_CheckListBox(*args, **kwargs))
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
         """
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
         """
-        Create(self, Window parent, int id, Point pos=DefaultPosition, Size size=DefaultSize
-            wxArrayString choices=wxPyEmptyStringArray, 
+        Create(self, Window parent, int id=-1, Point pos=DefaultPosition
+            Size size=DefaultSize, wxArrayString choices=wxPyEmptyStringArray, 
             long style=0, Validator validator=DefaultValidator, 
             String name=ListBoxNameStr) -> bool
         """
         return _controls_.CheckListBox_Create(*args, **kwargs)
 
     def IsChecked(*args, **kwargs):
             long style=0, Validator validator=DefaultValidator, 
             String name=ListBoxNameStr) -> bool
         """
         return _controls_.CheckListBox_Create(*args, **kwargs)
 
     def IsChecked(*args, **kwargs):
-        """IsChecked(self, int index) -> bool"""
+        """IsChecked(self, unsigned int index) -> bool"""
         return _controls_.CheckListBox_IsChecked(*args, **kwargs)
 
     def Check(*args, **kwargs):
         return _controls_.CheckListBox_IsChecked(*args, **kwargs)
 
     def Check(*args, **kwargs):
-        """Check(self, int index, int check=True)"""
+        """Check(self, unsigned int index, int check=True)"""
         return _controls_.CheckListBox_Check(*args, **kwargs)
 
     def GetItemHeight(*args, **kwargs):
         """GetItemHeight(self) -> int"""
         return _controls_.CheckListBox_GetItemHeight(*args, **kwargs)
 
         return _controls_.CheckListBox_Check(*args, **kwargs)
 
     def GetItemHeight(*args, **kwargs):
         """GetItemHeight(self) -> int"""
         return _controls_.CheckListBox_GetItemHeight(*args, **kwargs)
 
-    def HitTest(*args, **kwargs):
-        """
-        HitTest(self, Point pt) -> int
-
-        Test where the given (in client coords) point lies
-        """
-        return _controls_.CheckListBox_HitTest(*args, **kwargs)
-
-    def HitTestXY(*args, **kwargs):
-        """
-        HitTestXY(self, int x, int y) -> int
-
-        Test where the given (in client coords) point lies
-        """
-        return _controls_.CheckListBox_HitTestXY(*args, **kwargs)
-
-
-class CheckListBoxPtr(CheckListBox):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = CheckListBox
-_controls_.CheckListBox_swigregister(CheckListBoxPtr)
+    ItemHeight = property(GetItemHeight,doc="See `GetItemHeight`") 
+_controls_.CheckListBox_swigregister(CheckListBox)
 
 def PreCheckListBox(*args, **kwargs):
     """PreCheckListBox() -> CheckListBox"""
     val = _controls_.new_PreCheckListBox(*args, **kwargs)
 
 def PreCheckListBox(*args, **kwargs):
     """PreCheckListBox() -> CheckListBox"""
     val = _controls_.new_PreCheckListBox(*args, **kwargs)
-    val.thisown = 1
     return val
 
 #---------------------------------------------------------------------------
     return val
 
 #---------------------------------------------------------------------------
@@ -1194,9 +1501,12 @@ TE_PASSWORD = _controls_.TE_PASSWORD
 TE_AUTO_URL = _controls_.TE_AUTO_URL
 TE_NOHIDESEL = _controls_.TE_NOHIDESEL
 TE_DONTWRAP = _controls_.TE_DONTWRAP
 TE_AUTO_URL = _controls_.TE_AUTO_URL
 TE_NOHIDESEL = _controls_.TE_NOHIDESEL
 TE_DONTWRAP = _controls_.TE_DONTWRAP
-TE_LINEWRAP = _controls_.TE_LINEWRAP
+TE_CHARWRAP = _controls_.TE_CHARWRAP
 TE_WORDWRAP = _controls_.TE_WORDWRAP
 TE_WORDWRAP = _controls_.TE_WORDWRAP
+TE_BESTWRAP = _controls_.TE_BESTWRAP
 TE_RICH2 = _controls_.TE_RICH2
 TE_RICH2 = _controls_.TE_RICH2
+TE_CAPITALIZE = _controls_.TE_CAPITALIZE
+TE_LINEWRAP = TE_CHARWRAP 
 TEXT_ALIGNMENT_DEFAULT = _controls_.TEXT_ALIGNMENT_DEFAULT
 TEXT_ALIGNMENT_LEFT = _controls_.TEXT_ALIGNMENT_LEFT
 TEXT_ALIGNMENT_CENTRE = _controls_.TEXT_ALIGNMENT_CENTRE
 TEXT_ALIGNMENT_DEFAULT = _controls_.TEXT_ALIGNMENT_DEFAULT
 TEXT_ALIGNMENT_LEFT = _controls_.TEXT_ALIGNMENT_LEFT
 TEXT_ALIGNMENT_CENTRE = _controls_.TEXT_ALIGNMENT_CENTRE
@@ -1220,29 +1530,30 @@ 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
 TE_HT_ON_TEXT = _controls_.TE_HT_ON_TEXT
 TE_HT_BELOW = _controls_.TE_HT_BELOW
 TE_HT_BEYOND = _controls_.TE_HT_BEYOND
+OutOfRangeTextCoord = _controls_.OutOfRangeTextCoord
+InvalidTextCoord = _controls_.InvalidTextCoord
+TEXT_TYPE_ANY = _controls_.TEXT_TYPE_ANY
 class TextAttr(object):
 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__(self) -> TextAttr
-        __init__(self, 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__(self)"""
-        try:
-            if self.thisown: destroy(self)
-        except: pass
-
+    """Proxy of C++ TextAttr class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
+        """
+        __init__(self, Colour colText=wxNullColour, Colour colBack=wxNullColour, 
+            Font font=wxNullFont, int alignment=TEXT_ALIGNMENT_DEFAULT) -> TextAttr
+        """
+        _controls_.TextAttr_swiginit(self,_controls_.new_TextAttr(*args, **kwargs))
+    __swig_destroy__ = _controls_.delete_TextAttr
+    __del__ = lambda self : None;
     def Init(*args, **kwargs):
         """Init(self)"""
         return _controls_.TextAttr_Init(*args, **kwargs)
 
     def Init(*args, **kwargs):
         """Init(self)"""
         return _controls_.TextAttr_Init(*args, **kwargs)
 
+    def Merge(*args, **kwargs):
+        """Merge(TextAttr base, TextAttr overlay) -> TextAttr"""
+        return _controls_.TextAttr_Merge(*args, **kwargs)
+
+    Merge = staticmethod(Merge)
     def SetTextColour(*args, **kwargs):
         """SetTextColour(self, Colour colText)"""
         return _controls_.TextAttr_SetTextColour(*args, **kwargs)
     def SetTextColour(*args, **kwargs):
         """SetTextColour(self, Colour colText)"""
         return _controls_.TextAttr_SetTextColour(*args, **kwargs)
@@ -1264,7 +1575,7 @@ class TextAttr(object):
         return _controls_.TextAttr_SetTabs(*args, **kwargs)
 
     def SetLeftIndent(*args, **kwargs):
         return _controls_.TextAttr_SetTabs(*args, **kwargs)
 
     def SetLeftIndent(*args, **kwargs):
-        """SetLeftIndent(self, int indent)"""
+        """SetLeftIndent(self, int indent, int subIndent=0)"""
         return _controls_.TextAttr_SetLeftIndent(*args, **kwargs)
 
     def SetRightIndent(*args, **kwargs):
         return _controls_.TextAttr_SetLeftIndent(*args, **kwargs)
 
     def SetRightIndent(*args, **kwargs):
@@ -1331,6 +1642,10 @@ class TextAttr(object):
         """GetLeftIndent(self) -> long"""
         return _controls_.TextAttr_GetLeftIndent(*args, **kwargs)
 
         """GetLeftIndent(self) -> long"""
         return _controls_.TextAttr_GetLeftIndent(*args, **kwargs)
 
+    def GetLeftSubIndent(*args, **kwargs):
+        """GetLeftSubIndent(self) -> long"""
+        return _controls_.TextAttr_GetLeftSubIndent(*args, **kwargs)
+
     def GetRightIndent(*args, **kwargs):
         """GetRightIndent(self) -> long"""
         return _controls_.TextAttr_GetRightIndent(*args, **kwargs)
     def GetRightIndent(*args, **kwargs):
         """GetRightIndent(self) -> long"""
         return _controls_.TextAttr_GetRightIndent(*args, **kwargs)
@@ -1348,39 +1663,44 @@ class TextAttr(object):
         return _controls_.TextAttr_Combine(*args, **kwargs)
 
     Combine = staticmethod(Combine)
         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)
+    Alignment = property(GetAlignment,SetAlignment,doc="See `GetAlignment` and `SetAlignment`") 
+    BackgroundColour = property(GetBackgroundColour,SetBackgroundColour,doc="See `GetBackgroundColour` and `SetBackgroundColour`") 
+    Flags = property(GetFlags,SetFlags,doc="See `GetFlags` and `SetFlags`") 
+    Font = property(GetFont,SetFont,doc="See `GetFont` and `SetFont`") 
+    LeftIndent = property(GetLeftIndent,SetLeftIndent,doc="See `GetLeftIndent` and `SetLeftIndent`") 
+    LeftSubIndent = property(GetLeftSubIndent,doc="See `GetLeftSubIndent`") 
+    RightIndent = property(GetRightIndent,SetRightIndent,doc="See `GetRightIndent` and `SetRightIndent`") 
+    Tabs = property(GetTabs,SetTabs,doc="See `GetTabs` and `SetTabs`") 
+    TextColour = property(GetTextColour,SetTextColour,doc="See `GetTextColour` and `SetTextColour`") 
+_controls_.TextAttr_swigregister(TextAttr)
 TextCtrlNameStr = cvar.TextCtrlNameStr
 
 TextCtrlNameStr = cvar.TextCtrlNameStr
 
+def TextAttr_Merge(*args, **kwargs):
+  """TextAttr_Merge(TextAttr base, TextAttr overlay) -> TextAttr"""
+  return _controls_.TextAttr_Merge(*args, **kwargs)
+
 def TextAttr_Combine(*args, **kwargs):
 def TextAttr_Combine(*args, **kwargs):
-    """TextAttr_Combine(TextAttr attr, TextAttr attrDef, TextCtrl text) -> TextAttr"""
-    return _controls_.TextAttr_Combine(*args, **kwargs)
+  """TextAttr_Combine(TextAttr attr, TextAttr attrDef, TextCtrl text) -> TextAttr"""
+  return _controls_.TextAttr_Combine(*args, **kwargs)
 
 class TextCtrl(_core.Control):
 
 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):
+    """Proxy of C++ TextCtrl class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """
         """
-        __init__(self, Window parent, int id, String value=EmptyString, Point pos=DefaultPosition
-            Size size=DefaultSize, 
+        __init__(self, Window parent, int id=-1, String value=EmptyString
+            Point pos=DefaultPosition, Size size=DefaultSize, 
             long style=0, Validator validator=DefaultValidator, 
             String name=TextCtrlNameStr) -> TextCtrl
         """
             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
+        _controls_.TextCtrl_swiginit(self,_controls_.new_TextCtrl(*args, **kwargs))
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
         """
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
         """
-        Create(self, Window parent, int id, String value=EmptyString, Point pos=DefaultPosition
-            Size size=DefaultSize, 
+        Create(self, Window parent, int id=-1, String value=EmptyString
+            Point pos=DefaultPosition, Size size=DefaultSize, 
             long style=0, Validator validator=DefaultValidator, 
             String name=TextCtrlNameStr) -> bool
         """
             long style=0, Validator validator=DefaultValidator, 
             String name=TextCtrlNameStr) -> bool
         """
@@ -1394,6 +1714,14 @@ class TextCtrl(_core.Control):
         """SetValue(self, String value)"""
         return _controls_.TextCtrl_SetValue(*args, **kwargs)
 
         """SetValue(self, String value)"""
         return _controls_.TextCtrl_SetValue(*args, **kwargs)
 
+    def IsEmpty(*args, **kwargs):
+        """IsEmpty(self) -> bool"""
+        return _controls_.TextCtrl_IsEmpty(*args, **kwargs)
+
+    def ChangeValue(*args, **kwargs):
+        """ChangeValue(self, String value)"""
+        return _controls_.TextCtrl_ChangeValue(*args, **kwargs)
+
     def GetRange(*args, **kwargs):
         """GetRange(self, long from, long to) -> String"""
         return _controls_.TextCtrl_GetRange(*args, **kwargs)
     def GetRange(*args, **kwargs):
         """GetRange(self, long from, long to) -> String"""
         return _controls_.TextCtrl_GetRange(*args, **kwargs)
@@ -1451,11 +1779,11 @@ class TextCtrl(_core.Control):
         return _controls_.TextCtrl_Remove(*args, **kwargs)
 
     def LoadFile(*args, **kwargs):
         return _controls_.TextCtrl_Remove(*args, **kwargs)
 
     def LoadFile(*args, **kwargs):
-        """LoadFile(self, String file) -> bool"""
+        """LoadFile(self, String file, int fileType=TEXT_TYPE_ANY) -> bool"""
         return _controls_.TextCtrl_LoadFile(*args, **kwargs)
 
     def SaveFile(*args, **kwargs):
         return _controls_.TextCtrl_LoadFile(*args, **kwargs)
 
     def SaveFile(*args, **kwargs):
-        """SaveFile(self, String file=EmptyString) -> bool"""
+        """SaveFile(self, String file=EmptyString, int fileType=TEXT_TYPE_ANY) -> bool"""
         return _controls_.TextCtrl_SaveFile(*args, **kwargs)
 
     def MarkDirty(*args, **kwargs):
         return _controls_.TextCtrl_SaveFile(*args, **kwargs)
 
     def MarkDirty(*args, **kwargs):
@@ -1466,6 +1794,10 @@ class TextCtrl(_core.Control):
         """DiscardEdits(self)"""
         return _controls_.TextCtrl_DiscardEdits(*args, **kwargs)
 
         """DiscardEdits(self)"""
         return _controls_.TextCtrl_DiscardEdits(*args, **kwargs)
 
+    def SetModified(*args, **kwargs):
+        """SetModified(self, bool modified)"""
+        return _controls_.TextCtrl_SetModified(*args, **kwargs)
+
     def SetMaxLength(*args, **kwargs):
         """SetMaxLength(self, unsigned long len)"""
         return _controls_.TextCtrl_SetMaxLength(*args, **kwargs)
     def SetMaxLength(*args, **kwargs):
         """SetMaxLength(self, unsigned long len)"""
         return _controls_.TextCtrl_SetMaxLength(*args, **kwargs)
@@ -1512,14 +1844,24 @@ class TextCtrl(_core.Control):
 
     def HitTest(*args, **kwargs):
         """
 
     def HitTest(*args, **kwargs):
         """
-        HitTest(Point pt) -> (result, row, col)
+        HitTest(Point pt) -> (result, col, row)
 
 
-        Find the character at position given in pixels.
-        NB: pt is in device coords (not adjusted for the client area
-        origin nor scrolling)
+        Find the row, col coresponding to the character at the point given in
+        pixels. NB: pt is in device coords but is not adjusted for the client
+        area origin nor scrolling.
         """
         return _controls_.TextCtrl_HitTest(*args, **kwargs)
 
         """
         return _controls_.TextCtrl_HitTest(*args, **kwargs)
 
+    def HitTestPos(*args, **kwargs):
+        """
+        HitTestPos(Point pt) -> (result, position)
+
+        Find the character position in the text coresponding to the point
+        given in pixels. NB: pt is in device coords but is not adjusted for
+        the client area origin nor scrolling. 
+        """
+        return _controls_.TextCtrl_HitTestPos(*args, **kwargs)
+
     def Copy(*args, **kwargs):
         """Copy(self)"""
         return _controls_.TextCtrl_Copy(*args, **kwargs)
     def Copy(*args, **kwargs):
         """Copy(self)"""
         return _controls_.TextCtrl_Copy(*args, **kwargs)
@@ -1588,6 +1930,10 @@ class TextCtrl(_core.Control):
         """SetEditable(self, bool editable)"""
         return _controls_.TextCtrl_SetEditable(*args, **kwargs)
 
         """SetEditable(self, bool editable)"""
         return _controls_.TextCtrl_SetEditable(*args, **kwargs)
 
+    def SendTextUpdatedEvent(*args, **kwargs):
+        """SendTextUpdatedEvent(self)"""
+        return _controls_.TextCtrl_SendTextUpdatedEvent(*args, **kwargs)
+
     def ShowNativeCaret(*args, **kwargs):
         """ShowNativeCaret(self, bool show=True) -> bool"""
         return _controls_.TextCtrl_ShowNativeCaret(*args, **kwargs)
     def ShowNativeCaret(*args, **kwargs):
         """ShowNativeCaret(self, bool show=True) -> bool"""
         return _controls_.TextCtrl_ShowNativeCaret(*args, **kwargs)
@@ -1604,33 +1950,66 @@ class TextCtrl(_core.Control):
         """GetString(self, long from, long to) -> String"""
         return _controls_.TextCtrl_GetString(*args, **kwargs)
 
         """GetString(self, long from, long to) -> String"""
         return _controls_.TextCtrl_GetString(*args, **kwargs)
 
+    def GetClassDefaultAttributes(*args, **kwargs):
+        """
+        GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
+
+        Get the default attributes for this class.  This is useful if you want
+        to use the same font or colour in your own control as in a standard
+        control -- which is a much better idea than hard coding specific
+        colours or fonts which might look completely out of place on the
+        user's system, especially if it uses themes.
+
+        The variant parameter is only relevant under Mac currently and is
+        ignore under other platforms. Under Mac, it will change the size of
+        the returned font. See `wx.Window.SetWindowVariant` for more about
+        this.
+        """
+        return _controls_.TextCtrl_GetClassDefaultAttributes(*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)
+    GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
+    DefaultStyle = property(GetDefaultStyle,SetDefaultStyle,doc="See `GetDefaultStyle` and `SetDefaultStyle`") 
+    InsertionPoint = property(GetInsertionPoint,SetInsertionPoint,doc="See `GetInsertionPoint` and `SetInsertionPoint`") 
+    LastPosition = property(GetLastPosition,doc="See `GetLastPosition`") 
+    NumberOfLines = property(GetNumberOfLines,doc="See `GetNumberOfLines`") 
+    Selection = property(GetSelection,SetSelection,doc="See `GetSelection` and `SetSelection`") 
+    StringSelection = property(GetStringSelection,doc="See `GetStringSelection`") 
+    Value = property(GetValue,SetValue,doc="See `GetValue` and `SetValue`") 
+_controls_.TextCtrl_swigregister(TextCtrl)
 
 def PreTextCtrl(*args, **kwargs):
     """PreTextCtrl() -> TextCtrl"""
     val = _controls_.new_PreTextCtrl(*args, **kwargs)
 
 def PreTextCtrl(*args, **kwargs):
     """PreTextCtrl() -> TextCtrl"""
     val = _controls_.new_PreTextCtrl(*args, **kwargs)
-    val.thisown = 1
     return val
 
     return val
 
+def TextCtrl_GetClassDefaultAttributes(*args, **kwargs):
+  """
+    TextCtrl_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
+
+    Get the default attributes for this class.  This is useful if you want
+    to use the same font or colour in your own control as in a standard
+    control -- which is a much better idea than hard coding specific
+    colours or fonts which might look completely out of place on the
+    user's system, especially if it uses themes.
+
+    The variant parameter is only relevant under Mac currently and is
+    ignore under other platforms. Under Mac, it will change the size of
+    the returned font. See `wx.Window.SetWindowVariant` for more about
+    this.
+    """
+  return _controls_.TextCtrl_GetClassDefaultAttributes(*args, **kwargs)
+
 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):
 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):
+    """Proxy of C++ TextUrlEvent class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """__init__(self, int winid, MouseEvent evtMouse, long start, long end) -> TextUrlEvent"""
         """__init__(self, 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
+        _controls_.TextUrlEvent_swiginit(self,_controls_.new_TextUrlEvent(*args, **kwargs))
     def GetMouseEvent(*args, **kwargs):
         """GetMouseEvent(self) -> MouseEvent"""
         return _controls_.TextUrlEvent_GetMouseEvent(*args, **kwargs)
     def GetMouseEvent(*args, **kwargs):
         """GetMouseEvent(self) -> MouseEvent"""
         return _controls_.TextUrlEvent_GetMouseEvent(*args, **kwargs)
@@ -1643,13 +2022,10 @@ class TextUrlEvent(_core.CommandEvent):
         """GetURLEnd(self) -> long"""
         return _controls_.TextUrlEvent_GetURLEnd(*args, **kwargs)
 
         """GetURLEnd(self) -> 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)
+    MouseEvent = property(GetMouseEvent,doc="See `GetMouseEvent`") 
+    URLEnd = property(GetURLEnd,doc="See `GetURLEnd`") 
+    URLStart = property(GetURLStart,doc="See `GetURLStart`") 
+_controls_.TextUrlEvent_swigregister(TextUrlEvent)
 
 EVT_TEXT        = wx.PyEventBinder( wxEVT_COMMAND_TEXT_UPDATED, 1)
 EVT_TEXT_ENTER  = wx.PyEventBinder( wxEVT_COMMAND_TEXT_ENTER, 1)
 
 EVT_TEXT        = wx.PyEventBinder( wxEVT_COMMAND_TEXT_UPDATED, 1)
 EVT_TEXT_ENTER  = wx.PyEventBinder( wxEVT_COMMAND_TEXT_ENTER, 1)
@@ -1659,18 +2035,16 @@ EVT_TEXT_MAXLEN = wx.PyEventBinder( wxEVT_COMMAND_TEXT_MAXLEN, 1)
 #---------------------------------------------------------------------------
 
 class ScrollBar(_core.Control):
 #---------------------------------------------------------------------------
 
 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):
+    """Proxy of C++ ScrollBar class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """
         __init__(self, Window parent, int id=-1, Point pos=DefaultPosition, 
             Size size=DefaultSize, long style=SB_HORIZONTAL, 
             Validator validator=DefaultValidator, String name=ScrollBarNameStr) -> ScrollBar
         """
         """
         __init__(self, 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
+        _controls_.ScrollBar_swiginit(self,_controls_.new_ScrollBar(*args, **kwargs))
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
@@ -1708,42 +2082,53 @@ class ScrollBar(_core.Control):
         """SetThumbPosition(self, int viewStart)"""
         return _controls_.ScrollBar_SetThumbPosition(*args, **kwargs)
 
         """SetThumbPosition(self, int viewStart)"""
         return _controls_.ScrollBar_SetThumbPosition(*args, **kwargs)
 
-    def SetScrollbar(*args, **kwargs):
+    def GetClassDefaultAttributes(*args, **kwargs):
         """
         """
-        SetScrollbar(self, 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.
+        GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
 
-            range:       The maximum position of the scrollbar.
+        Get the default attributes for this class.  This is useful if you want
+        to use the same font or colour in your own control as in a standard
+        control -- which is a much better idea than hard coding specific
+        colours or fonts which might look completely out of place on the
+        user's system, especially if it uses themes.
 
 
-            refresh:     True to redraw the scrollbar, false otherwise.
+        The variant parameter is only relevant under Mac currently and is
+        ignore under other platforms. Under Mac, it will change the size of
+        the returned font. See `wx.Window.SetWindowVariant` for more about
+        this.
         """
         """
-        return _controls_.ScrollBar_SetScrollbar(*args, **kwargs)
+        return _controls_.ScrollBar_GetClassDefaultAttributes(*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)
+    GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
+    PageSize = property(GetPageSize,doc="See `GetPageSize`") 
+    Range = property(GetRange,doc="See `GetRange`") 
+    ThumbPosition = property(GetThumbPosition,SetThumbPosition,doc="See `GetThumbPosition` and `SetThumbPosition`") 
+    ThumbSize = property(GetThumbSize,doc="See `GetThumbSize`") 
+_controls_.ScrollBar_swigregister(ScrollBar)
 ScrollBarNameStr = cvar.ScrollBarNameStr
 
 def PreScrollBar(*args, **kwargs):
     """PreScrollBar() -> ScrollBar"""
     val = _controls_.new_PreScrollBar(*args, **kwargs)
 ScrollBarNameStr = cvar.ScrollBarNameStr
 
 def PreScrollBar(*args, **kwargs):
     """PreScrollBar() -> ScrollBar"""
     val = _controls_.new_PreScrollBar(*args, **kwargs)
-    val.thisown = 1
     return val
 
     return val
 
+def ScrollBar_GetClassDefaultAttributes(*args, **kwargs):
+  """
+    ScrollBar_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
+
+    Get the default attributes for this class.  This is useful if you want
+    to use the same font or colour in your own control as in a standard
+    control -- which is a much better idea than hard coding specific
+    colours or fonts which might look completely out of place on the
+    user's system, especially if it uses themes.
+
+    The variant parameter is only relevant under Mac currently and is
+    ignore under other platforms. Under Mac, it will change the size of
+    the returned font. See `wx.Window.SetWindowVariant` for more about
+    this.
+    """
+  return _controls_.ScrollBar_GetClassDefaultAttributes(*args, **kwargs)
+
 #---------------------------------------------------------------------------
 
 SP_HORIZONTAL = _controls_.SP_HORIZONTAL
 #---------------------------------------------------------------------------
 
 SP_HORIZONTAL = _controls_.SP_HORIZONTAL
@@ -1751,18 +2136,16 @@ SP_VERTICAL = _controls_.SP_VERTICAL
 SP_ARROW_KEYS = _controls_.SP_ARROW_KEYS
 SP_WRAP = _controls_.SP_WRAP
 class SpinButton(_core.Control):
 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):
+    """Proxy of C++ SpinButton class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """
         __init__(self, Window parent, int id=-1, Point pos=DefaultPosition, 
             Size size=DefaultSize, long style=SP_HORIZONTAL, 
             String name=SPIN_BUTTON_NAME) -> SpinButton
         """
         """
         __init__(self, 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
+        _controls_.SpinButton_swiginit(self,_controls_.new_SpinButton(*args, **kwargs))
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
@@ -1805,36 +2188,65 @@ class SpinButton(_core.Control):
         """IsVertical(self) -> bool"""
         return _controls_.SpinButton_IsVertical(*args, **kwargs)
 
         """IsVertical(self) -> bool"""
         return _controls_.SpinButton_IsVertical(*args, **kwargs)
 
+    def GetClassDefaultAttributes(*args, **kwargs):
+        """
+        GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
+
+        Get the default attributes for this class.  This is useful if you want
+        to use the same font or colour in your own control as in a standard
+        control -- which is a much better idea than hard coding specific
+        colours or fonts which might look completely out of place on the
+        user's system, especially if it uses themes.
+
+        The variant parameter is only relevant under Mac currently and is
+        ignore under other platforms. Under Mac, it will change the size of
+        the returned font. See `wx.Window.SetWindowVariant` for more about
+        this.
+        """
+        return _controls_.SpinButton_GetClassDefaultAttributes(*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)
+    GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
+    Max = property(GetMax,SetMax,doc="See `GetMax` and `SetMax`") 
+    Min = property(GetMin,SetMin,doc="See `GetMin` and `SetMin`") 
+    Value = property(GetValue,SetValue,doc="See `GetValue` and `SetValue`") 
+_controls_.SpinButton_swigregister(SpinButton)
 SPIN_BUTTON_NAME = cvar.SPIN_BUTTON_NAME
 SpinCtrlNameStr = cvar.SpinCtrlNameStr
 
 def PreSpinButton(*args, **kwargs):
     """PreSpinButton() -> SpinButton"""
     val = _controls_.new_PreSpinButton(*args, **kwargs)
 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
 
     return val
 
+def SpinButton_GetClassDefaultAttributes(*args, **kwargs):
+  """
+    SpinButton_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
+
+    Get the default attributes for this class.  This is useful if you want
+    to use the same font or colour in your own control as in a standard
+    control -- which is a much better idea than hard coding specific
+    colours or fonts which might look completely out of place on the
+    user's system, especially if it uses themes.
+
+    The variant parameter is only relevant under Mac currently and is
+    ignore under other platforms. Under Mac, it will change the size of
+    the returned font. See `wx.Window.SetWindowVariant` for more about
+    this.
+    """
+  return _controls_.SpinButton_GetClassDefaultAttributes(*args, **kwargs)
+
 class SpinCtrl(_core.Control):
 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):
+    """Proxy of C++ SpinCtrl class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """
         __init__(self, 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
         """
         """
         __init__(self, 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
+        _controls_.SpinCtrl_swiginit(self,_controls_.new_SpinCtrl(*args, **kwargs))
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
@@ -1874,29 +2286,58 @@ class SpinCtrl(_core.Control):
         """SetSelection(self, long from, long to)"""
         return _controls_.SpinCtrl_SetSelection(*args, **kwargs)
 
         """SetSelection(self, long from, long to)"""
         return _controls_.SpinCtrl_SetSelection(*args, **kwargs)
 
+    def GetClassDefaultAttributes(*args, **kwargs):
+        """
+        GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
+
+        Get the default attributes for this class.  This is useful if you want
+        to use the same font or colour in your own control as in a standard
+        control -- which is a much better idea than hard coding specific
+        colours or fonts which might look completely out of place on the
+        user's system, especially if it uses themes.
+
+        The variant parameter is only relevant under Mac currently and is
+        ignore under other platforms. Under Mac, it will change the size of
+        the returned font. See `wx.Window.SetWindowVariant` for more about
+        this.
+        """
+        return _controls_.SpinCtrl_GetClassDefaultAttributes(*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)
+    GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
+    Max = property(GetMax,doc="See `GetMax`") 
+    Min = property(GetMin,doc="See `GetMin`") 
+    Value = property(GetValue,SetValue,doc="See `GetValue` and `SetValue`") 
+_controls_.SpinCtrl_swigregister(SpinCtrl)
 
 def PreSpinCtrl(*args, **kwargs):
     """PreSpinCtrl() -> SpinCtrl"""
     val = _controls_.new_PreSpinCtrl(*args, **kwargs)
 
 def PreSpinCtrl(*args, **kwargs):
     """PreSpinCtrl() -> SpinCtrl"""
     val = _controls_.new_PreSpinCtrl(*args, **kwargs)
-    val.thisown = 1
     return val
 
     return val
 
+def SpinCtrl_GetClassDefaultAttributes(*args, **kwargs):
+  """
+    SpinCtrl_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
+
+    Get the default attributes for this class.  This is useful if you want
+    to use the same font or colour in your own control as in a standard
+    control -- which is a much better idea than hard coding specific
+    colours or fonts which might look completely out of place on the
+    user's system, especially if it uses themes.
+
+    The variant parameter is only relevant under Mac currently and is
+    ignore under other platforms. Under Mac, it will change the size of
+    the returned font. See `wx.Window.SetWindowVariant` for more about
+    this.
+    """
+  return _controls_.SpinCtrl_GetClassDefaultAttributes(*args, **kwargs)
+
 class SpinEvent(_core.NotifyEvent):
 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__(self, wxEventType commandType=wxEVT_NULL, int winid=0) -> SpinEvent"""
-        newobj = _controls_.new_SpinEvent(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
+    """Proxy of C++ SpinEvent class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
+        """__init__(self, EventType commandType=wxEVT_NULL, int winid=0) -> SpinEvent"""
+        _controls_.SpinEvent_swiginit(self,_controls_.new_SpinEvent(*args, **kwargs))
     def GetPosition(*args, **kwargs):
         """GetPosition(self) -> int"""
         return _controls_.SpinEvent_GetPosition(*args, **kwargs)
     def GetPosition(*args, **kwargs):
         """GetPosition(self) -> int"""
         return _controls_.SpinEvent_GetPosition(*args, **kwargs)
@@ -1905,13 +2346,8 @@ class SpinEvent(_core.NotifyEvent):
         """SetPosition(self, int pos)"""
         return _controls_.SpinEvent_SetPosition(*args, **kwargs)
 
         """SetPosition(self, 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)
+    Position = property(GetPosition,SetPosition,doc="See `GetPosition` and `SetPosition`") 
+_controls_.SpinEvent_swigregister(SpinEvent)
 
 wxEVT_COMMAND_SPINCTRL_UPDATED = _controls_.wxEVT_COMMAND_SPINCTRL_UPDATED
 EVT_SPIN_UP   = wx.PyEventBinder( wx.wxEVT_SCROLL_LINEUP, 1)
 
 wxEVT_COMMAND_SPINCTRL_UPDATED = _controls_.wxEVT_COMMAND_SPINCTRL_UPDATED
 EVT_SPIN_UP   = wx.PyEventBinder( wx.wxEVT_SCROLL_LINEUP, 1)
@@ -1922,29 +2358,29 @@ EVT_SPINCTRL  = wx.PyEventBinder( wxEVT_COMMAND_SPINCTRL_UPDATED, 1)
 #---------------------------------------------------------------------------
 
 class RadioBox(_core.Control):
 #---------------------------------------------------------------------------
 
 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):
+    """Proxy of C++ RadioBox class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """
         """
-        __init__(self, 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, 
+        __init__(self, Window parent, int id=-1, String label=EmptyString, 
+            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'];del kwargs['point']
             String name=RadioBoxNameStr) -> RadioBox
         """
         if kwargs.has_key('point'): kwargs['pos'] = kwargs['point'];del kwargs['point']
-        newobj = _controls_.new_RadioBox(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
+        _controls_.RadioBox_swiginit(self,_controls_.new_RadioBox(*args, **kwargs))
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
         """
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
         """
-        Create(self, 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, 
+        Create(self, Window parent, int id=-1, String label=EmptyString, 
+            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)
             String name=RadioBoxNameStr) -> bool
         """
         return _controls_.RadioBox_Create(*args, **kwargs)
@@ -1966,7 +2402,7 @@ class RadioBox(_core.Control):
         return _controls_.RadioBox_SetStringSelection(*args, **kwargs)
 
     def GetCount(*args, **kwargs):
         return _controls_.RadioBox_SetStringSelection(*args, **kwargs)
 
     def GetCount(*args, **kwargs):
-        """GetCount(self) -> int"""
+        """GetCount(self) -> size_t"""
         return _controls_.RadioBox_GetCount(*args, **kwargs)
 
     def FindString(*args, **kwargs):
         return _controls_.RadioBox_GetCount(*args, **kwargs)
 
     def FindString(*args, **kwargs):
@@ -1984,63 +2420,120 @@ class RadioBox(_core.Control):
     GetItemLabel = GetString 
     SetItemLabel = SetString 
     def EnableItem(*args, **kwargs):
     GetItemLabel = GetString 
     SetItemLabel = SetString 
     def EnableItem(*args, **kwargs):
-        """EnableItem(self, int n, bool enable=True)"""
+        """EnableItem(self, unsigned int n, bool enable=True)"""
         return _controls_.RadioBox_EnableItem(*args, **kwargs)
 
     def ShowItem(*args, **kwargs):
         return _controls_.RadioBox_EnableItem(*args, **kwargs)
 
     def ShowItem(*args, **kwargs):
-        """ShowItem(self, int n, bool show=True)"""
+        """ShowItem(self, unsigned int n, bool show=True)"""
         return _controls_.RadioBox_ShowItem(*args, **kwargs)
 
         return _controls_.RadioBox_ShowItem(*args, **kwargs)
 
+    def IsItemEnabled(*args, **kwargs):
+        """IsItemEnabled(self, unsigned int n) -> bool"""
+        return _controls_.RadioBox_IsItemEnabled(*args, **kwargs)
+
+    def IsItemShown(*args, **kwargs):
+        """IsItemShown(self, unsigned int n) -> bool"""
+        return _controls_.RadioBox_IsItemShown(*args, **kwargs)
+
     def GetColumnCount(*args, **kwargs):
     def GetColumnCount(*args, **kwargs):
-        """GetColumnCount(self) -> int"""
+        """GetColumnCount(self) -> unsigned int"""
         return _controls_.RadioBox_GetColumnCount(*args, **kwargs)
 
     def GetRowCount(*args, **kwargs):
         return _controls_.RadioBox_GetColumnCount(*args, **kwargs)
 
     def GetRowCount(*args, **kwargs):
-        """GetRowCount(self) -> int"""
+        """GetRowCount(self) -> unsigned int"""
         return _controls_.RadioBox_GetRowCount(*args, **kwargs)
 
     def GetNextItem(*args, **kwargs):
         """GetNextItem(self, int item, int dir, long style) -> int"""
         return _controls_.RadioBox_GetNextItem(*args, **kwargs)
 
         return _controls_.RadioBox_GetRowCount(*args, **kwargs)
 
     def GetNextItem(*args, **kwargs):
         """GetNextItem(self, int item, int dir, long style) -> int"""
         return _controls_.RadioBox_GetNextItem(*args, **kwargs)
 
+    def SetItemToolTip(*args, **kwargs):
+        """SetItemToolTip(self, unsigned int item, String text)"""
+        return _controls_.RadioBox_SetItemToolTip(*args, **kwargs)
+
+    def GetItemToolTip(*args, **kwargs):
+        """GetItemToolTip(self, unsigned int item) -> ToolTip"""
+        return _controls_.RadioBox_GetItemToolTip(*args, **kwargs)
+
+    def SetItemHelpText(*args, **kwargs):
+        """SetItemHelpText(self, unsigned int n, String helpText)"""
+        return _controls_.RadioBox_SetItemHelpText(*args, **kwargs)
+
+    def GetItemHelpText(*args, **kwargs):
+        """GetItemHelpText(self, unsigned int n) -> String"""
+        return _controls_.RadioBox_GetItemHelpText(*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)
+    def GetClassDefaultAttributes(*args, **kwargs):
+        """
+        GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
+
+        Get the default attributes for this class.  This is useful if you want
+        to use the same font or colour in your own control as in a standard
+        control -- which is a much better idea than hard coding specific
+        colours or fonts which might look completely out of place on the
+        user's system, especially if it uses themes.
+
+        The variant parameter is only relevant under Mac currently and is
+        ignore under other platforms. Under Mac, it will change the size of
+        the returned font. See `wx.Window.SetWindowVariant` for more about
+        this.
+        """
+        return _controls_.RadioBox_GetClassDefaultAttributes(*args, **kwargs)
+
+    GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
+    ColumnCount = property(GetColumnCount,doc="See `GetColumnCount`") 
+    Count = property(GetCount,doc="See `GetCount`") 
+    RowCount = property(GetRowCount,doc="See `GetRowCount`") 
+    Selection = property(GetSelection,SetSelection,doc="See `GetSelection` and `SetSelection`") 
+    StringSelection = property(GetStringSelection,SetStringSelection,doc="See `GetStringSelection` and `SetStringSelection`") 
+_controls_.RadioBox_swigregister(RadioBox)
 RadioBoxNameStr = cvar.RadioBoxNameStr
 RadioButtonNameStr = cvar.RadioButtonNameStr
 
 def PreRadioBox(*args, **kwargs):
     """PreRadioBox() -> RadioBox"""
     val = _controls_.new_PreRadioBox(*args, **kwargs)
 RadioBoxNameStr = cvar.RadioBoxNameStr
 RadioButtonNameStr = cvar.RadioButtonNameStr
 
 def PreRadioBox(*args, **kwargs):
     """PreRadioBox() -> RadioBox"""
     val = _controls_.new_PreRadioBox(*args, **kwargs)
-    val.thisown = 1
     return val
 
     return val
 
+def RadioBox_GetClassDefaultAttributes(*args, **kwargs):
+  """
+    RadioBox_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
+
+    Get the default attributes for this class.  This is useful if you want
+    to use the same font or colour in your own control as in a standard
+    control -- which is a much better idea than hard coding specific
+    colours or fonts which might look completely out of place on the
+    user's system, especially if it uses themes.
+
+    The variant parameter is only relevant under Mac currently and is
+    ignore under other platforms. Under Mac, it will change the size of
+    the returned font. See `wx.Window.SetWindowVariant` for more about
+    this.
+    """
+  return _controls_.RadioBox_GetClassDefaultAttributes(*args, **kwargs)
+
 #---------------------------------------------------------------------------
 
 class RadioButton(_core.Control):
 #---------------------------------------------------------------------------
 
 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__(self, 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
+    """Proxy of C++ RadioButton class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
+        """
+        __init__(self, Window parent, int id=-1, String label=EmptyString, 
+            Point pos=DefaultPosition, Size size=DefaultSize, 
+            long style=0, Validator validator=DefaultValidator, 
+            String name=RadioButtonNameStr) -> RadioButton
+        """
+        _controls_.RadioButton_swiginit(self,_controls_.new_RadioButton(*args, **kwargs))
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
         """
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
         """
-        Create(self, Window parent, int id, String label, Point pos=DefaultPosition, 
-            Size size=DefaultSize, long style=0, 
-            Validator validator=DefaultValidator, String name=RadioButtonNameStr) -> bool
+        Create(self, Window parent, int id=-1, String label=EmptyString, 
+            Point pos=DefaultPosition, Size size=DefaultSize, 
+            long style=0, Validator validator=DefaultValidator, 
+            String name=RadioButtonNameStr) -> bool
         """
         return _controls_.RadioButton_Create(*args, **kwargs)
 
         """
         return _controls_.RadioButton_Create(*args, **kwargs)
 
@@ -2052,44 +2545,85 @@ class RadioButton(_core.Control):
         """SetValue(self, bool value)"""
         return _controls_.RadioButton_SetValue(*args, **kwargs)
 
         """SetValue(self, bool value)"""
         return _controls_.RadioButton_SetValue(*args, **kwargs)
 
+    def GetClassDefaultAttributes(*args, **kwargs):
+        """
+        GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
+
+        Get the default attributes for this class.  This is useful if you want
+        to use the same font or colour in your own control as in a standard
+        control -- which is a much better idea than hard coding specific
+        colours or fonts which might look completely out of place on the
+        user's system, especially if it uses themes.
 
 
-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)
+        The variant parameter is only relevant under Mac currently and is
+        ignore under other platforms. Under Mac, it will change the size of
+        the returned font. See `wx.Window.SetWindowVariant` for more about
+        this.
+        """
+        return _controls_.RadioButton_GetClassDefaultAttributes(*args, **kwargs)
+
+    GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
+    Value = property(GetValue,SetValue,doc="See `GetValue` and `SetValue`") 
+_controls_.RadioButton_swigregister(RadioButton)
 
 def PreRadioButton(*args, **kwargs):
     """PreRadioButton() -> RadioButton"""
     val = _controls_.new_PreRadioButton(*args, **kwargs)
 
 def PreRadioButton(*args, **kwargs):
     """PreRadioButton() -> RadioButton"""
     val = _controls_.new_PreRadioButton(*args, **kwargs)
-    val.thisown = 1
     return val
 
     return val
 
+def RadioButton_GetClassDefaultAttributes(*args, **kwargs):
+  """
+    RadioButton_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
+
+    Get the default attributes for this class.  This is useful if you want
+    to use the same font or colour in your own control as in a standard
+    control -- which is a much better idea than hard coding specific
+    colours or fonts which might look completely out of place on the
+    user's system, especially if it uses themes.
+
+    The variant parameter is only relevant under Mac currently and is
+    ignore under other platforms. Under Mac, it will change the size of
+    the returned font. See `wx.Window.SetWindowVariant` for more about
+    this.
+    """
+  return _controls_.RadioButton_GetClassDefaultAttributes(*args, **kwargs)
+
 #---------------------------------------------------------------------------
 
 #---------------------------------------------------------------------------
 
+SL_HORIZONTAL = _controls_.SL_HORIZONTAL
+SL_VERTICAL = _controls_.SL_VERTICAL
+SL_TICKS = _controls_.SL_TICKS
+SL_AUTOTICKS = _controls_.SL_AUTOTICKS
+SL_LABELS = _controls_.SL_LABELS
+SL_LEFT = _controls_.SL_LEFT
+SL_TOP = _controls_.SL_TOP
+SL_RIGHT = _controls_.SL_RIGHT
+SL_BOTTOM = _controls_.SL_BOTTOM
+SL_BOTH = _controls_.SL_BOTH
+SL_SELRANGE = _controls_.SL_SELRANGE
+SL_INVERSE = _controls_.SL_INVERSE
 class Slider(_core.Control):
 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__(self, Window parent, int id, int value, int minValue, int maxValue, 
-            Point pos=DefaultPosition, Size size=DefaultSize, 
-            long style=SL_HORIZONTAL, Validator validator=DefaultValidator, 
+    """Proxy of C++ Slider class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
+        """
+        __init__(self, Window parent, int id=-1, int value=0, int minValue=0, 
+            int maxValue=100, 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'];del kwargs['point']
             String name=SliderNameStr) -> Slider
         """
         if kwargs.has_key('point'): kwargs['pos'] = kwargs['point'];del kwargs['point']
-        newobj = _controls_.new_Slider(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
+        _controls_.Slider_swiginit(self,_controls_.new_Slider(*args, **kwargs))
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
         """
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
         """
-        Create(self, Window parent, int id, int value, int minValue, int maxValue, 
-            Point pos=DefaultPosition, Size size=DefaultSize, 
-            long style=SL_HORIZONTAL, Validator validator=DefaultValidator, 
+        Create(self, Window parent, int id=-1, int value=0, int minValue=0, 
+            int maxValue=100, Point pos=DefaultPosition, 
+            Size size=DefaultSize, long style=SL_HORIZONTAL, 
+            Validator validator=DefaultValidator, 
             String name=SliderNameStr) -> bool
         """
         return _controls_.Slider_Create(*args, **kwargs)
             String name=SliderNameStr) -> bool
         """
         return _controls_.Slider_Create(*args, **kwargs)
@@ -2178,46 +2712,83 @@ class Slider(_core.Control):
         """SetSelection(self, int min, int max)"""
         return _controls_.Slider_SetSelection(*args, **kwargs)
 
         """SetSelection(self, int min, int max)"""
         return _controls_.Slider_SetSelection(*args, **kwargs)
 
+    def GetClassDefaultAttributes(*args, **kwargs):
+        """
+        GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
+
+        Get the default attributes for this class.  This is useful if you want
+        to use the same font or colour in your own control as in a standard
+        control -- which is a much better idea than hard coding specific
+        colours or fonts which might look completely out of place on the
+        user's system, especially if it uses themes.
+
+        The variant parameter is only relevant under Mac currently and is
+        ignore under other platforms. Under Mac, it will change the size of
+        the returned font. See `wx.Window.SetWindowVariant` for more about
+        this.
+        """
+        return _controls_.Slider_GetClassDefaultAttributes(*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)
+    GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
+    LineSize = property(GetLineSize,SetLineSize,doc="See `GetLineSize` and `SetLineSize`") 
+    Max = property(GetMax,SetMax,doc="See `GetMax` and `SetMax`") 
+    Min = property(GetMin,SetMin,doc="See `GetMin` and `SetMin`") 
+    PageSize = property(GetPageSize,SetPageSize,doc="See `GetPageSize` and `SetPageSize`") 
+    SelEnd = property(GetSelEnd,doc="See `GetSelEnd`") 
+    SelStart = property(GetSelStart,doc="See `GetSelStart`") 
+    ThumbLength = property(GetThumbLength,SetThumbLength,doc="See `GetThumbLength` and `SetThumbLength`") 
+    TickFreq = property(GetTickFreq,SetTickFreq,doc="See `GetTickFreq` and `SetTickFreq`") 
+    Value = property(GetValue,SetValue,doc="See `GetValue` and `SetValue`") 
+_controls_.Slider_swigregister(Slider)
 SliderNameStr = cvar.SliderNameStr
 
 def PreSlider(*args, **kwargs):
     """PreSlider() -> Slider"""
     val = _controls_.new_PreSlider(*args, **kwargs)
 SliderNameStr = cvar.SliderNameStr
 
 def PreSlider(*args, **kwargs):
     """PreSlider() -> Slider"""
     val = _controls_.new_PreSlider(*args, **kwargs)
-    val.thisown = 1
     return val
 
     return val
 
+def Slider_GetClassDefaultAttributes(*args, **kwargs):
+  """
+    Slider_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
+
+    Get the default attributes for this class.  This is useful if you want
+    to use the same font or colour in your own control as in a standard
+    control -- which is a much better idea than hard coding specific
+    colours or fonts which might look completely out of place on the
+    user's system, especially if it uses themes.
+
+    The variant parameter is only relevant under Mac currently and is
+    ignore under other platforms. Under Mac, it will change the size of
+    the returned font. See `wx.Window.SetWindowVariant` for more about
+    this.
+    """
+  return _controls_.Slider_GetClassDefaultAttributes(*args, **kwargs)
+
 #---------------------------------------------------------------------------
 
 wxEVT_COMMAND_TOGGLEBUTTON_CLICKED = _controls_.wxEVT_COMMAND_TOGGLEBUTTON_CLICKED
 EVT_TOGGLEBUTTON = wx.PyEventBinder( wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, 1)
 
 class ToggleButton(_core.Control):
 #---------------------------------------------------------------------------
 
 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__(self, 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
+    """Proxy of C++ ToggleButton class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
+        """
+        __init__(self, Window parent, int id=-1, String label=EmptyString, 
+            Point pos=DefaultPosition, Size size=DefaultSize, 
+            long style=0, Validator validator=DefaultValidator, 
+            String name=ToggleButtonNameStr) -> ToggleButton
+        """
+        _controls_.ToggleButton_swiginit(self,_controls_.new_ToggleButton(*args, **kwargs))
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
         """
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
         """
-        Create(self, Window parent, int id, String label, Point pos=DefaultPosition, 
-            Size size=DefaultSize, long style=0, 
-            Validator validator=DefaultValidator, String name=ToggleButtonNameStr) -> bool
+        Create(self, Window parent, int id=-1, String label=EmptyString, 
+            Point pos=DefaultPosition, Size size=DefaultSize, 
+            long style=0, Validator validator=DefaultValidator, 
+            String name=ToggleButtonNameStr) -> bool
         """
         return _controls_.ToggleButton_Create(*args, **kwargs)
 
         """
         return _controls_.ToggleButton_Create(*args, **kwargs)
 
@@ -2229,158 +2800,280 @@ class ToggleButton(_core.Control):
         """GetValue(self) -> bool"""
         return _controls_.ToggleButton_GetValue(*args, **kwargs)
 
         """GetValue(self) -> bool"""
         return _controls_.ToggleButton_GetValue(*args, **kwargs)
 
-    def SetLabel(*args, **kwargs):
+    def GetClassDefaultAttributes(*args, **kwargs):
         """
         """
-        SetLabel(self, String label)
+        GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
 
-        Sets the item's text.
-        """
-        return _controls_.ToggleButton_SetLabel(*args, **kwargs)
+        Get the default attributes for this class.  This is useful if you want
+        to use the same font or colour in your own control as in a standard
+        control -- which is a much better idea than hard coding specific
+        colours or fonts which might look completely out of place on the
+        user's system, especially if it uses themes.
 
 
+        The variant parameter is only relevant under Mac currently and is
+        ignore under other platforms. Under Mac, it will change the size of
+        the returned font. See `wx.Window.SetWindowVariant` for more about
+        this.
+        """
+        return _controls_.ToggleButton_GetClassDefaultAttributes(*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)
+    GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
+    Value = property(GetValue,SetValue,doc="See `GetValue` and `SetValue`") 
+_controls_.ToggleButton_swigregister(ToggleButton)
 ToggleButtonNameStr = cvar.ToggleButtonNameStr
 
 def PreToggleButton(*args, **kwargs):
     """PreToggleButton() -> ToggleButton"""
     val = _controls_.new_PreToggleButton(*args, **kwargs)
 ToggleButtonNameStr = cvar.ToggleButtonNameStr
 
 def PreToggleButton(*args, **kwargs):
     """PreToggleButton() -> ToggleButton"""
     val = _controls_.new_PreToggleButton(*args, **kwargs)
-    val.thisown = 1
     return val
 
     return val
 
+def ToggleButton_GetClassDefaultAttributes(*args, **kwargs):
+  """
+    ToggleButton_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
+
+    Get the default attributes for this class.  This is useful if you want
+    to use the same font or colour in your own control as in a standard
+    control -- which is a much better idea than hard coding specific
+    colours or fonts which might look completely out of place on the
+    user's system, especially if it uses themes.
+
+    The variant parameter is only relevant under Mac currently and is
+    ignore under other platforms. Under Mac, it will change the size of
+    the returned font. See `wx.Window.SetWindowVariant` for more about
+    this.
+    """
+  return _controls_.ToggleButton_GetClassDefaultAttributes(*args, **kwargs)
+
 #---------------------------------------------------------------------------
 
 #---------------------------------------------------------------------------
 
-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,)
+BK_DEFAULT = _controls_.BK_DEFAULT
+BK_TOP = _controls_.BK_TOP
+BK_BOTTOM = _controls_.BK_BOTTOM
+BK_LEFT = _controls_.BK_LEFT
+BK_RIGHT = _controls_.BK_RIGHT
+BK_ALIGN_MASK = _controls_.BK_ALIGN_MASK
+BK_BUTTONBAR = _controls_.BK_BUTTONBAR
+BK_HITTEST_NOWHERE = _controls_.BK_HITTEST_NOWHERE
+BK_HITTEST_ONICON = _controls_.BK_HITTEST_ONICON
+BK_HITTEST_ONLABEL = _controls_.BK_HITTEST_ONLABEL
+BK_HITTEST_ONITEM = _controls_.BK_HITTEST_ONITEM
+BK_HITTEST_ONPAGE = _controls_.BK_HITTEST_ONPAGE
+class BookCtrlBase(_core.Control):
+    """Proxy of C++ BookCtrlBase class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    def __init__(self): raise AttributeError, "No constructor defined"
+    __repr__ = _swig_repr
     def GetPageCount(*args, **kwargs):
         """GetPageCount(self) -> size_t"""
     def GetPageCount(*args, **kwargs):
         """GetPageCount(self) -> size_t"""
-        return _controls_.BookCtrl_GetPageCount(*args, **kwargs)
+        return _controls_.BookCtrlBase_GetPageCount(*args, **kwargs)
 
     def GetPage(*args, **kwargs):
         """GetPage(self, size_t n) -> Window"""
 
     def GetPage(*args, **kwargs):
         """GetPage(self, size_t n) -> Window"""
-        return _controls_.BookCtrl_GetPage(*args, **kwargs)
+        return _controls_.BookCtrlBase_GetPage(*args, **kwargs)
+
+    def GetCurrentPage(*args, **kwargs):
+        """GetCurrentPage(self) -> Window"""
+        return _controls_.BookCtrlBase_GetCurrentPage(*args, **kwargs)
 
     def GetSelection(*args, **kwargs):
         """GetSelection(self) -> int"""
 
     def GetSelection(*args, **kwargs):
         """GetSelection(self) -> int"""
-        return _controls_.BookCtrl_GetSelection(*args, **kwargs)
+        return _controls_.BookCtrlBase_GetSelection(*args, **kwargs)
 
     def SetPageText(*args, **kwargs):
         """SetPageText(self, size_t n, String strText) -> bool"""
 
     def SetPageText(*args, **kwargs):
         """SetPageText(self, size_t n, String strText) -> bool"""
-        return _controls_.BookCtrl_SetPageText(*args, **kwargs)
+        return _controls_.BookCtrlBase_SetPageText(*args, **kwargs)
 
     def GetPageText(*args, **kwargs):
         """GetPageText(self, size_t n) -> String"""
 
     def GetPageText(*args, **kwargs):
         """GetPageText(self, size_t n) -> String"""
-        return _controls_.BookCtrl_GetPageText(*args, **kwargs)
+        return _controls_.BookCtrlBase_GetPageText(*args, **kwargs)
 
     def SetImageList(*args, **kwargs):
         """SetImageList(self, ImageList imageList)"""
 
     def SetImageList(*args, **kwargs):
         """SetImageList(self, ImageList imageList)"""
-        return _controls_.BookCtrl_SetImageList(*args, **kwargs)
+        return _controls_.BookCtrlBase_SetImageList(*args, **kwargs)
 
     def AssignImageList(*args, **kwargs):
         """AssignImageList(self, ImageList imageList)"""
 
     def AssignImageList(*args, **kwargs):
         """AssignImageList(self, ImageList imageList)"""
-        return _controls_.BookCtrl_AssignImageList(*args, **kwargs)
+        return _controls_.BookCtrlBase_AssignImageList(*args, **kwargs)
 
     def GetImageList(*args, **kwargs):
         """GetImageList(self) -> ImageList"""
 
     def GetImageList(*args, **kwargs):
         """GetImageList(self) -> ImageList"""
-        return _controls_.BookCtrl_GetImageList(*args, **kwargs)
+        return _controls_.BookCtrlBase_GetImageList(*args, **kwargs)
 
     def GetPageImage(*args, **kwargs):
         """GetPageImage(self, size_t n) -> int"""
 
     def GetPageImage(*args, **kwargs):
         """GetPageImage(self, size_t n) -> int"""
-        return _controls_.BookCtrl_GetPageImage(*args, **kwargs)
+        return _controls_.BookCtrlBase_GetPageImage(*args, **kwargs)
 
     def SetPageImage(*args, **kwargs):
         """SetPageImage(self, size_t n, int imageId) -> bool"""
 
     def SetPageImage(*args, **kwargs):
         """SetPageImage(self, size_t n, int imageId) -> bool"""
-        return _controls_.BookCtrl_SetPageImage(*args, **kwargs)
+        return _controls_.BookCtrlBase_SetPageImage(*args, **kwargs)
 
     def SetPageSize(*args, **kwargs):
         """SetPageSize(self, Size size)"""
 
     def SetPageSize(*args, **kwargs):
         """SetPageSize(self, Size size)"""
-        return _controls_.BookCtrl_SetPageSize(*args, **kwargs)
+        return _controls_.BookCtrlBase_SetPageSize(*args, **kwargs)
 
     def CalcSizeFromPage(*args, **kwargs):
         """CalcSizeFromPage(self, Size sizePage) -> Size"""
 
     def CalcSizeFromPage(*args, **kwargs):
         """CalcSizeFromPage(self, Size sizePage) -> Size"""
-        return _controls_.BookCtrl_CalcSizeFromPage(*args, **kwargs)
+        return _controls_.BookCtrlBase_CalcSizeFromPage(*args, **kwargs)
+
+    def GetInternalBorder(*args, **kwargs):
+        """GetInternalBorder(self) -> unsigned int"""
+        return _controls_.BookCtrlBase_GetInternalBorder(*args, **kwargs)
+
+    def SetInternalBorder(*args, **kwargs):
+        """SetInternalBorder(self, unsigned int internalBorder)"""
+        return _controls_.BookCtrlBase_SetInternalBorder(*args, **kwargs)
+
+    def IsVertical(*args, **kwargs):
+        """IsVertical(self) -> bool"""
+        return _controls_.BookCtrlBase_IsVertical(*args, **kwargs)
+
+    def SetControlMargin(*args, **kwargs):
+        """SetControlMargin(self, int margin)"""
+        return _controls_.BookCtrlBase_SetControlMargin(*args, **kwargs)
+
+    def GetControlMargin(*args, **kwargs):
+        """GetControlMargin(self) -> int"""
+        return _controls_.BookCtrlBase_GetControlMargin(*args, **kwargs)
+
+    def SetFitToCurrentPage(*args, **kwargs):
+        """SetFitToCurrentPage(self, bool fit)"""
+        return _controls_.BookCtrlBase_SetFitToCurrentPage(*args, **kwargs)
+
+    def GetFitToCurrentPage(*args, **kwargs):
+        """GetFitToCurrentPage(self) -> bool"""
+        return _controls_.BookCtrlBase_GetFitToCurrentPage(*args, **kwargs)
+
+    def GetControlSizer(*args, **kwargs):
+        """GetControlSizer(self) -> Sizer"""
+        return _controls_.BookCtrlBase_GetControlSizer(*args, **kwargs)
 
     def DeletePage(*args, **kwargs):
         """DeletePage(self, size_t n) -> bool"""
 
     def DeletePage(*args, **kwargs):
         """DeletePage(self, size_t n) -> bool"""
-        return _controls_.BookCtrl_DeletePage(*args, **kwargs)
+        return _controls_.BookCtrlBase_DeletePage(*args, **kwargs)
 
     def RemovePage(*args, **kwargs):
         """RemovePage(self, size_t n) -> bool"""
 
     def RemovePage(*args, **kwargs):
         """RemovePage(self, size_t n) -> bool"""
-        return _controls_.BookCtrl_RemovePage(*args, **kwargs)
+        return _controls_.BookCtrlBase_RemovePage(*args, **kwargs)
 
     def DeleteAllPages(*args, **kwargs):
         """DeleteAllPages(self) -> bool"""
 
     def DeleteAllPages(*args, **kwargs):
         """DeleteAllPages(self) -> bool"""
-        return _controls_.BookCtrl_DeleteAllPages(*args, **kwargs)
+        return _controls_.BookCtrlBase_DeleteAllPages(*args, **kwargs)
 
     def AddPage(*args, **kwargs):
         """AddPage(self, Window page, String text, bool select=False, int imageId=-1) -> bool"""
 
     def AddPage(*args, **kwargs):
         """AddPage(self, Window page, String text, bool select=False, int imageId=-1) -> bool"""
-        return _controls_.BookCtrl_AddPage(*args, **kwargs)
+        return _controls_.BookCtrlBase_AddPage(*args, **kwargs)
 
     def InsertPage(*args, **kwargs):
         """
         InsertPage(self, size_t n, Window page, String text, bool select=False, 
             int imageId=-1) -> bool
         """
 
     def InsertPage(*args, **kwargs):
         """
         InsertPage(self, size_t n, Window page, String text, bool select=False, 
             int imageId=-1) -> bool
         """
-        return _controls_.BookCtrl_InsertPage(*args, **kwargs)
+        return _controls_.BookCtrlBase_InsertPage(*args, **kwargs)
 
     def SetSelection(*args, **kwargs):
         """SetSelection(self, size_t n) -> int"""
 
     def SetSelection(*args, **kwargs):
         """SetSelection(self, size_t n) -> int"""
-        return _controls_.BookCtrl_SetSelection(*args, **kwargs)
+        return _controls_.BookCtrlBase_SetSelection(*args, **kwargs)
+
+    def ChangeSelection(*args, **kwargs):
+        """ChangeSelection(self, size_t n) -> int"""
+        return _controls_.BookCtrlBase_ChangeSelection(*args, **kwargs)
 
     def AdvanceSelection(*args, **kwargs):
         """AdvanceSelection(self, bool forward=True)"""
 
     def AdvanceSelection(*args, **kwargs):
         """AdvanceSelection(self, bool forward=True)"""
-        return _controls_.BookCtrl_AdvanceSelection(*args, **kwargs)
+        return _controls_.BookCtrlBase_AdvanceSelection(*args, **kwargs)
+
+    def HitTest(*args, **kwargs):
+        """
+        HitTest(Point pt) -> (tab, where)
+
+        Returns the page/tab which is hit, and flags indicating where using
+        wx.NB_HITTEST flags.
+        """
+        return _controls_.BookCtrlBase_HitTest(*args, **kwargs)
+
+    def GetClassDefaultAttributes(*args, **kwargs):
+        """
+        GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
+
+        Get the default attributes for this class.  This is useful if you want
+        to use the same font or colour in your own control as in a standard
+        control -- which is a much better idea than hard coding specific
+        colours or fonts which might look completely out of place on the
+        user's system, especially if it uses themes.
 
 
+        The variant parameter is only relevant under Mac currently and is
+        ignore under other platforms. Under Mac, it will change the size of
+        the returned font. See `wx.Window.SetWindowVariant` for more about
+        this.
+        """
+        return _controls_.BookCtrlBase_GetClassDefaultAttributes(*args, **kwargs)
+
+    GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
+    ControlMargin = property(GetControlMargin,SetControlMargin,doc="See `GetControlMargin` and `SetControlMargin`") 
+    ControlSizer = property(GetControlSizer,doc="See `GetControlSizer`") 
+    CurrentPage = property(GetCurrentPage,doc="See `GetCurrentPage`") 
+    FitToCurrentPage = property(GetFitToCurrentPage,SetFitToCurrentPage,doc="See `GetFitToCurrentPage` and `SetFitToCurrentPage`") 
+    ImageList = property(GetImageList,SetImageList,doc="See `GetImageList` and `SetImageList`") 
+    InternalBorder = property(GetInternalBorder,SetInternalBorder,doc="See `GetInternalBorder` and `SetInternalBorder`") 
+    Page = property(GetPage,doc="See `GetPage`") 
+    PageCount = property(GetPageCount,doc="See `GetPageCount`") 
+    PageImage = property(GetPageImage,SetPageImage,doc="See `GetPageImage` and `SetPageImage`") 
+    PageText = property(GetPageText,SetPageText,doc="See `GetPageText` and `SetPageText`") 
+    Selection = property(GetSelection,SetSelection,doc="See `GetSelection` and `SetSelection`") 
+_controls_.BookCtrlBase_swigregister(BookCtrlBase)
+NotebookNameStr = cvar.NotebookNameStr
+
+def BookCtrlBase_GetClassDefaultAttributes(*args, **kwargs):
+  """
+    BookCtrlBase_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
+
+    Get the default attributes for this class.  This is useful if you want
+    to use the same font or colour in your own control as in a standard
+    control -- which is a much better idea than hard coding specific
+    colours or fonts which might look completely out of place on the
+    user's system, especially if it uses themes.
 
 
-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
+    The variant parameter is only relevant under Mac currently and is
+    ignore under other platforms. Under Mac, it will change the size of
+    the returned font. See `wx.Window.SetWindowVariant` for more about
+    this.
+    """
+  return _controls_.BookCtrlBase_GetClassDefaultAttributes(*args, **kwargs)
 
 
-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):
+class BookCtrlBaseEvent(_core.NotifyEvent):
+    """Proxy of C++ BookCtrlBaseEvent class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """
         """
-        __init__(self, wxEventType commandType=wxEVT_NULL, int id=0, int nSel=-1, 
-            int nOldSel=-1) -> BookCtrlEvent
+        __init__(self, EventType commandType=wxEVT_NULL, int id=0, int nSel=-1, 
+            int nOldSel=-1) -> BookCtrlBaseEvent
         """
         """
-        newobj = _controls_.new_BookCtrlEvent(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
+        _controls_.BookCtrlBaseEvent_swiginit(self,_controls_.new_BookCtrlBaseEvent(*args, **kwargs))
     def GetSelection(*args, **kwargs):
     def GetSelection(*args, **kwargs):
-        """GetSelection(self) -> int"""
-        return _controls_.BookCtrlEvent_GetSelection(*args, **kwargs)
+        """
+        GetSelection(self) -> int
+
+        Returns item index for a listbox or choice selection event (not valid
+        for a deselection).
+        """
+        return _controls_.BookCtrlBaseEvent_GetSelection(*args, **kwargs)
 
     def SetSelection(*args, **kwargs):
         """SetSelection(self, int nSel)"""
 
     def SetSelection(*args, **kwargs):
         """SetSelection(self, int nSel)"""
-        return _controls_.BookCtrlEvent_SetSelection(*args, **kwargs)
+        return _controls_.BookCtrlBaseEvent_SetSelection(*args, **kwargs)
 
     def GetOldSelection(*args, **kwargs):
         """GetOldSelection(self) -> int"""
 
     def GetOldSelection(*args, **kwargs):
         """GetOldSelection(self) -> int"""
-        return _controls_.BookCtrlEvent_GetOldSelection(*args, **kwargs)
+        return _controls_.BookCtrlBaseEvent_GetOldSelection(*args, **kwargs)
 
     def SetOldSelection(*args, **kwargs):
         """SetOldSelection(self, int nOldSel)"""
 
     def SetOldSelection(*args, **kwargs):
         """SetOldSelection(self, int nOldSel)"""
-        return _controls_.BookCtrlEvent_SetOldSelection(*args, **kwargs)
+        return _controls_.BookCtrlBaseEvent_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)
+    OldSelection = property(GetOldSelection,SetOldSelection,doc="See `GetOldSelection` and `SetOldSelection`") 
+    Selection = property(GetSelection,SetSelection,doc="See `GetSelection` and `SetSelection`") 
+_controls_.BookCtrlBaseEvent_swigregister(BookCtrlBaseEvent)
 
 #---------------------------------------------------------------------------
 
 
 #---------------------------------------------------------------------------
 
@@ -2390,28 +3083,28 @@ NB_LEFT = _controls_.NB_LEFT
 NB_RIGHT = _controls_.NB_RIGHT
 NB_BOTTOM = _controls_.NB_BOTTOM
 NB_MULTILINE = _controls_.NB_MULTILINE
 NB_RIGHT = _controls_.NB_RIGHT
 NB_BOTTOM = _controls_.NB_BOTTOM
 NB_MULTILINE = _controls_.NB_MULTILINE
+NB_NOPAGETHEME = _controls_.NB_NOPAGETHEME
 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
 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):
+NB_HITTEST_ONPAGE = _controls_.NB_HITTEST_ONPAGE
+class Notebook(BookCtrlBase):
+    """Proxy of C++ Notebook class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """
         __init__(self, Window parent, int id=-1, Point pos=DefaultPosition, 
         """
         __init__(self, Window parent, int id=-1, Point pos=DefaultPosition, 
-            Size size=DefaultSize, long style=0, String name=NOTEBOOK_NAME) -> Notebook
+            Size size=DefaultSize, long style=0, String name=NotebookNameStr) -> Notebook
         """
         """
-        newobj = _controls_.new_Notebook(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
+        _controls_.Notebook_swiginit(self,_controls_.new_Notebook(*args, **kwargs))
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
         """
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
         """
-        Create(self, Window parent, int id, Point pos=DefaultPosition, Size size=DefaultSize
-            long style=0, String name=NOTEBOOK_NAME) -> bool
+        Create(self, Window parent, int id=-1, Point pos=DefaultPosition
+            Size size=DefaultSize, long style=0, String name=NotebookNameStr) -> bool
         """
         return _controls_.Notebook_Create(*args, **kwargs)
 
         """
         return _controls_.Notebook_Create(*args, **kwargs)
 
@@ -2427,55 +3120,73 @@ class Notebook(BookCtrl):
         """SetTabSize(self, Size sz)"""
         return _controls_.Notebook_SetTabSize(*args, **kwargs)
 
         """SetTabSize(self, Size sz)"""
         return _controls_.Notebook_SetTabSize(*args, **kwargs)
 
-    def HitTest(*args, **kwargs):
-        """
-        HitTest(Point pt) -> (tab, where)
+    def GetThemeBackgroundColour(*args, **kwargs):
+        """GetThemeBackgroundColour(self) -> Colour"""
+        return _controls_.Notebook_GetThemeBackgroundColour(*args, **kwargs)
 
 
-        Returns the tab which is hit, and flags indicating where using wx.NB_HITTEST_ flags.
+    def GetClassDefaultAttributes(*args, **kwargs):
         """
         """
-        return _controls_.Notebook_HitTest(*args, **kwargs)
+        GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
 
-    def CalcSizeFromPage(*args, **kwargs):
-        """CalcSizeFromPage(self, Size sizePage) -> Size"""
-        return _controls_.Notebook_CalcSizeFromPage(*args, **kwargs)
+        Get the default attributes for this class.  This is useful if you want
+        to use the same font or colour in your own control as in a standard
+        control -- which is a much better idea than hard coding specific
+        colours or fonts which might look completely out of place on the
+        user's system, especially if it uses themes.
 
 
-    def ApplyThemeBackground(*args, **kwargs):
-        """ApplyThemeBackground(self, Window window, Colour colour)"""
-        return _controls_.Notebook_ApplyThemeBackground(*args, **kwargs)
+        The variant parameter is only relevant under Mac currently and is
+        ignore under other platforms. Under Mac, it will change the size of
+        the returned font. See `wx.Window.SetWindowVariant` for more about
+        this.
+        """
+        return _controls_.Notebook_GetClassDefaultAttributes(*args, **kwargs)
+
+    GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
+    def SendPageChangingEvent(*args, **kwargs):
+        """SendPageChangingEvent(self, int nPage) -> bool"""
+        return _controls_.Notebook_SendPageChangingEvent(*args, **kwargs)
 
 
+    def SendPageChangedEvent(*args, **kwargs):
+        """SendPageChangedEvent(self, int nPageOld, int nPageNew=-1)"""
+        return _controls_.Notebook_SendPageChangedEvent(*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)
+    RowCount = property(GetRowCount,doc="See `GetRowCount`") 
+    ThemeBackgroundColour = property(GetThemeBackgroundColour,doc="See `GetThemeBackgroundColour`") 
+_controls_.Notebook_swigregister(Notebook)
 
 def PreNotebook(*args, **kwargs):
     """PreNotebook() -> Notebook"""
     val = _controls_.new_PreNotebook(*args, **kwargs)
 
 def PreNotebook(*args, **kwargs):
     """PreNotebook() -> Notebook"""
     val = _controls_.new_PreNotebook(*args, **kwargs)
-    val.thisown = 1
     return val
 
     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):
+def Notebook_GetClassDefaultAttributes(*args, **kwargs):
+  """
+    Notebook_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
+
+    Get the default attributes for this class.  This is useful if you want
+    to use the same font or colour in your own control as in a standard
+    control -- which is a much better idea than hard coding specific
+    colours or fonts which might look completely out of place on the
+    user's system, especially if it uses themes.
+
+    The variant parameter is only relevant under Mac currently and is
+    ignore under other platforms. Under Mac, it will change the size of
+    the returned font. See `wx.Window.SetWindowVariant` for more about
+    this.
+    """
+  return _controls_.Notebook_GetClassDefaultAttributes(*args, **kwargs)
+
+class NotebookEvent(BookCtrlBaseEvent):
+    """Proxy of C++ NotebookEvent class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """
         """
-        __init__(self, wxEventType commandType=wxEVT_NULL, int id=0, int nSel=-1, 
+        __init__(self, EventType commandType=wxEVT_NULL, int id=0, int nSel=-1, 
             int nOldSel=-1) -> NotebookEvent
         """
             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)
+        _controls_.NotebookEvent_swiginit(self,_controls_.new_NotebookEvent(*args, **kwargs))
+_controls_.NotebookEvent_swigregister(NotebookEvent)
 
 wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED = _controls_.wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED
 wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGING = _controls_.wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGING
 
 wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED = _controls_.wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED
 wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGING = _controls_.wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGING
@@ -2488,8 +3199,8 @@ EVT_NOTEBOOK_PAGE_CHANGING = wx.PyEventBinder( wxEVT_COMMAND_NOTEBOOK_PAGE_CHANG
 class NotebookPage(wx.Panel):
     """
     There is an old (and apparently unsolvable) bug when placing a
 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
+    window with a nonstandard background colour in a wx.Notebook on
+    wxGTK1, 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
     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
@@ -2501,8 +3212,8 @@ class NotebookPage(wx.Panel):
                  style=wx.TAB_TRAVERSAL, name="panel"):
         wx.Panel.__init__(self, parent, id, pos, size, style, name)
         self.child = None
                  style=wx.TAB_TRAVERSAL, name="panel"):
         wx.Panel.__init__(self, parent, id, pos, size, style, name)
         self.child = None
-        EVT_SIZE(self, self.OnSize)
-        
+        self.Bind(wx.EVT_SIZE, self.OnSize)
+
     def OnSize(self, evt):
         if self.child is None:
             children = self.GetChildren()
     def OnSize(self, evt):
         if self.child is None:
             children = self.GetChildren()
@@ -2521,133 +3232,245 @@ LB_BOTTOM = _controls_.LB_BOTTOM
 LB_LEFT = _controls_.LB_LEFT
 LB_RIGHT = _controls_.LB_RIGHT
 LB_ALIGN_MASK = _controls_.LB_ALIGN_MASK
 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):
+class Listbook(BookCtrlBase):
+    """Proxy of C++ Listbook class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """
         __init__(self, Window parent, int id=-1, Point pos=DefaultPosition, 
             Size size=DefaultSize, long style=0, String name=EmptyString) -> Listbook
         """
         """
         __init__(self, 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
+        _controls_.Listbook_swiginit(self,_controls_.new_Listbook(*args, **kwargs))
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
         """
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
         """
-        Create(self, Window parent, int id, Point pos=DefaultPosition, Size size=DefaultSize
-            long style=0, String name=EmptyString) -> bool
+        Create(self, Window parent, int id=-1, Point pos=DefaultPosition
+            Size size=DefaultSize, long style=0, String name=EmptyString) -> bool
         """
         return _controls_.Listbook_Create(*args, **kwargs)
 
         """
         return _controls_.Listbook_Create(*args, **kwargs)
 
-    def IsVertical(*args, **kwargs):
-        """IsVertical(self) -> bool"""
-        return _controls_.Listbook_IsVertical(*args, **kwargs)
-
+    def GetListView(*args, **kwargs):
+        """GetListView(self) -> ListView"""
+        return _controls_.Listbook_GetListView(*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)
+    ListView = property(GetListView,doc="See `GetListView`") 
+_controls_.Listbook_swigregister(Listbook)
 
 def PreListbook(*args, **kwargs):
     """PreListbook() -> Listbook"""
     val = _controls_.new_PreListbook(*args, **kwargs)
 
 def PreListbook(*args, **kwargs):
     """PreListbook() -> Listbook"""
     val = _controls_.new_PreListbook(*args, **kwargs)
-    val.thisown = 1
     return val
 
     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):
+class ListbookEvent(BookCtrlBaseEvent):
+    """Proxy of C++ ListbookEvent class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """
         """
-        __init__(self, wxEventType commandType=wxEVT_NULL, int id=0, int nSel=-1, 
+        __init__(self, EventType commandType=wxEVT_NULL, int id=0, int nSel=-1, 
             int nOldSel=-1) -> ListbookEvent
         """
             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)
+        _controls_.ListbookEvent_swiginit(self,_controls_.new_ListbookEvent(*args, **kwargs))
+_controls_.ListbookEvent_swigregister(ListbookEvent)
 
 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 )
 
 
 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__(self, BookCtrl nb) -> BookCtrlSizer"""
-        newobj = _controls_.new_BookCtrlSizer(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
+CHB_DEFAULT = _controls_.CHB_DEFAULT
+CHB_TOP = _controls_.CHB_TOP
+CHB_BOTTOM = _controls_.CHB_BOTTOM
+CHB_LEFT = _controls_.CHB_LEFT
+CHB_RIGHT = _controls_.CHB_RIGHT
+CHB_ALIGN_MASK = _controls_.CHB_ALIGN_MASK
+class Choicebook(BookCtrlBase):
+    """Proxy of C++ Choicebook class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
+        """
+        __init__(self, Window parent, int id, Point pos=DefaultPosition, Size size=DefaultSize, 
+            long style=0, String name=EmptyString) -> Choicebook
+        """
+        _controls_.Choicebook_swiginit(self,_controls_.new_Choicebook(*args, **kwargs))
         self._setOORInfo(self)
 
         self._setOORInfo(self)
 
-    def RecalcSizes(*args, **kwargs):
-        """RecalcSizes(self)"""
-        return _controls_.BookCtrlSizer_RecalcSizes(*args, **kwargs)
-
-    def CalcMin(*args, **kwargs):
-        """CalcMin(self) -> Size"""
-        return _controls_.BookCtrlSizer_CalcMin(*args, **kwargs)
+    def Create(*args, **kwargs):
+        """
+        Create(self, Window parent, int id, Point pos=DefaultPosition, Size size=DefaultSize, 
+            long style=0, String name=EmptyString) -> bool
+        """
+        return _controls_.Choicebook_Create(*args, **kwargs)
 
 
-    def GetControl(*args, **kwargs):
-        """GetControl(self) -> 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__(self, Notebook nb) -> NotebookSizer"""
-        newobj = _controls_.new_NotebookSizer(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
-        self._setOORInfo(self)
+    def GetChoiceCtrl(*args, **kwargs):
+        """GetChoiceCtrl(self) -> Choice"""
+        return _controls_.Choicebook_GetChoiceCtrl(*args, **kwargs)
 
 
-    def RecalcSizes(*args, **kwargs):
-        """RecalcSizes(self)"""
-        return _controls_.NotebookSizer_RecalcSizes(*args, **kwargs)
+    ChoiceCtrl = property(GetChoiceCtrl,doc="See `GetChoiceCtrl`") 
+_controls_.Choicebook_swigregister(Choicebook)
 
 
-    def CalcMin(*args, **kwargs):
-        """CalcMin(self) -> Size"""
-        return _controls_.NotebookSizer_CalcMin(*args, **kwargs)
+def PreChoicebook(*args, **kwargs):
+    """PreChoicebook() -> Choicebook"""
+    val = _controls_.new_PreChoicebook(*args, **kwargs)
+    return val
 
 
-    def GetNotebook(*args, **kwargs):
-        """GetNotebook(self) -> Notebook"""
-        return _controls_.NotebookSizer_GetNotebook(*args, **kwargs)
+class ChoicebookEvent(BookCtrlBaseEvent):
+    """Proxy of C++ ChoicebookEvent class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
+        """
+        __init__(self, EventType commandType=wxEVT_NULL, int id=0, int nSel=-1, 
+            int nOldSel=-1) -> ChoicebookEvent
+        """
+        _controls_.ChoicebookEvent_swiginit(self,_controls_.new_ChoicebookEvent(*args, **kwargs))
+_controls_.ChoicebookEvent_swigregister(ChoicebookEvent)
+
+wxEVT_COMMAND_CHOICEBOOK_PAGE_CHANGED = _controls_.wxEVT_COMMAND_CHOICEBOOK_PAGE_CHANGED
+wxEVT_COMMAND_CHOICEBOOK_PAGE_CHANGING = _controls_.wxEVT_COMMAND_CHOICEBOOK_PAGE_CHANGING
+EVT_CHOICEBOOK_PAGE_CHANGED  = wx.PyEventBinder( wxEVT_COMMAND_CHOICEBOOK_PAGE_CHANGED, 1 )
+EVT_CHOICEBOOK_PAGE_CHANGING = wx.PyEventBinder( wxEVT_COMMAND_CHOICEBOOK_PAGE_CHANGING, 1 )
+
+#---------------------------------------------------------------------------
+
+class Treebook(BookCtrlBase):
+    """Proxy of C++ Treebook class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
+        """
+        __init__(self, Window parent, int id, Point pos=DefaultPosition, Size size=DefaultSize, 
+            long style=BK_DEFAULT, 
+            String name=EmptyString) -> Treebook
+        """
+        _controls_.Treebook_swiginit(self,_controls_.new_Treebook(*args, **kwargs))
+        self._setOORInfo(self)
+
+    def Create(*args, **kwargs):
+        """
+        Create(self, Window parent, int id, Point pos=DefaultPosition, Size size=DefaultSize, 
+            long style=BK_DEFAULT, 
+            String name=EmptyString) -> bool
+        """
+        return _controls_.Treebook_Create(*args, **kwargs)
+
+    def InsertSubPage(*args, **kwargs):
+        """
+        InsertSubPage(self, size_t pos, Window page, String text, bool select=False, 
+            int imageId=NOT_FOUND) -> bool
+        """
+        return _controls_.Treebook_InsertSubPage(*args, **kwargs)
+
+    def AddSubPage(*args, **kwargs):
+        """AddSubPage(self, Window page, String text, bool select=False, int imageId=NOT_FOUND) -> bool"""
+        return _controls_.Treebook_AddSubPage(*args, **kwargs)
+
+    def IsNodeExpanded(*args, **kwargs):
+        """IsNodeExpanded(self, size_t pos) -> bool"""
+        return _controls_.Treebook_IsNodeExpanded(*args, **kwargs)
+
+    def ExpandNode(*args, **kwargs):
+        """ExpandNode(self, size_t pos, bool expand=True) -> bool"""
+        return _controls_.Treebook_ExpandNode(*args, **kwargs)
+
+    def CollapseNode(*args, **kwargs):
+        """CollapseNode(self, size_t pos) -> bool"""
+        return _controls_.Treebook_CollapseNode(*args, **kwargs)
+
+    def GetPageParent(*args, **kwargs):
+        """GetPageParent(self, size_t pos) -> int"""
+        return _controls_.Treebook_GetPageParent(*args, **kwargs)
+
+    def GetTreeCtrl(*args, **kwargs):
+        """GetTreeCtrl(self) -> TreeCtrl"""
+        return _controls_.Treebook_GetTreeCtrl(*args, **kwargs)
+
+    TreeCtrl = property(GetTreeCtrl,doc="See `GetTreeCtrl`") 
+_controls_.Treebook_swigregister(Treebook)
+
+def PreTreebook(*args, **kwargs):
+    """PreTreebook() -> Treebook"""
+    val = _controls_.new_PreTreebook(*args, **kwargs)
+    return val
 
 
+class TreebookEvent(BookCtrlBaseEvent):
+    """Proxy of C++ TreebookEvent class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
+        """
+        __init__(self, EventType commandType=wxEVT_NULL, int id=0, int nSel=NOT_FOUND, 
+            int nOldSel=NOT_FOUND) -> TreebookEvent
+        """
+        _controls_.TreebookEvent_swiginit(self,_controls_.new_TreebookEvent(*args, **kwargs))
+_controls_.TreebookEvent_swigregister(TreebookEvent)
 
 
-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)
+wxEVT_COMMAND_TREEBOOK_PAGE_CHANGED = _controls_.wxEVT_COMMAND_TREEBOOK_PAGE_CHANGED
+wxEVT_COMMAND_TREEBOOK_PAGE_CHANGING = _controls_.wxEVT_COMMAND_TREEBOOK_PAGE_CHANGING
+wxEVT_COMMAND_TREEBOOK_NODE_COLLAPSED = _controls_.wxEVT_COMMAND_TREEBOOK_NODE_COLLAPSED
+wxEVT_COMMAND_TREEBOOK_NODE_EXPANDED = _controls_.wxEVT_COMMAND_TREEBOOK_NODE_EXPANDED
+EVT_TREEBOOK_PAGE_CHANGED= wx.PyEventBinder( wxEVT_COMMAND_TREEBOOK_PAGE_CHANGED, 1 )
+EVT_TREEBOOK_PAGE_CHANGING= wx.PyEventBinder( wxEVT_COMMAND_TREEBOOK_PAGE_CHANGING, 1)
+EVT_TREEBOOK_NODE_COLLAPSED= wx.PyEventBinder( wxEVT_COMMAND_TREEBOOK_NODE_COLLAPSED, 1 )
+EVT_TREEBOOK_NODE_EXPANDED= wx.PyEventBinder( wxEVT_COMMAND_TREEBOOK_NODE_EXPANDED, 1 )
+
+#---------------------------------------------------------------------------
+
+class Toolbook(BookCtrlBase):
+    """Proxy of C++ Toolbook class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
+        """
+        __init__(self, Window parent, int id, Point pos=DefaultPosition, Size size=DefaultSize, 
+            long style=BK_DEFAULT, 
+            String name=EmptyString) -> Toolbook
+        """
+        _controls_.Toolbook_swiginit(self,_controls_.new_Toolbook(*args, **kwargs))
+        self._setOORInfo(self)
+
+    def Create(*args, **kwargs):
+        """
+        Create(self, Window parent, int id, Point pos=DefaultPosition, Size size=DefaultSize, 
+            long style=0, String name=wxEmptyString) -> bool
+        """
+        return _controls_.Toolbook_Create(*args, **kwargs)
+
+    def GetToolBar(*args, **kwargs):
+        """GetToolBar(self) -> ToolBarBase"""
+        return _controls_.Toolbook_GetToolBar(*args, **kwargs)
+
+    def Realize(*args, **kwargs):
+        """Realize(self)"""
+        return _controls_.Toolbook_Realize(*args, **kwargs)
+
+    ToolBar = property(GetToolBar,doc="See `GetToolBar`") 
+_controls_.Toolbook_swigregister(Toolbook)
+
+def PreToolbook(*args, **kwargs):
+    """PreToolbook() -> Toolbook"""
+    val = _controls_.new_PreToolbook(*args, **kwargs)
+    return val
+
+class ToolbookEvent(BookCtrlBaseEvent):
+    """Proxy of C++ ToolbookEvent class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
+        """
+        __init__(self, EventType commandType=wxEVT_NULL, int id=0, int nSel=NOT_FOUND, 
+            int nOldSel=NOT_FOUND) -> ToolbookEvent
+        """
+        _controls_.ToolbookEvent_swiginit(self,_controls_.new_ToolbookEvent(*args, **kwargs))
+_controls_.ToolbookEvent_swigregister(ToolbookEvent)
+
+wxEVT_COMMAND_TOOLBOOK_PAGE_CHANGED = _controls_.wxEVT_COMMAND_TOOLBOOK_PAGE_CHANGED
+wxEVT_COMMAND_TOOLBOOK_PAGE_CHANGING = _controls_.wxEVT_COMMAND_TOOLBOOK_PAGE_CHANGING
+EVT_TOOLBOOK_PAGE_CHANGED = wx.PyEventBinder( wxEVT_COMMAND_TOOLBOOK_PAGE_CHANGED, 1)
+EVT_TOOLBOOK_PAGE_CHANGING = wx.PyEventBinder( wxEVT_COMMAND_TOOLBOOK_PAGE_CHANGING, 1)
 
 #---------------------------------------------------------------------------
 
 
 #---------------------------------------------------------------------------
 
@@ -2656,6 +3479,10 @@ TOOL_STYLE_SEPARATOR = _controls_.TOOL_STYLE_SEPARATOR
 TOOL_STYLE_CONTROL = _controls_.TOOL_STYLE_CONTROL
 TB_HORIZONTAL = _controls_.TB_HORIZONTAL
 TB_VERTICAL = _controls_.TB_VERTICAL
 TOOL_STYLE_CONTROL = _controls_.TOOL_STYLE_CONTROL
 TB_HORIZONTAL = _controls_.TB_HORIZONTAL
 TB_VERTICAL = _controls_.TB_VERTICAL
+TB_TOP = _controls_.TB_TOP
+TB_LEFT = _controls_.TB_LEFT
+TB_BOTTOM = _controls_.TB_BOTTOM
+TB_RIGHT = _controls_.TB_RIGHT
 TB_3DBUTTONS = _controls_.TB_3DBUTTONS
 TB_FLAT = _controls_.TB_FLAT
 TB_DOCKABLE = _controls_.TB_DOCKABLE
 TB_3DBUTTONS = _controls_.TB_3DBUTTONS
 TB_FLAT = _controls_.TB_FLAT
 TB_DOCKABLE = _controls_.TB_DOCKABLE
@@ -2665,10 +3492,12 @@ TB_NODIVIDER = _controls_.TB_NODIVIDER
 TB_NOALIGN = _controls_.TB_NOALIGN
 TB_HORZ_LAYOUT = _controls_.TB_HORZ_LAYOUT
 TB_HORZ_TEXT = _controls_.TB_HORZ_TEXT
 TB_NOALIGN = _controls_.TB_NOALIGN
 TB_HORZ_LAYOUT = _controls_.TB_HORZ_LAYOUT
 TB_HORZ_TEXT = _controls_.TB_HORZ_TEXT
+TB_NO_TOOLTIPS = _controls_.TB_NO_TOOLTIPS
 class ToolBarToolBase(_core.Object):
 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,)
+    """Proxy of C++ ToolBarToolBase class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    def __init__(self): raise AttributeError, "No constructor defined"
+    __repr__ = _swig_repr
     def GetId(*args, **kwargs):
         """GetId(self) -> int"""
         return _controls_.ToolBarToolBase_GetId(*args, **kwargs)
     def GetId(*args, **kwargs):
         """GetId(self) -> int"""
         return _controls_.ToolBarToolBase_GetId(*args, **kwargs)
@@ -2790,18 +3619,25 @@ class ToolBarToolBase(_core.Object):
     SetBitmap1 = SetNormalBitmap
     SetBitmap2 = SetDisabledBitmap
 
     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)
+    Bitmap = property(GetBitmap,doc="See `GetBitmap`") 
+    ClientData = property(GetClientData,SetClientData,doc="See `GetClientData` and `SetClientData`") 
+    Control = property(GetControl,doc="See `GetControl`") 
+    DisabledBitmap = property(GetDisabledBitmap,SetDisabledBitmap,doc="See `GetDisabledBitmap` and `SetDisabledBitmap`") 
+    Id = property(GetId,doc="See `GetId`") 
+    Kind = property(GetKind,doc="See `GetKind`") 
+    Label = property(GetLabel,SetLabel,doc="See `GetLabel` and `SetLabel`") 
+    LongHelp = property(GetLongHelp,SetLongHelp,doc="See `GetLongHelp` and `SetLongHelp`") 
+    NormalBitmap = property(GetNormalBitmap,SetNormalBitmap,doc="See `GetNormalBitmap` and `SetNormalBitmap`") 
+    ShortHelp = property(GetShortHelp,SetShortHelp,doc="See `GetShortHelp` and `SetShortHelp`") 
+    Style = property(GetStyle,doc="See `GetStyle`") 
+    ToolBar = property(GetToolBar,doc="See `GetToolBar`") 
+_controls_.ToolBarToolBase_swigregister(ToolBarToolBase)
 
 class ToolBarBase(_core.Control):
 
 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,)
+    """Proxy of C++ ToolBarBase class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    def __init__(self): raise AttributeError, "No constructor defined"
+    __repr__ = _swig_repr
     def DoAddTool(*args, **kwargs):
         """
         DoAddTool(self, int id, String label, Bitmap bitmap, Bitmap bmpDisabled=wxNullBitmap, 
     def DoAddTool(*args, **kwargs):
         """
         DoAddTool(self, int id, String label, Bitmap bitmap, Bitmap bmpDisabled=wxNullBitmap, 
@@ -2924,6 +3760,7 @@ class ToolBarBase(_core.Control):
 
     # For consistency with the backwards compatible methods above, here are
     # some non-'Label' versions of the Check and Radio methods
 
     # 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 = '',
     def AddCheckTool(self, id, bitmap,
                      bmpDisabled = wx.NullBitmap,
                      shortHelp = '', longHelp = '',
@@ -3111,55 +3948,84 @@ class ToolBarBase(_core.Control):
         """IsVertical(self) -> bool"""
         return _controls_.ToolBarBase_IsVertical(*args, **kwargs)
 
         """IsVertical(self) -> 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)
+    def GetToolsCount(*args, **kwargs):
+        """GetToolsCount(self) -> size_t"""
+        return _controls_.ToolBarBase_GetToolsCount(*args, **kwargs)
+
+    Margins = property(GetMargins,SetMargins,doc="See `GetMargins` and `SetMargins`") 
+    MaxCols = property(GetMaxCols,doc="See `GetMaxCols`") 
+    MaxRows = property(GetMaxRows,doc="See `GetMaxRows`") 
+    ToolBitmapSize = property(GetToolBitmapSize,SetToolBitmapSize,doc="See `GetToolBitmapSize` and `SetToolBitmapSize`") 
+    ToolMargins = property(GetToolMargins,doc="See `GetToolMargins`") 
+    ToolPacking = property(GetToolPacking,SetToolPacking,doc="See `GetToolPacking` and `SetToolPacking`") 
+    ToolSeparation = property(GetToolSeparation,SetToolSeparation,doc="See `GetToolSeparation` and `SetToolSeparation`") 
+    ToolSize = property(GetToolSize,doc="See `GetToolSize`") 
+    ToolsCount = property(GetToolsCount,doc="See `GetToolsCount`") 
+_controls_.ToolBarBase_swigregister(ToolBarBase)
 
 class ToolBar(ToolBarBase):
 
 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):
+    """Proxy of C++ ToolBar class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """
         """
-        __init__(self, Window parent, int id, Point pos=DefaultPosition, Size size=DefaultSize
-            long style=wxNO_BORDER|wxTB_HORIZONTAL, 
+        __init__(self, Window parent, int id=-1, Point pos=DefaultPosition
+            Size size=DefaultSize, long style=wxNO_BORDER|wxTB_HORIZONTAL, 
             String name=wxPyToolBarNameStr) -> ToolBar
         """
             String name=wxPyToolBarNameStr) -> ToolBar
         """
-        newobj = _controls_.new_ToolBar(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
+        _controls_.ToolBar_swiginit(self,_controls_.new_ToolBar(*args, **kwargs))
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
         """
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
         """
-        Create(self, Window parent, int id, Point pos=DefaultPosition, Size size=DefaultSize
-            long style=wxNO_BORDER|wxTB_HORIZONTAL, 
+        Create(self, Window parent, int id=-1, Point pos=DefaultPosition
+            Size size=DefaultSize, long style=wxNO_BORDER|wxTB_HORIZONTAL, 
             String name=wxPyToolBarNameStr) -> bool
         """
         return _controls_.ToolBar_Create(*args, **kwargs)
 
             String name=wxPyToolBarNameStr) -> bool
         """
         return _controls_.ToolBar_Create(*args, **kwargs)
 
-    def FindToolForPosition(*args, **kwargs):
-        """FindToolForPosition(self, int x, int y) -> ToolBarToolBase"""
-        return _controls_.ToolBar_FindToolForPosition(*args, **kwargs)
+    def GetClassDefaultAttributes(*args, **kwargs):
+        """
+        GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
 
+        Get the default attributes for this class.  This is useful if you want
+        to use the same font or colour in your own control as in a standard
+        control -- which is a much better idea than hard coding specific
+        colours or fonts which might look completely out of place on the
+        user's system, especially if it uses themes.
 
 
-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)
+        The variant parameter is only relevant under Mac currently and is
+        ignore under other platforms. Under Mac, it will change the size of
+        the returned font. See `wx.Window.SetWindowVariant` for more about
+        this.
+        """
+        return _controls_.ToolBar_GetClassDefaultAttributes(*args, **kwargs)
+
+    GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
+_controls_.ToolBar_swigregister(ToolBar)
 
 def PreToolBar(*args, **kwargs):
     """PreToolBar() -> ToolBar"""
     val = _controls_.new_PreToolBar(*args, **kwargs)
 
 def PreToolBar(*args, **kwargs):
     """PreToolBar() -> ToolBar"""
     val = _controls_.new_PreToolBar(*args, **kwargs)
-    val.thisown = 1
     return val
 
     return val
 
+def ToolBar_GetClassDefaultAttributes(*args, **kwargs):
+  """
+    ToolBar_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
+
+    Get the default attributes for this class.  This is useful if you want
+    to use the same font or colour in your own control as in a standard
+    control -- which is a much better idea than hard coding specific
+    colours or fonts which might look completely out of place on the
+    user's system, especially if it uses themes.
+
+    The variant parameter is only relevant under Mac currently and is
+    ignore under other platforms. Under Mac, it will change the size of
+    the returned font. See `wx.Window.SetWindowVariant` for more about
+    this.
+    """
+  return _controls_.ToolBar_GetClassDefaultAttributes(*args, **kwargs)
+
 #---------------------------------------------------------------------------
 
 LC_VRULES = _controls_.LC_VRULES
 #---------------------------------------------------------------------------
 
 LC_VRULES = _controls_.LC_VRULES
@@ -3208,6 +4074,7 @@ 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_HITTEST_TOLEFT = _controls_.LIST_HITTEST_TOLEFT
 LIST_HITTEST_TORIGHT = _controls_.LIST_HITTEST_TORIGHT
 LIST_HITTEST_ONITEM = _controls_.LIST_HITTEST_ONITEM
+LIST_GETSUBITEMRECT_WHOLEITEM = _controls_.LIST_GETSUBITEMRECT_WHOLEITEM
 LIST_NEXT_ABOVE = _controls_.LIST_NEXT_ABOVE
 LIST_NEXT_ALL = _controls_.LIST_NEXT_ALL
 LIST_NEXT_BELOW = _controls_.LIST_NEXT_BELOW
 LIST_NEXT_ABOVE = _controls_.LIST_NEXT_ABOVE
 LIST_NEXT_ALL = _controls_.LIST_NEXT_ALL
 LIST_NEXT_BELOW = _controls_.LIST_NEXT_BELOW
@@ -3233,17 +4100,17 @@ LIST_FIND_RIGHT = _controls_.LIST_FIND_RIGHT
 #---------------------------------------------------------------------------
 
 class ListItemAttr(object):
 #---------------------------------------------------------------------------
 
 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):
+    """Proxy of C++ ListItemAttr class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """
         __init__(self, Colour colText=wxNullColour, Colour colBack=wxNullColour, 
             Font font=wxNullFont) -> ListItemAttr
         """
         """
         __init__(self, 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
+        _controls_.ListItemAttr_swiginit(self,_controls_.new_ListItemAttr(*args, **kwargs))
+    __swig_destroy__ = _controls_.delete_ListItemAttr
+    __del__ = lambda self : None;
     def SetTextColour(*args, **kwargs):
         """SetTextColour(self, Colour colText)"""
         return _controls_.ListItemAttr_SetTextColour(*args, **kwargs)
     def SetTextColour(*args, **kwargs):
         """SetTextColour(self, Colour colText)"""
         return _controls_.ListItemAttr_SetTextColour(*args, **kwargs)
@@ -3280,36 +4147,32 @@ class ListItemAttr(object):
         """GetFont(self) -> Font"""
         return _controls_.ListItemAttr_GetFont(*args, **kwargs)
 
         """GetFont(self) -> Font"""
         return _controls_.ListItemAttr_GetFont(*args, **kwargs)
 
+    def AssignFrom(*args, **kwargs):
+        """AssignFrom(self, ListItemAttr source)"""
+        return _controls_.ListItemAttr_AssignFrom(*args, **kwargs)
+
     def Destroy(*args, **kwargs):
         """Destroy(self)"""
     def Destroy(*args, **kwargs):
         """Destroy(self)"""
+        args[0].this.own(False)
         return _controls_.ListItemAttr_Destroy(*args, **kwargs)
 
         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)
+    BackgroundColour = property(GetBackgroundColour,SetBackgroundColour,doc="See `GetBackgroundColour` and `SetBackgroundColour`") 
+    Font = property(GetFont,SetFont,doc="See `GetFont` and `SetFont`") 
+    TextColour = property(GetTextColour,SetTextColour,doc="See `GetTextColour` and `SetTextColour`") 
+_controls_.ListItemAttr_swigregister(ListItemAttr)
 ListCtrlNameStr = cvar.ListCtrlNameStr
 
 #---------------------------------------------------------------------------
 
 class ListItem(_core.Object):
 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):
+    """Proxy of C++ ListItem class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """__init__(self) -> ListItem"""
         """__init__(self) -> 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__(self)"""
-        try:
-            if self.thisown: destroy(self)
-        except: pass
-
+        _controls_.ListItem_swiginit(self,_controls_.new_ListItem(*args, **kwargs))
+    __swig_destroy__ = _controls_.delete_ListItem
+    __del__ = lambda self : None;
     def Clear(*args, **kwargs):
         """Clear(self)"""
         return _controls_.ListItem_Clear(*args, **kwargs)
     def Clear(*args, **kwargs):
         """Clear(self)"""
         return _controls_.ListItem_Clear(*args, **kwargs)
@@ -3436,25 +4299,30 @@ class ListItem(_core.Object):
     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)
     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)
+    Align = property(GetAlign,SetAlign,doc="See `GetAlign` and `SetAlign`") 
+    Attributes = property(GetAttributes,doc="See `GetAttributes`") 
+    BackgroundColour = property(GetBackgroundColour,SetBackgroundColour,doc="See `GetBackgroundColour` and `SetBackgroundColour`") 
+    Column = property(GetColumn,SetColumn,doc="See `GetColumn` and `SetColumn`") 
+    Data = property(GetData,SetData,doc="See `GetData` and `SetData`") 
+    Font = property(GetFont,SetFont,doc="See `GetFont` and `SetFont`") 
+    Id = property(GetId,SetId,doc="See `GetId` and `SetId`") 
+    Image = property(GetImage,SetImage,doc="See `GetImage` and `SetImage`") 
+    Mask = property(GetMask,SetMask,doc="See `GetMask` and `SetMask`") 
+    State = property(GetState,SetState,doc="See `GetState` and `SetState`") 
+    Text = property(GetText,SetText,doc="See `GetText` and `SetText`") 
+    TextColour = property(GetTextColour,SetTextColour,doc="See `GetTextColour` and `SetTextColour`") 
+    Width = property(GetWidth,SetWidth,doc="See `GetWidth` and `SetWidth`") 
+_controls_.ListItem_swigregister(ListItem)
 
 #---------------------------------------------------------------------------
 
 class ListEvent(_core.NotifyEvent):
 
 #---------------------------------------------------------------------------
 
 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__(self, wxEventType commandType=wxEVT_NULL, int id=0) -> ListEvent"""
-        newobj = _controls_.new_ListEvent(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
+    """Proxy of C++ ListEvent class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
+        """__init__(self, EventType commandType=wxEVT_NULL, int id=0) -> ListEvent"""
+        _controls_.ListEvent_swiginit(self,_controls_.new_ListEvent(*args, **kwargs))
     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_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)
@@ -3519,13 +4387,19 @@ class ListEvent(_core.NotifyEvent):
         """SetEditCanceled(self, bool editCancelled)"""
         return _controls_.ListEvent_SetEditCanceled(*args, **kwargs)
 
         """SetEditCanceled(self, 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)
+    CacheFrom = property(GetCacheFrom,doc="See `GetCacheFrom`") 
+    CacheTo = property(GetCacheTo,doc="See `GetCacheTo`") 
+    Column = property(GetColumn,doc="See `GetColumn`") 
+    Data = property(GetData,doc="See `GetData`") 
+    Image = property(GetImage,doc="See `GetImage`") 
+    Index = property(GetIndex,doc="See `GetIndex`") 
+    Item = property(GetItem,doc="See `GetItem`") 
+    KeyCode = property(GetKeyCode,doc="See `GetKeyCode`") 
+    Label = property(GetLabel,doc="See `GetLabel`") 
+    Mask = property(GetMask,doc="See `GetMask`") 
+    Point = property(GetPoint,doc="See `GetPoint`") 
+    Text = property(GetText,doc="See `GetText`") 
+_controls_.ListEvent_swigregister(ListEvent)
 
 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_DRAG = _controls_.wxEVT_COMMAND_LIST_BEGIN_DRAG
 wxEVT_COMMAND_LIST_BEGIN_RDRAG = _controls_.wxEVT_COMMAND_LIST_BEGIN_RDRAG
@@ -3533,8 +4407,6 @@ wxEVT_COMMAND_LIST_BEGIN_LABEL_EDIT = _controls_.wxEVT_COMMAND_LIST_BEGIN_LABEL_
 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_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_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
@@ -3555,8 +4427,10 @@ EVT_LIST_BEGIN_LABEL_EDIT  = wx.PyEventBinder(wxEVT_COMMAND_LIST_BEGIN_LABEL_EDI
 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_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_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)
@@ -3572,22 +4446,24 @@ EVT_LIST_COL_DRAGGING      = wx.PyEventBinder(wxEVT_COMMAND_LIST_COL_DRAGGING
 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)
 
 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):
 #---------------------------------------------------------------------------
 
 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):
+    """Proxy of C++ ListCtrl class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """
         __init__(self, Window parent, int id=-1, Point pos=DefaultPosition, 
             Size size=DefaultSize, long style=LC_ICON, 
             Validator validator=DefaultValidator, String name=ListCtrlNameStr) -> ListCtrl
         """
         """
         __init__(self, 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)
+        _controls_.ListCtrl_swiginit(self,_controls_.new_ListCtrl(*args, **kwargs))
+        self._setOORInfo(self);ListCtrl._setCallbackInfo(self, self, ListCtrl)
 
     def Create(*args, **kwargs):
         """
 
     def Create(*args, **kwargs):
         """
@@ -3603,14 +4479,6 @@ class ListCtrl(_core.Control):
         """_setCallbackInfo(self, PyObject self, PyObject _class)"""
         return _controls_.ListCtrl__setCallbackInfo(*args, **kwargs)
 
         """_setCallbackInfo(self, PyObject self, PyObject _class)"""
         return _controls_.ListCtrl__setCallbackInfo(*args, **kwargs)
 
-    def SetForegroundColour(*args, **kwargs):
-        """SetForegroundColour(self, Colour col) -> bool"""
-        return _controls_.ListCtrl_SetForegroundColour(*args, **kwargs)
-
-    def SetBackgroundColour(*args, **kwargs):
-        """SetBackgroundColour(self, Colour col) -> bool"""
-        return _controls_.ListCtrl_SetBackgroundColour(*args, **kwargs)
-
     def GetColumn(*args, **kwargs):
         """GetColumn(self, int col) -> ListItem"""
         val = _controls_.ListCtrl_GetColumn(*args, **kwargs)
     def GetColumn(*args, **kwargs):
         """GetColumn(self, int col) -> ListItem"""
         val = _controls_.ListCtrl_GetColumn(*args, **kwargs)
@@ -3664,9 +4532,13 @@ class ListCtrl(_core.Control):
         return _controls_.ListCtrl_SetItemState(*args, **kwargs)
 
     def SetItemImage(*args, **kwargs):
         return _controls_.ListCtrl_SetItemState(*args, **kwargs)
 
     def SetItemImage(*args, **kwargs):
-        """SetItemImage(self, long item, int image, int selImage) -> bool"""
+        """SetItemImage(self, long item, int image, int selImage=-1) -> bool"""
         return _controls_.ListCtrl_SetItemImage(*args, **kwargs)
 
         return _controls_.ListCtrl_SetItemImage(*args, **kwargs)
 
+    def SetItemColumnImage(*args, **kwargs):
+        """SetItemColumnImage(self, long item, long column, int image) -> bool"""
+        return _controls_.ListCtrl_SetItemColumnImage(*args, **kwargs)
+
     def GetItemText(*args, **kwargs):
         """GetItemText(self, long item) -> String"""
         return _controls_.ListCtrl_GetItemText(*args, **kwargs)
     def GetItemText(*args, **kwargs):
         """GetItemText(self, long item) -> String"""
         return _controls_.ListCtrl_GetItemText(*args, **kwargs)
@@ -3707,6 +4579,7 @@ class ListCtrl(_core.Control):
         """GetItemSpacing(self) -> Size"""
         return _controls_.ListCtrl_GetItemSpacing(*args, **kwargs)
 
         """GetItemSpacing(self) -> Size"""
         return _controls_.ListCtrl_GetItemSpacing(*args, **kwargs)
 
+    GetItemSpacing = wx._deprecated(GetItemSpacing) 
     def GetSelectedItemCount(*args, **kwargs):
         """GetSelectedItemCount(self) -> int"""
         return _controls_.ListCtrl_GetSelectedItemCount(*args, **kwargs)
     def GetSelectedItemCount(*args, **kwargs):
         """GetSelectedItemCount(self) -> int"""
         return _controls_.ListCtrl_GetSelectedItemCount(*args, **kwargs)
@@ -3727,17 +4600,6 @@ class ListCtrl(_core.Control):
         """SetSingleStyle(self, long style, bool add=True)"""
         return _controls_.ListCtrl_SetSingleStyle(*args, **kwargs)
 
         """SetSingleStyle(self, long style, bool add=True)"""
         return _controls_.ListCtrl_SetSingleStyle(*args, **kwargs)
 
-    def SetWindowStyleFlag(*args, **kwargs):
-        """
-        SetWindowStyleFlag(self, long style)
-
-        Sets the style of the window. Please note that some styles cannot
-        be changed after the window creation and that Refresh() might
-        need to be called after changing the others for the change to
-        take place immediately.
-        """
-        return _controls_.ListCtrl_SetWindowStyleFlag(*args, **kwargs)
-
     def GetNextItem(*args, **kwargs):
         """GetNextItem(self, long item, int geometry=LIST_NEXT_ALL, int state=LIST_STATE_DONTCARE) -> long"""
         return _controls_.ListCtrl_GetNextItem(*args, **kwargs)
     def GetNextItem(*args, **kwargs):
         """GetNextItem(self, long item, int geometry=LIST_NEXT_ALL, int state=LIST_STATE_DONTCARE) -> long"""
         return _controls_.ListCtrl_GetNextItem(*args, **kwargs)
@@ -3822,17 +4684,27 @@ class ListCtrl(_core.Control):
         """
         HitTest(Point point) -> (item, where)
 
         """
         HitTest(Point point) -> (item, where)
 
-        Determines which item (if any) is at the specified point,
-        giving details in the second return value (see wxLIST_HITTEST_... flags.)
+        Determines which item (if any) is at the specified point, giving
+         in the second return value (see wx.LIST_HITTEST flags.)
         """
         return _controls_.ListCtrl_HitTest(*args, **kwargs)
 
         """
         return _controls_.ListCtrl_HitTest(*args, **kwargs)
 
+    def HitTestSubItem(*args, **kwargs):
+        """
+        HitTestSubItem(Point point) -> (item, where, subItem)
+
+        Determines which item (if any) is at the specified point, giving  in
+        the second return value (see wx.LIST_HITTEST flags) and also the subItem, if
+        any.
+        """
+        return _controls_.ListCtrl_HitTestSubItem(*args, **kwargs)
+
     def InsertItem(*args, **kwargs):
         """InsertItem(self, ListItem info) -> long"""
         return _controls_.ListCtrl_InsertItem(*args, **kwargs)
 
     def InsertStringItem(*args, **kwargs):
     def InsertItem(*args, **kwargs):
         """InsertItem(self, ListItem info) -> long"""
         return _controls_.ListCtrl_InsertItem(*args, **kwargs)
 
     def InsertStringItem(*args, **kwargs):
-        """InsertStringItem(self, long index, String label) -> long"""
+        """InsertStringItem(self, long index, String label, int imageIndex=-1) -> long"""
         return _controls_.ListCtrl_InsertStringItem(*args, **kwargs)
 
     def InsertImageItem(*args, **kwargs):
         return _controls_.ListCtrl_InsertStringItem(*args, **kwargs)
 
     def InsertImageItem(*args, **kwargs):
@@ -3843,10 +4715,11 @@ class ListCtrl(_core.Control):
         """InsertImageStringItem(self, long index, String label, int imageIndex) -> long"""
         return _controls_.ListCtrl_InsertImageStringItem(*args, **kwargs)
 
         """InsertImageStringItem(self, long index, String label, int imageIndex) -> long"""
         return _controls_.ListCtrl_InsertImageStringItem(*args, **kwargs)
 
-    def InsertColumnInfo(*args, **kwargs):
-        """InsertColumnInfo(self, long col, ListItem info) -> long"""
-        return _controls_.ListCtrl_InsertColumnInfo(*args, **kwargs)
+    def InsertColumnItem(*args, **kwargs):
+        """InsertColumnItem(self, long col, ListItem info) -> long"""
+        return _controls_.ListCtrl_InsertColumnItem(*args, **kwargs)
 
 
+    InsertColumnInfo = InsertColumnItem 
     def InsertColumn(*args, **kwargs):
         """
         InsertColumn(self, long col, String heading, int format=LIST_FORMAT_LEFT, 
     def InsertColumn(*args, **kwargs):
         """
         InsertColumn(self, long col, String heading, int format=LIST_FORMAT_LEFT, 
@@ -3878,6 +4751,14 @@ class ListCtrl(_core.Control):
         """GetItemBackgroundColour(self, long item) -> Colour"""
         return _controls_.ListCtrl_GetItemBackgroundColour(*args, **kwargs)
 
         """GetItemBackgroundColour(self, long item) -> Colour"""
         return _controls_.ListCtrl_GetItemBackgroundColour(*args, **kwargs)
 
+    def SetItemFont(*args, **kwargs):
+        """SetItemFont(self, long item, Font f)"""
+        return _controls_.ListCtrl_SetItemFont(*args, **kwargs)
+
+    def GetItemFont(*args, **kwargs):
+        """GetItemFont(self, long item) -> Font"""
+        return _controls_.ListCtrl_GetItemFont(*args, **kwargs)
+
     #
     # Some helpers...
     def Select(self, idx, on=1):
     #
     # Some helpers...
     def Select(self, idx, on=1):
@@ -3905,7 +4786,7 @@ class ListCtrl(_core.Control):
 
     def IsSelected(self, idx):
         '''return True if the item is selected'''
 
     def IsSelected(self, idx):
         '''return True if the item is selected'''
-        return self.GetItemState(idx, wx.LIST_STATE_SELECTED) != 0
+        return (self.GetItemState(idx, wx.LIST_STATE_SELECTED) & wx.LIST_STATE_SELECTED) != 0
 
     def SetColumnImage(self, col, image):
         item = self.GetColumn(col)
 
     def SetColumnImage(self, col, image):
         item = self.GetColumn(col)
@@ -3949,64 +4830,68 @@ class ListCtrl(_core.Control):
         """
         GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
         """
         GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
-        Get the default attributes for this class.  This is useful if
-        you want to use the same font or colour in your own control as
-        in a standard control -- which is a much better idea than hard
-        coding specific colours or fonts which might look completely out
-        of place on the users system, especially if it uses themes.
+        Get the default attributes for this class.  This is useful if you want
+        to use the same font or colour in your own control as in a standard
+        control -- which is a much better idea than hard coding specific
+        colours or fonts which might look completely out of place on the
+        user's system, especially if it uses themes.
 
         The variant parameter is only relevant under Mac currently and is
 
         The variant parameter is only relevant under Mac currently and is
-        ignore under other platforms. Under Mac, it will change the size of the
-        returned font. See SetWindowVariant for more about this.
+        ignore under other platforms. Under Mac, it will change the size of
+        the returned font. See `wx.Window.SetWindowVariant` for more about
+        this.
         """
         return _controls_.ListCtrl_GetClassDefaultAttributes(*args, **kwargs)
 
     GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
         """
         return _controls_.ListCtrl_GetClassDefaultAttributes(*args, **kwargs)
 
     GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
-
-class ListCtrlPtr(ListCtrl):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = ListCtrl
-_controls_.ListCtrl_swigregister(ListCtrlPtr)
+    ColumnCount = property(GetColumnCount,doc="See `GetColumnCount`") 
+    CountPerPage = property(GetCountPerPage,doc="See `GetCountPerPage`") 
+    EditControl = property(GetEditControl,doc="See `GetEditControl`") 
+    FocusedItem = property(GetFocusedItem,doc="See `GetFocusedItem`") 
+    ImageList = property(GetImageList,SetImageList,doc="See `GetImageList` and `SetImageList`") 
+    ItemCount = property(GetItemCount,SetItemCount,doc="See `GetItemCount` and `SetItemCount`") 
+    MainWindow = property(GetMainWindow,doc="See `GetMainWindow`") 
+    SelectedItemCount = property(GetSelectedItemCount,doc="See `GetSelectedItemCount`") 
+    TextColour = property(GetTextColour,SetTextColour,doc="See `GetTextColour` and `SetTextColour`") 
+    TopItem = property(GetTopItem,doc="See `GetTopItem`") 
+    ViewRect = property(GetViewRect,doc="See `GetViewRect`") 
+_controls_.ListCtrl_swigregister(ListCtrl)
 
 def PreListCtrl(*args, **kwargs):
     """PreListCtrl() -> ListCtrl"""
     val = _controls_.new_PreListCtrl(*args, **kwargs)
 
 def PreListCtrl(*args, **kwargs):
     """PreListCtrl() -> ListCtrl"""
     val = _controls_.new_PreListCtrl(*args, **kwargs)
-    val.thisown = 1
     return val
 
 def ListCtrl_GetClassDefaultAttributes(*args, **kwargs):
     return val
 
 def ListCtrl_GetClassDefaultAttributes(*args, **kwargs):
-    """
+  """
     ListCtrl_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
     ListCtrl_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
-    Get the default attributes for this class.  This is useful if
-    you want to use the same font or colour in your own control as
-    in a standard control -- which is a much better idea than hard
-    coding specific colours or fonts which might look completely out
-    of place on the users system, especially if it uses themes.
+    Get the default attributes for this class.  This is useful if you want
+    to use the same font or colour in your own control as in a standard
+    control -- which is a much better idea than hard coding specific
+    colours or fonts which might look completely out of place on the
+    user's system, especially if it uses themes.
 
     The variant parameter is only relevant under Mac currently and is
 
     The variant parameter is only relevant under Mac currently and is
-    ignore under other platforms. Under Mac, it will change the size of the
-    returned font. See SetWindowVariant for more about this.
+    ignore under other platforms. Under Mac, it will change the size of
+    the returned font. See `wx.Window.SetWindowVariant` for more about
+    this.
     """
     """
-    return _controls_.ListCtrl_GetClassDefaultAttributes(*args, **kwargs)
+  return _controls_.ListCtrl_GetClassDefaultAttributes(*args, **kwargs)
 
 #---------------------------------------------------------------------------
 
 class ListView(ListCtrl):
 
 #---------------------------------------------------------------------------
 
 class ListView(ListCtrl):
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxListView instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def __init__(self, *args, **kwargs):
+    """Proxy of C++ ListView class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """
         __init__(self, Window parent, int id=-1, Point pos=DefaultPosition, 
             Size size=DefaultSize, long style=LC_REPORT, 
             Validator validator=DefaultValidator, String name=ListCtrlNameStr) -> ListView
         """
         """
         __init__(self, Window parent, int id=-1, Point pos=DefaultPosition, 
             Size size=DefaultSize, long style=LC_REPORT, 
             Validator validator=DefaultValidator, String name=ListCtrlNameStr) -> ListView
         """
-        newobj = _controls_.new_ListView(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
+        _controls_.ListView_swiginit(self,_controls_.new_ListView(*args, **kwargs))
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
@@ -4051,18 +4936,12 @@ class ListView(ListCtrl):
         """ClearColumnImage(self, int col)"""
         return _controls_.ListView_ClearColumnImage(*args, **kwargs)
 
         """ClearColumnImage(self, int col)"""
         return _controls_.ListView_ClearColumnImage(*args, **kwargs)
 
-
-class ListViewPtr(ListView):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = ListView
-_controls_.ListView_swigregister(ListViewPtr)
+    FocusedItem = property(GetFocusedItem,doc="See `GetFocusedItem`") 
+_controls_.ListView_swigregister(ListView)
 
 def PreListView(*args, **kwargs):
     """PreListView() -> ListView"""
     val = _controls_.new_PreListView(*args, **kwargs)
 
 def PreListView(*args, **kwargs):
     """PreListView() -> ListView"""
     val = _controls_.new_PreListView(*args, **kwargs)
-    val.thisown = 1
     return val
 
 #---------------------------------------------------------------------------
     return val
 
 #---------------------------------------------------------------------------
@@ -4081,8 +4960,10 @@ TR_ROW_LINES = _controls_.TR_ROW_LINES
 TR_FULL_ROW_HIGHLIGHT = _controls_.TR_FULL_ROW_HIGHLIGHT
 TR_DEFAULT_STYLE = _controls_.TR_DEFAULT_STYLE
 TR_TWIST_BUTTONS = _controls_.TR_TWIST_BUTTONS
 TR_FULL_ROW_HIGHLIGHT = _controls_.TR_FULL_ROW_HIGHLIGHT
 TR_DEFAULT_STYLE = _controls_.TR_DEFAULT_STYLE
 TR_TWIST_BUTTONS = _controls_.TR_TWIST_BUTTONS
-TR_MAC_BUTTONS = _controls_.TR_MAC_BUTTONS
-TR_AQUA_BUTTONS = _controls_.TR_AQUA_BUTTONS
+# obsolete
+TR_MAC_BUTTONS = 0
+wxTR_AQUA_BUTTONS = 0
+
 TreeItemIcon_Normal = _controls_.TreeItemIcon_Normal
 TreeItemIcon_Selected = _controls_.TreeItemIcon_Selected
 TreeItemIcon_Expanded = _controls_.TreeItemIcon_Expanded
 TreeItemIcon_Normal = _controls_.TreeItemIcon_Normal
 TreeItemIcon_Selected = _controls_.TreeItemIcon_Selected
 TreeItemIcon_Expanded = _controls_.TreeItemIcon_Expanded
@@ -4105,20 +4986,14 @@ TREE_HITTEST_ONITEM = _controls_.TREE_HITTEST_ONITEM
 #---------------------------------------------------------------------------
 
 class TreeItemId(object):
 #---------------------------------------------------------------------------
 
 class TreeItemId(object):
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxTreeItemId instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def __init__(self, *args, **kwargs):
+    """Proxy of C++ TreeItemId class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """__init__(self) -> TreeItemId"""
         """__init__(self) -> TreeItemId"""
-        newobj = _controls_.new_TreeItemId(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
-    def __del__(self, destroy=_controls_.delete_TreeItemId):
-        """__del__(self)"""
-        try:
-            if self.thisown: destroy(self)
-        except: pass
-
+        _controls_.TreeItemId_swiginit(self,_controls_.new_TreeItemId(*args, **kwargs))
+    __swig_destroy__ = _controls_.delete_TreeItemId
+    __del__ = lambda self : None;
     def IsOk(*args, **kwargs):
         """IsOk(self) -> bool"""
         return _controls_.TreeItemId_IsOk(*args, **kwargs)
     def IsOk(*args, **kwargs):
         """IsOk(self) -> bool"""
         return _controls_.TreeItemId_IsOk(*args, **kwargs)
@@ -4134,24 +5009,18 @@ class TreeItemId(object):
     m_pItem = property(_controls_.TreeItemId_m_pItem_get, _controls_.TreeItemId_m_pItem_set)
     Ok = IsOk
     def __nonzero__(self): return self.IsOk() 
     m_pItem = property(_controls_.TreeItemId_m_pItem_get, _controls_.TreeItemId_m_pItem_set)
     Ok = IsOk
     def __nonzero__(self): return self.IsOk() 
-
-class TreeItemIdPtr(TreeItemId):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = TreeItemId
-_controls_.TreeItemId_swigregister(TreeItemIdPtr)
+_controls_.TreeItemId_swigregister(TreeItemId)
 TreeCtrlNameStr = cvar.TreeCtrlNameStr
 
 class TreeItemData(object):
 TreeCtrlNameStr = cvar.TreeCtrlNameStr
 
 class TreeItemData(object):
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxPyTreeItemData instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def __init__(self, *args, **kwargs):
+    """Proxy of C++ TreeItemData class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """__init__(self, PyObject obj=None) -> TreeItemData"""
         """__init__(self, PyObject obj=None) -> TreeItemData"""
-        newobj = _controls_.new_TreeItemData(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
+        _controls_.TreeItemData_swiginit(self,_controls_.new_TreeItemData(*args, **kwargs))
+    __swig_destroy__ = _controls_.delete_TreeItemData
+    __del__ = lambda self : None;
     def GetData(*args, **kwargs):
         """GetData(self) -> PyObject"""
         return _controls_.TreeItemData_GetData(*args, **kwargs)
     def GetData(*args, **kwargs):
         """GetData(self) -> PyObject"""
         return _controls_.TreeItemData_GetData(*args, **kwargs)
@@ -4170,15 +5039,12 @@ class TreeItemData(object):
 
     def Destroy(*args, **kwargs):
         """Destroy(self)"""
 
     def Destroy(*args, **kwargs):
         """Destroy(self)"""
+        args[0].this.own(False)
         return _controls_.TreeItemData_Destroy(*args, **kwargs)
 
         return _controls_.TreeItemData_Destroy(*args, **kwargs)
 
-
-class TreeItemDataPtr(TreeItemData):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = TreeItemData
-_controls_.TreeItemData_swigregister(TreeItemDataPtr)
+    Data = property(GetData,SetData,doc="See `GetData` and `SetData`") 
+    Id = property(GetId,SetId,doc="See `GetId` and `SetId`") 
+_controls_.TreeItemData_swigregister(TreeItemData)
 
 #---------------------------------------------------------------------------
 
 
 #---------------------------------------------------------------------------
 
@@ -4202,6 +5068,7 @@ wxEVT_COMMAND_TREE_ITEM_MIDDLE_CLICK = _controls_.wxEVT_COMMAND_TREE_ITEM_MIDDLE
 wxEVT_COMMAND_TREE_END_DRAG = _controls_.wxEVT_COMMAND_TREE_END_DRAG
 wxEVT_COMMAND_TREE_STATE_IMAGE_CLICK = _controls_.wxEVT_COMMAND_TREE_STATE_IMAGE_CLICK
 wxEVT_COMMAND_TREE_ITEM_GETTOOLTIP = _controls_.wxEVT_COMMAND_TREE_ITEM_GETTOOLTIP
 wxEVT_COMMAND_TREE_END_DRAG = _controls_.wxEVT_COMMAND_TREE_END_DRAG
 wxEVT_COMMAND_TREE_STATE_IMAGE_CLICK = _controls_.wxEVT_COMMAND_TREE_STATE_IMAGE_CLICK
 wxEVT_COMMAND_TREE_ITEM_GETTOOLTIP = _controls_.wxEVT_COMMAND_TREE_ITEM_GETTOOLTIP
+wxEVT_COMMAND_TREE_ITEM_MENU = _controls_.wxEVT_COMMAND_TREE_ITEM_MENU
 EVT_TREE_BEGIN_DRAG        = wx.PyEventBinder(wxEVT_COMMAND_TREE_BEGIN_DRAG       , 1)
 EVT_TREE_BEGIN_RDRAG       = wx.PyEventBinder(wxEVT_COMMAND_TREE_BEGIN_RDRAG      , 1)
 EVT_TREE_BEGIN_LABEL_EDIT  = wx.PyEventBinder(wxEVT_COMMAND_TREE_BEGIN_LABEL_EDIT , 1)
 EVT_TREE_BEGIN_DRAG        = wx.PyEventBinder(wxEVT_COMMAND_TREE_BEGIN_DRAG       , 1)
 EVT_TREE_BEGIN_RDRAG       = wx.PyEventBinder(wxEVT_COMMAND_TREE_BEGIN_RDRAG      , 1)
 EVT_TREE_BEGIN_LABEL_EDIT  = wx.PyEventBinder(wxEVT_COMMAND_TREE_BEGIN_LABEL_EDIT , 1)
@@ -4222,16 +5089,18 @@ EVT_TREE_ITEM_MIDDLE_CLICK = wx.PyEventBinder(wxEVT_COMMAND_TREE_ITEM_MIDDLE_CLI
 EVT_TREE_END_DRAG          = wx.PyEventBinder(wxEVT_COMMAND_TREE_END_DRAG         , 1)
 EVT_TREE_STATE_IMAGE_CLICK = wx.PyEventBinder(wxEVT_COMMAND_TREE_STATE_IMAGE_CLICK, 1)
 EVT_TREE_ITEM_GETTOOLTIP   = wx.PyEventBinder(wxEVT_COMMAND_TREE_ITEM_GETTOOLTIP,   1)
 EVT_TREE_END_DRAG          = wx.PyEventBinder(wxEVT_COMMAND_TREE_END_DRAG         , 1)
 EVT_TREE_STATE_IMAGE_CLICK = wx.PyEventBinder(wxEVT_COMMAND_TREE_STATE_IMAGE_CLICK, 1)
 EVT_TREE_ITEM_GETTOOLTIP   = wx.PyEventBinder(wxEVT_COMMAND_TREE_ITEM_GETTOOLTIP,   1)
+EVT_TREE_ITEM_MENU         = wx.PyEventBinder(wxEVT_COMMAND_TREE_ITEM_MENU,         1)
 
 class TreeEvent(_core.NotifyEvent):
 
 class TreeEvent(_core.NotifyEvent):
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxTreeEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def __init__(self, *args, **kwargs):
-        """__init__(self, wxEventType commandType=wxEVT_NULL, int id=0) -> TreeEvent"""
-        newobj = _controls_.new_TreeEvent(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
+    """Proxy of C++ TreeEvent class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args): 
+        """
+        __init__(self, EventType commandType=wxEVT_NULL, int id=0) -> TreeEvent
+        __init__(self, EventType commandType, TreeCtrl tree, TreeItemId item=NullTreeItemId) -> TreeEvent
+        """
+        _controls_.TreeEvent_swiginit(self,_controls_.new_TreeEvent(*args))
     def GetItem(*args, **kwargs):
         """GetItem(self) -> TreeItemId"""
         return _controls_.TreeEvent_GetItem(*args, **kwargs)
     def GetItem(*args, **kwargs):
         """GetItem(self) -> TreeItemId"""
         return _controls_.TreeEvent_GetItem(*args, **kwargs)
@@ -4288,31 +5157,35 @@ class TreeEvent(_core.NotifyEvent):
         """SetToolTip(self, String toolTip)"""
         return _controls_.TreeEvent_SetToolTip(*args, **kwargs)
 
         """SetToolTip(self, String toolTip)"""
         return _controls_.TreeEvent_SetToolTip(*args, **kwargs)
 
+    def GetToolTip(*args, **kwargs):
+        """GetToolTip(self) -> String"""
+        return _controls_.TreeEvent_GetToolTip(*args, **kwargs)
 
 
-class TreeEventPtr(TreeEvent):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = TreeEvent
-_controls_.TreeEvent_swigregister(TreeEventPtr)
+    Item = property(GetItem,SetItem,doc="See `GetItem` and `SetItem`") 
+    KeyCode = property(GetKeyCode,doc="See `GetKeyCode`") 
+    KeyEvent = property(GetKeyEvent,SetKeyEvent,doc="See `GetKeyEvent` and `SetKeyEvent`") 
+    Label = property(GetLabel,SetLabel,doc="See `GetLabel` and `SetLabel`") 
+    OldItem = property(GetOldItem,SetOldItem,doc="See `GetOldItem` and `SetOldItem`") 
+    Point = property(GetPoint,SetPoint,doc="See `GetPoint` and `SetPoint`") 
+    ToolTip = property(GetToolTip,SetToolTip,doc="See `GetToolTip` and `SetToolTip`") 
+    EditCancelled = property(IsEditCancelled,SetEditCanceled,doc="See `IsEditCancelled` and `SetEditCanceled`") 
+_controls_.TreeEvent_swigregister(TreeEvent)
 
 #---------------------------------------------------------------------------
 
 class TreeCtrl(_core.Control):
 
 #---------------------------------------------------------------------------
 
 class TreeCtrl(_core.Control):
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxPyTreeCtrl instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def __init__(self, *args, **kwargs):
+    """Proxy of C++ TreeCtrl class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """
         __init__(self, Window parent, int id=-1, Point pos=DefaultPosition, 
             Size size=DefaultSize, long style=TR_DEFAULT_STYLE, 
             Validator validator=DefaultValidator, 
             String name=TreeCtrlNameStr) -> TreeCtrl
         """
         """
         __init__(self, Window parent, int id=-1, Point pos=DefaultPosition, 
             Size size=DefaultSize, long style=TR_DEFAULT_STYLE, 
             Validator validator=DefaultValidator, 
             String name=TreeCtrlNameStr) -> TreeCtrl
         """
-        newobj = _controls_.new_TreeCtrl(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
-        self._setOORInfo(self);self._setCallbackInfo(self, TreeCtrl)
+        _controls_.TreeCtrl_swiginit(self,_controls_.new_TreeCtrl(*args, **kwargs))
+        self._setOORInfo(self);TreeCtrl._setCallbackInfo(self, self, TreeCtrl)
 
     def Create(*args, **kwargs):
         """
 
     def Create(*args, **kwargs):
         """
@@ -4330,7 +5203,7 @@ class TreeCtrl(_core.Control):
         return _controls_.TreeCtrl__setCallbackInfo(*args, **kwargs)
 
     def GetCount(*args, **kwargs):
         return _controls_.TreeCtrl__setCallbackInfo(*args, **kwargs)
 
     def GetCount(*args, **kwargs):
-        """GetCount(self) -> size_t"""
+        """GetCount(self) -> unsigned int"""
         return _controls_.TreeCtrl_GetCount(*args, **kwargs)
 
     def GetIndent(*args, **kwargs):
         return _controls_.TreeCtrl_GetCount(*args, **kwargs)
 
     def GetIndent(*args, **kwargs):
@@ -4563,6 +5436,14 @@ class TreeCtrl(_core.Control):
         """Expand(self, TreeItemId item)"""
         return _controls_.TreeCtrl_Expand(*args, **kwargs)
 
         """Expand(self, TreeItemId item)"""
         return _controls_.TreeCtrl_Expand(*args, **kwargs)
 
+    def ExpandAllChildren(*args, **kwargs):
+        """ExpandAllChildren(self, TreeItemId item)"""
+        return _controls_.TreeCtrl_ExpandAllChildren(*args, **kwargs)
+
+    def ExpandAll(*args, **kwargs):
+        """ExpandAll(self)"""
+        return _controls_.TreeCtrl_ExpandAll(*args, **kwargs)
+
     def Collapse(*args, **kwargs):
         """Collapse(self, TreeItemId item)"""
         return _controls_.TreeCtrl_Collapse(*args, **kwargs)
     def Collapse(*args, **kwargs):
         """Collapse(self, TreeItemId item)"""
         return _controls_.TreeCtrl_Collapse(*args, **kwargs)
@@ -4623,10 +5504,9 @@ class TreeCtrl(_core.Control):
         """
         HitTest(Point point) -> (item, where)
 
         """
         HitTest(Point point) -> (item, where)
 
-        Determine which item (if any) belongs the given point.  The
-        coordinates specified are relative to the client area of tree ctrl
-        and the where return value is set to a bitmask of wxTREE_HITTEST_xxx
-        constants.
+        Determine which item (if any) belongs the given point.  The coordinates
+        specified are relative to the client area of tree ctrl and the where return
+        value is set to a bitmask of wxTREE_HITTEST_xxx constants.
 
         """
         return _controls_.TreeCtrl_HitTest(*args, **kwargs)
 
         """
         return _controls_.TreeCtrl_HitTest(*args, **kwargs)
@@ -4635,52 +5515,74 @@ class TreeCtrl(_core.Control):
         """GetBoundingRect(self, TreeItemId item, bool textOnly=False) -> PyObject"""
         return _controls_.TreeCtrl_GetBoundingRect(*args, **kwargs)
 
         """GetBoundingRect(self, TreeItemId item, bool textOnly=False) -> PyObject"""
         return _controls_.TreeCtrl_GetBoundingRect(*args, **kwargs)
 
+    def SetState(*args, **kwargs):
+        """SetState(self, TreeItemId node, int state)"""
+        return _controls_.TreeCtrl_SetState(*args, **kwargs)
+
+    def GetState(*args, **kwargs):
+        """GetState(self, TreeItemId node) -> int"""
+        return _controls_.TreeCtrl_GetState(*args, **kwargs)
+
     def GetClassDefaultAttributes(*args, **kwargs):
         """
         GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
     def GetClassDefaultAttributes(*args, **kwargs):
         """
         GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
-        Get the default attributes for this class.  This is useful if
-        you want to use the same font or colour in your own control as
-        in a standard control -- which is a much better idea than hard
-        coding specific colours or fonts which might look completely out
-        of place on the users system, especially if it uses themes.
+        Get the default attributes for this class.  This is useful if you want
+        to use the same font or colour in your own control as in a standard
+        control -- which is a much better idea than hard coding specific
+        colours or fonts which might look completely out of place on the
+        user's system, especially if it uses themes.
 
         The variant parameter is only relevant under Mac currently and is
 
         The variant parameter is only relevant under Mac currently and is
-        ignore under other platforms. Under Mac, it will change the size of the
-        returned font. See SetWindowVariant for more about this.
+        ignore under other platforms. Under Mac, it will change the size of
+        the returned font. See `wx.Window.SetWindowVariant` for more about
+        this.
         """
         return _controls_.TreeCtrl_GetClassDefaultAttributes(*args, **kwargs)
 
     GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
         """
         return _controls_.TreeCtrl_GetClassDefaultAttributes(*args, **kwargs)
 
     GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
-
-class TreeCtrlPtr(TreeCtrl):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = TreeCtrl
-_controls_.TreeCtrl_swigregister(TreeCtrlPtr)
+    def SetQuickBestSize(*args, **kwargs):
+        """SetQuickBestSize(self, bool q)"""
+        return _controls_.TreeCtrl_SetQuickBestSize(*args, **kwargs)
+
+    def GetQuickBestSize(*args, **kwargs):
+        """GetQuickBestSize(self) -> bool"""
+        return _controls_.TreeCtrl_GetQuickBestSize(*args, **kwargs)
+
+    Count = property(GetCount,doc="See `GetCount`") 
+    EditControl = property(GetEditControl,doc="See `GetEditControl`") 
+    FirstVisibleItem = property(GetFirstVisibleItem,doc="See `GetFirstVisibleItem`") 
+    ImageList = property(GetImageList,SetImageList,doc="See `GetImageList` and `SetImageList`") 
+    Indent = property(GetIndent,SetIndent,doc="See `GetIndent` and `SetIndent`") 
+    QuickBestSize = property(GetQuickBestSize,SetQuickBestSize,doc="See `GetQuickBestSize` and `SetQuickBestSize`") 
+    RootItem = property(GetRootItem,doc="See `GetRootItem`") 
+    Selection = property(GetSelection,doc="See `GetSelection`") 
+    Selections = property(GetSelections,doc="See `GetSelections`") 
+    Spacing = property(GetSpacing,SetSpacing,doc="See `GetSpacing` and `SetSpacing`") 
+    StateImageList = property(GetStateImageList,SetStateImageList,doc="See `GetStateImageList` and `SetStateImageList`") 
+_controls_.TreeCtrl_swigregister(TreeCtrl)
 
 def PreTreeCtrl(*args, **kwargs):
     """PreTreeCtrl() -> TreeCtrl"""
     val = _controls_.new_PreTreeCtrl(*args, **kwargs)
 
 def PreTreeCtrl(*args, **kwargs):
     """PreTreeCtrl() -> TreeCtrl"""
     val = _controls_.new_PreTreeCtrl(*args, **kwargs)
-    val.thisown = 1
     return val
 
 def TreeCtrl_GetClassDefaultAttributes(*args, **kwargs):
     return val
 
 def TreeCtrl_GetClassDefaultAttributes(*args, **kwargs):
-    """
+  """
     TreeCtrl_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
     TreeCtrl_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
-    Get the default attributes for this class.  This is useful if
-    you want to use the same font or colour in your own control as
-    in a standard control -- which is a much better idea than hard
-    coding specific colours or fonts which might look completely out
-    of place on the users system, especially if it uses themes.
+    Get the default attributes for this class.  This is useful if you want
+    to use the same font or colour in your own control as in a standard
+    control -- which is a much better idea than hard coding specific
+    colours or fonts which might look completely out of place on the
+    user's system, especially if it uses themes.
 
     The variant parameter is only relevant under Mac currently and is
 
     The variant parameter is only relevant under Mac currently and is
-    ignore under other platforms. Under Mac, it will change the size of the
-    returned font. See SetWindowVariant for more about this.
+    ignore under other platforms. Under Mac, it will change the size of
+    the returned font. See `wx.Window.SetWindowVariant` for more about
+    this.
     """
     """
-    return _controls_.TreeCtrl_GetClassDefaultAttributes(*args, **kwargs)
+  return _controls_.TreeCtrl_GetClassDefaultAttributes(*args, **kwargs)
 
 #---------------------------------------------------------------------------
 
 
 #---------------------------------------------------------------------------
 
@@ -4690,9 +5592,10 @@ DIRCTRL_SHOW_FILTERS = _controls_.DIRCTRL_SHOW_FILTERS
 DIRCTRL_3D_INTERNAL = _controls_.DIRCTRL_3D_INTERNAL
 DIRCTRL_EDIT_LABELS = _controls_.DIRCTRL_EDIT_LABELS
 class GenericDirCtrl(_core.Control):
 DIRCTRL_3D_INTERNAL = _controls_.DIRCTRL_3D_INTERNAL
 DIRCTRL_EDIT_LABELS = _controls_.DIRCTRL_EDIT_LABELS
 class GenericDirCtrl(_core.Control):
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxGenericDirCtrl instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def __init__(self, *args, **kwargs):
+    """Proxy of C++ GenericDirCtrl class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """
         __init__(self, Window parent, int id=-1, String dir=DirDialogDefaultFolderStr, 
             Point pos=DefaultPosition, Size size=DefaultSize, 
         """
         __init__(self, Window parent, int id=-1, String dir=DirDialogDefaultFolderStr, 
             Point pos=DefaultPosition, Size size=DefaultSize, 
@@ -4700,10 +5603,7 @@ class GenericDirCtrl(_core.Control):
             String filter=EmptyString, 
             int defaultFilter=0, String name=TreeCtrlNameStr) -> GenericDirCtrl
         """
             String filter=EmptyString, 
             int defaultFilter=0, String name=TreeCtrlNameStr) -> GenericDirCtrl
         """
-        newobj = _controls_.new_GenericDirCtrl(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
+        _controls_.GenericDirCtrl_swiginit(self,_controls_.new_GenericDirCtrl(*args, **kwargs))
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
@@ -4720,6 +5620,10 @@ class GenericDirCtrl(_core.Control):
         """ExpandPath(self, String path) -> bool"""
         return _controls_.GenericDirCtrl_ExpandPath(*args, **kwargs)
 
         """ExpandPath(self, String path) -> bool"""
         return _controls_.GenericDirCtrl_ExpandPath(*args, **kwargs)
 
+    def CollapsePath(*args, **kwargs):
+        """CollapsePath(self, String path) -> bool"""
+        return _controls_.GenericDirCtrl_CollapsePath(*args, **kwargs)
+
     def GetDefaultPath(*args, **kwargs):
         """GetDefaultPath(self) -> String"""
         return _controls_.GenericDirCtrl_GetDefaultPath(*args, **kwargs)
     def GetDefaultPath(*args, **kwargs):
         """GetDefaultPath(self) -> String"""
         return _controls_.GenericDirCtrl_GetDefaultPath(*args, **kwargs)
@@ -4780,9 +5684,10 @@ class GenericDirCtrl(_core.Control):
         """
         FindChild(wxTreeItemId parentId, wxString path) -> (item, done)
 
         """
         FindChild(wxTreeItemId parentId, wxString path) -> (item, done)
 
-        Find the child that matches the first part of 'path'.  E.g. if a child path is
-        "/usr" and 'path' is "/usr/include" then the child for /usr is returned.
-        If the path string has been used (we're at the leaf), done is set to True
+        Find the child that matches the first part of 'path'.  E.g. if a child
+        path is "/usr" and 'path' is "/usr/include" then the child for
+        /usr is returned.  If the path string has been used (we're at the
+        leaf), done is set to True.
 
         """
         return _controls_.GenericDirCtrl_FindChild(*args, **kwargs)
 
         """
         return _controls_.GenericDirCtrl_FindChild(*args, **kwargs)
@@ -4795,33 +5700,32 @@ class GenericDirCtrl(_core.Control):
         """ReCreateTree(self)"""
         return _controls_.GenericDirCtrl_ReCreateTree(*args, **kwargs)
 
         """ReCreateTree(self)"""
         return _controls_.GenericDirCtrl_ReCreateTree(*args, **kwargs)
 
-
-class GenericDirCtrlPtr(GenericDirCtrl):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = GenericDirCtrl
-_controls_.GenericDirCtrl_swigregister(GenericDirCtrlPtr)
+    DefaultPath = property(GetDefaultPath,SetDefaultPath,doc="See `GetDefaultPath` and `SetDefaultPath`") 
+    FilePath = property(GetFilePath,doc="See `GetFilePath`") 
+    Filter = property(GetFilter,SetFilter,doc="See `GetFilter` and `SetFilter`") 
+    FilterIndex = property(GetFilterIndex,SetFilterIndex,doc="See `GetFilterIndex` and `SetFilterIndex`") 
+    FilterListCtrl = property(GetFilterListCtrl,doc="See `GetFilterListCtrl`") 
+    Path = property(GetPath,SetPath,doc="See `GetPath` and `SetPath`") 
+    RootId = property(GetRootId,doc="See `GetRootId`") 
+    TreeCtrl = property(GetTreeCtrl,doc="See `GetTreeCtrl`") 
+_controls_.GenericDirCtrl_swigregister(GenericDirCtrl)
 DirDialogDefaultFolderStr = cvar.DirDialogDefaultFolderStr
 
 def PreGenericDirCtrl(*args, **kwargs):
     """PreGenericDirCtrl() -> GenericDirCtrl"""
     val = _controls_.new_PreGenericDirCtrl(*args, **kwargs)
 DirDialogDefaultFolderStr = cvar.DirDialogDefaultFolderStr
 
 def PreGenericDirCtrl(*args, **kwargs):
     """PreGenericDirCtrl() -> GenericDirCtrl"""
     val = _controls_.new_PreGenericDirCtrl(*args, **kwargs)
-    val.thisown = 1
     return val
 
 class DirFilterListCtrl(Choice):
     return val
 
 class DirFilterListCtrl(Choice):
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxDirFilterListCtrl instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def __init__(self, *args, **kwargs):
+    """Proxy of C++ DirFilterListCtrl class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """
         __init__(self, GenericDirCtrl parent, int id=-1, Point pos=DefaultPosition, 
             Size size=DefaultSize, long style=0) -> DirFilterListCtrl
         """
         """
         __init__(self, GenericDirCtrl parent, int id=-1, Point pos=DefaultPosition, 
             Size size=DefaultSize, long style=0) -> DirFilterListCtrl
         """
-        newobj = _controls_.new_DirFilterListCtrl(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
+        _controls_.DirFilterListCtrl_swiginit(self,_controls_.new_DirFilterListCtrl(*args, **kwargs))
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
@@ -4835,139 +5739,195 @@ class DirFilterListCtrl(Choice):
         """FillFilterList(self, String filter, int defaultFilter)"""
         return _controls_.DirFilterListCtrl_FillFilterList(*args, **kwargs)
 
         """FillFilterList(self, String filter, int defaultFilter)"""
         return _controls_.DirFilterListCtrl_FillFilterList(*args, **kwargs)
 
-
-class DirFilterListCtrlPtr(DirFilterListCtrl):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = DirFilterListCtrl
-_controls_.DirFilterListCtrl_swigregister(DirFilterListCtrlPtr)
+_controls_.DirFilterListCtrl_swigregister(DirFilterListCtrl)
 
 def PreDirFilterListCtrl(*args, **kwargs):
     """PreDirFilterListCtrl() -> DirFilterListCtrl"""
     val = _controls_.new_PreDirFilterListCtrl(*args, **kwargs)
 
 def PreDirFilterListCtrl(*args, **kwargs):
     """PreDirFilterListCtrl() -> DirFilterListCtrl"""
     val = _controls_.new_PreDirFilterListCtrl(*args, **kwargs)
-    val.thisown = 1
     return val
 
 #---------------------------------------------------------------------------
 
 class PyControl(_core.Control):
     return val
 
 #---------------------------------------------------------------------------
 
 class PyControl(_core.Control):
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxPyControl instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def __init__(self, *args, **kwargs):
+    """Proxy of C++ PyControl class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """
         """
-        __init__(self, Window parent, int id, Point pos=DefaultPosition, Size size=DefaultSize
-            long style=0, Validator validator=DefaultValidator, 
+        __init__(self, Window parent, int id=-1, Point pos=DefaultPosition
+            Size size=DefaultSize, long style=0, Validator validator=DefaultValidator, 
             String name=ControlNameStr) -> PyControl
         """
             String name=ControlNameStr) -> PyControl
         """
-        newobj = _controls_.new_PyControl(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
-        self._setOORInfo(self); self._setCallbackInfo(self, PyControl)
+        _controls_.PyControl_swiginit(self,_controls_.new_PyControl(*args, **kwargs))
+        self._setOORInfo(self);PyControl._setCallbackInfo(self, self, PyControl)
 
     def _setCallbackInfo(*args, **kwargs):
         """_setCallbackInfo(self, PyObject self, PyObject _class)"""
         return _controls_.PyControl__setCallbackInfo(*args, **kwargs)
 
 
     def _setCallbackInfo(*args, **kwargs):
         """_setCallbackInfo(self, PyObject self, PyObject _class)"""
         return _controls_.PyControl__setCallbackInfo(*args, **kwargs)
 
-    def base_DoMoveWindow(*args, **kwargs):
-        """base_DoMoveWindow(self, int x, int y, int width, int height)"""
-        return _controls_.PyControl_base_DoMoveWindow(*args, **kwargs)
-
-    def base_DoSetSize(*args, **kwargs):
-        """base_DoSetSize(self, int x, int y, int width, int height, int sizeFlags=SIZE_AUTO)"""
-        return _controls_.PyControl_base_DoSetSize(*args, **kwargs)
-
-    def base_DoSetClientSize(*args, **kwargs):
-        """base_DoSetClientSize(self, int width, int height)"""
-        return _controls_.PyControl_base_DoSetClientSize(*args, **kwargs)
-
-    def base_DoSetVirtualSize(*args, **kwargs):
-        """base_DoSetVirtualSize(self, int x, int y)"""
-        return _controls_.PyControl_base_DoSetVirtualSize(*args, **kwargs)
-
-    def base_DoGetSize(*args, **kwargs):
-        """base_DoGetSize() -> (width, height)"""
-        return _controls_.PyControl_base_DoGetSize(*args, **kwargs)
-
-    def base_DoGetClientSize(*args, **kwargs):
-        """base_DoGetClientSize() -> (width, height)"""
-        return _controls_.PyControl_base_DoGetClientSize(*args, **kwargs)
-
-    def base_DoGetPosition(*args, **kwargs):
-        """base_DoGetPosition() -> (x,y)"""
-        return _controls_.PyControl_base_DoGetPosition(*args, **kwargs)
-
-    def base_DoGetVirtualSize(*args, **kwargs):
-        """base_DoGetVirtualSize(self) -> Size"""
-        return _controls_.PyControl_base_DoGetVirtualSize(*args, **kwargs)
-
-    def base_DoGetBestSize(*args, **kwargs):
-        """base_DoGetBestSize(self) -> Size"""
-        return _controls_.PyControl_base_DoGetBestSize(*args, **kwargs)
-
-    def base_InitDialog(*args, **kwargs):
-        """base_InitDialog(self)"""
-        return _controls_.PyControl_base_InitDialog(*args, **kwargs)
-
-    def base_TransferDataToWindow(*args, **kwargs):
-        """base_TransferDataToWindow(self) -> bool"""
-        return _controls_.PyControl_base_TransferDataToWindow(*args, **kwargs)
-
-    def base_TransferDataFromWindow(*args, **kwargs):
-        """base_TransferDataFromWindow(self) -> bool"""
-        return _controls_.PyControl_base_TransferDataFromWindow(*args, **kwargs)
-
-    def base_Validate(*args, **kwargs):
-        """base_Validate(self) -> bool"""
-        return _controls_.PyControl_base_Validate(*args, **kwargs)
-
-    def base_AcceptsFocus(*args, **kwargs):
-        """base_AcceptsFocus(self) -> bool"""
-        return _controls_.PyControl_base_AcceptsFocus(*args, **kwargs)
-
-    def base_AcceptsFocusFromKeyboard(*args, **kwargs):
-        """base_AcceptsFocusFromKeyboard(self) -> bool"""
-        return _controls_.PyControl_base_AcceptsFocusFromKeyboard(*args, **kwargs)
-
-    def base_GetMaxSize(*args, **kwargs):
-        """base_GetMaxSize(self) -> Size"""
-        return _controls_.PyControl_base_GetMaxSize(*args, **kwargs)
-
-    def base_AddChild(*args, **kwargs):
-        """base_AddChild(self, Window child)"""
-        return _controls_.PyControl_base_AddChild(*args, **kwargs)
-
-    def base_RemoveChild(*args, **kwargs):
-        """base_RemoveChild(self, Window child)"""
-        return _controls_.PyControl_base_RemoveChild(*args, **kwargs)
-
-    def base_ShouldInheritColours(*args, **kwargs):
-        """base_ShouldInheritColours(self) -> bool"""
-        return _controls_.PyControl_base_ShouldInheritColours(*args, **kwargs)
-
-    def base_ApplyParentThemeBackground(*args, **kwargs):
-        """base_ApplyParentThemeBackground(self, Colour c)"""
-        return _controls_.PyControl_base_ApplyParentThemeBackground(*args, **kwargs)
-
-
-class PyControlPtr(PyControl):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = PyControl
-_controls_.PyControl_swigregister(PyControlPtr)
+    SetBestSize = wx.Window.SetInitialSize 
+    def DoEraseBackground(*args, **kwargs):
+        """DoEraseBackground(self, DC dc) -> bool"""
+        return _controls_.PyControl_DoEraseBackground(*args, **kwargs)
+
+    def DoMoveWindow(*args, **kwargs):
+        """DoMoveWindow(self, int x, int y, int width, int height)"""
+        return _controls_.PyControl_DoMoveWindow(*args, **kwargs)
+
+    def DoSetSize(*args, **kwargs):
+        """DoSetSize(self, int x, int y, int width, int height, int sizeFlags=SIZE_AUTO)"""
+        return _controls_.PyControl_DoSetSize(*args, **kwargs)
+
+    def DoSetClientSize(*args, **kwargs):
+        """DoSetClientSize(self, int width, int height)"""
+        return _controls_.PyControl_DoSetClientSize(*args, **kwargs)
+
+    def DoSetVirtualSize(*args, **kwargs):
+        """DoSetVirtualSize(self, int x, int y)"""
+        return _controls_.PyControl_DoSetVirtualSize(*args, **kwargs)
+
+    def DoGetSize(*args, **kwargs):
+        """DoGetSize() -> (width, height)"""
+        return _controls_.PyControl_DoGetSize(*args, **kwargs)
+
+    def DoGetClientSize(*args, **kwargs):
+        """DoGetClientSize() -> (width, height)"""
+        return _controls_.PyControl_DoGetClientSize(*args, **kwargs)
+
+    def DoGetPosition(*args, **kwargs):
+        """DoGetPosition() -> (x,y)"""
+        return _controls_.PyControl_DoGetPosition(*args, **kwargs)
+
+    def DoGetVirtualSize(*args, **kwargs):
+        """DoGetVirtualSize(self) -> Size"""
+        return _controls_.PyControl_DoGetVirtualSize(*args, **kwargs)
+
+    def DoGetBestSize(*args, **kwargs):
+        """DoGetBestSize(self) -> Size"""
+        return _controls_.PyControl_DoGetBestSize(*args, **kwargs)
+
+    def GetDefaultAttributes(*args, **kwargs):
+        """GetDefaultAttributes(self) -> VisualAttributes"""
+        return _controls_.PyControl_GetDefaultAttributes(*args, **kwargs)
+
+    def OnInternalIdle(*args, **kwargs):
+        """OnInternalIdle(self)"""
+        return _controls_.PyControl_OnInternalIdle(*args, **kwargs)
+
+    def base_DoMoveWindow(*args, **kw):
+        return PyScrolledWindow.DoMoveWindow(*args, **kw)
+    base_DoMoveWindow = wx._deprecated(base_DoMoveWindow,
+                                   "Please use PyScrolledWindow.DoMoveWindow instead.")
+
+    def base_DoSetSize(*args, **kw):
+        return PyScrolledWindow.DoSetSize(*args, **kw)
+    base_DoSetSize = wx._deprecated(base_DoSetSize,
+                                   "Please use PyScrolledWindow.DoSetSize instead.")
+
+    def base_DoSetClientSize(*args, **kw):
+        return PyScrolledWindow.DoSetClientSize(*args, **kw)
+    base_DoSetClientSize = wx._deprecated(base_DoSetClientSize,
+                                   "Please use PyScrolledWindow.DoSetClientSize instead.")
+
+    def base_DoSetVirtualSize(*args, **kw):
+        return PyScrolledWindow.DoSetVirtualSize(*args, **kw)
+    base_DoSetVirtualSize = wx._deprecated(base_DoSetVirtualSize,
+                                   "Please use PyScrolledWindow.DoSetVirtualSize instead.")
+
+    def base_DoGetSize(*args, **kw):
+        return PyScrolledWindow.DoGetSize(*args, **kw)
+    base_DoGetSize = wx._deprecated(base_DoGetSize,
+                                   "Please use PyScrolledWindow.DoGetSize instead.")
+
+    def base_DoGetClientSize(*args, **kw):
+        return PyScrolledWindow.DoGetClientSize(*args, **kw)
+    base_DoGetClientSize = wx._deprecated(base_DoGetClientSize,
+                                   "Please use PyScrolledWindow.DoGetClientSize instead.")
+
+    def base_DoGetPosition(*args, **kw):
+        return PyScrolledWindow.DoGetPosition(*args, **kw)
+    base_DoGetPosition = wx._deprecated(base_DoGetPosition,
+                                   "Please use PyScrolledWindow.DoGetPosition instead.")
+
+    def base_DoGetVirtualSize(*args, **kw):
+        return PyScrolledWindow.DoGetVirtualSize(*args, **kw)
+    base_DoGetVirtualSize = wx._deprecated(base_DoGetVirtualSize,
+                                   "Please use PyScrolledWindow.DoGetVirtualSize instead.")
+
+    def base_DoGetBestSize(*args, **kw):
+        return PyScrolledWindow.DoGetBestSize(*args, **kw)
+    base_DoGetBestSize = wx._deprecated(base_DoGetBestSize,
+                                   "Please use PyScrolledWindow.DoGetBestSize instead.")
+
+    def base_InitDialog(*args, **kw):
+        return PyScrolledWindow.InitDialog(*args, **kw)
+    base_InitDialog = wx._deprecated(base_InitDialog,
+                                   "Please use PyScrolledWindow.InitDialog instead.")
+
+    def base_TransferDataToWindow(*args, **kw):
+        return PyScrolledWindow.TransferDataToWindow(*args, **kw)
+    base_TransferDataToWindow = wx._deprecated(base_TransferDataToWindow,
+                                   "Please use PyScrolledWindow.TransferDataToWindow instead.")
+
+    def base_TransferDataFromWindow(*args, **kw):
+        return PyScrolledWindow.TransferDataFromWindow(*args, **kw)
+    base_TransferDataFromWindow = wx._deprecated(base_TransferDataFromWindow,
+                                   "Please use PyScrolledWindow.TransferDataFromWindow instead.")
+
+    def base_Validate(*args, **kw):
+        return PyScrolledWindow.Validate(*args, **kw)
+    base_Validate = wx._deprecated(base_Validate,
+                                   "Please use PyScrolledWindow.Validate instead.")
+
+    def base_AcceptsFocus(*args, **kw):
+        return PyScrolledWindow.AcceptsFocus(*args, **kw)
+    base_AcceptsFocus = wx._deprecated(base_AcceptsFocus,
+                                   "Please use PyScrolledWindow.AcceptsFocus instead.")
+
+    def base_AcceptsFocusFromKeyboard(*args, **kw):
+        return PyScrolledWindow.AcceptsFocusFromKeyboard(*args, **kw)
+    base_AcceptsFocusFromKeyboard = wx._deprecated(base_AcceptsFocusFromKeyboard,
+                                   "Please use PyScrolledWindow.AcceptsFocusFromKeyboard instead.")
+
+    def base_GetMaxSize(*args, **kw):
+        return PyScrolledWindow.GetMaxSize(*args, **kw)
+    base_GetMaxSize = wx._deprecated(base_GetMaxSize,
+                                   "Please use PyScrolledWindow.GetMaxSize instead.")
+
+    def base_AddChild(*args, **kw):
+        return PyScrolledWindow.AddChild(*args, **kw)
+    base_AddChild = wx._deprecated(base_AddChild,
+                                   "Please use PyScrolledWindow.AddChild instead.")
+
+    def base_RemoveChild(*args, **kw):
+        return PyScrolledWindow.RemoveChild(*args, **kw)
+    base_RemoveChild = wx._deprecated(base_RemoveChild,
+                                   "Please use PyScrolledWindow.RemoveChild instead.")
+
+    def base_ShouldInheritColours(*args, **kw):
+        return PyScrolledWindow.ShouldInheritColours(*args, **kw)
+    base_ShouldInheritColours = wx._deprecated(base_ShouldInheritColours,
+                                   "Please use PyScrolledWindow.ShouldInheritColours instead.")
+
+    def base_GetDefaultAttributes(*args, **kw):
+        return PyScrolledWindow.GetDefaultAttributes(*args, **kw)
+    base_GetDefaultAttributes = wx._deprecated(base_GetDefaultAttributes,
+                                   "Please use PyScrolledWindow.GetDefaultAttributes instead.")
+
+    def base_OnInternalIdle(*args, **kw):
+        return PyScrolledWindow.OnInternalIdle(*args, **kw)
+    base_OnInternalIdle = wx._deprecated(base_OnInternalIdle,
+                                   "Please use PyScrolledWindow.OnInternalIdle instead.")
+
+_controls_.PyControl_swigregister(PyControl)
 
 def PrePyControl(*args, **kwargs):
     """PrePyControl() -> PyControl"""
     val = _controls_.new_PrePyControl(*args, **kwargs)
 
 def PrePyControl(*args, **kwargs):
     """PrePyControl() -> PyControl"""
     val = _controls_.new_PrePyControl(*args, **kwargs)
-    val.thisown = 1
     return val
 
 #---------------------------------------------------------------------------
 
     return val
 
 #---------------------------------------------------------------------------
 
-FRAME_EX_CONTEXTHELP = _controls_.FRAME_EX_CONTEXTHELP
-DIALOG_EX_CONTEXTHELP = _controls_.DIALOG_EX_CONTEXTHELP
 wxEVT_HELP = _controls_.wxEVT_HELP
 wxEVT_DETAILED_HELP = _controls_.wxEVT_DETAILED_HELP
 EVT_HELP = wx.PyEventBinder( wxEVT_HELP, 1)
 wxEVT_HELP = _controls_.wxEVT_HELP
 wxEVT_DETAILED_HELP = _controls_.wxEVT_DETAILED_HELP
 EVT_HELP = wx.PyEventBinder( wxEVT_HELP, 1)
@@ -4977,38 +5937,33 @@ EVT_DETAILED_HELP_RANGE = wx.PyEventBinder( wxEVT_DETAILED_HELP, 2)
 
 class HelpEvent(_core.CommandEvent):
     """
 
 class HelpEvent(_core.CommandEvent):
     """
-    A help event is sent when the user has requested
-    context-sensitive help. This can either be caused by the
-    application requesting context-sensitive help mode via
-    wx.ContextHelp, or (on MS Windows) by the system generating a
-    WM_HELP message when the user pressed F1 or clicked on the query
-    button in a dialog caption.
-
-    A help event is sent to the window that the user clicked on, and
-    is propagated up the window hierarchy until the event is
-    processed or there are no more event handlers. The application
-    should call event.GetId to check the identity of the clicked-on
-    window, and then either show some suitable help or call
-    event.Skip if the identifier is unrecognised. Calling Skip is
-    important because it allows wxWindows to generate further events
-    for ancestors of the clicked-on window. Otherwise it would be
-    impossible to show help for container windows, since processing
-    would stop after the first window found.
-
-     Events
-        EVT_HELP            Sent when the user has requested context-
-                            sensitive help.
-        EVT_HELP_RANGE      Allows to catch EVT_HELP for a range of IDs
-
+    A help event is sent when the user has requested context-sensitive
+    help. This can either be caused by the application requesting
+    context-sensitive help mode via wx.ContextHelp, or (on MS Windows) by
+    the system generating a WM_HELP message when the user pressed F1 or
+    clicked on the query button in a dialog caption.
+
+    A help event is sent to the window that the user clicked on, and is
+    propagated up the window hierarchy until the event is processed or
+    there are no more event handlers. The application should call
+    event.GetId to check the identity of the clicked-on window, and then
+    either show some suitable help or call event.Skip if the identifier is
+    unrecognised. Calling Skip is important because it allows wxWindows to
+    generate further events for ancestors of the clicked-on
+    window. Otherwise it would be impossible to show help for container
+    windows, since processing would stop after the first window found.
     """
     """
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxHelpEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def __init__(self, *args, **kwargs):
-        """__init__(self, wxEventType type=wxEVT_NULL, int winid=0, Point pt=DefaultPosition) -> HelpEvent"""
-        newobj = _controls_.new_HelpEvent(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    Origin_Unknown = _controls_.HelpEvent_Origin_Unknown
+    Origin_Keyboard = _controls_.HelpEvent_Origin_Keyboard
+    Origin_HelpButton = _controls_.HelpEvent_Origin_HelpButton
+    def __init__(self, *args, **kwargs): 
+        """
+        __init__(self, EventType type=wxEVT_NULL, int winid=0, Point pt=DefaultPosition, 
+            int origin=Origin_Unknown) -> HelpEvent
+        """
+        _controls_.HelpEvent_swiginit(self,_controls_.new_HelpEvent(*args, **kwargs))
     def GetPosition(*args, **kwargs):
         """
         GetPosition(self) -> Point
     def GetPosition(*args, **kwargs):
         """
         GetPosition(self) -> Point
@@ -5059,69 +6014,73 @@ class HelpEvent(_core.CommandEvent):
         """
         return _controls_.HelpEvent_SetTarget(*args, **kwargs)
 
         """
         return _controls_.HelpEvent_SetTarget(*args, **kwargs)
 
+    def GetOrigin(*args, **kwargs):
+        """
+        GetOrigin(self) -> int
+
+        Optiononal indication of the source of the event.
+        """
+        return _controls_.HelpEvent_GetOrigin(*args, **kwargs)
+
+    def SetOrigin(*args, **kwargs):
+        """SetOrigin(self, int origin)"""
+        return _controls_.HelpEvent_SetOrigin(*args, **kwargs)
 
 
-class HelpEventPtr(HelpEvent):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = HelpEvent
-_controls_.HelpEvent_swigregister(HelpEventPtr)
+    Link = property(GetLink,SetLink,doc="See `GetLink` and `SetLink`") 
+    Origin = property(GetOrigin,SetOrigin,doc="See `GetOrigin` and `SetOrigin`") 
+    Position = property(GetPosition,SetPosition,doc="See `GetPosition` and `SetPosition`") 
+    Target = property(GetTarget,SetTarget,doc="See `GetTarget` and `SetTarget`") 
+_controls_.HelpEvent_swigregister(HelpEvent)
 
 class ContextHelp(_core.Object):
     """
 
 class ContextHelp(_core.Object):
     """
-    This class changes the cursor to a query and puts the application
-    into a 'context-sensitive help mode'. When the user left-clicks
-    on a window within the specified window, a EVT_HELP event is sent
-    to that control, and the application may respond to it by popping
-    up some help.
+    This class changes the cursor to a query and puts the application into
+    a 'context-sensitive help mode'. When the user left-clicks on a window
+    within the specified window, a ``EVT_HELP`` event is sent to that
+    control, and the application may respond to it by popping up some
+    help.
 
     There are a couple of ways to invoke this behaviour implicitly:
 
 
     There are a couple of ways to invoke this behaviour implicitly:
 
-        * Use the wx.DIALOG_EX_CONTEXTHELP extended style for a
-          dialog (Windows only). This will put a question mark in the
-          titlebar, and Windows will put the application into
-          context-sensitive help mode automatically, with further
-          programming.
+        * Use the wx.WS_EX_CONTEXTHELP extended style for a dialog or frame
+          (Windows only). This will put a question mark in the titlebar,
+          and Windows will put the application into context-sensitive help
+          mode automatically, with further programming.
 
 
-        * Create a wx.ContextHelpButton, whose predefined behaviour
-          is to create a context help object. Normally you will write
-          your application so that this button is only added to a
-          dialog for non-Windows platforms (use
-          wx.DIALOG_EX_CONTEXTHELP on Windows).
+        * Create a `wx.ContextHelpButton`, whose predefined behaviour is
+          to create a context help object. Normally you will write your
+          application so that this button is only added to a dialog for
+          non-Windows platforms (use ``wx.WS_EX_CONTEXTHELP`` on
+          Windows).
+
+    :see: `wx.ContextHelpButton`
 
     """
 
     """
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxContextHelp instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def __init__(self, *args, **kwargs):
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """
         __init__(self, Window window=None, bool doNow=True) -> ContextHelp
 
         """
         __init__(self, Window window=None, bool doNow=True) -> ContextHelp
 
-        Constructs a context help object, calling BeginContextHelp if
-        doNow is true (the default).
+        Constructs a context help object, calling BeginContextHelp if doNow is
+        true (the default).
 
         If window is None, the top window is used.
         """
 
         If window is None, the top window is used.
         """
-        newobj = _controls_.new_ContextHelp(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
-    def __del__(self, destroy=_controls_.delete_ContextHelp):
-        """__del__(self)"""
-        try:
-            if self.thisown: destroy(self)
-        except: pass
-
+        _controls_.ContextHelp_swiginit(self,_controls_.new_ContextHelp(*args, **kwargs))
+    __swig_destroy__ = _controls_.delete_ContextHelp
+    __del__ = lambda self : None;
     def BeginContextHelp(*args, **kwargs):
         """
         BeginContextHelp(self, Window window=None) -> bool
 
     def BeginContextHelp(*args, **kwargs):
         """
         BeginContextHelp(self, Window window=None) -> bool
 
-        Puts the application into context-sensitive help mode. window is
-        the window which will be used to catch events; if NULL, the top
-        window will be used.
+        Puts the application into context-sensitive help mode. window is the
+        window which will be used to catch events; if NULL, the top window
+        will be used.
 
         Returns true if the application was successfully put into
 
         Returns true if the application was successfully put into
-        context-sensitive help mode. This function only returns when the
-        event loop has finished.
+        context-sensitive help mode. This function only returns when the event
+        loop has finished.
         """
         return _controls_.ContextHelp_BeginContextHelp(*args, **kwargs)
 
         """
         return _controls_.ContextHelp_BeginContextHelp(*args, **kwargs)
 
@@ -5134,50 +6093,36 @@ class ContextHelp(_core.Object):
         """
         return _controls_.ContextHelp_EndContextHelp(*args, **kwargs)
 
         """
         return _controls_.ContextHelp_EndContextHelp(*args, **kwargs)
 
-
-class ContextHelpPtr(ContextHelp):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = ContextHelp
-_controls_.ContextHelp_swigregister(ContextHelpPtr)
+_controls_.ContextHelp_swigregister(ContextHelp)
 
 class ContextHelpButton(BitmapButton):
     """
 
 class ContextHelpButton(BitmapButton):
     """
-    Instances of this class may be used to add a question mark button
-    that when pressed, puts the application into context-help
-    mode. It does this by creating a wx.ContextHelp object which
-    itself generates a EVT_HELP event when the user clicks on a
-    window.
+    Instances of this class may be used to add a question mark button that
+    when pressed, puts the application into context-help mode. It does
+    this by creating a wx.ContextHelp object which itself generates a
+    ``EVT_HELP`` event when the user clicks on a window.
 
 
-    On Windows, you may add a question-mark icon to a dialog by use
-    of the wx.DIALOG_EX_CONTEXTHELP extra style, but on other
-    platforms you will have to add a button explicitly, usually next
-    to OK, Cancel or similar buttons.
+    On Windows, you may add a question-mark icon to a dialog by use of the
+    ``wx.DIALOG_EX_CONTEXTHELP`` extra style, but on other platforms you
+    will have to add a button explicitly, usually next to OK, Cancel or
+    similar buttons.
+
+    :see: `wx.ContextHelp`, `wx.ContextHelpButton`
 
     """
 
     """
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxContextHelpButton instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def __init__(self, *args, **kwargs):
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """
         __init__(self, Window parent, int id=ID_CONTEXT_HELP, Point pos=DefaultPosition, 
             Size size=DefaultSize, long style=BU_AUTODRAW) -> ContextHelpButton
 
         Constructor, creating and showing a context help button.
         """
         """
         __init__(self, Window parent, int id=ID_CONTEXT_HELP, Point pos=DefaultPosition, 
             Size size=DefaultSize, long style=BU_AUTODRAW) -> ContextHelpButton
 
         Constructor, creating and showing a context help button.
         """
-        newobj = _controls_.new_ContextHelpButton(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
+        _controls_.ContextHelpButton_swiginit(self,_controls_.new_ContextHelpButton(*args, **kwargs))
         self._setOORInfo(self)
 
         self._setOORInfo(self)
 
-
-class ContextHelpButtonPtr(ContextHelpButton):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = ContextHelpButton
-_controls_.ContextHelpButton_swigregister(ContextHelpButtonPtr)
+_controls_.ContextHelpButton_swigregister(ContextHelpButton)
 
 class HelpProvider(object):
     """
 
 class HelpProvider(object):
     """
@@ -5188,17 +6133,18 @@ class HelpProvider(object):
     The current help provider must be explicitly set by the
     application using wx.HelpProvider.Set().
     """
     The current help provider must be explicitly set by the
     application using wx.HelpProvider.Set().
     """
-    def __init__(self): raise RuntimeError, "No constructor defined"
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxHelpProvider instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    def __init__(self): raise AttributeError, "No constructor defined"
+    __repr__ = _swig_repr
+    __swig_destroy__ = _controls_.delete_HelpProvider
+    __del__ = lambda self : None;
     def Set(*args, **kwargs):
         """
         Set(HelpProvider helpProvider) -> HelpProvider
 
     def Set(*args, **kwargs):
         """
         Set(HelpProvider helpProvider) -> HelpProvider
 
-        Sset the current, application-wide help provider. Returns the
-        previous one.  Unlike some other classes, the help provider is
-        not created on demand. This must be explicitly done by the
-        application.
+        Sset the current, application-wide help provider. Returns the previous
+        one.  Unlike some other classes, the help provider is not created on
+        demand. This must be explicitly done by the application.
         """
         return _controls_.HelpProvider_Set(*args, **kwargs)
 
         """
         return _controls_.HelpProvider_Set(*args, **kwargs)
 
@@ -5216,9 +6162,9 @@ class HelpProvider(object):
         """
         GetHelp(self, Window window) -> String
 
         """
         GetHelp(self, Window window) -> String
 
-        Gets the help string for this window. Its interpretation is
-        dependent on the help provider except that empty string always
-        means that no help is associated with the window.
+        Gets the help string for this window. Its interpretation is dependent
+        on the help provider except that empty string always means that no
+        help is associated with the window.
         """
         return _controls_.HelpProvider_GetHelp(*args, **kwargs)
 
         """
         return _controls_.HelpProvider_GetHelp(*args, **kwargs)
 
@@ -5227,13 +6173,21 @@ class HelpProvider(object):
         ShowHelp(self, Window window) -> bool
 
         Shows help for the given window. Uses GetHelp internally if
         ShowHelp(self, Window window) -> bool
 
         Shows help for the given window. Uses GetHelp internally if
-        applicable.
-
-        Returns true if it was done, or false if no help was available
-        for this window.
+        applicable. Returns True if it was done, or False if no help was
+        available for this window.
         """
         return _controls_.HelpProvider_ShowHelp(*args, **kwargs)
 
         """
         return _controls_.HelpProvider_ShowHelp(*args, **kwargs)
 
+    def ShowHelpAtPoint(*args, **kwargs):
+        """
+        ShowHelpAtPoint(self, wxWindowBase window, Point pt, int origin) -> bool
+
+        Show help for the given window (uses window.GetHelpAtPoint()
+        internally if applicable), return true if it was done or false if no
+        help available for this window.
+        """
+        return _controls_.HelpProvider_ShowHelpAtPoint(*args, **kwargs)
+
     def AddHelp(*args, **kwargs):
         """
         AddHelp(self, Window window, String text)
     def AddHelp(*args, **kwargs):
         """
         AddHelp(self, Window window, String text)
@@ -5247,8 +6201,8 @@ class HelpProvider(object):
         AddHelpById(self, int id, String text)
 
         This version associates the given text with all windows with this
         AddHelpById(self, int id, String text)
 
         This version associates the given text with all windows with this
-        id. May be used to set the same help string for all Cancel
-        buttons in the application, for example.
+        id. May be used to set the same help string for all Cancel buttons in
+        the application, for example.
         """
         return _controls_.HelpProvider_AddHelpById(*args, **kwargs)
 
         """
         return _controls_.HelpProvider_AddHelpById(*args, **kwargs)
 
@@ -5257,88 +6211,67 @@ class HelpProvider(object):
         RemoveHelp(self, Window window)
 
         Removes the association between the window pointer and the help
         RemoveHelp(self, Window window)
 
         Removes the association between the window pointer and the help
-        text. This is called by the wx.Window destructor. Without this,
-        the table of help strings will fill up and when window pointers
-        are reused, the wrong help string will be found.
+        text. This is called by the wx.Window destructor. Without this, the
+        table of help strings will fill up and when window pointers are
+        reused, the wrong help string will be found.
         """
         return _controls_.HelpProvider_RemoveHelp(*args, **kwargs)
 
     def Destroy(*args, **kwargs):
         """Destroy(self)"""
         """
         return _controls_.HelpProvider_RemoveHelp(*args, **kwargs)
 
     def Destroy(*args, **kwargs):
         """Destroy(self)"""
+        args[0].this.own(False)
         return _controls_.HelpProvider_Destroy(*args, **kwargs)
 
         return _controls_.HelpProvider_Destroy(*args, **kwargs)
 
-
-class HelpProviderPtr(HelpProvider):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = HelpProvider
-_controls_.HelpProvider_swigregister(HelpProviderPtr)
+_controls_.HelpProvider_swigregister(HelpProvider)
 
 def HelpProvider_Set(*args, **kwargs):
 
 def HelpProvider_Set(*args, **kwargs):
-    """
+  """
     HelpProvider_Set(HelpProvider helpProvider) -> HelpProvider
 
     HelpProvider_Set(HelpProvider helpProvider) -> HelpProvider
 
-    Sset the current, application-wide help provider. Returns the
-    previous one.  Unlike some other classes, the help provider is
-    not created on demand. This must be explicitly done by the
-    application.
+    Sset the current, application-wide help provider. Returns the previous
+    one.  Unlike some other classes, the help provider is not created on
+    demand. This must be explicitly done by the application.
     """
     """
-    return _controls_.HelpProvider_Set(*args, **kwargs)
+  return _controls_.HelpProvider_Set(*args, **kwargs)
 
 
-def HelpProvider_Get(*args, **kwargs):
-    """
+def HelpProvider_Get(*args):
+  """
     HelpProvider_Get() -> HelpProvider
 
     Return the current application-wide help provider.
     """
     HelpProvider_Get() -> HelpProvider
 
     Return the current application-wide help provider.
     """
-    return _controls_.HelpProvider_Get(*args, **kwargs)
+  return _controls_.HelpProvider_Get(*args)
 
 class SimpleHelpProvider(HelpProvider):
     """
 
 class SimpleHelpProvider(HelpProvider):
     """
-    wx.SimpleHelpProvider is an implementation of wx.HelpProvider
-    which supports only plain text help strings, and shows the string
-    associated with the control (if any) in a tooltip.
+    wx.SimpleHelpProvider is an implementation of `wx.HelpProvider` which
+    supports only plain text help strings, and shows the string associated
+    with the control (if any) in a tooltip.
     """
     """
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxSimpleHelpProvider instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def __init__(self, *args, **kwargs):
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """
         __init__(self) -> SimpleHelpProvider
 
         """
         __init__(self) -> SimpleHelpProvider
 
-        wx.SimpleHelpProvider is an implementation of wx.HelpProvider
-        which supports only plain text help strings, and shows the string
-        associated with the control (if any) in a tooltip.
+        wx.SimpleHelpProvider is an implementation of `wx.HelpProvider` which
+        supports only plain text help strings, and shows the string associated
+        with the control (if any) in a tooltip.
         """
         """
-        newobj = _controls_.new_SimpleHelpProvider(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
-
-class SimpleHelpProviderPtr(SimpleHelpProvider):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = SimpleHelpProvider
-_controls_.SimpleHelpProvider_swigregister(SimpleHelpProviderPtr)
+        _controls_.SimpleHelpProvider_swiginit(self,_controls_.new_SimpleHelpProvider(*args, **kwargs))
+_controls_.SimpleHelpProvider_swigregister(SimpleHelpProvider)
 
 #---------------------------------------------------------------------------
 
 class DragImage(_core.Object):
 
 #---------------------------------------------------------------------------
 
 class DragImage(_core.Object):
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxGenericDragImage instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def __init__(self, *args, **kwargs):
+    """Proxy of C++ DragImage class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """__init__(self, Bitmap image, Cursor cursor=wxNullCursor) -> DragImage"""
         """__init__(self, Bitmap image, Cursor cursor=wxNullCursor) -> DragImage"""
-        newobj = _controls_.new_DragImage(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
-    def __del__(self, destroy=_controls_.delete_DragImage):
-        """__del__(self)"""
-        try:
-            if self.thisown: destroy(self)
-        except: pass
-
+        _controls_.DragImage_swiginit(self,_controls_.new_DragImage(*args, **kwargs))
+    __swig_destroy__ = _controls_.delete_DragImage
+    __del__ = lambda self : None;
     def SetBackingBitmap(*args, **kwargs):
         """SetBackingBitmap(self, Bitmap bitmap)"""
         return _controls_.DragImage_SetBackingBitmap(*args, **kwargs)
     def SetBackingBitmap(*args, **kwargs):
         """SetBackingBitmap(self, Bitmap bitmap)"""
         return _controls_.DragImage_SetBackingBitmap(*args, **kwargs)
@@ -5386,36 +6319,837 @@ class DragImage(_core.Object):
         """RedrawImage(self, Point oldPos, Point newPos, bool eraseOld, bool drawNew) -> bool"""
         return _controls_.DragImage_RedrawImage(*args, **kwargs)
 
         """RedrawImage(self, Point oldPos, Point newPos, bool eraseOld, bool drawNew) -> bool"""
         return _controls_.DragImage_RedrawImage(*args, **kwargs)
 
-
-class DragImagePtr(DragImage):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = DragImage
-_controls_.DragImage_swigregister(DragImagePtr)
+    ImageRect = property(GetImageRect,doc="See `GetImageRect`") 
+_controls_.DragImage_swigregister(DragImage)
 
 def DragIcon(*args, **kwargs):
     """DragIcon(Icon image, Cursor cursor=wxNullCursor) -> DragImage"""
     val = _controls_.new_DragIcon(*args, **kwargs)
 
 def DragIcon(*args, **kwargs):
     """DragIcon(Icon image, Cursor cursor=wxNullCursor) -> DragImage"""
     val = _controls_.new_DragIcon(*args, **kwargs)
-    val.thisown = 1
     return val
 
 def DragString(*args, **kwargs):
     """DragString(String str, Cursor cursor=wxNullCursor) -> DragImage"""
     val = _controls_.new_DragString(*args, **kwargs)
     return val
 
 def DragString(*args, **kwargs):
     """DragString(String str, Cursor cursor=wxNullCursor) -> DragImage"""
     val = _controls_.new_DragString(*args, **kwargs)
-    val.thisown = 1
     return val
 
 def DragTreeItem(*args, **kwargs):
     """DragTreeItem(TreeCtrl treeCtrl, TreeItemId id) -> DragImage"""
     val = _controls_.new_DragTreeItem(*args, **kwargs)
     return val
 
 def DragTreeItem(*args, **kwargs):
     """DragTreeItem(TreeCtrl treeCtrl, TreeItemId id) -> DragImage"""
     val = _controls_.new_DragTreeItem(*args, **kwargs)
-    val.thisown = 1
     return val
 
 def DragListItem(*args, **kwargs):
     """DragListItem(ListCtrl listCtrl, long id) -> DragImage"""
     val = _controls_.new_DragListItem(*args, **kwargs)
     return val
 
 def DragListItem(*args, **kwargs):
     """DragListItem(ListCtrl listCtrl, long id) -> DragImage"""
     val = _controls_.new_DragListItem(*args, **kwargs)
-    val.thisown = 1
     return val
 
     return val
 
+#---------------------------------------------------------------------------
+
+DP_DEFAULT = _controls_.DP_DEFAULT
+DP_SPIN = _controls_.DP_SPIN
+DP_DROPDOWN = _controls_.DP_DROPDOWN
+DP_SHOWCENTURY = _controls_.DP_SHOWCENTURY
+DP_ALLOWNONE = _controls_.DP_ALLOWNONE
+class DatePickerCtrl(_core.Control):
+    """
+    This control allows the user to select a date. Unlike
+    `wx.calendar.CalendarCtrl`, which is a relatively big control,
+    `wx.DatePickerCtrl` is implemented as a small window showing the
+    currently selected date. The control can be edited using the keyboard,
+    and can also display a popup window for more user-friendly date
+    selection, depending on the styles used and the platform.
+    """
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
+        """
+        __init__(self, Window parent, int id=-1, DateTime dt=wxDefaultDateTime, 
+            Point pos=DefaultPosition, Size size=DefaultSize, 
+            long style=wxDP_DEFAULT|wxDP_SHOWCENTURY, 
+            Validator validator=DefaultValidator, 
+            String name=DatePickerCtrlNameStr) -> DatePickerCtrl
+
+        Create a new DatePickerCtrl.
+        """
+        _controls_.DatePickerCtrl_swiginit(self,_controls_.new_DatePickerCtrl(*args, **kwargs))
+        self._setOORInfo(self)
+
+    def Create(*args, **kwargs):
+        """
+        Create(self, Window parent, int id=-1, DateTime dt=wxDefaultDateTime, 
+            Point pos=DefaultPosition, Size size=DefaultSize, 
+            long style=wxDP_DEFAULT|wxDP_SHOWCENTURY, 
+            Validator validator=DefaultValidator, 
+            String name=DatePickerCtrlNameStr) -> bool
+
+        Create the GUI parts of the DatePickerCtrl, for use in 2-phase
+        creation.
+        """
+        return _controls_.DatePickerCtrl_Create(*args, **kwargs)
+
+    def SetValue(*args, **kwargs):
+        """
+        SetValue(self, DateTime dt)
+
+        Changes the current value of the control. The date should be valid and
+        included in the currently selected range, if any.
+
+        Calling this method does not result in a date change event.
+        """
+        return _controls_.DatePickerCtrl_SetValue(*args, **kwargs)
+
+    def GetValue(*args, **kwargs):
+        """
+        GetValue(self) -> DateTime
+
+        Returns the currently selected date. If there is no selection or the
+        selection is outside of the current range, an invalid `wx.DateTime`
+        object is returned.
+        """
+        return _controls_.DatePickerCtrl_GetValue(*args, **kwargs)
+
+    def SetRange(*args, **kwargs):
+        """
+        SetRange(self, DateTime dt1, DateTime dt2)
+
+        Sets the valid range for the date selection. If dt1 is valid, it
+        becomes the earliest date (inclusive) accepted by the control. If dt2
+        is valid, it becomes the latest possible date.
+
+        If the current value of the control is outside of the newly set range
+        bounds, the behaviour is undefined.
+        """
+        return _controls_.DatePickerCtrl_SetRange(*args, **kwargs)
+
+    def GetLowerLimit(*args, **kwargs):
+        """
+        GetLowerLimit(self) -> DateTime
+
+        Get the lower limit of the valid range for the date selection, if any.
+        If there is no range or there is no lower limit, then the
+        `wx.DateTime` value returned will be invalid.
+        """
+        return _controls_.DatePickerCtrl_GetLowerLimit(*args, **kwargs)
+
+    def GetUpperLimit(*args, **kwargs):
+        """
+        GetUpperLimit(self) -> DateTime
+
+        Get the upper limit of the valid range for the date selection, if any.
+        If there is no range or there is no upper limit, then the
+        `wx.DateTime` value returned will be invalid.
+        """
+        return _controls_.DatePickerCtrl_GetUpperLimit(*args, **kwargs)
+
+    LowerLimit = property(GetLowerLimit,doc="See `GetLowerLimit`") 
+    UpperLimit = property(GetUpperLimit,doc="See `GetUpperLimit`") 
+    Value = property(GetValue,SetValue,doc="See `GetValue` and `SetValue`") 
+_controls_.DatePickerCtrl_swigregister(DatePickerCtrl)
+DatePickerCtrlNameStr = cvar.DatePickerCtrlNameStr
+
+def PreDatePickerCtrl(*args, **kwargs):
+    """
+    PreDatePickerCtrl() -> DatePickerCtrl
+
+    Precreate a DatePickerCtrl for use in 2-phase creation.
+    """
+    val = _controls_.new_PreDatePickerCtrl(*args, **kwargs)
+    return val
+
+HL_CONTEXTMENU = _controls_.HL_CONTEXTMENU
+HL_ALIGN_LEFT = _controls_.HL_ALIGN_LEFT
+HL_ALIGN_RIGHT = _controls_.HL_ALIGN_RIGHT
+HL_ALIGN_CENTRE = _controls_.HL_ALIGN_CENTRE
+HL_DEFAULT_STYLE = _controls_.HL_DEFAULT_STYLE
+#---------------------------------------------------------------------------
+
+class HyperlinkCtrl(_core.Control):
+    """
+    A static text control that emulates a hyperlink. The link is displayed
+    in an appropriate text style, derived from the control's normal font.
+    When the mouse rolls over the link, the cursor changes to a hand and
+    the link's color changes to the active color.
+
+    Clicking on the link does not launch a web browser; instead, a
+    wx.HyperlinkEvent is fired. Use the wx.EVT_HYPERLINK to catch link
+    events.
+
+    """
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
+        """
+        __init__(self, Window parent, int id, String label, String url, Point pos=DefaultPosition, 
+            Size size=DefaultSize, 
+            long style=HL_DEFAULT_STYLE, String name=HyperlinkCtrlNameStr) -> HyperlinkCtrl
+
+        A static text control that emulates a hyperlink. The link is displayed
+        in an appropriate text style, derived from the control's normal font.
+        When the mouse rolls over the link, the cursor changes to a hand and
+        the link's color changes to the active color.
+
+        Clicking on the link does not launch a web browser; instead, a
+        wx.HyperlinkEvent is fired. Use the wx.EVT_HYPERLINK to catch link
+        events.
+
+        """
+        _controls_.HyperlinkCtrl_swiginit(self,_controls_.new_HyperlinkCtrl(*args, **kwargs))
+        self._setOORInfo(self)
+
+    def Create(*args, **kwargs):
+        """
+        Create(self, Window parent, int id, String label, String url, Point pos=DefaultPosition, 
+            Size size=DefaultSize, 
+            long style=HL_DEFAULT_STYLE, String name=HyperlinkCtrlNameStr) -> bool
+        """
+        return _controls_.HyperlinkCtrl_Create(*args, **kwargs)
+
+    def GetHoverColour(*args, **kwargs):
+        """GetHoverColour(self) -> Colour"""
+        return _controls_.HyperlinkCtrl_GetHoverColour(*args, **kwargs)
+
+    def SetHoverColour(*args, **kwargs):
+        """SetHoverColour(self, Colour colour)"""
+        return _controls_.HyperlinkCtrl_SetHoverColour(*args, **kwargs)
+
+    def GetNormalColour(*args, **kwargs):
+        """GetNormalColour(self) -> Colour"""
+        return _controls_.HyperlinkCtrl_GetNormalColour(*args, **kwargs)
+
+    def SetNormalColour(*args, **kwargs):
+        """SetNormalColour(self, Colour colour)"""
+        return _controls_.HyperlinkCtrl_SetNormalColour(*args, **kwargs)
+
+    def GetVisitedColour(*args, **kwargs):
+        """GetVisitedColour(self) -> Colour"""
+        return _controls_.HyperlinkCtrl_GetVisitedColour(*args, **kwargs)
+
+    def SetVisitedColour(*args, **kwargs):
+        """SetVisitedColour(self, Colour colour)"""
+        return _controls_.HyperlinkCtrl_SetVisitedColour(*args, **kwargs)
+
+    def GetURL(*args, **kwargs):
+        """GetURL(self) -> String"""
+        return _controls_.HyperlinkCtrl_GetURL(*args, **kwargs)
+
+    def SetURL(*args, **kwargs):
+        """SetURL(self, String url)"""
+        return _controls_.HyperlinkCtrl_SetURL(*args, **kwargs)
+
+    def SetVisited(*args, **kwargs):
+        """SetVisited(self, bool visited=True)"""
+        return _controls_.HyperlinkCtrl_SetVisited(*args, **kwargs)
+
+    def GetVisited(*args, **kwargs):
+        """GetVisited(self) -> bool"""
+        return _controls_.HyperlinkCtrl_GetVisited(*args, **kwargs)
+
+    HoverColour = property(GetHoverColour,SetHoverColour,doc="See `GetHoverColour` and `SetHoverColour`") 
+    NormalColour = property(GetNormalColour,SetNormalColour,doc="See `GetNormalColour` and `SetNormalColour`") 
+    URL = property(GetURL,SetURL,doc="See `GetURL` and `SetURL`") 
+    Visited = property(GetVisited,SetVisited,doc="See `GetVisited` and `SetVisited`") 
+    VisitedColour = property(GetVisitedColour,SetVisitedColour,doc="See `GetVisitedColour` and `SetVisitedColour`") 
+_controls_.HyperlinkCtrl_swigregister(HyperlinkCtrl)
+HyperlinkCtrlNameStr = cvar.HyperlinkCtrlNameStr
+
+def PreHyperlinkCtrl(*args, **kwargs):
+    """
+    PreHyperlinkCtrl() -> HyperlinkCtrl
+
+    A static text control that emulates a hyperlink. The link is displayed
+    in an appropriate text style, derived from the control's normal font.
+    When the mouse rolls over the link, the cursor changes to a hand and
+    the link's color changes to the active color.
+
+    Clicking on the link does not launch a web browser; instead, a
+    wx.HyperlinkEvent is fired. Use the wx.EVT_HYPERLINK to catch link
+    events.
+
+    """
+    val = _controls_.new_PreHyperlinkCtrl(*args, **kwargs)
+    return val
+
+wxEVT_COMMAND_HYPERLINK = _controls_.wxEVT_COMMAND_HYPERLINK
+class HyperlinkEvent(_core.CommandEvent):
+    """Proxy of C++ HyperlinkEvent class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
+        """__init__(self, Object generator, int id, String url) -> HyperlinkEvent"""
+        _controls_.HyperlinkEvent_swiginit(self,_controls_.new_HyperlinkEvent(*args, **kwargs))
+    def GetURL(*args, **kwargs):
+        """GetURL(self) -> String"""
+        return _controls_.HyperlinkEvent_GetURL(*args, **kwargs)
+
+    def SetURL(*args, **kwargs):
+        """SetURL(self, String url)"""
+        return _controls_.HyperlinkEvent_SetURL(*args, **kwargs)
+
+    URL = property(GetURL,SetURL,doc="See `GetURL` and `SetURL`") 
+_controls_.HyperlinkEvent_swigregister(HyperlinkEvent)
+
+EVT_HYPERLINK = wx.PyEventBinder( wxEVT_COMMAND_HYPERLINK, 1 )
+
+#---------------------------------------------------------------------------
+
+PB_USE_TEXTCTRL = _controls_.PB_USE_TEXTCTRL
+class PickerBase(_core.Control):
+    """
+    Base abstract class for all pickers which support an auxiliary text
+    control. This class handles all positioning and sizing of the text
+    control like a an horizontal `wx.BoxSizer` would do, with the text
+    control on the left of the picker button and the proportion of the
+    picker fixed to value 1.
+    """
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    def __init__(self): raise AttributeError, "No constructor defined"
+    __repr__ = _swig_repr
+    def CreateBase(*args, **kwargs):
+        """
+        CreateBase(self, Window parent, int id, String text=wxEmptyString, Point pos=DefaultPosition, 
+            Size size=DefaultSize, 
+            long style=0, Validator validator=DefaultValidator, 
+            String name=wxButtonNameStr) -> bool
+        """
+        return _controls_.PickerBase_CreateBase(*args, **kwargs)
+
+    def SetInternalMargin(*args, **kwargs):
+        """
+        SetInternalMargin(self, int newmargin)
+
+        Sets the margin (in pixels) between the picker and the text control.
+        """
+        return _controls_.PickerBase_SetInternalMargin(*args, **kwargs)
+
+    def GetInternalMargin(*args, **kwargs):
+        """
+        GetInternalMargin(self) -> int
+
+        Returns the margin (in pixels) between the picker and the text
+        control.
+        """
+        return _controls_.PickerBase_GetInternalMargin(*args, **kwargs)
+
+    def SetTextCtrlProportion(*args, **kwargs):
+        """
+        SetTextCtrlProportion(self, int prop)
+
+        Sets the proportion between the text control and the picker button.
+        This is used to set relative sizes of the text contorl and the picker.
+        The value passed to this function must be >= 1.
+        """
+        return _controls_.PickerBase_SetTextCtrlProportion(*args, **kwargs)
+
+    def GetTextCtrlProportion(*args, **kwargs):
+        """
+        GetTextCtrlProportion(self) -> int
+
+        Returns the proportion between the text control and the picker.
+        """
+        return _controls_.PickerBase_GetTextCtrlProportion(*args, **kwargs)
+
+    def SetPickerCtrlProportion(*args, **kwargs):
+        """
+        SetPickerCtrlProportion(self, int prop)
+
+        Sets the proportion value of the picker.
+        """
+        return _controls_.PickerBase_SetPickerCtrlProportion(*args, **kwargs)
+
+    def GetPickerCtrlProportion(*args, **kwargs):
+        """
+        GetPickerCtrlProportion(self) -> int
+
+        Gets the proportion value of the picker.
+        """
+        return _controls_.PickerBase_GetPickerCtrlProportion(*args, **kwargs)
+
+    def IsTextCtrlGrowable(*args, **kwargs):
+        """IsTextCtrlGrowable(self) -> bool"""
+        return _controls_.PickerBase_IsTextCtrlGrowable(*args, **kwargs)
+
+    def SetTextCtrlGrowable(*args, **kwargs):
+        """SetTextCtrlGrowable(self, bool grow=True)"""
+        return _controls_.PickerBase_SetTextCtrlGrowable(*args, **kwargs)
+
+    def IsPickerCtrlGrowable(*args, **kwargs):
+        """IsPickerCtrlGrowable(self) -> bool"""
+        return _controls_.PickerBase_IsPickerCtrlGrowable(*args, **kwargs)
+
+    def SetPickerCtrlGrowable(*args, **kwargs):
+        """SetPickerCtrlGrowable(self, bool grow=True)"""
+        return _controls_.PickerBase_SetPickerCtrlGrowable(*args, **kwargs)
+
+    def HasTextCtrl(*args, **kwargs):
+        """
+        HasTextCtrl(self) -> bool
+
+        Returns true if this class has a valid text control (i.e. if the
+        wx.PB_USE_TEXTCTRL style was given when creating this control).
+        """
+        return _controls_.PickerBase_HasTextCtrl(*args, **kwargs)
+
+    def GetTextCtrl(*args, **kwargs):
+        """
+        GetTextCtrl(self) -> TextCtrl
+
+        Returns a pointer to the text control handled by this class or None if
+        the wx.PB_USE_TEXTCTRL style was not specified when this control was
+        created.
+
+        Very important: the contents of the text control could be containing
+        an invalid representation of the entity which can be chosen through
+        the picker (e.g. the user entered an invalid colour syntax because of
+        a typo). Thus you should never parse the content of the textctrl to
+        get the user's input; rather use the derived-class getter
+        (e.g. `wx.ColourPickerCtrl.GetColour`, `wx.FilePickerCtrl.GetPath`,
+        etc).
+        """
+        return _controls_.PickerBase_GetTextCtrl(*args, **kwargs)
+
+    def GetPickerCtrl(*args, **kwargs):
+        """GetPickerCtrl(self) -> Control"""
+        return _controls_.PickerBase_GetPickerCtrl(*args, **kwargs)
+
+    InternalMargin = property(GetInternalMargin,SetInternalMargin,doc="See `GetInternalMargin` and `SetInternalMargin`") 
+    PickerCtrl = property(GetPickerCtrl,doc="See `GetPickerCtrl`") 
+    PickerCtrlProportion = property(GetPickerCtrlProportion,SetPickerCtrlProportion,doc="See `GetPickerCtrlProportion` and `SetPickerCtrlProportion`") 
+    TextCtrl = property(GetTextCtrl,doc="See `GetTextCtrl`") 
+    TextCtrlProportion = property(GetTextCtrlProportion,SetTextCtrlProportion,doc="See `GetTextCtrlProportion` and `SetTextCtrlProportion`") 
+    TextCtrlGrowable = property(IsTextCtrlGrowable,SetTextCtrlGrowable,doc="See `IsTextCtrlGrowable` and `SetTextCtrlGrowable`") 
+    PickerCtrlGrowable = property(IsPickerCtrlGrowable,SetPickerCtrlGrowable,doc="See `IsPickerCtrlGrowable` and `SetPickerCtrlGrowable`") 
+_controls_.PickerBase_swigregister(PickerBase)
+
+#---------------------------------------------------------------------------
+
+CLRP_SHOW_LABEL = _controls_.CLRP_SHOW_LABEL
+CLRP_USE_TEXTCTRL = _controls_.CLRP_USE_TEXTCTRL
+CLRP_DEFAULT_STYLE = _controls_.CLRP_DEFAULT_STYLE
+class ColourPickerCtrl(PickerBase):
+    """
+    This control allows the user to select a colour. The generic
+    implementation is a button which brings up a `wx.ColourDialog` when
+    clicked. Native implementations may differ but this is usually a
+    (small) widget which give access to the colour-chooser dialog.
+    """
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
+        """
+        __init__(self, Window parent, int id=-1, Colour col=*wxBLACK, Point pos=DefaultPosition, 
+            Size size=DefaultSize, 
+            long style=CLRP_DEFAULT_STYLE, Validator validator=DefaultValidator, 
+            String name=ColourPickerCtrlNameStr) -> ColourPickerCtrl
+
+        This control allows the user to select a colour. The generic
+        implementation is a button which brings up a `wx.ColourDialog` when
+        clicked. Native implementations may differ but this is usually a
+        (small) widget which give access to the colour-chooser dialog.
+        """
+        _controls_.ColourPickerCtrl_swiginit(self,_controls_.new_ColourPickerCtrl(*args, **kwargs))
+        self._setOORInfo(self)
+
+    def Create(*args, **kwargs):
+        """
+        Create(self, Window parent, int id, Colour col=*wxBLACK, Point pos=DefaultPosition, 
+            Size size=DefaultSize, long style=CLRP_DEFAULT_STYLE, 
+            Validator validator=DefaultValidator, 
+            String name=ColourPickerCtrlNameStr) -> bool
+        """
+        return _controls_.ColourPickerCtrl_Create(*args, **kwargs)
+
+    def GetColour(*args, **kwargs):
+        """
+        GetColour(self) -> Colour
+
+        Returns the currently selected colour.
+        """
+        return _controls_.ColourPickerCtrl_GetColour(*args, **kwargs)
+
+    def SetColour(*args, **kwargs):
+        """
+        SetColour(self, Colour col)
+
+        Set the displayed colour.
+        """
+        return _controls_.ColourPickerCtrl_SetColour(*args, **kwargs)
+
+    Colour = property(GetColour,SetColour,doc="See `GetColour` and `SetColour`") 
+_controls_.ColourPickerCtrl_swigregister(ColourPickerCtrl)
+ColourPickerCtrlNameStr = cvar.ColourPickerCtrlNameStr
+
+def PreColourPickerCtrl(*args, **kwargs):
+    """
+    PreColourPickerCtrl() -> ColourPickerCtrl
+
+    This control allows the user to select a colour. The generic
+    implementation is a button which brings up a `wx.ColourDialog` when
+    clicked. Native implementations may differ but this is usually a
+    (small) widget which give access to the colour-chooser dialog.
+    """
+    val = _controls_.new_PreColourPickerCtrl(*args, **kwargs)
+    return val
+
+wxEVT_COMMAND_COLOURPICKER_CHANGED = _controls_.wxEVT_COMMAND_COLOURPICKER_CHANGED
+EVT_COLOURPICKER_CHANGED = wx.PyEventBinder( wxEVT_COMMAND_COLOURPICKER_CHANGED, 1 )
+
+class ColourPickerEvent(_core.CommandEvent):
+    """Proxy of C++ ColourPickerEvent class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
+        """__init__(self, Object generator, int id, Colour col) -> ColourPickerEvent"""
+        _controls_.ColourPickerEvent_swiginit(self,_controls_.new_ColourPickerEvent(*args, **kwargs))
+    def GetColour(*args, **kwargs):
+        """GetColour(self) -> Colour"""
+        return _controls_.ColourPickerEvent_GetColour(*args, **kwargs)
+
+    def SetColour(*args, **kwargs):
+        """SetColour(self, Colour c)"""
+        return _controls_.ColourPickerEvent_SetColour(*args, **kwargs)
+
+    Colour = property(GetColour,SetColour,doc="See `GetColour` and `SetColour`") 
+_controls_.ColourPickerEvent_swigregister(ColourPickerEvent)
+
+#---------------------------------------------------------------------------
+
+FLP_OPEN = _controls_.FLP_OPEN
+FLP_SAVE = _controls_.FLP_SAVE
+FLP_OVERWRITE_PROMPT = _controls_.FLP_OVERWRITE_PROMPT
+FLP_FILE_MUST_EXIST = _controls_.FLP_FILE_MUST_EXIST
+FLP_CHANGE_DIR = _controls_.FLP_CHANGE_DIR
+DIRP_DIR_MUST_EXIST = _controls_.DIRP_DIR_MUST_EXIST
+DIRP_CHANGE_DIR = _controls_.DIRP_CHANGE_DIR
+FLP_USE_TEXTCTRL = _controls_.FLP_USE_TEXTCTRL
+FLP_DEFAULT_STYLE = _controls_.FLP_DEFAULT_STYLE
+DIRP_USE_TEXTCTRL = _controls_.DIRP_USE_TEXTCTRL
+DIRP_DEFAULT_STYLE = _controls_.DIRP_DEFAULT_STYLE
+class FilePickerCtrl(PickerBase):
+    """Proxy of C++ FilePickerCtrl class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
+        """
+        __init__(self, Window parent, int id=-1, String path=EmptyString, 
+            String message=FileSelectorPromptStr, String wildcard=FileSelectorDefaultWildcardStr, 
+            Point pos=DefaultPosition, 
+            Size size=DefaultSize, 
+            long style=FLP_DEFAULT_STYLE, Validator validator=DefaultValidator, 
+            String name=FilePickerCtrlNameStr) -> FilePickerCtrl
+        """
+        _controls_.FilePickerCtrl_swiginit(self,_controls_.new_FilePickerCtrl(*args, **kwargs))
+        self._setOORInfo(self)
+
+    def Create(*args, **kwargs):
+        """
+        Create(self, Window parent, int id=-1, String path=EmptyString, 
+            String message=FileSelectorPromptStr, String wildcard=FileSelectorDefaultWildcardStr, 
+            Point pos=DefaultPosition, 
+            Size size=DefaultSize, 
+            long style=FLP_DEFAULT_STYLE, Validator validator=DefaultValidator, 
+            String name=FilePickerCtrlNameStr) -> bool
+        """
+        return _controls_.FilePickerCtrl_Create(*args, **kwargs)
+
+    def GetPath(*args, **kwargs):
+        """GetPath(self) -> String"""
+        return _controls_.FilePickerCtrl_GetPath(*args, **kwargs)
+
+    def SetPath(*args, **kwargs):
+        """SetPath(self, String str)"""
+        return _controls_.FilePickerCtrl_SetPath(*args, **kwargs)
+
+    def CheckPath(*args, **kwargs):
+        """CheckPath(self, String path) -> bool"""
+        return _controls_.FilePickerCtrl_CheckPath(*args, **kwargs)
+
+    def GetTextCtrlValue(*args, **kwargs):
+        """GetTextCtrlValue(self) -> String"""
+        return _controls_.FilePickerCtrl_GetTextCtrlValue(*args, **kwargs)
+
+    Path = property(GetPath,SetPath,doc="See `GetPath` and `SetPath`") 
+    TextCtrlValue = property(GetTextCtrlValue,doc="See `GetTextCtrlValue`") 
+_controls_.FilePickerCtrl_swigregister(FilePickerCtrl)
+FilePickerCtrlNameStr = cvar.FilePickerCtrlNameStr
+FileSelectorPromptStr = cvar.FileSelectorPromptStr
+DirPickerCtrlNameStr = cvar.DirPickerCtrlNameStr
+DirSelectorPromptStr = cvar.DirSelectorPromptStr
+FileSelectorDefaultWildcardStr = cvar.FileSelectorDefaultWildcardStr
+
+def PreFilePickerCtrl(*args, **kwargs):
+    """PreFilePickerCtrl() -> FilePickerCtrl"""
+    val = _controls_.new_PreFilePickerCtrl(*args, **kwargs)
+    return val
+
+class DirPickerCtrl(PickerBase):
+    """Proxy of C++ DirPickerCtrl class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
+        """
+        __init__(self, Window parent, int id=-1, String path=EmptyString, 
+            String message=DirSelectorPromptStr, Point pos=DefaultPosition, 
+            Size size=DefaultSize, long style=DIRP_DEFAULT_STYLE, 
+            Validator validator=DefaultValidator, 
+            String name=DirPickerCtrlNameStr) -> DirPickerCtrl
+        """
+        _controls_.DirPickerCtrl_swiginit(self,_controls_.new_DirPickerCtrl(*args, **kwargs))
+        self._setOORInfo(self)
+
+    def Create(*args, **kwargs):
+        """
+        Create(self, Window parent, int id=-1, String path=EmptyString, 
+            String message=DirSelectorPromptStr, Point pos=DefaultPosition, 
+            Size size=DefaultSize, long style=DIRP_DEFAULT_STYLE, 
+            Validator validator=DefaultValidator, 
+            String name=DirPickerCtrlNameStr) -> bool
+        """
+        return _controls_.DirPickerCtrl_Create(*args, **kwargs)
+
+    def GetPath(*args, **kwargs):
+        """GetPath(self) -> String"""
+        return _controls_.DirPickerCtrl_GetPath(*args, **kwargs)
+
+    def SetPath(*args, **kwargs):
+        """SetPath(self, String str)"""
+        return _controls_.DirPickerCtrl_SetPath(*args, **kwargs)
+
+    def CheckPath(*args, **kwargs):
+        """CheckPath(self, String path) -> bool"""
+        return _controls_.DirPickerCtrl_CheckPath(*args, **kwargs)
+
+    def GetTextCtrlValue(*args, **kwargs):
+        """GetTextCtrlValue(self) -> String"""
+        return _controls_.DirPickerCtrl_GetTextCtrlValue(*args, **kwargs)
+
+    Path = property(GetPath,SetPath,doc="See `GetPath` and `SetPath`") 
+    TextCtrlValue = property(GetTextCtrlValue,doc="See `GetTextCtrlValue`") 
+_controls_.DirPickerCtrl_swigregister(DirPickerCtrl)
+
+def PreDirPickerCtrl(*args, **kwargs):
+    """PreDirPickerCtrl() -> DirPickerCtrl"""
+    val = _controls_.new_PreDirPickerCtrl(*args, **kwargs)
+    return val
+
+wxEVT_COMMAND_FILEPICKER_CHANGED = _controls_.wxEVT_COMMAND_FILEPICKER_CHANGED
+wxEVT_COMMAND_DIRPICKER_CHANGED = _controls_.wxEVT_COMMAND_DIRPICKER_CHANGED
+EVT_FILEPICKER_CHANGED = wx.PyEventBinder( wxEVT_COMMAND_FILEPICKER_CHANGED, 1 )
+EVT_DIRPICKER_CHANGED  = wx.PyEventBinder( wxEVT_COMMAND_DIRPICKER_CHANGED,  1 )
+
+class FileDirPickerEvent(_core.CommandEvent):
+    """Proxy of C++ FileDirPickerEvent class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
+        """__init__(self, EventType type, Object generator, int id, String path) -> FileDirPickerEvent"""
+        _controls_.FileDirPickerEvent_swiginit(self,_controls_.new_FileDirPickerEvent(*args, **kwargs))
+    def GetPath(*args, **kwargs):
+        """GetPath(self) -> String"""
+        return _controls_.FileDirPickerEvent_GetPath(*args, **kwargs)
+
+    def SetPath(*args, **kwargs):
+        """SetPath(self, String p)"""
+        return _controls_.FileDirPickerEvent_SetPath(*args, **kwargs)
+
+    Path = property(GetPath,SetPath,doc="See `GetPath` and `SetPath`") 
+_controls_.FileDirPickerEvent_swigregister(FileDirPickerEvent)
+
+#---------------------------------------------------------------------------
+
+FNTP_FONTDESC_AS_LABEL = _controls_.FNTP_FONTDESC_AS_LABEL
+FNTP_USEFONT_FOR_LABEL = _controls_.FNTP_USEFONT_FOR_LABEL
+FNTP_USE_TEXTCTRL = _controls_.FNTP_USE_TEXTCTRL
+FNTP_DEFAULT_STYLE = _controls_.FNTP_DEFAULT_STYLE
+class FontPickerCtrl(PickerBase):
+    """Proxy of C++ FontPickerCtrl class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
+        """
+        __init__(self, Window parent, int id=-1, Font initial=wxNullFont, 
+            Point pos=DefaultPosition, Size size=DefaultSize, 
+            long style=FNTP_DEFAULT_STYLE, Validator validator=DefaultValidator, 
+            String name=FontPickerCtrlNameStr) -> FontPickerCtrl
+        """
+        _controls_.FontPickerCtrl_swiginit(self,_controls_.new_FontPickerCtrl(*args, **kwargs))
+        self._setOORInfo(self)
+
+    def Create(*args, **kwargs):
+        """
+        Create(self, Window parent, int id=-1, Font initial=wxNullFont, 
+            Point pos=DefaultPosition, Size size=DefaultSize, 
+            long style=FNTP_DEFAULT_STYLE, Validator validator=DefaultValidator, 
+            String name=FontPickerCtrlNameStr) -> bool
+        """
+        return _controls_.FontPickerCtrl_Create(*args, **kwargs)
+
+    def GetSelectedFont(*args, **kwargs):
+        """GetSelectedFont(self) -> Font"""
+        return _controls_.FontPickerCtrl_GetSelectedFont(*args, **kwargs)
+
+    def SetSelectedFont(*args, **kwargs):
+        """SetSelectedFont(self, Font f)"""
+        return _controls_.FontPickerCtrl_SetSelectedFont(*args, **kwargs)
+
+    def SetMaxPointSize(*args, **kwargs):
+        """SetMaxPointSize(self, unsigned int max)"""
+        return _controls_.FontPickerCtrl_SetMaxPointSize(*args, **kwargs)
+
+    def GetMaxPointSize(*args, **kwargs):
+        """GetMaxPointSize(self) -> unsigned int"""
+        return _controls_.FontPickerCtrl_GetMaxPointSize(*args, **kwargs)
+
+    MaxPointSize = property(GetMaxPointSize,SetMaxPointSize,doc="See `GetMaxPointSize` and `SetMaxPointSize`") 
+    SelectedFont = property(GetSelectedFont,SetSelectedFont,doc="See `GetSelectedFont` and `SetSelectedFont`") 
+_controls_.FontPickerCtrl_swigregister(FontPickerCtrl)
+FontPickerCtrlNameStr = cvar.FontPickerCtrlNameStr
+
+def PreFontPickerCtrl(*args, **kwargs):
+    """PreFontPickerCtrl() -> FontPickerCtrl"""
+    val = _controls_.new_PreFontPickerCtrl(*args, **kwargs)
+    return val
+
+wxEVT_COMMAND_FONTPICKER_CHANGED = _controls_.wxEVT_COMMAND_FONTPICKER_CHANGED
+EVT_FONTPICKER_CHANGED = wx.PyEventBinder( wxEVT_COMMAND_FONTPICKER_CHANGED, 1 )
+
+class FontPickerEvent(_core.CommandEvent):
+    """Proxy of C++ FontPickerEvent class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
+        """__init__(self, Object generator, int id, Font f) -> FontPickerEvent"""
+        _controls_.FontPickerEvent_swiginit(self,_controls_.new_FontPickerEvent(*args, **kwargs))
+    def GetFont(*args, **kwargs):
+        """GetFont(self) -> Font"""
+        return _controls_.FontPickerEvent_GetFont(*args, **kwargs)
+
+    def SetFont(*args, **kwargs):
+        """SetFont(self, Font c)"""
+        return _controls_.FontPickerEvent_SetFont(*args, **kwargs)
+
+    Font = property(GetFont,SetFont,doc="See `GetFont` and `SetFont`") 
+_controls_.FontPickerEvent_swigregister(FontPickerEvent)
+
+#---------------------------------------------------------------------------
+
+CP_DEFAULT_STYLE = _controls_.CP_DEFAULT_STYLE
+CP_NO_TLW_RESIZE = _controls_.CP_NO_TLW_RESIZE
+class CollapsiblePane(_core.Control):
+    """
+    A collapsable pane is a container with an embedded button-like
+    control which can be used by the user to collapse or expand the pane's
+    contents.
+
+    Once constructed you should use the `GetPane` function to access the
+    pane and add your controls inside it (i.e. use the window returned
+    from `GetPane` as the parent for the controls which must go in the
+    pane, NOT the wx.CollapsiblePane itself!).
+
+    Note that because of its nature of control which can dynamically (and
+    drastically) change its size at run-time under user-input, when
+    putting a wx.CollapsiblePane inside a `wx.Sizer` you should be careful
+    to add it with a proportion value of zero; this is because otherwise
+    all other windows with non-zero proportion values would automatically
+    get resized each time the user expands or collapses the pane window,
+    usually resulting a weird, flickering effect.
+    """
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
+        """
+        __init__(self, Window parent, int winid=-1, String label=EmptyString, 
+            Point pos=DefaultPosition, Size size=DefaultSize, 
+            long style=CP_DEFAULT_STYLE, Validator val=DefaultValidator, 
+            String name=CollapsiblePaneNameStr) -> CollapsiblePane
+
+        Create and show a wx.CollapsiblePane
+        """
+        _controls_.CollapsiblePane_swiginit(self,_controls_.new_CollapsiblePane(*args, **kwargs))
+        self._setOORInfo(self)
+
+    def Create(*args, **kwargs):
+        """
+        Create(self, Window parent, int winid=-1, String label=EmptyString, 
+            Point pos=DefaultPosition, Size size=DefaultSize, 
+            long style=CP_DEFAULT_STYLE, Validator val=DefaultValidator, 
+            String name=CollapsiblePaneNameStr) -> bool
+        """
+        return _controls_.CollapsiblePane_Create(*args, **kwargs)
+
+    def Collapse(*args, **kwargs):
+        """
+        Collapse(self, bool collapse=True)
+
+        Collapses or expands the pane window.
+        """
+        return _controls_.CollapsiblePane_Collapse(*args, **kwargs)
+
+    def Expand(*args, **kwargs):
+        """
+        Expand(self)
+
+        Same as Collapse(False).
+        """
+        return _controls_.CollapsiblePane_Expand(*args, **kwargs)
+
+    def IsCollapsed(*args, **kwargs):
+        """
+        IsCollapsed(self) -> bool
+
+        Returns ``True`` if the pane window is currently hidden.
+        """
+        return _controls_.CollapsiblePane_IsCollapsed(*args, **kwargs)
+
+    def IsExpanded(*args, **kwargs):
+        """
+        IsExpanded(self) -> bool
+
+        Returns ``True`` if the pane window is currently shown.
+        """
+        return _controls_.CollapsiblePane_IsExpanded(*args, **kwargs)
+
+    def GetPane(*args, **kwargs):
+        """
+        GetPane(self) -> Window
+
+        Returns a reference to the pane window.  Use the returned `wx.Window`
+        as the parent of widgets to make them part of the collapsible area.
+        """
+        return _controls_.CollapsiblePane_GetPane(*args, **kwargs)
+
+    Expanded = property(IsExpanded) 
+    Collapsed = property(IsCollapsed) 
+_controls_.CollapsiblePane_swigregister(CollapsiblePane)
+CollapsiblePaneNameStr = cvar.CollapsiblePaneNameStr
+
+def PreCollapsiblePane(*args, **kwargs):
+    """
+    PreCollapsiblePane() -> CollapsiblePane
+
+    Precreate a wx.CollapsiblePane for 2-phase creation.
+    """
+    val = _controls_.new_PreCollapsiblePane(*args, **kwargs)
+    return val
+
+wxEVT_COMMAND_COLLPANE_CHANGED = _controls_.wxEVT_COMMAND_COLLPANE_CHANGED
+EVT_COLLAPSIBLEPANE_CHANGED = wx.PyEventBinder( wxEVT_COMMAND_COLLPANE_CHANGED, 1 )
+
+class CollapsiblePaneEvent(_core.CommandEvent):
+    """Proxy of C++ CollapsiblePaneEvent class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
+        """__init__(self, Object generator, int id, bool collapsed) -> CollapsiblePaneEvent"""
+        _controls_.CollapsiblePaneEvent_swiginit(self,_controls_.new_CollapsiblePaneEvent(*args, **kwargs))
+    def GetCollapsed(*args, **kwargs):
+        """GetCollapsed(self) -> bool"""
+        return _controls_.CollapsiblePaneEvent_GetCollapsed(*args, **kwargs)
+
+    def SetCollapsed(*args, **kwargs):
+        """SetCollapsed(self, bool c)"""
+        return _controls_.CollapsiblePaneEvent_SetCollapsed(*args, **kwargs)
+
+    Collapsed = property(GetCollapsed,SetCollapsed) 
+_controls_.CollapsiblePaneEvent_swigregister(CollapsiblePaneEvent)
+
+