]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/msw/_controls.py
Acquire the GIL in GetSelections
[wxWidgets.git] / wxPython / src / msw / _controls.py
index 95b0ca122d6e00dedf3657c1a121ec1806fc44b3..703e56d137b780e24ecb5a316f0042202adaea00 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 
@@ -20,9 +68,9 @@ class Button(_core.Control):
     common elements of a GUI.  It may be placed on a dialog box or panel, or
     indeed almost any other window.
     """
     common elements of a GUI.  It may be placed on a dialog box or panel, or
     indeed almost any other window.
     """
-    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=-1, String label=EmptyString, 
             Point pos=DefaultPosition, Size size=DefaultSize, 
         """
         __init__(self, Window parent, int id=-1, String label=EmptyString, 
             Point pos=DefaultPosition, Size size=DefaultSize, 
@@ -35,10 +83,7 @@ class Button(_core.Control):
         ID given.  In additon, the button will be decorated with stock icons
         under GTK+ 2.
         """
         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):
@@ -87,13 +132,8 @@ class Button(_core.Control):
         return _controls_.Button_GetClassDefaultAttributes(*args, **kwargs)
 
     GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
         return _controls_.Button_GetClassDefaultAttributes(*args, **kwargs)
 
     GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
-
-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)
+Button_swigregister = _controls_.Button_swigregister
+Button_swigregister(Button)
 cvar = _controls_.cvar
 ButtonNameStr = cvar.ButtonNameStr
 
 cvar = _controls_.cvar
 ButtonNameStr = cvar.ButtonNameStr
 
@@ -104,19 +144,18 @@ 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):
 
 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
     Button_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
     Get the default attributes for this class.  This is useful if you want
@@ -130,7 +169,7 @@ def Button_GetClassDefaultAttributes(*args, **kwargs):
     the returned font. See `wx.Window.SetWindowVariant` for more about
     this.
     """
     the returned font. See `wx.Window.SetWindowVariant` for more about
     this.
     """
-    return _controls_.Button_GetClassDefaultAttributes(*args, **kwargs)
+  return _controls_.Button_GetClassDefaultAttributes(*args, **kwargs)
 
 class BitmapButton(Button):
     """
 
 class BitmapButton(Button):
     """
@@ -139,9 +178,9 @@ class BitmapButton(Button):
     the application needs more control, additional bitmaps for the selected state,
     unpressed focused state, and greyed-out state may be supplied.
     """
     the application needs more control, additional bitmaps for the selected state,
     unpressed focused state, and greyed-out state may be supplied.
     """
-    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=-1, Bitmap bitmap=wxNullBitmap, 
             Point pos=DefaultPosition, Size size=DefaultSize, 
         """
         __init__(self, Window parent, int id=-1, Bitmap bitmap=wxNullBitmap, 
             Point pos=DefaultPosition, Size size=DefaultSize, 
@@ -150,10 +189,7 @@ class BitmapButton(Button):
 
         Create and show a button with a bitmap for the label.
         """
 
         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):
@@ -199,6 +235,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)
@@ -232,6 +276,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)
@@ -244,13 +298,8 @@ 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)
+BitmapButton_swigregister = _controls_.BitmapButton_swigregister
+BitmapButton_swigregister(BitmapButton)
 
 def PreBitmapButton(*args, **kwargs):
     """
 
 def PreBitmapButton(*args, **kwargs):
     """
@@ -259,7 +308,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
 
 #---------------------------------------------------------------------------
@@ -278,9 +326,9 @@ class CheckBox(_core.Control):
     mixed or undetermined state. Often this is used as a "Does Not
     Apply" state.
     """
     mixed or undetermined state. Often this is used as a "Does Not
     Apply" state.
     """
-    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=-1, String label=EmptyString, 
             Point pos=DefaultPosition, Size size=DefaultSize, 
         """
         __init__(self, Window parent, int id=-1, String label=EmptyString, 
             Point pos=DefaultPosition, Size size=DefaultSize, 
@@ -289,10 +337,7 @@ class CheckBox(_core.Control):
 
         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):
@@ -391,13 +436,8 @@ class CheckBox(_core.Control):
         return _controls_.CheckBox_GetClassDefaultAttributes(*args, **kwargs)
 
     GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
         return _controls_.CheckBox_GetClassDefaultAttributes(*args, **kwargs)
 
     GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
-
-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)
+CheckBox_swigregister = _controls_.CheckBox_swigregister
+CheckBox_swigregister(CheckBox)
 CheckBoxNameStr = cvar.CheckBoxNameStr
 
 def PreCheckBox(*args, **kwargs):
 CheckBoxNameStr = cvar.CheckBoxNameStr
 
 def PreCheckBox(*args, **kwargs):
@@ -407,11 +447,10 @@ 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
 
 def CheckBox_GetClassDefaultAttributes(*args, **kwargs):
     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
     CheckBox_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
     Get the default attributes for this class.  This is useful if you want
@@ -425,7 +464,7 @@ def CheckBox_GetClassDefaultAttributes(*args, **kwargs):
     the returned font. See `wx.Window.SetWindowVariant` for more about
     this.
     """
     the returned font. See `wx.Window.SetWindowVariant` for more about
     this.
     """
-    return _controls_.CheckBox_GetClassDefaultAttributes(*args, **kwargs)
+  return _controls_.CheckBox_GetClassDefaultAttributes(*args, **kwargs)
 
 #---------------------------------------------------------------------------
 
 
 #---------------------------------------------------------------------------
 
@@ -435,57 +474,42 @@ class Choice(_core.ControlWithItems):
     Unlike a `wx.ListBox`, only the selection is visible until the
     user pulls down the menu of choices.
     """
     Unlike a `wx.ListBox`, only the selection is visible until the
     user pulls down the menu of choices.
     """
-    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):
-        """
-        SetStringSelection(self, String string) -> bool
-
-        Select the item with the specifed string
+        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_.Choice_SetStringSelection(*args, **kwargs)
+        return _controls_.Choice_GetCurrentSelection(*args, **kwargs)
 
 
-    def SetString(*args, **kwargs):
-        """
-        SetString(self, int n, String string)
-
-        Set the label for the n'th item (zero based) in the list.
-        """
-        return _controls_.Choice_SetString(*args, **kwargs)
-
-    Select = SetSelection 
     def GetClassDefaultAttributes(*args, **kwargs):
         """
         GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
     def GetClassDefaultAttributes(*args, **kwargs):
         """
         GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
@@ -504,13 +528,8 @@ class Choice(_core.ControlWithItems):
         return _controls_.Choice_GetClassDefaultAttributes(*args, **kwargs)
 
     GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
         return _controls_.Choice_GetClassDefaultAttributes(*args, **kwargs)
 
     GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
-
-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)
+Choice_swigregister = _controls_.Choice_swigregister
+Choice_swigregister(Choice)
 ChoiceNameStr = cvar.ChoiceNameStr
 
 def PreChoice(*args, **kwargs):
 ChoiceNameStr = cvar.ChoiceNameStr
 
 def PreChoice(*args, **kwargs):
@@ -520,11 +539,10 @@ 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
 
 def Choice_GetClassDefaultAttributes(*args, **kwargs):
     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
     Choice_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
     Get the default attributes for this class.  This is useful if you want
@@ -538,7 +556,7 @@ def Choice_GetClassDefaultAttributes(*args, **kwargs):
     the returned font. See `wx.Window.SetWindowVariant` for more about
     this.
     """
     the returned font. See `wx.Window.SetWindowVariant` for more about
     this.
     """
-    return _controls_.Choice_GetClassDefaultAttributes(*args, **kwargs)
+  return _controls_.Choice_GetClassDefaultAttributes(*args, **kwargs)
 
 #---------------------------------------------------------------------------
 
 
 #---------------------------------------------------------------------------
 
@@ -551,28 +569,25 @@ class ComboBox(Choice):
     A combobox permits a single selection only. Combobox items are
     numbered from zero.
     """
     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,
+            List choices=EmptyList, long style=0, Validator validator=DefaultValidator,
             String name=ComboBoxNameStr) -> ComboBox
 
         Constructor, creates and shows a ComboBox control.
         """
             String name=ComboBoxNameStr) -> ComboBox
 
         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
@@ -648,14 +663,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)
@@ -664,6 +671,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
@@ -700,6 +729,84 @@ 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
     def GetClassDefaultAttributes(*args, **kwargs):
         """
         GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
@@ -718,13 +825,8 @@ class ComboBox(Choice):
         return _controls_.ComboBox_GetClassDefaultAttributes(*args, **kwargs)
 
     GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
         return _controls_.ComboBox_GetClassDefaultAttributes(*args, **kwargs)
 
     GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
-
-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)
+ComboBox_swigregister = _controls_.ComboBox_swigregister
+ComboBox_swigregister(ComboBox)
 ComboBoxNameStr = cvar.ComboBoxNameStr
 
 def PreComboBox(*args, **kwargs):
 ComboBoxNameStr = cvar.ComboBoxNameStr
 
 def PreComboBox(*args, **kwargs):
@@ -734,11 +836,10 @@ 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
 
 def ComboBox_GetClassDefaultAttributes(*args, **kwargs):
     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
     ComboBox_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
     Get the default attributes for this class.  This is useful if you want
@@ -752,7 +853,7 @@ def ComboBox_GetClassDefaultAttributes(*args, **kwargs):
     the returned font. See `wx.Window.SetWindowVariant` for more about
     this.
     """
     the returned font. See `wx.Window.SetWindowVariant` for more about
     this.
     """
-    return _controls_.ComboBox_GetClassDefaultAttributes(*args, **kwargs)
+  return _controls_.ComboBox_GetClassDefaultAttributes(*args, **kwargs)
 
 #---------------------------------------------------------------------------
 
 
 #---------------------------------------------------------------------------
 
@@ -761,19 +862,17 @@ GA_VERTICAL = _controls_.GA_VERTICAL
 GA_SMOOTH = _controls_.GA_SMOOTH
 GA_PROGRESSBAR = _controls_.GA_PROGRESSBAR
 class Gauge(_core.Control):
 GA_SMOOTH = _controls_.GA_SMOOTH
 GA_PROGRESSBAR = _controls_.GA_PROGRESSBAR
 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=-1, int range=100, Point pos=DefaultPosition, 
             Size size=DefaultSize, long style=GA_HORIZONTAL, 
             Validator validator=DefaultValidator, 
             String name=GaugeNameStr) -> Gauge
         """
         """
         __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
         """
-        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):
@@ -839,23 +938,17 @@ class Gauge(_core.Control):
         return _controls_.Gauge_GetClassDefaultAttributes(*args, **kwargs)
 
     GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
         return _controls_.Gauge_GetClassDefaultAttributes(*args, **kwargs)
 
     GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
-
-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)
+Gauge_swigregister = _controls_.Gauge_swigregister
+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
 
 def Gauge_GetClassDefaultAttributes(*args, **kwargs):
     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
     Gauge_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
     Get the default attributes for this class.  This is useful if you want
@@ -869,23 +962,21 @@ def Gauge_GetClassDefaultAttributes(*args, **kwargs):
     the returned font. See `wx.Window.SetWindowVariant` for more about
     this.
     """
     the returned font. See `wx.Window.SetWindowVariant` for more about
     this.
     """
-    return _controls_.Gauge_GetClassDefaultAttributes(*args, **kwargs)
+  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):
+    """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
         """
         """
         __init__(self, Window parent, int id=-1, String label=EmptyString, 
             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
+        _controls_.StaticBox_swiginit(self,_controls_.new_StaticBox(*args, **kwargs))
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
@@ -914,13 +1005,8 @@ class StaticBox(_core.Control):
         return _controls_.StaticBox_GetClassDefaultAttributes(*args, **kwargs)
 
     GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
         return _controls_.StaticBox_GetClassDefaultAttributes(*args, **kwargs)
 
     GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
-
-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)
+StaticBox_swigregister = _controls_.StaticBox_swigregister
+StaticBox_swigregister(StaticBox)
 StaticBitmapNameStr = cvar.StaticBitmapNameStr
 StaticBoxNameStr = cvar.StaticBoxNameStr
 StaticTextNameStr = cvar.StaticTextNameStr
 StaticBitmapNameStr = cvar.StaticBitmapNameStr
 StaticBoxNameStr = cvar.StaticBoxNameStr
 StaticTextNameStr = cvar.StaticTextNameStr
@@ -928,11 +1014,10 @@ 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
 
 def StaticBox_GetClassDefaultAttributes(*args, **kwargs):
     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
     StaticBox_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
     Get the default attributes for this class.  This is useful if you want
@@ -946,23 +1031,21 @@ def StaticBox_GetClassDefaultAttributes(*args, **kwargs):
     the returned font. See `wx.Window.SetWindowVariant` for more about
     this.
     """
     the returned font. See `wx.Window.SetWindowVariant` for more about
     this.
     """
-    return _controls_.StaticBox_GetClassDefaultAttributes(*args, **kwargs)
+  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=-1, Point pos=DefaultPosition, 
             Size size=DefaultSize, long style=LI_HORIZONTAL, 
             String name=StaticTextNameStr) -> StaticLine
         """
         """
         __init__(self, Window parent, int id=-1, Point pos=DefaultPosition, 
             Size size=DefaultSize, long style=LI_HORIZONTAL, 
             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):
@@ -1000,26 +1083,20 @@ class StaticLine(_core.Control):
         return _controls_.StaticLine_GetClassDefaultAttributes(*args, **kwargs)
 
     GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
         return _controls_.StaticLine_GetClassDefaultAttributes(*args, **kwargs)
 
     GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
-
-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)
+StaticLine_swigregister = _controls_.StaticLine_swigregister
+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):
 
 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
     StaticLine_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
     Get the default attributes for this class.  This is useful if you want
@@ -1033,23 +1110,21 @@ def StaticLine_GetClassDefaultAttributes(*args, **kwargs):
     the returned font. See `wx.Window.SetWindowVariant` for more about
     this.
     """
     the returned font. See `wx.Window.SetWindowVariant` for more about
     this.
     """
-    return _controls_.StaticLine_GetClassDefaultAttributes(*args, **kwargs)
+  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):
+    """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
         """
         """
         __init__(self, Window parent, int id=-1, String label=EmptyString, 
             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
+        _controls_.StaticText_swiginit(self,_controls_.new_StaticText(*args, **kwargs))
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
@@ -1060,6 +1135,17 @@ class StaticText(_core.Control):
         """
         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
     def GetClassDefaultAttributes(*args, **kwargs):
         """
         GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
@@ -1078,22 +1164,16 @@ class StaticText(_core.Control):
         return _controls_.StaticText_GetClassDefaultAttributes(*args, **kwargs)
 
     GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
         return _controls_.StaticText_GetClassDefaultAttributes(*args, **kwargs)
 
     GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
-
-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)
+StaticText_swigregister = _controls_.StaticText_swigregister
+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
 
 def StaticText_GetClassDefaultAttributes(*args, **kwargs):
     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
     StaticText_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
     Get the default attributes for this class.  This is useful if you want
@@ -1107,23 +1187,21 @@ def StaticText_GetClassDefaultAttributes(*args, **kwargs):
     the returned font. See `wx.Window.SetWindowVariant` for more about
     this.
     """
     the returned font. See `wx.Window.SetWindowVariant` for more about
     this.
     """
-    return _controls_.StaticText_GetClassDefaultAttributes(*args, **kwargs)
+  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):
+    """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
         """
         """
         __init__(self, Window parent, int id=-1, Bitmap bitmap=wxNullBitmap, 
             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
+        _controls_.StaticBitmap_swiginit(self,_controls_.new_StaticBitmap(*args, **kwargs))
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
@@ -1164,22 +1242,16 @@ class StaticBitmap(_core.Control):
         return _controls_.StaticBitmap_GetClassDefaultAttributes(*args, **kwargs)
 
     GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
         return _controls_.StaticBitmap_GetClassDefaultAttributes(*args, **kwargs)
 
     GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
-
-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)
+StaticBitmap_swigregister = _controls_.StaticBitmap_swigregister
+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
 
 def StaticBitmap_GetClassDefaultAttributes(*args, **kwargs):
     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
     StaticBitmap_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
     Get the default attributes for this class.  This is useful if you want
@@ -1193,24 +1265,22 @@ def StaticBitmap_GetClassDefaultAttributes(*args, **kwargs):
     the returned font. See `wx.Window.SetWindowVariant` for more about
     this.
     """
     the returned font. See `wx.Window.SetWindowVariant` for more about
     this.
     """
-    return _controls_.StaticBitmap_GetClassDefaultAttributes(*args, **kwargs)
+  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=-1, Point pos=DefaultPosition, 
             Size size=DefaultSize, wxArrayString choices=wxPyEmptyStringArray, 
             long style=0, Validator validator=DefaultValidator, 
             String name=ListBoxNameStr) -> ListBox
         """
         """
         __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
         """
-        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):
@@ -1232,7 +1302,7 @@ class ListBox(_core.ControlWithItems):
         return _controls_.ListBox_Insert(*args, **kwargs)
 
     def InsertItems(*args, **kwargs):
         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):
@@ -1251,7 +1321,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)
 
@@ -1291,6 +1362,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)
@@ -1321,23 +1400,17 @@ class ListBox(_core.ControlWithItems):
         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)
+ListBox_swigregister = _controls_.ListBox_swigregister
+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
 
     Get the default attributes for this class.  This is useful if you want
     ListBox_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
     Get the default attributes for this class.  This is useful if you want
@@ -1351,24 +1424,22 @@ def ListBox_GetClassDefaultAttributes(*args, **kwargs):
     the returned font. See `wx.Window.SetWindowVariant` for more about
     this.
     """
     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=-1, Point pos=DefaultPosition, 
             Size size=DefaultSize, wxArrayString choices=wxPyEmptyStringArray, 
             long style=0, Validator validator=DefaultValidator, 
             String name=ListBoxNameStr) -> CheckListBox
         """
         """
         __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
         """
-        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):
@@ -1381,45 +1452,23 @@ class CheckListBox(ListBox):
         return _controls_.CheckListBox_Create(*args, **kwargs)
 
     def IsChecked(*args, **kwargs):
         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)
+CheckListBox_swigregister = _controls_.CheckListBox_swigregister
+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
 
 #---------------------------------------------------------------------------
@@ -1439,9 +1488,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_LINEWRAP = _controls_.TE_LINEWRAP
 TE_RICH2 = _controls_.TE_RICH2
 TE_RICH2 = _controls_.TE_RICH2
+TE_CAPITALIZE = _controls_.TE_CAPITALIZE
 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
@@ -1465,24 +1517,20 @@ 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
 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, **kwargs):
+    """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
         """
         """
         __init__(self, Colour colText=wxNullColour, Colour colBack=wxNullColour, 
             Font font=wxNullFont, int alignment=TEXT_ALIGNMENT_DEFAULT) -> TextAttr
         """
-        newobj = _controls_.new_TextAttr(*args, **kwargs)
-        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
-
+        _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)
@@ -1596,33 +1644,26 @@ 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)
+TextAttr_swigregister = _controls_.TextAttr_swigregister
+TextAttr_swigregister(TextAttr)
 TextCtrlNameStr = cvar.TextCtrlNameStr
 
 def TextAttr_Combine(*args, **kwargs):
 TextCtrlNameStr = cvar.TextCtrlNameStr
 
 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=-1, String value=EmptyString, 
             Point pos=DefaultPosition, Size size=DefaultSize, 
             long style=0, Validator validator=DefaultValidator, 
             String name=TextCtrlNameStr) -> TextCtrl
         """
         """
         __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
         """
-        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):
@@ -1760,7 +1801,7 @@ 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 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
 
         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
@@ -1880,22 +1921,16 @@ class TextCtrl(_core.Control):
         return _controls_.TextCtrl_GetClassDefaultAttributes(*args, **kwargs)
 
     GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
         return _controls_.TextCtrl_GetClassDefaultAttributes(*args, **kwargs)
 
     GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
-
-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)
+TextCtrl_swigregister = _controls_.TextCtrl_swigregister
+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
 
 def TextCtrl_GetClassDefaultAttributes(*args, **kwargs):
     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
     TextCtrl_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
     Get the default attributes for this class.  This is useful if you want
@@ -1909,21 +1944,19 @@ def TextCtrl_GetClassDefaultAttributes(*args, **kwargs):
     the returned font. See `wx.Window.SetWindowVariant` for more about
     this.
     """
     the returned font. See `wx.Window.SetWindowVariant` for more about
     this.
     """
-    return _controls_.TextCtrl_GetClassDefaultAttributes(*args, **kwargs)
+  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)
@@ -1936,13 +1969,8 @@ 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)
+TextUrlEvent_swigregister = _controls_.TextUrlEvent_swigregister
+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)
@@ -1952,18 +1980,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):
@@ -2001,15 +2027,6 @@ 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):
-        """
-        SetScrollbar(self, int position, int thumbSize, int range, int pageSize, 
-            bool refresh=True)
-
-        Sets the scrollbar properties of a built-in scrollbar.
-        """
-        return _controls_.ScrollBar_SetScrollbar(*args, **kwargs)
-
     def GetClassDefaultAttributes(*args, **kwargs):
         """
         GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
     def GetClassDefaultAttributes(*args, **kwargs):
         """
         GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
@@ -2028,23 +2045,17 @@ class ScrollBar(_core.Control):
         return _controls_.ScrollBar_GetClassDefaultAttributes(*args, **kwargs)
 
     GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
         return _controls_.ScrollBar_GetClassDefaultAttributes(*args, **kwargs)
 
     GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
-
-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)
+ScrollBar_swigregister = _controls_.ScrollBar_swigregister
+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
 
 def ScrollBar_GetClassDefaultAttributes(*args, **kwargs):
     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
     ScrollBar_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
     Get the default attributes for this class.  This is useful if you want
@@ -2058,7 +2069,7 @@ def ScrollBar_GetClassDefaultAttributes(*args, **kwargs):
     the returned font. See `wx.Window.SetWindowVariant` for more about
     this.
     """
     the returned font. See `wx.Window.SetWindowVariant` for more about
     this.
     """
-    return _controls_.ScrollBar_GetClassDefaultAttributes(*args, **kwargs)
+  return _controls_.ScrollBar_GetClassDefaultAttributes(*args, **kwargs)
 
 #---------------------------------------------------------------------------
 
 
 #---------------------------------------------------------------------------
 
@@ -2067,18 +2078,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):
@@ -2139,24 +2148,18 @@ class SpinButton(_core.Control):
         return _controls_.SpinButton_GetClassDefaultAttributes(*args, **kwargs)
 
     GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
         return _controls_.SpinButton_GetClassDefaultAttributes(*args, **kwargs)
 
     GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
-
-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)
+SpinButton_swigregister = _controls_.SpinButton_swigregister
+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
 
 def SpinButton_GetClassDefaultAttributes(*args, **kwargs):
     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
     SpinButton_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
     Get the default attributes for this class.  This is useful if you want
@@ -2170,22 +2173,20 @@ def SpinButton_GetClassDefaultAttributes(*args, **kwargs):
     the returned font. See `wx.Window.SetWindowVariant` for more about
     this.
     """
     the returned font. See `wx.Window.SetWindowVariant` for more about
     this.
     """
-    return _controls_.SpinButton_GetClassDefaultAttributes(*args, **kwargs)
+  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):
@@ -2243,22 +2244,16 @@ class SpinCtrl(_core.Control):
         return _controls_.SpinCtrl_GetClassDefaultAttributes(*args, **kwargs)
 
     GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
         return _controls_.SpinCtrl_GetClassDefaultAttributes(*args, **kwargs)
 
     GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
-
-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)
+SpinCtrl_swigregister = _controls_.SpinCtrl_swigregister
+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
 
 def SpinCtrl_GetClassDefaultAttributes(*args, **kwargs):
     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
     SpinCtrl_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
     Get the default attributes for this class.  This is useful if you want
@@ -2272,17 +2267,15 @@ def SpinCtrl_GetClassDefaultAttributes(*args, **kwargs):
     the returned font. See `wx.Window.SetWindowVariant` for more about
     this.
     """
     the returned font. See `wx.Window.SetWindowVariant` for more about
     this.
     """
-    return _controls_.SpinCtrl_GetClassDefaultAttributes(*args, **kwargs)
+  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):
+    """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, wxEventType commandType=wxEVT_NULL, int winid=0) -> SpinEvent"""
         """__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
+        _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)
@@ -2291,13 +2284,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)
+SpinEvent_swigregister = _controls_.SpinEvent_swigregister
+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)
@@ -2308,9 +2296,10 @@ 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=-1, String label=EmptyString, 
             Point pos=DefaultPosition, Size size=DefaultSize, 
         """
         __init__(self, Window parent, int id=-1, String label=EmptyString, 
             Point pos=DefaultPosition, Size size=DefaultSize, 
@@ -2320,10 +2309,7 @@ class RadioBox(_core.Control):
             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):
@@ -2354,7 +2340,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):
@@ -2372,19 +2358,27 @@ 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):
         return _controls_.RadioBox_GetRowCount(*args, **kwargs)
 
     def GetNextItem(*args, **kwargs):
@@ -2409,24 +2403,18 @@ class RadioBox(_core.Control):
         return _controls_.RadioBox_GetClassDefaultAttributes(*args, **kwargs)
 
     GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
         return _controls_.RadioBox_GetClassDefaultAttributes(*args, **kwargs)
 
     GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
-
-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)
+RadioBox_swigregister = _controls_.RadioBox_swigregister
+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
 
 def RadioBox_GetClassDefaultAttributes(*args, **kwargs):
     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
     RadioBox_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
     Get the default attributes for this class.  This is useful if you want
@@ -2440,24 +2428,22 @@ def RadioBox_GetClassDefaultAttributes(*args, **kwargs):
     the returned font. See `wx.Window.SetWindowVariant` for more about
     this.
     """
     the returned font. See `wx.Window.SetWindowVariant` for more about
     this.
     """
-    return _controls_.RadioBox_GetClassDefaultAttributes(*args, **kwargs)
+  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):
+    """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
         """
         """
         __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
         """
-        newobj = _controls_.new_RadioButton(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
+        _controls_.RadioButton_swiginit(self,_controls_.new_RadioButton(*args, **kwargs))
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
@@ -2495,22 +2481,16 @@ class RadioButton(_core.Control):
         return _controls_.RadioButton_GetClassDefaultAttributes(*args, **kwargs)
 
     GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
         return _controls_.RadioButton_GetClassDefaultAttributes(*args, **kwargs)
 
     GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
-
-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)
+RadioButton_swigregister = _controls_.RadioButton_swigregister
+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
 
 def RadioButton_GetClassDefaultAttributes(*args, **kwargs):
     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
     RadioButton_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
     Get the default attributes for this class.  This is useful if you want
@@ -2524,14 +2504,27 @@ def RadioButton_GetClassDefaultAttributes(*args, **kwargs):
     the returned font. See `wx.Window.SetWindowVariant` for more about
     this.
     """
     the returned font. See `wx.Window.SetWindowVariant` for more about
     this.
     """
-    return _controls_.RadioButton_GetClassDefaultAttributes(*args, **kwargs)
+  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):
+    """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, 
         """
         __init__(self, Window parent, int id=-1, int value=0, int minValue=0, 
             int maxValue=100, Point pos=DefaultPosition, 
@@ -2540,10 +2533,7 @@ class Slider(_core.Control):
             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):
@@ -2658,23 +2648,17 @@ class Slider(_core.Control):
         return _controls_.Slider_GetClassDefaultAttributes(*args, **kwargs)
 
     GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
         return _controls_.Slider_GetClassDefaultAttributes(*args, **kwargs)
 
     GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
-
-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)
+Slider_swigregister = _controls_.Slider_swigregister
+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
 
 def Slider_GetClassDefaultAttributes(*args, **kwargs):
     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
     Slider_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
     Get the default attributes for this class.  This is useful if you want
@@ -2688,7 +2672,7 @@ def Slider_GetClassDefaultAttributes(*args, **kwargs):
     the returned font. See `wx.Window.SetWindowVariant` for more about
     this.
     """
     the returned font. See `wx.Window.SetWindowVariant` for more about
     this.
     """
-    return _controls_.Slider_GetClassDefaultAttributes(*args, **kwargs)
+  return _controls_.Slider_GetClassDefaultAttributes(*args, **kwargs)
 
 #---------------------------------------------------------------------------
 
 
 #---------------------------------------------------------------------------
 
@@ -2696,19 +2680,17 @@ wxEVT_COMMAND_TOGGLEBUTTON_CLICKED = _controls_.wxEVT_COMMAND_TOGGLEBUTTON_CLICK
 EVT_TOGGLEBUTTON = wx.PyEventBinder( wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, 1)
 
 class ToggleButton(_core.Control):
 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):
+    """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
         """
         """
         __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
         """
-        newobj = _controls_.new_ToggleButton(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
+        _controls_.ToggleButton_swiginit(self,_controls_.new_ToggleButton(*args, **kwargs))
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
@@ -2728,14 +2710,6 @@ 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):
-        """
-        SetLabel(self, String label)
-
-        Sets the item's text.
-        """
-        return _controls_.ToggleButton_SetLabel(*args, **kwargs)
-
     def GetClassDefaultAttributes(*args, **kwargs):
         """
         GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
     def GetClassDefaultAttributes(*args, **kwargs):
         """
         GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
@@ -2754,23 +2728,17 @@ class ToggleButton(_core.Control):
         return _controls_.ToggleButton_GetClassDefaultAttributes(*args, **kwargs)
 
     GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
         return _controls_.ToggleButton_GetClassDefaultAttributes(*args, **kwargs)
 
     GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
-
-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)
+ToggleButton_swigregister = _controls_.ToggleButton_swigregister
+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
 
 def ToggleButton_GetClassDefaultAttributes(*args, **kwargs):
     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
     ToggleButton_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
     Get the default attributes for this class.  This is useful if you want
@@ -2784,14 +2752,21 @@ def ToggleButton_GetClassDefaultAttributes(*args, **kwargs):
     the returned font. See `wx.Window.SetWindowVariant` for more about
     this.
     """
     the returned font. See `wx.Window.SetWindowVariant` for more about
     this.
     """
-    return _controls_.ToggleButton_GetClassDefaultAttributes(*args, **kwargs)
+  return _controls_.ToggleButton_GetClassDefaultAttributes(*args, **kwargs)
 
 #---------------------------------------------------------------------------
 
 
 #---------------------------------------------------------------------------
 
+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
 class BookCtrlBase(_core.Control):
 class BookCtrlBase(_core.Control):
-    def __init__(self): raise RuntimeError, "No constructor defined"
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxBookCtrlBase instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    """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"""
         return _controls_.BookCtrlBase_GetPageCount(*args, **kwargs)
     def GetPageCount(*args, **kwargs):
         """GetPageCount(self) -> size_t"""
         return _controls_.BookCtrlBase_GetPageCount(*args, **kwargs)
@@ -2844,6 +2819,26 @@ class BookCtrlBase(_core.Control):
         """CalcSizeFromPage(self, Size sizePage) -> Size"""
         return _controls_.BookCtrlBase_CalcSizeFromPage(*args, **kwargs)
 
         """CalcSizeFromPage(self, Size sizePage) -> Size"""
         return _controls_.BookCtrlBase_CalcSizeFromPage(*args, **kwargs)
 
+    def GetInternalBorder(*args, **kwargs):
+        """GetInternalBorder(self) -> size_t"""
+        return _controls_.BookCtrlBase_GetInternalBorder(*args, **kwargs)
+
+    def SetInternalBorder(*args, **kwargs):
+        """SetInternalBorder(self, size_t internalBorder)"""
+        return _controls_.BookCtrlBase_SetInternalBorder(*args, **kwargs)
+
+    def IsVertical(*args, **kwargs):
+        """IsVertical(self) -> bool"""
+        return _controls_.BookCtrlBase_IsVertical(*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 DeletePage(*args, **kwargs):
         """DeletePage(self, size_t n) -> bool"""
         return _controls_.BookCtrlBase_DeletePage(*args, **kwargs)
     def DeletePage(*args, **kwargs):
         """DeletePage(self, size_t n) -> bool"""
         return _controls_.BookCtrlBase_DeletePage(*args, **kwargs)
@@ -2893,17 +2888,12 @@ class BookCtrlBase(_core.Control):
         return _controls_.BookCtrlBase_GetClassDefaultAttributes(*args, **kwargs)
 
     GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
         return _controls_.BookCtrlBase_GetClassDefaultAttributes(*args, **kwargs)
 
     GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
-
-class BookCtrlBasePtr(BookCtrlBase):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = BookCtrlBase
-_controls_.BookCtrlBase_swigregister(BookCtrlBasePtr)
-NOTEBOOK_NAME = cvar.NOTEBOOK_NAME
+BookCtrlBase_swigregister = _controls_.BookCtrlBase_swigregister
+BookCtrlBase_swigregister(BookCtrlBase)
+NotebookNameStr = cvar.NotebookNameStr
 
 def BookCtrlBase_GetClassDefaultAttributes(*args, **kwargs):
 
 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
     BookCtrlBase_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
     Get the default attributes for this class.  This is useful if you want
@@ -2917,22 +2907,25 @@ def BookCtrlBase_GetClassDefaultAttributes(*args, **kwargs):
     the returned font. See `wx.Window.SetWindowVariant` for more about
     this.
     """
     the returned font. See `wx.Window.SetWindowVariant` for more about
     this.
     """
-    return _controls_.BookCtrlBase_GetClassDefaultAttributes(*args, **kwargs)
+  return _controls_.BookCtrlBase_GetClassDefaultAttributes(*args, **kwargs)
 
 class BookCtrlBaseEvent(_core.NotifyEvent):
 
 class BookCtrlBaseEvent(_core.NotifyEvent):
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxBookCtrlBaseEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def __init__(self, *args, **kwargs):
+    """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) -> BookCtrlBaseEvent
         """
         """
         __init__(self, wxEventType commandType=wxEVT_NULL, int id=0, int nSel=-1, 
             int nOldSel=-1) -> BookCtrlBaseEvent
         """
-        newobj = _controls_.new_BookCtrlBaseEvent(*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"""
+        """
+        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):
         return _controls_.BookCtrlBaseEvent_GetSelection(*args, **kwargs)
 
     def SetSelection(*args, **kwargs):
@@ -2947,13 +2940,8 @@ class BookCtrlBaseEvent(_core.NotifyEvent):
         """SetOldSelection(self, int nOldSel)"""
         return _controls_.BookCtrlBaseEvent_SetOldSelection(*args, **kwargs)
 
         """SetOldSelection(self, int nOldSel)"""
         return _controls_.BookCtrlBaseEvent_SetOldSelection(*args, **kwargs)
 
-
-class BookCtrlBaseEventPtr(BookCtrlBaseEvent):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = BookCtrlBaseEvent
-_controls_.BookCtrlBaseEvent_swigregister(BookCtrlBaseEventPtr)
+BookCtrlBaseEvent_swigregister = _controls_.BookCtrlBaseEvent_swigregister
+BookCtrlBaseEvent_swigregister(BookCtrlBaseEvent)
 
 #---------------------------------------------------------------------------
 
 
 #---------------------------------------------------------------------------
 
@@ -2963,28 +2951,27 @@ 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
 class Notebook(BookCtrlBase):
 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(BookCtrlBase):
-    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):
+    """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):
         """
         Create(self, Window parent, int id=-1, Point pos=DefaultPosition, 
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
         """
         Create(self, Window parent, int id=-1, Point pos=DefaultPosition, 
-            Size size=DefaultSize, long style=0, String name=NOTEBOOK_NAME) -> bool
+            Size size=DefaultSize, long style=0, String name=NotebookNameStr) -> bool
         """
         return _controls_.Notebook_Create(*args, **kwargs)
 
         """
         return _controls_.Notebook_Create(*args, **kwargs)
 
@@ -3009,9 +2996,9 @@ class Notebook(BookCtrlBase):
         """
         return _controls_.Notebook_HitTest(*args, **kwargs)
 
         """
         return _controls_.Notebook_HitTest(*args, **kwargs)
 
-    def CalcSizeFromPage(*args, **kwargs):
-        """CalcSizeFromPage(self, Size sizePage) -> Size"""
-        return _controls_.Notebook_CalcSizeFromPage(*args, **kwargs)
+    def GetThemeBackgroundColour(*args, **kwargs):
+        """GetThemeBackgroundColour(self) -> Colour"""
+        return _controls_.Notebook_GetThemeBackgroundColour(*args, **kwargs)
 
     def GetClassDefaultAttributes(*args, **kwargs):
         """
 
     def GetClassDefaultAttributes(*args, **kwargs):
         """
@@ -3031,22 +3018,16 @@ class Notebook(BookCtrlBase):
         return _controls_.Notebook_GetClassDefaultAttributes(*args, **kwargs)
 
     GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
         return _controls_.Notebook_GetClassDefaultAttributes(*args, **kwargs)
 
     GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
-
-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)
+Notebook_swigregister = _controls_.Notebook_swigregister
+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
 
 def Notebook_GetClassDefaultAttributes(*args, **kwargs):
     return val
 
 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
     Notebook_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
     Get the default attributes for this class.  This is useful if you want
@@ -3060,27 +3041,20 @@ def Notebook_GetClassDefaultAttributes(*args, **kwargs):
     the returned font. See `wx.Window.SetWindowVariant` for more about
     this.
     """
     the returned font. See `wx.Window.SetWindowVariant` for more about
     this.
     """
-    return _controls_.Notebook_GetClassDefaultAttributes(*args, **kwargs)
+  return _controls_.Notebook_GetClassDefaultAttributes(*args, **kwargs)
 
 class NotebookEvent(BookCtrlBaseEvent):
 
 class NotebookEvent(BookCtrlBaseEvent):
-    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):
+    """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, 
             int nOldSel=-1) -> NotebookEvent
         """
         """
         __init__(self, wxEventType commandType=wxEVT_NULL, int id=0, int nSel=-1, 
             int nOldSel=-1) -> NotebookEvent
         """
-        newobj = _controls_.new_NotebookEvent(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
-
-class NotebookEventPtr(NotebookEvent):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = NotebookEvent
-_controls_.NotebookEvent_swigregister(NotebookEventPtr)
+        _controls_.NotebookEvent_swiginit(self,_controls_.new_NotebookEvent(*args, **kwargs))
+NotebookEvent_swigregister = _controls_.NotebookEvent_swigregister
+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
@@ -3093,8 +3067,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
@@ -3106,7 +3080,7 @@ 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:
 
     def OnSize(self, evt):
         if self.child is None:
@@ -3127,17 +3101,15 @@ LB_LEFT = _controls_.LB_LEFT
 LB_RIGHT = _controls_.LB_RIGHT
 LB_ALIGN_MASK = _controls_.LB_ALIGN_MASK
 class Listbook(BookCtrlBase):
 LB_RIGHT = _controls_.LB_RIGHT
 LB_ALIGN_MASK = _controls_.LB_ALIGN_MASK
 class Listbook(BookCtrlBase):
-    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):
+    """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):
@@ -3147,47 +3119,30 @@ class Listbook(BookCtrlBase):
         """
         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)
 
     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)
+Listbook_swigregister = _controls_.Listbook_swigregister
+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
 
 class ListbookEvent(BookCtrlBaseEvent):
     return val
 
 class ListbookEvent(BookCtrlBaseEvent):
-    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):
+    """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, 
             int nOldSel=-1) -> ListbookEvent
         """
         """
         __init__(self, wxEventType commandType=wxEVT_NULL, int id=0, int nSel=-1, 
             int nOldSel=-1) -> ListbookEvent
         """
-        newobj = _controls_.new_ListbookEvent(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
-
-class ListbookEventPtr(ListbookEvent):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = ListbookEvent
-_controls_.ListbookEvent_swigregister(ListbookEventPtr)
+        _controls_.ListbookEvent_swiginit(self,_controls_.new_ListbookEvent(*args, **kwargs))
+ListbookEvent_swigregister = _controls_.ListbookEvent_swigregister
+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
 
 wxEVT_COMMAND_LISTBOOK_PAGE_CHANGED = _controls_.wxEVT_COMMAND_LISTBOOK_PAGE_CHANGED
 wxEVT_COMMAND_LISTBOOK_PAGE_CHANGING = _controls_.wxEVT_COMMAND_LISTBOOK_PAGE_CHANGING
@@ -3201,17 +3156,15 @@ CHB_LEFT = _controls_.CHB_LEFT
 CHB_RIGHT = _controls_.CHB_RIGHT
 CHB_ALIGN_MASK = _controls_.CHB_ALIGN_MASK
 class Choicebook(BookCtrlBase):
 CHB_RIGHT = _controls_.CHB_RIGHT
 CHB_ALIGN_MASK = _controls_.CHB_ALIGN_MASK
 class Choicebook(BookCtrlBase):
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxChoicebook instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def __init__(self, *args, **kwargs):
+    """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
         """
         """
         __init__(self, Window parent, int id, Point pos=DefaultPosition, Size size=DefaultSize, 
             long style=0, String name=EmptyString) -> Choicebook
         """
-        newobj = _controls_.new_Choicebook(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
+        _controls_.Choicebook_swiginit(self,_controls_.new_Choicebook(*args, **kwargs))
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
@@ -3221,47 +3174,30 @@ class Choicebook(BookCtrlBase):
         """
         return _controls_.Choicebook_Create(*args, **kwargs)
 
         """
         return _controls_.Choicebook_Create(*args, **kwargs)
 
-    def IsVertical(*args, **kwargs):
-        """IsVertical(self) -> bool"""
-        return _controls_.Choicebook_IsVertical(*args, **kwargs)
-
-    def DeleteAllPages(*args, **kwargs):
-        """DeleteAllPages(self) -> bool"""
-        return _controls_.Choicebook_DeleteAllPages(*args, **kwargs)
-
+    def GetChoiceCtrl(*args, **kwargs):
+        """GetChoiceCtrl(self) -> Choice"""
+        return _controls_.Choicebook_GetChoiceCtrl(*args, **kwargs)
 
 
-class ChoicebookPtr(Choicebook):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = Choicebook
-_controls_.Choicebook_swigregister(ChoicebookPtr)
+Choicebook_swigregister = _controls_.Choicebook_swigregister
+Choicebook_swigregister(Choicebook)
 
 def PreChoicebook(*args, **kwargs):
     """PreChoicebook() -> Choicebook"""
     val = _controls_.new_PreChoicebook(*args, **kwargs)
 
 def PreChoicebook(*args, **kwargs):
     """PreChoicebook() -> Choicebook"""
     val = _controls_.new_PreChoicebook(*args, **kwargs)
-    val.thisown = 1
     return val
 
 class ChoicebookEvent(BookCtrlBaseEvent):
     return val
 
 class ChoicebookEvent(BookCtrlBaseEvent):
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxChoicebookEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def __init__(self, *args, **kwargs):
+    """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, wxEventType commandType=wxEVT_NULL, int id=0, int nSel=-1, 
             int nOldSel=-1) -> ChoicebookEvent
         """
         """
         __init__(self, wxEventType commandType=wxEVT_NULL, int id=0, int nSel=-1, 
             int nOldSel=-1) -> ChoicebookEvent
         """
-        newobj = _controls_.new_ChoicebookEvent(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
-
-class ChoicebookEventPtr(ChoicebookEvent):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = ChoicebookEvent
-_controls_.ChoicebookEvent_swigregister(ChoicebookEventPtr)
+        _controls_.ChoicebookEvent_swiginit(self,_controls_.new_ChoicebookEvent(*args, **kwargs))
+ChoicebookEvent_swigregister = _controls_.ChoicebookEvent_swigregister
+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
 
 wxEVT_COMMAND_CHOICEBOOK_PAGE_CHANGED = _controls_.wxEVT_COMMAND_CHOICEBOOK_PAGE_CHANGED
 wxEVT_COMMAND_CHOICEBOOK_PAGE_CHANGING = _controls_.wxEVT_COMMAND_CHOICEBOOK_PAGE_CHANGING
@@ -3270,91 +3206,143 @@ EVT_CHOICEBOOK_PAGE_CHANGING = wx.PyEventBinder( wxEVT_COMMAND_CHOICEBOOK_PAGE_C
 
 #---------------------------------------------------------------------------
 
 
 #---------------------------------------------------------------------------
 
-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, BookCtrlBase nb) -> BookCtrlSizer"""
-        newobj = _controls_.new_BookCtrlSizer(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
+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)
 
         self._setOORInfo(self)
 
-    def RecalcSizes(*args, **kwargs):
+    def Create(*args, **kwargs):
         """
         """
-        RecalcSizes(self)
-
-        Using the sizes calculated by `CalcMin` reposition and resize all the
-        items managed by this sizer.  You should not need to call this directly as
-        it is called by `Layout`.
+        Create(self, Window parent, int id, Point pos=DefaultPosition, Size size=DefaultSize, 
+            long style=BK_DEFAULT, 
+            String name=EmptyString) -> bool
         """
         """
-        return _controls_.BookCtrlSizer_RecalcSizes(*args, **kwargs)
+        return _controls_.Treebook_Create(*args, **kwargs)
 
 
-    def CalcMin(*args, **kwargs):
+    def InsertSubPage(*args, **kwargs):
         """
         """
-        CalcMin(self) -> Size
-
-        This method is where the sizer will do the actual calculation of its
-        children's minimal sizes.  You should not need to call this directly as
-        it is called by `Layout`.
+        InsertSubPage(self, size_t pos, Window page, String text, bool select=False, 
+            int imageId=NOT_FOUND) -> bool
         """
         """
-        return _controls_.BookCtrlSizer_CalcMin(*args, **kwargs)
+        return _controls_.Treebook_InsertSubPage(*args, **kwargs)
 
 
-    def GetControl(*args, **kwargs):
-        """GetControl(self) -> BookCtrlBase"""
-        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 AddSubPage(*args, **kwargs):
+        """AddSubPage(self, Window page, String text, bool select=False, int imageId=NOT_FOUND) -> bool"""
+        return _controls_.Treebook_AddSubPage(*args, **kwargs)
 
 
-    def RecalcSizes(*args, **kwargs):
-        """
-        RecalcSizes(self)
+    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) -> wxTreeCtrl"""
+        return _controls_.Treebook_GetTreeCtrl(*args, **kwargs)
+
+Treebook_swigregister = _controls_.Treebook_swigregister
+Treebook_swigregister(Treebook)
 
 
-        Using the sizes calculated by `CalcMin` reposition and resize all the
-        items managed by this sizer.  You should not need to call this directly as
-        it is called by `Layout`.
+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, wxEventType commandType=wxEVT_NULL, int id=0, int nSel=NOT_FOUND, 
+            int nOldSel=NOT_FOUND) -> TreebookEvent
         """
         """
-        return _controls_.NotebookSizer_RecalcSizes(*args, **kwargs)
+        _controls_.TreebookEvent_swiginit(self,_controls_.new_TreebookEvent(*args, **kwargs))
+TreebookEvent_swigregister = _controls_.TreebookEvent_swigregister
+TreebookEvent_swigregister(TreebookEvent)
+
+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 )
+
+#---------------------------------------------------------------------------
 
 
-    def CalcMin(*args, **kwargs):
+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): 
         """
         """
-        CalcMin(self) -> Size
+        __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)
 
 
-        This method is where the sizer will do the actual calculation of its
-        children's minimal sizes.  You should not need to call this directly as
-        it is called by `Layout`.
+    def Create(*args, **kwargs):
         """
         """
-        return _controls_.NotebookSizer_CalcMin(*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 GetNotebook(*args, **kwargs):
-        """GetNotebook(self) -> Notebook"""
-        return _controls_.NotebookSizer_GetNotebook(*args, **kwargs)
+    def Realize(*args, **kwargs):
+        """Realize(self)"""
+        return _controls_.Toolbook_Realize(*args, **kwargs)
 
 
+Toolbook_swigregister = _controls_.Toolbook_swigregister
+Toolbook_swigregister(Toolbook)
 
 
-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)
+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, wxEventType commandType=wxEVT_NULL, int id=0, int nSel=NOT_FOUND, 
+            int nOldSel=NOT_FOUND) -> ToolbookEvent
+        """
+        _controls_.ToolbookEvent_swiginit(self,_controls_.new_ToolbookEvent(*args, **kwargs))
+ToolbookEvent_swigregister = _controls_.ToolbookEvent_swigregister
+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)
 
 #---------------------------------------------------------------------------
 
 
 #---------------------------------------------------------------------------
 
@@ -3373,9 +3361,10 @@ TB_NOALIGN = _controls_.TB_NOALIGN
 TB_HORZ_LAYOUT = _controls_.TB_HORZ_LAYOUT
 TB_HORZ_TEXT = _controls_.TB_HORZ_TEXT
 class ToolBarToolBase(_core.Object):
 TB_HORZ_LAYOUT = _controls_.TB_HORZ_LAYOUT
 TB_HORZ_TEXT = _controls_.TB_HORZ_TEXT
 class ToolBarToolBase(_core.Object):
-    def __init__(self): raise RuntimeError, "No constructor defined"
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxToolBarToolBase instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    """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)
@@ -3497,18 +3486,14 @@ 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)
+ToolBarToolBase_swigregister = _controls_.ToolBarToolBase_swigregister
+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, 
@@ -3819,27 +3804,24 @@ class ToolBarBase(_core.Control):
         """IsVertical(self) -> bool"""
         return _controls_.ToolBarBase_IsVertical(*args, **kwargs)
 
         """IsVertical(self) -> bool"""
         return _controls_.ToolBarBase_IsVertical(*args, **kwargs)
 
+    def GetToolsCount(*args, **kwargs):
+        """GetToolsCount(self) -> size_t"""
+        return _controls_.ToolBarBase_GetToolsCount(*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)
+ToolBarBase_swigregister = _controls_.ToolBarBase_swigregister
+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=-1, Point pos=DefaultPosition, 
             Size size=DefaultSize, long style=wxNO_BORDER|wxTB_HORIZONTAL, 
             String name=wxPyToolBarNameStr) -> ToolBar
         """
         """
         __init__(self, Window parent, int id=-1, Point pos=DefaultPosition, 
             Size size=DefaultSize, long style=wxNO_BORDER|wxTB_HORIZONTAL, 
             String name=wxPyToolBarNameStr) -> ToolBar
         """
-        newobj = _controls_.new_ToolBar(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
+        _controls_.ToolBar_swiginit(self,_controls_.new_ToolBar(*args, **kwargs))
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
@@ -3872,22 +3854,16 @@ class ToolBar(ToolBarBase):
         return _controls_.ToolBar_GetClassDefaultAttributes(*args, **kwargs)
 
     GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
         return _controls_.ToolBar_GetClassDefaultAttributes(*args, **kwargs)
 
     GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
-
-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)
+ToolBar_swigregister = _controls_.ToolBar_swigregister
+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
 
 def ToolBar_GetClassDefaultAttributes(*args, **kwargs):
     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
     ToolBar_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
     Get the default attributes for this class.  This is useful if you want
@@ -3901,7 +3877,7 @@ def ToolBar_GetClassDefaultAttributes(*args, **kwargs):
     the returned font. See `wx.Window.SetWindowVariant` for more about
     this.
     """
     the returned font. See `wx.Window.SetWindowVariant` for more about
     this.
     """
-    return _controls_.ToolBar_GetClassDefaultAttributes(*args, **kwargs)
+  return _controls_.ToolBar_GetClassDefaultAttributes(*args, **kwargs)
 
 #---------------------------------------------------------------------------
 
 
 #---------------------------------------------------------------------------
 
@@ -3976,17 +3952,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)
@@ -4023,36 +3999,31 @@ 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)"""
-        return _controls_.ListItemAttr_Destroy(*args, **kwargs)
-
+        val = _controls_.ListItemAttr_Destroy(*args, **kwargs)
+        args[0].thisown = 0
+        return val
 
 
-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)
+ListItemAttr_swigregister = _controls_.ListItemAttr_swigregister
+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)
@@ -4179,25 +4150,18 @@ 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)
+ListItem_swigregister = _controls_.ListItem_swigregister
+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):
+    """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, wxEventType commandType=wxEVT_NULL, int id=0) -> ListEvent"""
         """__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
+        _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)
@@ -4262,13 +4226,8 @@ 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)
+ListEvent_swigregister = _controls_.ListEvent_swigregister
+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
@@ -4276,8 +4235,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
@@ -4298,8 +4255,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)
@@ -4315,24 +4274,23 @@ 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)
 
-EVT_LIST_GET_INFO = wx._deprecated(EVT_LIST_GET_INFO)
-EVT_LIST_SET_INFO = wx._deprecated(EVT_LIST_SET_INFO)
+
+
+
 
 #---------------------------------------------------------------------------
 
 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
+        _controls_.ListCtrl_swiginit(self,_controls_.new_ListCtrl(*args, **kwargs))
         self._setOORInfo(self);self._setCallbackInfo(self, ListCtrl)
 
     def Create(*args, **kwargs):
         self._setOORInfo(self);self._setCallbackInfo(self, ListCtrl)
 
     def Create(*args, **kwargs):
@@ -4349,14 +4307,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)
@@ -4413,6 +4363,10 @@ class ListCtrl(_core.Control):
         """SetItemImage(self, long item, int image, int selImage=-1) -> bool"""
         return _controls_.ListCtrl_SetItemImage(*args, **kwargs)
 
         """SetItemImage(self, long item, int image, int selImage=-1) -> bool"""
         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)
@@ -4473,17 +4427,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)
@@ -4569,7 +4512,7 @@ class ListCtrl(_core.Control):
         HitTest(Point point) -> (item, where)
 
         Determines which item (if any) is at the specified point, giving
         HitTest(Point point) -> (item, where)
 
         Determines which item (if any) is at the specified point, giving
-         in the second return value (see wxLIST_HITTEST_... flags.)
+         in the second return value (see wx.LIST_HITTEST flags.)
         """
         return _controls_.ListCtrl_HitTest(*args, **kwargs)
 
         """
         return _controls_.ListCtrl_HitTest(*args, **kwargs)
 
@@ -4578,7 +4521,7 @@ class ListCtrl(_core.Control):
         return _controls_.ListCtrl_InsertItem(*args, **kwargs)
 
     def InsertStringItem(*args, **kwargs):
         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):
@@ -4589,10 +4532,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, 
@@ -4624,6 +4568,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):
@@ -4651,7 +4603,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)
@@ -4709,22 +4661,16 @@ class ListCtrl(_core.Control):
         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)
+ListCtrl_swigregister = _controls_.ListCtrl_swigregister
+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
 
     Get the default attributes for this class.  This is useful if you want
     ListCtrl_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
     Get the default attributes for this class.  This is useful if you want
@@ -4738,23 +4684,21 @@ def ListCtrl_GetClassDefaultAttributes(*args, **kwargs):
     the returned font. See `wx.Window.SetWindowVariant` for more about
     this.
     """
     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):
@@ -4799,18 +4743,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)
+ListView_swigregister = _controls_.ListView_swigregister
+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
 
 #---------------------------------------------------------------------------
@@ -4853,20 +4791,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)
@@ -4882,24 +4814,19 @@ 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)
+TreeItemId_swigregister = _controls_.TreeItemId_swigregister
+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)
@@ -4918,15 +4845,12 @@ class TreeItemData(object):
 
     def Destroy(*args, **kwargs):
         """Destroy(self)"""
 
     def Destroy(*args, **kwargs):
         """Destroy(self)"""
-        return _controls_.TreeItemData_Destroy(*args, **kwargs)
-
+        val = _controls_.TreeItemData_Destroy(*args, **kwargs)
+        args[0].thisown = 0
+        return val
 
 
-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)
+TreeItemData_swigregister = _controls_.TreeItemData_swigregister
+TreeItemData_swigregister(TreeItemData)
 
 #---------------------------------------------------------------------------
 
 
 #---------------------------------------------------------------------------
 
@@ -4950,6 +4874,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)
@@ -4970,16 +4895,15 @@ 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):
+    """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, **kwargs): 
         """__init__(self, wxEventType commandType=wxEVT_NULL, int id=0) -> TreeEvent"""
         """__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
+        _controls_.TreeEvent_swiginit(self,_controls_.new_TreeEvent(*args, **kwargs))
     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)
@@ -5036,30 +4960,27 @@ 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)
+TreeEvent_swigregister = _controls_.TreeEvent_swigregister
+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
+        _controls_.TreeCtrl_swiginit(self,_controls_.new_TreeCtrl(*args, **kwargs))
         self._setOORInfo(self);self._setCallbackInfo(self, TreeCtrl)
 
     def Create(*args, **kwargs):
         self._setOORInfo(self);self._setCallbackInfo(self, TreeCtrl)
 
     def Create(*args, **kwargs):
@@ -5408,22 +5329,16 @@ class TreeCtrl(_core.Control):
         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)
+TreeCtrl_swigregister = _controls_.TreeCtrl_swigregister
+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
 
     Get the default attributes for this class.  This is useful if you want
     TreeCtrl_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
     Get the default attributes for this class.  This is useful if you want
@@ -5437,7 +5352,7 @@ def TreeCtrl_GetClassDefaultAttributes(*args, **kwargs):
     the returned font. See `wx.Window.SetWindowVariant` for more about
     this.
     """
     the returned font. See `wx.Window.SetWindowVariant` for more about
     this.
     """
-    return _controls_.TreeCtrl_GetClassDefaultAttributes(*args, **kwargs)
+  return _controls_.TreeCtrl_GetClassDefaultAttributes(*args, **kwargs)
 
 #---------------------------------------------------------------------------
 
 
 #---------------------------------------------------------------------------
 
@@ -5447,9 +5362,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, 
@@ -5457,10 +5373,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):
@@ -5553,33 +5466,25 @@ 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)
+GenericDirCtrl_swigregister = _controls_.GenericDirCtrl_swigregister
+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):
@@ -5593,35 +5498,27 @@ 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)
+DirFilterListCtrl_swigregister = _controls_.DirFilterListCtrl_swigregister
+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=-1, Point pos=DefaultPosition, 
             Size size=DefaultSize, long style=0, Validator validator=DefaultValidator, 
             String name=ControlNameStr) -> PyControl
         """
         """
         __init__(self, Window parent, int id=-1, Point pos=DefaultPosition, 
             Size size=DefaultSize, long style=0, Validator validator=DefaultValidator, 
             String name=ControlNameStr) -> PyControl
         """
-        newobj = _controls_.new_PyControl(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
+        _controls_.PyControl_swiginit(self,_controls_.new_PyControl(*args, **kwargs))
         self._setOORInfo(self); self._setCallbackInfo(self, PyControl)
 
     def _setCallbackInfo(*args, **kwargs):
         self._setOORInfo(self); self._setCallbackInfo(self, PyControl)
 
     def _setCallbackInfo(*args, **kwargs):
@@ -5632,102 +5529,165 @@ class PyControl(_core.Control):
         """SetBestSize(self, Size size)"""
         return _controls_.PyControl_SetBestSize(*args, **kwargs)
 
         """SetBestSize(self, Size size)"""
         return _controls_.PyControl_SetBestSize(*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)
-
-    def base_GetDefaultAttributes(*args, **kwargs):
-        """base_GetDefaultAttributes(self) -> VisualAttributes"""
-        return _controls_.PyControl_base_GetDefaultAttributes(*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)
+    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.")
+
+PyControl_swigregister = _controls_.PyControl_swigregister
+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
 
 #---------------------------------------------------------------------------
@@ -5759,14 +5719,11 @@ class HelpEvent(_core.CommandEvent):
     window. Otherwise it would be impossible to show help for container
     windows, since processing would stop after the first window found.
     """
     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):
+    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 type=wxEVT_NULL, int winid=0, Point pt=DefaultPosition) -> HelpEvent"""
         """__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
+        _controls_.HelpEvent_swiginit(self,_controls_.new_HelpEvent(*args, **kwargs))
     def GetPosition(*args, **kwargs):
         """
         GetPosition(self) -> Point
     def GetPosition(*args, **kwargs):
         """
         GetPosition(self) -> Point
@@ -5817,13 +5774,8 @@ class HelpEvent(_core.CommandEvent):
         """
         return _controls_.HelpEvent_SetTarget(*args, **kwargs)
 
         """
         return _controls_.HelpEvent_SetTarget(*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)
+HelpEvent_swigregister = _controls_.HelpEvent_swigregister
+HelpEvent_swigregister(HelpEvent)
 
 class ContextHelp(_core.Object):
     """
 
 class ContextHelp(_core.Object):
     """
@@ -5849,9 +5801,9 @@ class ContextHelp(_core.Object):
     :see: `wx.ContextHelpButton`
 
     """
     :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
 
@@ -5860,16 +5812,9 @@ class ContextHelp(_core.Object):
 
         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
@@ -5893,13 +5838,8 @@ 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)
+ContextHelp_swigregister = _controls_.ContextHelp_swigregister
+ContextHelp_swigregister(ContextHelp)
 
 class ContextHelpButton(BitmapButton):
     """
 
 class ContextHelpButton(BitmapButton):
     """
@@ -5916,28 +5856,20 @@ class ContextHelpButton(BitmapButton):
     :see: `wx.ContextHelp`, `wx.ContextHelpButton`
 
     """
     :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)
+ContextHelpButton_swigregister = _controls_.ContextHelpButton_swigregister
+ContextHelpButton_swigregister(ContextHelpButton)
 
 class HelpProvider(object):
     """
 
 class HelpProvider(object):
     """
@@ -5948,9 +5880,11 @@ 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
@@ -6022,33 +5956,30 @@ class HelpProvider(object):
 
     def Destroy(*args, **kwargs):
         """Destroy(self)"""
 
     def Destroy(*args, **kwargs):
         """Destroy(self)"""
-        return _controls_.HelpProvider_Destroy(*args, **kwargs)
-
+        val = _controls_.HelpProvider_Destroy(*args, **kwargs)
+        args[0].thisown = 0
+        return val
 
 
-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)
+HelpProvider_swigregister = _controls_.HelpProvider_swigregister
+HelpProvider_swigregister(HelpProvider)
 
 def HelpProvider_Set(*args, **kwargs):
 
 def HelpProvider_Set(*args, **kwargs):
-    """
+  """
     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.
     """
     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.
     """
-    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):
     """
@@ -6056,9 +5987,9 @@ class SimpleHelpProvider(HelpProvider):
     supports only plain text help strings, and shows the string associated
     with the control (if any) in a tooltip.
     """
     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
 
@@ -6066,35 +5997,21 @@ class SimpleHelpProvider(HelpProvider):
         supports only plain text help strings, and shows the string associated
         with the control (if any) in a tooltip.
         """
         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))
+SimpleHelpProvider_swigregister = _controls_.SimpleHelpProvider_swigregister
+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)
@@ -6142,36 +6059,139 @@ 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)
+DragImage_swigregister = _controls_.DragImage_swigregister
+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)
+
+DatePickerCtrl_swigregister = _controls_.DatePickerCtrl_swigregister
+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
+
+