]> 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 caabd82c1c97b5f177e08142856a5690d71fe495..703e56d137b780e24ecb5a316f0042202adaea00 100644 (file)
@@ -1,18 +1,18 @@
-# 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_
-
+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 isinstance(value, class_type):
-            self.__dict__[name] = value.this
-            if hasattr(value,"thisown"): self.__dict__["thisown"] = value.thisown
-            del value.thisown
+        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) or (name == "thisown"):
+    if (not static) or hasattr(self,name):
         self.__dict__[name] = value
     else:
         raise AttributeError("You cannot add attributes to %s" % self)
@@ -21,10 +21,16 @@ 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
@@ -37,7 +43,8 @@ del types
 
 def _swig_setattr_nondynamic_method(set):
     def set_attr(self,name,value):
-        if hasattr(self,name) or (name in ("this", "thisown")):
+        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)
@@ -61,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.
     """
-    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, 
@@ -76,10 +83,7 @@ class Button(_core.Control):
         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):
@@ -128,13 +132,8 @@ class Button(_core.Control):
         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
 
@@ -145,19 +144,18 @@ def PreButton(*args, **kwargs):
     Precreate a Button for 2-phase creation.
     """
     val = _controls_.new_PreButton(*args, **kwargs)
-    val.thisown = 1
     return val
 
-def Button_GetDefaultSize(*args, **kwargs):
-    """
+def Button_GetDefaultSize(*args):
+  """
     Button_GetDefaultSize() -> Size
 
     Returns the default button size for this platform.
     """
-    return _controls_.Button_GetDefaultSize(*args, **kwargs)
+  return _controls_.Button_GetDefaultSize(*args)
 
 def Button_GetClassDefaultAttributes(*args, **kwargs):
-    """
+  """
     Button_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
     Get the default attributes for this class.  This is useful if you want
@@ -171,7 +169,7 @@ def Button_GetClassDefaultAttributes(*args, **kwargs):
     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):
     """
@@ -180,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.
     """
-    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, 
@@ -191,10 +189,7 @@ class BitmapButton(Button):
 
         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):
@@ -240,6 +235,14 @@ class BitmapButton(Button):
         """
         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)
@@ -273,6 +276,16 @@ class BitmapButton(Button):
         """
         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)
@@ -285,13 +298,8 @@ class BitmapButton(Button):
         """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):
     """
@@ -300,7 +308,6 @@ def PreBitmapButton(*args, **kwargs):
     Precreate a BitmapButton for 2-phase creation.
     """
     val = _controls_.new_PreBitmapButton(*args, **kwargs)
-    val.thisown = 1
     return val
 
 #---------------------------------------------------------------------------
@@ -319,9 +326,9 @@ class CheckBox(_core.Control):
     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, 
@@ -330,10 +337,7 @@ class CheckBox(_core.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):
@@ -432,13 +436,8 @@ class CheckBox(_core.Control):
         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):
@@ -448,11 +447,10 @@ def 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):
-    """
+  """
     CheckBox_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
     Get the default attributes for this class.  This is useful if you want
@@ -466,7 +464,7 @@ def CheckBox_GetClassDefaultAttributes(*args, **kwargs):
     the returned font. See `wx.Window.SetWindowVariant` for more about
     this.
     """
-    return _controls_.CheckBox_GetClassDefaultAttributes(*args, **kwargs)
+  return _controls_.CheckBox_GetClassDefaultAttributes(*args, **kwargs)
 
 #---------------------------------------------------------------------------
 
@@ -476,32 +474,42 @@ class Choice(_core.ControlWithItems):
     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,
-            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
         """
-        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,
-            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)
 
+    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_.Choice_GetCurrentSelection(*args, **kwargs)
+
     def GetClassDefaultAttributes(*args, **kwargs):
         """
         GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
@@ -520,13 +528,8 @@ class Choice(_core.ControlWithItems):
         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):
@@ -536,11 +539,10 @@ def 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):
-    """
+  """
     Choice_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
     Get the default attributes for this class.  This is useful if you want
@@ -554,7 +556,7 @@ def Choice_GetClassDefaultAttributes(*args, **kwargs):
     the returned font. See `wx.Window.SetWindowVariant` for more about
     this.
     """
-    return _controls_.Choice_GetClassDefaultAttributes(*args, **kwargs)
+  return _controls_.Choice_GetClassDefaultAttributes(*args, **kwargs)
 
 #---------------------------------------------------------------------------
 
@@ -567,28 +569,25 @@ class ComboBox(Choice):
     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,
-            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.
         """
-        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,
-            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
@@ -664,14 +663,6 @@ class ComboBox(Choice):
         """
         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)
@@ -689,6 +680,19 @@ class ComboBox(Choice):
         """
         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
@@ -821,13 +825,8 @@ class ComboBox(Choice):
         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):
@@ -837,11 +836,10 @@ def 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):
-    """
+  """
     ComboBox_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
     Get the default attributes for this class.  This is useful if you want
@@ -855,7 +853,7 @@ def ComboBox_GetClassDefaultAttributes(*args, **kwargs):
     the returned font. See `wx.Window.SetWindowVariant` for more about
     this.
     """
-    return _controls_.ComboBox_GetClassDefaultAttributes(*args, **kwargs)
+  return _controls_.ComboBox_GetClassDefaultAttributes(*args, **kwargs)
 
 #---------------------------------------------------------------------------
 
@@ -865,19 +863,16 @@ GA_SMOOTH = _controls_.GA_SMOOTH
 GA_PROGRESSBAR = _controls_.GA_PROGRESSBAR
 class Gauge(_core.Control):
     """Proxy of C++ Gauge class"""
-    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):
+    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
         """
-        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):
@@ -943,23 +938,17 @@ class Gauge(_core.Control):
         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)
-    val.thisown = 1
     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
@@ -973,24 +962,21 @@ def Gauge_GetClassDefaultAttributes(*args, **kwargs):
     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):
     """Proxy of C++ StaticBox class"""
-    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):
+    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
         """
-        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):
@@ -1019,13 +1005,8 @@ class StaticBox(_core.Control):
         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
@@ -1033,11 +1014,10 @@ StaticTextNameStr = cvar.StaticTextNameStr
 def PreStaticBox(*args, **kwargs):
     """PreStaticBox() -> StaticBox"""
     val = _controls_.new_PreStaticBox(*args, **kwargs)
-    val.thisown = 1
     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
@@ -1051,24 +1031,21 @@ def StaticBox_GetClassDefaultAttributes(*args, **kwargs):
     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):
     """Proxy of C++ StaticLine class"""
-    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):
+    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
         """
-        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):
@@ -1106,26 +1083,20 @@ class StaticLine(_core.Control):
         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)
-    val.thisown = 1
     return val
 
-def StaticLine_GetDefaultSize(*args, **kwargs):
-    """StaticLine_GetDefaultSize() -> int"""
-    return _controls_.StaticLine_GetDefaultSize(*args, **kwargs)
+def StaticLine_GetDefaultSize(*args):
+  """StaticLine_GetDefaultSize() -> int"""
+  return _controls_.StaticLine_GetDefaultSize(*args)
 
 def StaticLine_GetClassDefaultAttributes(*args, **kwargs):
-    """
+  """
     StaticLine_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
     Get the default attributes for this class.  This is useful if you want
@@ -1139,24 +1110,21 @@ def StaticLine_GetClassDefaultAttributes(*args, **kwargs):
     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):
     """Proxy of C++ StaticText class"""
-    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):
+    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
         """
-        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):
@@ -1167,6 +1135,17 @@ class StaticText(_core.Control):
         """
         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
@@ -1185,22 +1164,16 @@ class StaticText(_core.Control):
         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)
-    val.thisown = 1
     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
@@ -1214,24 +1187,21 @@ def StaticText_GetClassDefaultAttributes(*args, **kwargs):
     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):
     """Proxy of C++ StaticBitmap class"""
-    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):
+    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
         """
-        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):
@@ -1272,22 +1242,16 @@ class StaticBitmap(_core.Control):
         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)
-    val.thisown = 1
     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
@@ -1301,25 +1265,22 @@ def StaticBitmap_GetClassDefaultAttributes(*args, **kwargs):
     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):
     """Proxy of C++ ListBox class"""
-    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):
+    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
         """
-        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):
@@ -1341,7 +1302,7 @@ class ListBox(_core.ControlWithItems):
         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):
@@ -1401,6 +1362,14 @@ class ListBox(_core.ControlWithItems):
         """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)
@@ -1431,23 +1400,17 @@ class ListBox(_core.ControlWithItems):
         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)
-    val.thisown = 1
     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
@@ -1461,25 +1424,22 @@ def ListBox_GetClassDefaultAttributes(*args, **kwargs):
     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):
     """Proxy of C++ CheckListBox class"""
-    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):
+    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
         """
-        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):
@@ -1492,45 +1452,23 @@ class CheckListBox(ListBox):
         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):
-        """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)
 
-    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)
-    val.thisown = 1
     return val
 
 #---------------------------------------------------------------------------
@@ -1550,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_LINEWRAP = _controls_.TE_LINEWRAP
+TE_CHARWRAP = _controls_.TE_CHARWRAP
 TE_WORDWRAP = _controls_.TE_WORDWRAP
+TE_BESTWRAP = _controls_.TE_BESTWRAP
+TE_LINEWRAP = _controls_.TE_LINEWRAP
 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
@@ -1580,23 +1521,16 @@ OutOfRangeTextCoord = _controls_.OutOfRangeTextCoord
 InvalidTextCoord = _controls_.InvalidTextCoord
 class TextAttr(object):
     """Proxy of C++ TextAttr class"""
-    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):
+    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
         """
-        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)
@@ -1710,34 +1644,26 @@ class TextAttr(object):
         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):
-    """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):
     """Proxy of C++ TextCtrl class"""
-    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):
+    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
         """
-        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):
@@ -1995,22 +1921,16 @@ class TextCtrl(_core.Control):
         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)
-    val.thisown = 1
     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
@@ -2024,7 +1944,7 @@ def TextCtrl_GetClassDefaultAttributes(*args, **kwargs):
     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
@@ -2032,14 +1952,11 @@ wxEVT_COMMAND_TEXT_URL = _controls_.wxEVT_COMMAND_TEXT_URL
 wxEVT_COMMAND_TEXT_MAXLEN = _controls_.wxEVT_COMMAND_TEXT_MAXLEN
 class TextUrlEvent(_core.CommandEvent):
     """Proxy of C++ TextUrlEvent class"""
-    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):
+    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"""
-        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)
@@ -2052,13 +1969,8 @@ class TextUrlEvent(_core.CommandEvent):
         """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)
@@ -2069,18 +1981,15 @@ EVT_TEXT_MAXLEN = wx.PyEventBinder( wxEVT_COMMAND_TEXT_MAXLEN, 1)
 
 class ScrollBar(_core.Control):
     """Proxy of C++ ScrollBar class"""
-    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):
+    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
         """
-        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):
@@ -2118,15 +2027,6 @@ class ScrollBar(_core.Control):
         """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
@@ -2145,23 +2045,17 @@ class ScrollBar(_core.Control):
         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)
-    val.thisown = 1
     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
@@ -2175,7 +2069,7 @@ def ScrollBar_GetClassDefaultAttributes(*args, **kwargs):
     the returned font. See `wx.Window.SetWindowVariant` for more about
     this.
     """
-    return _controls_.ScrollBar_GetClassDefaultAttributes(*args, **kwargs)
+  return _controls_.ScrollBar_GetClassDefaultAttributes(*args, **kwargs)
 
 #---------------------------------------------------------------------------
 
@@ -2185,18 +2079,15 @@ SP_ARROW_KEYS = _controls_.SP_ARROW_KEYS
 SP_WRAP = _controls_.SP_WRAP
 class SpinButton(_core.Control):
     """Proxy of C++ SpinButton class"""
-    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):
+    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
         """
-        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):
@@ -2257,24 +2148,18 @@ class SpinButton(_core.Control):
         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)
-    val.thisown = 1
     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
@@ -2288,23 +2173,20 @@ def SpinButton_GetClassDefaultAttributes(*args, **kwargs):
     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):
     """Proxy of C++ SpinCtrl class"""
-    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):
+    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
         """
-        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):
@@ -2362,22 +2244,16 @@ class SpinCtrl(_core.Control):
         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)
-    val.thisown = 1
     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
@@ -2391,18 +2267,15 @@ def SpinCtrl_GetClassDefaultAttributes(*args, **kwargs):
     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):
     """Proxy of C++ SpinEvent class"""
-    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):
+    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"""
-        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)
@@ -2411,13 +2284,8 @@ class SpinEvent(_core.NotifyEvent):
         """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)
@@ -2429,9 +2297,9 @@ EVT_SPINCTRL  = wx.PyEventBinder( wxEVT_COMMAND_SPINCTRL_UPDATED, 1)
 
 class RadioBox(_core.Control):
     """Proxy of C++ RadioBox class"""
-    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):
+    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, 
@@ -2441,10 +2309,7 @@ class RadioBox(_core.Control):
             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):
@@ -2475,7 +2340,7 @@ class RadioBox(_core.Control):
         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):
@@ -2493,19 +2358,27 @@ class RadioBox(_core.Control):
     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):
-        """ShowItem(self, int n, bool show=True)"""
+        """ShowItem(self, unsigned int n, bool show=True)"""
         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):
-        """GetColumnCount(self) -> int"""
+        """GetColumnCount(self) -> unsigned int"""
         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):
@@ -2530,24 +2403,18 @@ class RadioBox(_core.Control):
         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)
-    val.thisown = 1
     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
@@ -2561,25 +2428,22 @@ def RadioBox_GetClassDefaultAttributes(*args, **kwargs):
     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):
     """Proxy of C++ RadioButton class"""
-    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):
+    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
         """
-        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):
@@ -2617,22 +2481,16 @@ class RadioButton(_core.Control):
         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)
-    val.thisown = 1
     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
@@ -2646,12 +2504,13 @@ def RadioButton_GetClassDefaultAttributes(*args, **kwargs):
     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
@@ -2663,9 +2522,9 @@ SL_SELRANGE = _controls_.SL_SELRANGE
 SL_INVERSE = _controls_.SL_INVERSE
 class Slider(_core.Control):
     """Proxy of C++ Slider class"""
-    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):
+    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, 
@@ -2674,10 +2533,7 @@ class Slider(_core.Control):
             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):
@@ -2792,23 +2648,17 @@ class Slider(_core.Control):
         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)
-    val.thisown = 1
     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
@@ -2822,7 +2672,7 @@ def Slider_GetClassDefaultAttributes(*args, **kwargs):
     the returned font. See `wx.Window.SetWindowVariant` for more about
     this.
     """
-    return _controls_.Slider_GetClassDefaultAttributes(*args, **kwargs)
+  return _controls_.Slider_GetClassDefaultAttributes(*args, **kwargs)
 
 #---------------------------------------------------------------------------
 
@@ -2831,19 +2681,16 @@ EVT_TOGGLEBUTTON = wx.PyEventBinder( wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, 1)
 
 class ToggleButton(_core.Control):
     """Proxy of C++ ToggleButton class"""
-    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):
+    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
         """
-        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):
@@ -2863,14 +2710,6 @@ class ToggleButton(_core.Control):
         """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
@@ -2889,23 +2728,17 @@ class ToggleButton(_core.Control):
         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)
-    val.thisown = 1
     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
@@ -2919,15 +2752,21 @@ def ToggleButton_GetClassDefaultAttributes(*args, **kwargs):
     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):
     """Proxy of C++ BookCtrlBase class"""
-    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,)
+    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)
@@ -2980,6 +2819,26 @@ class BookCtrlBase(_core.Control):
         """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)
@@ -3029,17 +2888,12 @@ class BookCtrlBase(_core.Control):
         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)
+BookCtrlBase_swigregister = _controls_.BookCtrlBase_swigregister
+BookCtrlBase_swigregister(BookCtrlBase)
 NotebookNameStr = cvar.NotebookNameStr
 
 def BookCtrlBase_GetClassDefaultAttributes(*args, **kwargs):
-    """
+  """
     BookCtrlBase_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
     Get the default attributes for this class.  This is useful if you want
@@ -3053,23 +2907,25 @@ def BookCtrlBase_GetClassDefaultAttributes(*args, **kwargs):
     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):
     """Proxy of C++ BookCtrlBaseEvent class"""
-    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):
+    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
         """
-        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):
-        """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):
@@ -3084,13 +2940,8 @@ class BookCtrlBaseEvent(_core.NotifyEvent):
         """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)
 
 #---------------------------------------------------------------------------
 
@@ -3107,17 +2958,14 @@ NB_HITTEST_ONLABEL = _controls_.NB_HITTEST_ONLABEL
 NB_HITTEST_ONITEM = _controls_.NB_HITTEST_ONITEM
 class Notebook(BookCtrlBase):
     """Proxy of C++ Notebook class"""
-    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):
+    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=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):
@@ -3148,10 +2996,6 @@ class Notebook(BookCtrlBase):
         """
         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)
@@ -3174,22 +3018,16 @@ class Notebook(BookCtrlBase):
         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)
-    val.thisown = 1
     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
@@ -3203,28 +3041,20 @@ def Notebook_GetClassDefaultAttributes(*args, **kwargs):
     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):
     """Proxy of C++ NotebookEvent class"""
-    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):
+    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
         """
-        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
@@ -3238,7 +3068,7 @@ class NotebookPage(wx.Panel):
     """
     There is an old (and apparently unsolvable) bug when placing a
     window with a nonstandard background colour in a wx.Notebook on
-    wxGTK, as the notbooks's background colour would always be used
+    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
@@ -3272,17 +3102,14 @@ LB_RIGHT = _controls_.LB_RIGHT
 LB_ALIGN_MASK = _controls_.LB_ALIGN_MASK
 class Listbook(BookCtrlBase):
     """Proxy of C++ Listbook class"""
-    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):
+    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
         """
-        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):
@@ -3292,48 +3119,30 @@ class Listbook(BookCtrlBase):
         """
         return _controls_.Listbook_Create(*args, **kwargs)
 
-    def IsVertical(*args, **kwargs):
-        """IsVertical(self) -> bool"""
-        return _controls_.Listbook_IsVertical(*args, **kwargs)
-
     def GetListView(*args, **kwargs):
         """GetListView(self) -> ListView"""
         return _controls_.Listbook_GetListView(*args, **kwargs)
 
-
-class ListbookPtr(Listbook):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = Listbook
-_controls_.Listbook_swigregister(ListbookPtr)
+Listbook_swigregister = _controls_.Listbook_swigregister
+Listbook_swigregister(Listbook)
 
 def PreListbook(*args, **kwargs):
     """PreListbook() -> Listbook"""
     val = _controls_.new_PreListbook(*args, **kwargs)
-    val.thisown = 1
     return val
 
 class ListbookEvent(BookCtrlBaseEvent):
     """Proxy of C++ ListbookEvent class"""
-    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):
+    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
         """
-        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
@@ -3348,17 +3157,14 @@ CHB_RIGHT = _controls_.CHB_RIGHT
 CHB_ALIGN_MASK = _controls_.CHB_ALIGN_MASK
 class Choicebook(BookCtrlBase):
     """Proxy of C++ Choicebook class"""
-    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):
+    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
         """
-        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):
@@ -3368,48 +3174,30 @@ class Choicebook(BookCtrlBase):
         """
         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)
-    val.thisown = 1
     return val
 
 class ChoicebookEvent(BookCtrlBaseEvent):
     """Proxy of C++ ChoicebookEvent class"""
-    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):
+    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
         """
-        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
@@ -3418,96 +3206,144 @@ EVT_CHOICEBOOK_PAGE_CHANGING = wx.PyEventBinder( wxEVT_COMMAND_CHOICEBOOK_PAGE_C
 
 #---------------------------------------------------------------------------
 
-class BookCtrlSizer(_core.Sizer):
-    """Proxy of C++ BookCtrlSizer class"""
-    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)
 
-    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):
-    """Proxy of C++ NotebookSizer class"""
-    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)
 
-        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`.
+Treebook_swigregister = _controls_.Treebook_swigregister
+Treebook_swigregister(Treebook)
+
+def PreTreebook(*args, **kwargs):
+    """PreTreebook() -> Treebook"""
+    val = _controls_.new_PreTreebook(*args, **kwargs)
+    return val
+
+class TreebookEvent(BookCtrlBaseEvent):
+    """Proxy of C++ TreebookEvent class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
+        """
+        __init__(self, 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)
 
-    def CalcMin(*args, **kwargs):
+wxEVT_COMMAND_TREEBOOK_PAGE_CHANGED = _controls_.wxEVT_COMMAND_TREEBOOK_PAGE_CHANGED
+wxEVT_COMMAND_TREEBOOK_PAGE_CHANGING = _controls_.wxEVT_COMMAND_TREEBOOK_PAGE_CHANGING
+wxEVT_COMMAND_TREEBOOK_NODE_COLLAPSED = _controls_.wxEVT_COMMAND_TREEBOOK_NODE_COLLAPSED
+wxEVT_COMMAND_TREEBOOK_NODE_EXPANDED = _controls_.wxEVT_COMMAND_TREEBOOK_NODE_EXPANDED
+EVT_TREEBOOK_PAGE_CHANGED= wx.PyEventBinder( wxEVT_COMMAND_TREEBOOK_PAGE_CHANGED, 1 )
+EVT_TREEBOOK_PAGE_CHANGING= wx.PyEventBinder( wxEVT_COMMAND_TREEBOOK_PAGE_CHANGING, 1)
+EVT_TREEBOOK_NODE_COLLAPSED= wx.PyEventBinder( wxEVT_COMMAND_TREEBOOK_NODE_COLLAPSED, 1 )
+EVT_TREEBOOK_NODE_EXPANDED= wx.PyEventBinder( wxEVT_COMMAND_TREEBOOK_NODE_EXPANDED, 1 )
+
+#---------------------------------------------------------------------------
+
+class Toolbook(BookCtrlBase):
+    """Proxy of C++ Toolbook class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
+        """
+        __init__(self, Window parent, int id, Point pos=DefaultPosition, Size size=DefaultSize, 
+            long style=BK_DEFAULT, 
+            String name=EmptyString) -> Toolbook
         """
-        CalcMin(self) -> Size
+        _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):
+        """
+        Create(self, Window parent, int id, Point pos=DefaultPosition, Size size=DefaultSize, 
+            long style=0, String name=wxEmptyString) -> bool
         """
-        return _controls_.NotebookSizer_CalcMin(*args, **kwargs)
+        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)
+
+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)
 
-class NotebookSizerPtr(NotebookSizer):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = NotebookSizer
-_controls_.NotebookSizer_swigregister(NotebookSizerPtr)
+wxEVT_COMMAND_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)
 
-NotebookSizer.__init__ = wx._deprecated(NotebookSizer.__init__, "NotebookSizer is no longer needed.") 
-BookCtrlSizer.__init__ = wx._deprecated(BookCtrlSizer.__init__, "BookCtrlSizer is no longer needed.") 
 #---------------------------------------------------------------------------
 
 TOOL_STYLE_BUTTON = _controls_.TOOL_STYLE_BUTTON
@@ -3526,9 +3362,9 @@ TB_HORZ_LAYOUT = _controls_.TB_HORZ_LAYOUT
 TB_HORZ_TEXT = _controls_.TB_HORZ_TEXT
 class ToolBarToolBase(_core.Object):
     """Proxy of C++ ToolBarToolBase class"""
-    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,)
+    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)
@@ -3650,19 +3486,14 @@ class ToolBarToolBase(_core.Object):
     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):
     """Proxy of C++ ToolBarBase class"""
-    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,)
+    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, 
@@ -3973,28 +3804,24 @@ class ToolBarBase(_core.Control):
         """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):
     """Proxy of C++ ToolBar class"""
-    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):
+    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
         """
-        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):
@@ -4027,22 +3854,16 @@ class ToolBar(ToolBarBase):
         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)
-    val.thisown = 1
     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
@@ -4056,7 +3877,7 @@ def ToolBar_GetClassDefaultAttributes(*args, **kwargs):
     the returned font. See `wx.Window.SetWindowVariant` for more about
     this.
     """
-    return _controls_.ToolBar_GetClassDefaultAttributes(*args, **kwargs)
+  return _controls_.ToolBar_GetClassDefaultAttributes(*args, **kwargs)
 
 #---------------------------------------------------------------------------
 
@@ -4132,17 +3953,16 @@ LIST_FIND_RIGHT = _controls_.LIST_FIND_RIGHT
 
 class ListItemAttr(object):
     """Proxy of C++ ListItemAttr class"""
-    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):
+    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
         """
-        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)
@@ -4179,37 +3999,31 @@ class ListItemAttr(object):
         """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)"""
-        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):
     """Proxy of C++ ListItem class"""
-    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):
+    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"""
-        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)
@@ -4336,26 +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)
-
-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):
     """Proxy of C++ ListEvent class"""
-    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):
+    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"""
-        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)
@@ -4420,13 +4226,8 @@ class ListEvent(_core.NotifyEvent):
         """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
@@ -4448,16 +4249,16 @@ wxEVT_COMMAND_LIST_COL_BEGIN_DRAG = _controls_.wxEVT_COMMAND_LIST_COL_BEGIN_DRAG
 wxEVT_COMMAND_LIST_COL_DRAGGING = _controls_.wxEVT_COMMAND_LIST_COL_DRAGGING
 wxEVT_COMMAND_LIST_COL_END_DRAG = _controls_.wxEVT_COMMAND_LIST_COL_END_DRAG
 wxEVT_COMMAND_LIST_ITEM_FOCUSED = _controls_.wxEVT_COMMAND_LIST_ITEM_FOCUSED
-wxEVT_COMMAND_LIST_GET_INFO = _controls_.wxEVT_COMMAND_LIST_GET_INFO
-wxEVT_COMMAND_LIST_SET_INFO = _controls_.wxEVT_COMMAND_LIST_SET_INFO
 EVT_LIST_BEGIN_DRAG        = wx.PyEventBinder(wxEVT_COMMAND_LIST_BEGIN_DRAG       , 1)
 EVT_LIST_BEGIN_RDRAG       = wx.PyEventBinder(wxEVT_COMMAND_LIST_BEGIN_RDRAG      , 1)
 EVT_LIST_BEGIN_LABEL_EDIT  = wx.PyEventBinder(wxEVT_COMMAND_LIST_BEGIN_LABEL_EDIT , 1)
 EVT_LIST_END_LABEL_EDIT    = wx.PyEventBinder(wxEVT_COMMAND_LIST_END_LABEL_EDIT   , 1)
 EVT_LIST_DELETE_ITEM       = wx.PyEventBinder(wxEVT_COMMAND_LIST_DELETE_ITEM      , 1)
 EVT_LIST_DELETE_ALL_ITEMS  = wx.PyEventBinder(wxEVT_COMMAND_LIST_DELETE_ALL_ITEMS , 1)
-EVT_LIST_GET_INFO          = wx.PyEventBinder(wxEVT_COMMAND_LIST_GET_INFO         , 1)
-EVT_LIST_SET_INFO          = wx.PyEventBinder(wxEVT_COMMAND_LIST_SET_INFO         , 1)
+
+
+
+
 EVT_LIST_ITEM_SELECTED     = wx.PyEventBinder(wxEVT_COMMAND_LIST_ITEM_SELECTED    , 1)
 EVT_LIST_ITEM_DESELECTED   = wx.PyEventBinder(wxEVT_COMMAND_LIST_ITEM_DESELECTED  , 1)
 EVT_LIST_KEY_DOWN          = wx.PyEventBinder(wxEVT_COMMAND_LIST_KEY_DOWN         , 1)
@@ -4473,25 +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_GET_INFO = wx._deprecated(EVT_LIST_GET_INFO)
-EVT_LIST_SET_INFO = wx._deprecated(EVT_LIST_SET_INFO)
+
+
+
 
 #---------------------------------------------------------------------------
 
 class ListCtrl(_core.Control):
     """Proxy of C++ ListCtrl class"""
-    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):
+    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
         """
-        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):
@@ -4508,38 +4307,6 @@ class ListCtrl(_core.Control):
         """_setCallbackInfo(self, PyObject self, PyObject _class)"""
         return _controls_.ListCtrl__setCallbackInfo(*args, **kwargs)
 
-    def SetForegroundColour(*args, **kwargs):
-        """
-        SetForegroundColour(self, Colour col) -> bool
-
-        Sets the foreground colour of the window.  Returns True is the colour
-        was changed.  The interpretation of foreground colour is dependent on
-        the window class; it may be the text colour or other colour, or it may
-        not be used at all.
-        """
-        return _controls_.ListCtrl_SetForegroundColour(*args, **kwargs)
-
-    def SetBackgroundColour(*args, **kwargs):
-        """
-        SetBackgroundColour(self, Colour col) -> bool
-
-        Sets the background colour of the window.  Returns True if the colour
-        was changed.  The background colour is usually painted by the default
-        EVT_ERASE_BACKGROUND event handler function under Windows and
-        automatically under GTK.  Using `wx.NullColour` will reset the window
-        to the default background colour.
-
-        Note that setting the background colour may not cause an immediate
-        refresh, so you may wish to call `ClearBackground` or `Refresh` after
-        calling this function.
-
-        Using this function will disable attempts to use themes for this
-        window, if the system supports them.  Use with care since usually the
-        themes represent the appearance chosen by the user to be used for all
-        applications on the system.
-        """
-        return _controls_.ListCtrl_SetBackgroundColour(*args, **kwargs)
-
     def GetColumn(*args, **kwargs):
         """GetColumn(self, int col) -> ListItem"""
         val = _controls_.ListCtrl_GetColumn(*args, **kwargs)
@@ -4596,6 +4363,10 @@ class ListCtrl(_core.Control):
         """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)
@@ -4656,17 +4427,6 @@ class ListCtrl(_core.Control):
         """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)
@@ -4761,7 +4521,7 @@ class ListCtrl(_core.Control):
         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):
@@ -4772,10 +4532,11 @@ class ListCtrl(_core.Control):
         """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, 
@@ -4807,6 +4568,14 @@ class ListCtrl(_core.Control):
         """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):
@@ -4892,22 +4661,16 @@ class ListCtrl(_core.Control):
         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)
-    val.thisown = 1
     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
@@ -4921,24 +4684,21 @@ def ListCtrl_GetClassDefaultAttributes(*args, **kwargs):
     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):
     """Proxy of C++ ListView class"""
-    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):
+    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
         """
-        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):
@@ -4983,18 +4743,12 @@ class ListView(ListCtrl):
         """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)
-    val.thisown = 1
     return val
 
 #---------------------------------------------------------------------------
@@ -5038,20 +4792,13 @@ TREE_HITTEST_ONITEM = _controls_.TREE_HITTEST_ONITEM
 
 class TreeItemId(object):
     """Proxy of C++ TreeItemId class"""
-    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):
+    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"""
-        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)
@@ -5067,25 +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() 
-
-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):
     """Proxy of C++ TreeItemData class"""
-    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):
+    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"""
-        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)
@@ -5104,15 +4845,12 @@ class TreeItemData(object):
 
     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)
 
 #---------------------------------------------------------------------------
 
@@ -5157,18 +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_COMMAND_TREE_ITEM_MENU = wx.PyEventBinder(wxEVT_COMMAND_TREE_ITEM_MENU,         1)    
+EVT_TREE_ITEM_MENU        = wx.PyEventBinder(wxEVT_COMMAND_TREE_ITEM_MENU,         1)
 
 class TreeEvent(_core.NotifyEvent):
     """Proxy of C++ TreeEvent class"""
-    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):
+    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"""
-        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)
@@ -5225,31 +4960,27 @@ class TreeEvent(_core.NotifyEvent):
         """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):
     """Proxy of C++ TreeCtrl class"""
-    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):
+    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
         """
-        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):
@@ -5598,22 +5329,16 @@ class TreeCtrl(_core.Control):
         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)
-    val.thisown = 1
     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
@@ -5627,7 +5352,7 @@ def TreeCtrl_GetClassDefaultAttributes(*args, **kwargs):
     the returned font. See `wx.Window.SetWindowVariant` for more about
     this.
     """
-    return _controls_.TreeCtrl_GetClassDefaultAttributes(*args, **kwargs)
+  return _controls_.TreeCtrl_GetClassDefaultAttributes(*args, **kwargs)
 
 #---------------------------------------------------------------------------
 
@@ -5638,9 +5363,9 @@ DIRCTRL_3D_INTERNAL = _controls_.DIRCTRL_3D_INTERNAL
 DIRCTRL_EDIT_LABELS = _controls_.DIRCTRL_EDIT_LABELS
 class GenericDirCtrl(_core.Control):
     """Proxy of C++ GenericDirCtrl class"""
-    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):
+    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, 
@@ -5648,10 +5373,7 @@ class GenericDirCtrl(_core.Control):
             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):
@@ -5744,34 +5466,25 @@ class GenericDirCtrl(_core.Control):
         """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)
-    val.thisown = 1
     return val
 
 class DirFilterListCtrl(Choice):
     """Proxy of C++ DirFilterListCtrl class"""
-    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):
+    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
         """
-        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):
@@ -5785,36 +5498,27 @@ class DirFilterListCtrl(Choice):
         """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)
-    val.thisown = 1
     return val
 
 #---------------------------------------------------------------------------
 
 class PyControl(_core.Control):
     """Proxy of C++ PyControl class"""
-    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):
+    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
         """
-        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):
@@ -5825,102 +5529,165 @@ class PyControl(_core.Control):
         """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)
-    val.thisown = 1
     return val
 
 #---------------------------------------------------------------------------
@@ -5952,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.
     """
-    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"""
-        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
@@ -6010,13 +5774,8 @@ class HelpEvent(_core.CommandEvent):
         """
         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):
     """
@@ -6042,9 +5801,9 @@ class ContextHelp(_core.Object):
     :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
 
@@ -6053,16 +5812,9 @@ class ContextHelp(_core.Object):
 
         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
@@ -6086,13 +5838,8 @@ class ContextHelp(_core.Object):
         """
         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):
     """
@@ -6109,28 +5856,20 @@ class ContextHelpButton(BitmapButton):
     :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.
         """
-        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)
 
-
-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):
     """
@@ -6141,9 +5880,11 @@ class HelpProvider(object):
     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
@@ -6215,33 +5956,30 @@ class HelpProvider(object):
 
     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):
-    """
+  """
     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.
     """
-    return _controls_.HelpProvider_Get(*args, **kwargs)
+  return _controls_.HelpProvider_Get(*args)
 
 class SimpleHelpProvider(HelpProvider):
     """
@@ -6249,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.
     """
-    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
 
@@ -6259,36 +5997,21 @@ class SimpleHelpProvider(HelpProvider):
         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):
     """Proxy of C++ DragImage class"""
-    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):
+    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"""
-        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)
@@ -6336,36 +6059,27 @@ class DragImage(_core.Object):
         """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)
-    val.thisown = 1
     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)
-    val.thisown = 1
     return val
 
 def DragListItem(*args, **kwargs):
     """DragListItem(ListCtrl listCtrl, long id) -> DragImage"""
     val = _controls_.new_DragListItem(*args, **kwargs)
-    val.thisown = 1
     return val
 
 #---------------------------------------------------------------------------
@@ -6384,9 +6098,9 @@ class DatePickerCtrl(_core.Control):
     and can also display a popup window for more user-friendly date
     selection, depending on the styles used and the platform.
     """
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxDatePickerCtrl 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, DateTime dt=wxDefaultDateTime, 
             Point pos=DefaultPosition, Size size=DefaultSize, 
@@ -6396,10 +6110,7 @@ class DatePickerCtrl(_core.Control):
 
         Create a new DatePickerCtrl.
         """
-        newobj = _controls_.new_DatePickerCtrl(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
+        _controls_.DatePickerCtrl_swiginit(self,_controls_.new_DatePickerCtrl(*args, **kwargs))
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
@@ -6469,13 +6180,8 @@ class DatePickerCtrl(_core.Control):
         """
         return _controls_.DatePickerCtrl_GetUpperLimit(*args, **kwargs)
 
-
-class DatePickerCtrlPtr(DatePickerCtrl):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = DatePickerCtrl
-_controls_.DatePickerCtrl_swigregister(DatePickerCtrlPtr)
+DatePickerCtrl_swigregister = _controls_.DatePickerCtrl_swigregister
+DatePickerCtrl_swigregister(DatePickerCtrl)
 DatePickerCtrlNameStr = cvar.DatePickerCtrlNameStr
 
 def PreDatePickerCtrl(*args, **kwargs):
@@ -6485,7 +6191,7 @@ def PreDatePickerCtrl(*args, **kwargs):
     Precreate a DatePickerCtrl for use in 2-phase creation.
     """
     val = _controls_.new_PreDatePickerCtrl(*args, **kwargs)
-    val.thisown = 1
     return val
 
 
+