]> 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 115de393bc1c27d5c5a0849aed62aac416a01053..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_
 # 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):
 def _swig_setattr_nondynamic(self,class_type,name,value,static=1):
+    if (name == "thisown"): return self.this.own(value)
     if (name == "this"):
     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)
             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)
         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):
     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
 
     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
 import types
 try:
     _object = types.ObjectType
@@ -37,7 +43,8 @@ del types
 
 def _swig_setattr_nondynamic_method(set):
     def set_attr(self,name,value):
 
 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)
             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.
     """
     common elements of a GUI.  It may be placed on a dialog box or panel, or
     indeed almost any other window.
     """
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxButton instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def __init__(self, *args, **kwargs):
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """
         __init__(self, Window parent, int id=-1, String label=EmptyString, 
             Point pos=DefaultPosition, Size size=DefaultSize, 
         """
         __init__(self, Window parent, int id=-1, String label=EmptyString, 
             Point pos=DefaultPosition, Size size=DefaultSize, 
@@ -76,10 +83,7 @@ class Button(_core.Control):
         ID given.  In additon, the button will be decorated with stock icons
         under GTK+ 2.
         """
         ID given.  In additon, the button will be decorated with stock icons
         under GTK+ 2.
         """
-        newobj = _controls_.new_Button(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
+        _controls_.Button_swiginit(self,_controls_.new_Button(*args, **kwargs))
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
@@ -128,13 +132,8 @@ class Button(_core.Control):
         return _controls_.Button_GetClassDefaultAttributes(*args, **kwargs)
 
     GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
         return _controls_.Button_GetClassDefaultAttributes(*args, **kwargs)
 
     GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
-
-class ButtonPtr(Button):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = Button
-_controls_.Button_swigregister(ButtonPtr)
+Button_swigregister = _controls_.Button_swigregister
+Button_swigregister(Button)
 cvar = _controls_.cvar
 ButtonNameStr = cvar.ButtonNameStr
 
 cvar = _controls_.cvar
 ButtonNameStr = cvar.ButtonNameStr
 
@@ -145,19 +144,18 @@ def PreButton(*args, **kwargs):
     Precreate a Button for 2-phase creation.
     """
     val = _controls_.new_PreButton(*args, **kwargs)
     Precreate a Button for 2-phase creation.
     """
     val = _controls_.new_PreButton(*args, **kwargs)
-    val.thisown = 1
     return val
 
     return val
 
-def Button_GetDefaultSize(*args, **kwargs):
-    """
+def Button_GetDefaultSize(*args):
+  """
     Button_GetDefaultSize() -> Size
 
     Returns the default button size for this platform.
     """
     Button_GetDefaultSize() -> Size
 
     Returns the default button size for this platform.
     """
-    return _controls_.Button_GetDefaultSize(*args, **kwargs)
+  return _controls_.Button_GetDefaultSize(*args)
 
 def Button_GetClassDefaultAttributes(*args, **kwargs):
 
 def Button_GetClassDefaultAttributes(*args, **kwargs):
-    """
+  """
     Button_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
     Get the default attributes for this class.  This is useful if you want
     Button_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
     Get the default attributes for this class.  This is useful if you want
@@ -171,7 +169,7 @@ def Button_GetClassDefaultAttributes(*args, **kwargs):
     the returned font. See `wx.Window.SetWindowVariant` for more about
     this.
     """
     the returned font. See `wx.Window.SetWindowVariant` for more about
     this.
     """
-    return _controls_.Button_GetClassDefaultAttributes(*args, **kwargs)
+  return _controls_.Button_GetClassDefaultAttributes(*args, **kwargs)
 
 class BitmapButton(Button):
     """
 
 class BitmapButton(Button):
     """
@@ -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.
     """
     the application needs more control, additional bitmaps for the selected state,
     unpressed focused state, and greyed-out state may be supplied.
     """
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxBitmapButton instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def __init__(self, *args, **kwargs):
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """
         __init__(self, Window parent, int id=-1, Bitmap bitmap=wxNullBitmap, 
             Point pos=DefaultPosition, Size size=DefaultSize, 
         """
         __init__(self, Window parent, int id=-1, Bitmap bitmap=wxNullBitmap, 
             Point pos=DefaultPosition, Size size=DefaultSize, 
@@ -191,10 +189,7 @@ class BitmapButton(Button):
 
         Create and show a button with a bitmap for the label.
         """
 
         Create and show a button with a bitmap for the label.
         """
-        newobj = _controls_.new_BitmapButton(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
+        _controls_.BitmapButton_swiginit(self,_controls_.new_BitmapButton(*args, **kwargs))
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
@@ -240,6 +235,14 @@ class BitmapButton(Button):
         """
         return _controls_.BitmapButton_GetBitmapSelected(*args, **kwargs)
 
         """
         return _controls_.BitmapButton_GetBitmapSelected(*args, **kwargs)
 
+    def GetBitmapHover(*args, **kwargs):
+        """
+        GetBitmapHover(self) -> Bitmap
+
+        Returns the bitmap used when the mouse is over the button, may be invalid.
+        """
+        return _controls_.BitmapButton_GetBitmapHover(*args, **kwargs)
+
     def SetBitmapDisabled(*args, **kwargs):
         """
         SetBitmapDisabled(self, Bitmap bitmap)
     def SetBitmapDisabled(*args, **kwargs):
         """
         SetBitmapDisabled(self, Bitmap bitmap)
@@ -273,6 +276,16 @@ class BitmapButton(Button):
         """
         return _controls_.BitmapButton_SetBitmapLabel(*args, **kwargs)
 
         """
         return _controls_.BitmapButton_SetBitmapLabel(*args, **kwargs)
 
+    def SetBitmapHover(*args, **kwargs):
+        """
+        SetBitmapHover(self, Bitmap hover)
+
+        Sets the bitmap to be shown when the mouse is over the button.  This function
+        is new since wxWidgets version 2.7.0 and the hover bitmap is currently only
+        supported in wxMSW.
+        """
+        return _controls_.BitmapButton_SetBitmapHover(*args, **kwargs)
+
     def SetMargins(*args, **kwargs):
         """SetMargins(self, int x, int y)"""
         return _controls_.BitmapButton_SetMargins(*args, **kwargs)
     def SetMargins(*args, **kwargs):
         """SetMargins(self, int x, int y)"""
         return _controls_.BitmapButton_SetMargins(*args, **kwargs)
@@ -285,13 +298,8 @@ class BitmapButton(Button):
         """GetMarginY(self) -> int"""
         return _controls_.BitmapButton_GetMarginY(*args, **kwargs)
 
         """GetMarginY(self) -> int"""
         return _controls_.BitmapButton_GetMarginY(*args, **kwargs)
 
-
-class BitmapButtonPtr(BitmapButton):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = BitmapButton
-_controls_.BitmapButton_swigregister(BitmapButtonPtr)
+BitmapButton_swigregister = _controls_.BitmapButton_swigregister
+BitmapButton_swigregister(BitmapButton)
 
 def PreBitmapButton(*args, **kwargs):
     """
 
 def PreBitmapButton(*args, **kwargs):
     """
@@ -300,7 +308,6 @@ def PreBitmapButton(*args, **kwargs):
     Precreate a BitmapButton for 2-phase creation.
     """
     val = _controls_.new_PreBitmapButton(*args, **kwargs)
     Precreate a BitmapButton for 2-phase creation.
     """
     val = _controls_.new_PreBitmapButton(*args, **kwargs)
-    val.thisown = 1
     return val
 
 #---------------------------------------------------------------------------
     return val
 
 #---------------------------------------------------------------------------
@@ -319,9 +326,9 @@ class CheckBox(_core.Control):
     mixed or undetermined state. Often this is used as a "Does Not
     Apply" state.
     """
     mixed or undetermined state. Often this is used as a "Does Not
     Apply" state.
     """
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxCheckBox instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def __init__(self, *args, **kwargs):
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """
         __init__(self, Window parent, int id=-1, String label=EmptyString, 
             Point pos=DefaultPosition, Size size=DefaultSize, 
         """
         __init__(self, Window parent, int id=-1, String label=EmptyString, 
             Point pos=DefaultPosition, Size size=DefaultSize, 
@@ -330,10 +337,7 @@ class CheckBox(_core.Control):
 
         Creates and shows a CheckBox control
         """
 
         Creates and shows a CheckBox control
         """
-        newobj = _controls_.new_CheckBox(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
+        _controls_.CheckBox_swiginit(self,_controls_.new_CheckBox(*args, **kwargs))
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
@@ -432,13 +436,8 @@ class CheckBox(_core.Control):
         return _controls_.CheckBox_GetClassDefaultAttributes(*args, **kwargs)
 
     GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
         return _controls_.CheckBox_GetClassDefaultAttributes(*args, **kwargs)
 
     GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
-
-class CheckBoxPtr(CheckBox):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = CheckBox
-_controls_.CheckBox_swigregister(CheckBoxPtr)
+CheckBox_swigregister = _controls_.CheckBox_swigregister
+CheckBox_swigregister(CheckBox)
 CheckBoxNameStr = cvar.CheckBoxNameStr
 
 def PreCheckBox(*args, **kwargs):
 CheckBoxNameStr = cvar.CheckBoxNameStr
 
 def PreCheckBox(*args, **kwargs):
@@ -448,11 +447,10 @@ def PreCheckBox(*args, **kwargs):
     Precreate a CheckBox for 2-phase creation.
     """
     val = _controls_.new_PreCheckBox(*args, **kwargs)
     Precreate a CheckBox for 2-phase creation.
     """
     val = _controls_.new_PreCheckBox(*args, **kwargs)
-    val.thisown = 1
     return val
 
 def CheckBox_GetClassDefaultAttributes(*args, **kwargs):
     return val
 
 def CheckBox_GetClassDefaultAttributes(*args, **kwargs):
-    """
+  """
     CheckBox_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
     Get the default attributes for this class.  This is useful if you want
     CheckBox_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
     Get the default attributes for this class.  This is useful if you want
@@ -466,7 +464,7 @@ def CheckBox_GetClassDefaultAttributes(*args, **kwargs):
     the returned font. See `wx.Window.SetWindowVariant` for more about
     this.
     """
     the returned font. See `wx.Window.SetWindowVariant` for more about
     this.
     """
-    return _controls_.CheckBox_GetClassDefaultAttributes(*args, **kwargs)
+  return _controls_.CheckBox_GetClassDefaultAttributes(*args, **kwargs)
 
 #---------------------------------------------------------------------------
 
 
 #---------------------------------------------------------------------------
 
@@ -476,9 +474,9 @@ class Choice(_core.ControlWithItems):
     Unlike a `wx.ListBox`, only the selection is visible until the
     user pulls down the menu of choices.
     """
     Unlike a `wx.ListBox`, only the selection is visible until the
     user pulls down the menu of choices.
     """
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxChoice instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def __init__(self, *args, **kwargs):
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """
         __init__(Window parent, int id, Point pos=DefaultPosition, Size size=DefaultSize,
             List choices=EmptyList, long style=0, Validator validator=DefaultValidator,
         """
         __init__(Window parent, int id, Point pos=DefaultPosition, Size size=DefaultSize,
             List choices=EmptyList, long style=0, Validator validator=DefaultValidator,
@@ -486,10 +484,7 @@ class Choice(_core.ControlWithItems):
 
         Create and show a Choice control
         """
 
         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):
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
@@ -502,6 +497,19 @@ class Choice(_core.ControlWithItems):
         """
         return _controls_.Choice_Create(*args, **kwargs)
 
         """
         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
     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)
         return _controls_.Choice_GetClassDefaultAttributes(*args, **kwargs)
 
     GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
-
-class ChoicePtr(Choice):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = Choice
-_controls_.Choice_swigregister(ChoicePtr)
+Choice_swigregister = _controls_.Choice_swigregister
+Choice_swigregister(Choice)
 ChoiceNameStr = cvar.ChoiceNameStr
 
 def PreChoice(*args, **kwargs):
 ChoiceNameStr = cvar.ChoiceNameStr
 
 def PreChoice(*args, **kwargs):
@@ -536,11 +539,10 @@ def PreChoice(*args, **kwargs):
     Precreate a Choice control for 2-phase creation.
     """
     val = _controls_.new_PreChoice(*args, **kwargs)
     Precreate a Choice control for 2-phase creation.
     """
     val = _controls_.new_PreChoice(*args, **kwargs)
-    val.thisown = 1
     return val
 
 def Choice_GetClassDefaultAttributes(*args, **kwargs):
     return val
 
 def Choice_GetClassDefaultAttributes(*args, **kwargs):
-    """
+  """
     Choice_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
     Get the default attributes for this class.  This is useful if you want
     Choice_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
     Get the default attributes for this class.  This is useful if you want
@@ -554,7 +556,7 @@ def Choice_GetClassDefaultAttributes(*args, **kwargs):
     the returned font. See `wx.Window.SetWindowVariant` for more about
     this.
     """
     the returned font. See `wx.Window.SetWindowVariant` for more about
     this.
     """
-    return _controls_.Choice_GetClassDefaultAttributes(*args, **kwargs)
+  return _controls_.Choice_GetClassDefaultAttributes(*args, **kwargs)
 
 #---------------------------------------------------------------------------
 
 
 #---------------------------------------------------------------------------
 
@@ -567,9 +569,9 @@ class ComboBox(Choice):
     A combobox permits a single selection only. Combobox items are
     numbered from zero.
     """
     A combobox permits a single selection only. Combobox items are
     numbered from zero.
     """
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxComboBox instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def __init__(self, *args, **kwargs):
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """
         __init__(Window parent, int id, String value=EmptyString,
             Point pos=DefaultPosition, Size size=DefaultSize,
         """
         __init__(Window parent, int id, String value=EmptyString,
             Point pos=DefaultPosition, Size size=DefaultSize,
@@ -578,10 +580,7 @@ class ComboBox(Choice):
 
         Constructor, creates and shows a ComboBox control.
         """
 
         Constructor, creates and shows a ComboBox control.
         """
-        newobj = _controls_.new_ComboBox(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
+        _controls_.ComboBox_swiginit(self,_controls_.new_ComboBox(*args, **kwargs))
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
@@ -664,14 +663,6 @@ class ComboBox(Choice):
         """
         return _controls_.ComboBox_Replace(*args, **kwargs)
 
         """
         return _controls_.ComboBox_Replace(*args, **kwargs)
 
-    def SetSelection(*args, **kwargs):
-        """
-        SetSelection(self, int n)
-
-        Sets the item at index 'n' to be the selected item.
-        """
-        return _controls_.ComboBox_SetSelection(*args, **kwargs)
-
     def SetMark(*args, **kwargs):
         """
         SetMark(self, long from, long to)
     def SetMark(*args, **kwargs):
         """
         SetMark(self, long from, long to)
@@ -689,6 +680,19 @@ class ComboBox(Choice):
         """
         return _controls_.ComboBox_GetMark(*args, **kwargs)
 
         """
         return _controls_.ComboBox_GetMark(*args, **kwargs)
 
+    def GetCurrentSelection(*args, **kwargs):
+        """
+        GetCurrentSelection(self) -> int
+
+        Unlike `GetSelection` which only returns the accepted selection value,
+        i.e. the selection in the control once the user closes the dropdown
+        list, this function returns the current selection.  That is, while the
+        dropdown list is shown, it returns the currently selected item in
+        it. When it is not shown, its result is the same as for the other
+        function.
+        """
+        return _controls_.ComboBox_GetCurrentSelection(*args, **kwargs)
+
     def SetStringSelection(*args, **kwargs):
         """
         SetStringSelection(self, String string) -> bool
     def SetStringSelection(*args, **kwargs):
         """
         SetStringSelection(self, String string) -> bool
@@ -821,13 +825,8 @@ class ComboBox(Choice):
         return _controls_.ComboBox_GetClassDefaultAttributes(*args, **kwargs)
 
     GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
         return _controls_.ComboBox_GetClassDefaultAttributes(*args, **kwargs)
 
     GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
-
-class ComboBoxPtr(ComboBox):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = ComboBox
-_controls_.ComboBox_swigregister(ComboBoxPtr)
+ComboBox_swigregister = _controls_.ComboBox_swigregister
+ComboBox_swigregister(ComboBox)
 ComboBoxNameStr = cvar.ComboBoxNameStr
 
 def PreComboBox(*args, **kwargs):
 ComboBoxNameStr = cvar.ComboBoxNameStr
 
 def PreComboBox(*args, **kwargs):
@@ -837,11 +836,10 @@ def PreComboBox(*args, **kwargs):
     Precreate a ComboBox control for 2-phase creation.
     """
     val = _controls_.new_PreComboBox(*args, **kwargs)
     Precreate a ComboBox control for 2-phase creation.
     """
     val = _controls_.new_PreComboBox(*args, **kwargs)
-    val.thisown = 1
     return val
 
 def ComboBox_GetClassDefaultAttributes(*args, **kwargs):
     return val
 
 def ComboBox_GetClassDefaultAttributes(*args, **kwargs):
-    """
+  """
     ComboBox_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
     Get the default attributes for this class.  This is useful if you want
     ComboBox_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
     Get the default attributes for this class.  This is useful if you want
@@ -855,7 +853,7 @@ def ComboBox_GetClassDefaultAttributes(*args, **kwargs):
     the returned font. See `wx.Window.SetWindowVariant` for more about
     this.
     """
     the returned font. See `wx.Window.SetWindowVariant` for more about
     this.
     """
-    return _controls_.ComboBox_GetClassDefaultAttributes(*args, **kwargs)
+  return _controls_.ComboBox_GetClassDefaultAttributes(*args, **kwargs)
 
 #---------------------------------------------------------------------------
 
 
 #---------------------------------------------------------------------------
 
@@ -865,19 +863,16 @@ GA_SMOOTH = _controls_.GA_SMOOTH
 GA_PROGRESSBAR = _controls_.GA_PROGRESSBAR
 class Gauge(_core.Control):
     """Proxy of C++ Gauge class"""
 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
         """
         """
         __init__(self, Window parent, int id=-1, int range=100, Point pos=DefaultPosition, 
             Size size=DefaultSize, long style=GA_HORIZONTAL, 
             Validator validator=DefaultValidator, 
             String name=GaugeNameStr) -> Gauge
         """
-        newobj = _controls_.new_Gauge(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
+        _controls_.Gauge_swiginit(self,_controls_.new_Gauge(*args, **kwargs))
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
@@ -943,23 +938,17 @@ class Gauge(_core.Control):
         return _controls_.Gauge_GetClassDefaultAttributes(*args, **kwargs)
 
     GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
         return _controls_.Gauge_GetClassDefaultAttributes(*args, **kwargs)
 
     GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
-
-class GaugePtr(Gauge):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = Gauge
-_controls_.Gauge_swigregister(GaugePtr)
+Gauge_swigregister = _controls_.Gauge_swigregister
+Gauge_swigregister(Gauge)
 GaugeNameStr = cvar.GaugeNameStr
 
 def PreGauge(*args, **kwargs):
     """PreGauge() -> Gauge"""
     val = _controls_.new_PreGauge(*args, **kwargs)
 GaugeNameStr = cvar.GaugeNameStr
 
 def PreGauge(*args, **kwargs):
     """PreGauge() -> Gauge"""
     val = _controls_.new_PreGauge(*args, **kwargs)
-    val.thisown = 1
     return val
 
 def Gauge_GetClassDefaultAttributes(*args, **kwargs):
     return val
 
 def Gauge_GetClassDefaultAttributes(*args, **kwargs):
-    """
+  """
     Gauge_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
     Get the default attributes for this class.  This is useful if you want
     Gauge_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
     Get the default attributes for this class.  This is useful if you want
@@ -973,24 +962,21 @@ def Gauge_GetClassDefaultAttributes(*args, **kwargs):
     the returned font. See `wx.Window.SetWindowVariant` for more about
     this.
     """
     the returned font. See `wx.Window.SetWindowVariant` for more about
     this.
     """
-    return _controls_.Gauge_GetClassDefaultAttributes(*args, **kwargs)
+  return _controls_.Gauge_GetClassDefaultAttributes(*args, **kwargs)
 
 #---------------------------------------------------------------------------
 
 class StaticBox(_core.Control):
     """Proxy of C++ StaticBox class"""
 
 #---------------------------------------------------------------------------
 
 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
         """
         """
         __init__(self, Window parent, int id=-1, String label=EmptyString, 
             Point pos=DefaultPosition, Size size=DefaultSize, 
             long style=0, String name=StaticBoxNameStr) -> StaticBox
         """
-        newobj = _controls_.new_StaticBox(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
+        _controls_.StaticBox_swiginit(self,_controls_.new_StaticBox(*args, **kwargs))
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
@@ -1019,13 +1005,8 @@ class StaticBox(_core.Control):
         return _controls_.StaticBox_GetClassDefaultAttributes(*args, **kwargs)
 
     GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
         return _controls_.StaticBox_GetClassDefaultAttributes(*args, **kwargs)
 
     GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
-
-class StaticBoxPtr(StaticBox):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = StaticBox
-_controls_.StaticBox_swigregister(StaticBoxPtr)
+StaticBox_swigregister = _controls_.StaticBox_swigregister
+StaticBox_swigregister(StaticBox)
 StaticBitmapNameStr = cvar.StaticBitmapNameStr
 StaticBoxNameStr = cvar.StaticBoxNameStr
 StaticTextNameStr = cvar.StaticTextNameStr
 StaticBitmapNameStr = cvar.StaticBitmapNameStr
 StaticBoxNameStr = cvar.StaticBoxNameStr
 StaticTextNameStr = cvar.StaticTextNameStr
@@ -1033,11 +1014,10 @@ StaticTextNameStr = cvar.StaticTextNameStr
 def PreStaticBox(*args, **kwargs):
     """PreStaticBox() -> StaticBox"""
     val = _controls_.new_PreStaticBox(*args, **kwargs)
 def PreStaticBox(*args, **kwargs):
     """PreStaticBox() -> StaticBox"""
     val = _controls_.new_PreStaticBox(*args, **kwargs)
-    val.thisown = 1
     return val
 
 def StaticBox_GetClassDefaultAttributes(*args, **kwargs):
     return val
 
 def StaticBox_GetClassDefaultAttributes(*args, **kwargs):
-    """
+  """
     StaticBox_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
     Get the default attributes for this class.  This is useful if you want
     StaticBox_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
     Get the default attributes for this class.  This is useful if you want
@@ -1051,24 +1031,21 @@ def StaticBox_GetClassDefaultAttributes(*args, **kwargs):
     the returned font. See `wx.Window.SetWindowVariant` for more about
     this.
     """
     the returned font. See `wx.Window.SetWindowVariant` for more about
     this.
     """
-    return _controls_.StaticBox_GetClassDefaultAttributes(*args, **kwargs)
+  return _controls_.StaticBox_GetClassDefaultAttributes(*args, **kwargs)
 
 #---------------------------------------------------------------------------
 
 class StaticLine(_core.Control):
     """Proxy of C++ StaticLine class"""
 
 #---------------------------------------------------------------------------
 
 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
         """
         """
         __init__(self, Window parent, int id=-1, Point pos=DefaultPosition, 
             Size size=DefaultSize, long style=LI_HORIZONTAL, 
             String name=StaticTextNameStr) -> StaticLine
         """
-        newobj = _controls_.new_StaticLine(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
+        _controls_.StaticLine_swiginit(self,_controls_.new_StaticLine(*args, **kwargs))
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
@@ -1106,26 +1083,20 @@ class StaticLine(_core.Control):
         return _controls_.StaticLine_GetClassDefaultAttributes(*args, **kwargs)
 
     GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
         return _controls_.StaticLine_GetClassDefaultAttributes(*args, **kwargs)
 
     GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
-
-class StaticLinePtr(StaticLine):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = StaticLine
-_controls_.StaticLine_swigregister(StaticLinePtr)
+StaticLine_swigregister = _controls_.StaticLine_swigregister
+StaticLine_swigregister(StaticLine)
 
 def PreStaticLine(*args, **kwargs):
     """PreStaticLine() -> StaticLine"""
     val = _controls_.new_PreStaticLine(*args, **kwargs)
 
 def PreStaticLine(*args, **kwargs):
     """PreStaticLine() -> StaticLine"""
     val = _controls_.new_PreStaticLine(*args, **kwargs)
-    val.thisown = 1
     return val
 
     return val
 
-def StaticLine_GetDefaultSize(*args, **kwargs):
-    """StaticLine_GetDefaultSize() -> int"""
-    return _controls_.StaticLine_GetDefaultSize(*args, **kwargs)
+def StaticLine_GetDefaultSize(*args):
+  """StaticLine_GetDefaultSize() -> int"""
+  return _controls_.StaticLine_GetDefaultSize(*args)
 
 def StaticLine_GetClassDefaultAttributes(*args, **kwargs):
 
 def StaticLine_GetClassDefaultAttributes(*args, **kwargs):
-    """
+  """
     StaticLine_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
     Get the default attributes for this class.  This is useful if you want
     StaticLine_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
     Get the default attributes for this class.  This is useful if you want
@@ -1139,24 +1110,21 @@ def StaticLine_GetClassDefaultAttributes(*args, **kwargs):
     the returned font. See `wx.Window.SetWindowVariant` for more about
     this.
     """
     the returned font. See `wx.Window.SetWindowVariant` for more about
     this.
     """
-    return _controls_.StaticLine_GetClassDefaultAttributes(*args, **kwargs)
+  return _controls_.StaticLine_GetClassDefaultAttributes(*args, **kwargs)
 
 #---------------------------------------------------------------------------
 
 class StaticText(_core.Control):
     """Proxy of C++ StaticText class"""
 
 #---------------------------------------------------------------------------
 
 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
         """
         """
         __init__(self, Window parent, int id=-1, String label=EmptyString, 
             Point pos=DefaultPosition, Size size=DefaultSize, 
             long style=0, String name=StaticTextNameStr) -> StaticText
         """
-        newobj = _controls_.new_StaticText(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
+        _controls_.StaticText_swiginit(self,_controls_.new_StaticText(*args, **kwargs))
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
@@ -1167,6 +1135,17 @@ class StaticText(_core.Control):
         """
         return _controls_.StaticText_Create(*args, **kwargs)
 
         """
         return _controls_.StaticText_Create(*args, **kwargs)
 
+    def Wrap(*args, **kwargs):
+        """
+        Wrap(self, int width)
+
+        This functions wraps the control's label so that each of its lines
+        becomes at most ``width`` pixels wide if possible (the lines are
+        broken at words boundaries so it might not be the case if words are
+        too long). If ``width`` is negative, no wrapping is done.
+        """
+        return _controls_.StaticText_Wrap(*args, **kwargs)
+
     def GetClassDefaultAttributes(*args, **kwargs):
         """
         GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
     def GetClassDefaultAttributes(*args, **kwargs):
         """
         GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
@@ -1185,22 +1164,16 @@ class StaticText(_core.Control):
         return _controls_.StaticText_GetClassDefaultAttributes(*args, **kwargs)
 
     GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
         return _controls_.StaticText_GetClassDefaultAttributes(*args, **kwargs)
 
     GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
-
-class StaticTextPtr(StaticText):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = StaticText
-_controls_.StaticText_swigregister(StaticTextPtr)
+StaticText_swigregister = _controls_.StaticText_swigregister
+StaticText_swigregister(StaticText)
 
 def PreStaticText(*args, **kwargs):
     """PreStaticText() -> StaticText"""
     val = _controls_.new_PreStaticText(*args, **kwargs)
 
 def PreStaticText(*args, **kwargs):
     """PreStaticText() -> StaticText"""
     val = _controls_.new_PreStaticText(*args, **kwargs)
-    val.thisown = 1
     return val
 
 def StaticText_GetClassDefaultAttributes(*args, **kwargs):
     return val
 
 def StaticText_GetClassDefaultAttributes(*args, **kwargs):
-    """
+  """
     StaticText_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
     Get the default attributes for this class.  This is useful if you want
     StaticText_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
     Get the default attributes for this class.  This is useful if you want
@@ -1214,24 +1187,21 @@ def StaticText_GetClassDefaultAttributes(*args, **kwargs):
     the returned font. See `wx.Window.SetWindowVariant` for more about
     this.
     """
     the returned font. See `wx.Window.SetWindowVariant` for more about
     this.
     """
-    return _controls_.StaticText_GetClassDefaultAttributes(*args, **kwargs)
+  return _controls_.StaticText_GetClassDefaultAttributes(*args, **kwargs)
 
 #---------------------------------------------------------------------------
 
 class StaticBitmap(_core.Control):
     """Proxy of C++ StaticBitmap class"""
 
 #---------------------------------------------------------------------------
 
 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
         """
         """
         __init__(self, Window parent, int id=-1, Bitmap bitmap=wxNullBitmap, 
             Point pos=DefaultPosition, Size size=DefaultSize, 
             long style=0, String name=StaticBitmapNameStr) -> StaticBitmap
         """
-        newobj = _controls_.new_StaticBitmap(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
+        _controls_.StaticBitmap_swiginit(self,_controls_.new_StaticBitmap(*args, **kwargs))
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
@@ -1272,22 +1242,16 @@ class StaticBitmap(_core.Control):
         return _controls_.StaticBitmap_GetClassDefaultAttributes(*args, **kwargs)
 
     GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
         return _controls_.StaticBitmap_GetClassDefaultAttributes(*args, **kwargs)
 
     GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
-
-class StaticBitmapPtr(StaticBitmap):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = StaticBitmap
-_controls_.StaticBitmap_swigregister(StaticBitmapPtr)
+StaticBitmap_swigregister = _controls_.StaticBitmap_swigregister
+StaticBitmap_swigregister(StaticBitmap)
 
 def PreStaticBitmap(*args, **kwargs):
     """PreStaticBitmap() -> StaticBitmap"""
     val = _controls_.new_PreStaticBitmap(*args, **kwargs)
 
 def PreStaticBitmap(*args, **kwargs):
     """PreStaticBitmap() -> StaticBitmap"""
     val = _controls_.new_PreStaticBitmap(*args, **kwargs)
-    val.thisown = 1
     return val
 
 def StaticBitmap_GetClassDefaultAttributes(*args, **kwargs):
     return val
 
 def StaticBitmap_GetClassDefaultAttributes(*args, **kwargs):
-    """
+  """
     StaticBitmap_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
     Get the default attributes for this class.  This is useful if you want
     StaticBitmap_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
     Get the default attributes for this class.  This is useful if you want
@@ -1301,25 +1265,22 @@ def StaticBitmap_GetClassDefaultAttributes(*args, **kwargs):
     the returned font. See `wx.Window.SetWindowVariant` for more about
     this.
     """
     the returned font. See `wx.Window.SetWindowVariant` for more about
     this.
     """
-    return _controls_.StaticBitmap_GetClassDefaultAttributes(*args, **kwargs)
+  return _controls_.StaticBitmap_GetClassDefaultAttributes(*args, **kwargs)
 
 #---------------------------------------------------------------------------
 
 class ListBox(_core.ControlWithItems):
     """Proxy of C++ ListBox class"""
 
 #---------------------------------------------------------------------------
 
 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
         """
         """
         __init__(self, Window parent, int id=-1, Point pos=DefaultPosition, 
             Size size=DefaultSize, wxArrayString choices=wxPyEmptyStringArray, 
             long style=0, Validator validator=DefaultValidator, 
             String name=ListBoxNameStr) -> ListBox
         """
-        newobj = _controls_.new_ListBox(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
+        _controls_.ListBox_swiginit(self,_controls_.new_ListBox(*args, **kwargs))
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
@@ -1341,7 +1302,7 @@ class ListBox(_core.ControlWithItems):
         return _controls_.ListBox_Insert(*args, **kwargs)
 
     def InsertItems(*args, **kwargs):
         return _controls_.ListBox_Insert(*args, **kwargs)
 
     def InsertItems(*args, **kwargs):
-        """InsertItems(self, wxArrayString items, int pos)"""
+        """InsertItems(self, wxArrayString items, unsigned int pos)"""
         return _controls_.ListBox_InsertItems(*args, **kwargs)
 
     def Set(*args, **kwargs):
         return _controls_.ListBox_InsertItems(*args, **kwargs)
 
     def Set(*args, **kwargs):
@@ -1401,6 +1362,14 @@ class ListBox(_core.ControlWithItems):
         """IsSorted(self) -> bool"""
         return _controls_.ListBox_IsSorted(*args, **kwargs)
 
         """IsSorted(self) -> bool"""
         return _controls_.ListBox_IsSorted(*args, **kwargs)
 
+    def HitTest(*args, **kwargs):
+        """
+        HitTest(self, Point pt) -> int
+
+        Test where the given (in client coords) point lies
+        """
+        return _controls_.ListBox_HitTest(*args, **kwargs)
+
     def SetItemForegroundColour(*args, **kwargs):
         """SetItemForegroundColour(self, int item, Colour c)"""
         return _controls_.ListBox_SetItemForegroundColour(*args, **kwargs)
     def SetItemForegroundColour(*args, **kwargs):
         """SetItemForegroundColour(self, int item, Colour c)"""
         return _controls_.ListBox_SetItemForegroundColour(*args, **kwargs)
@@ -1431,23 +1400,17 @@ class ListBox(_core.ControlWithItems):
         return _controls_.ListBox_GetClassDefaultAttributes(*args, **kwargs)
 
     GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
         return _controls_.ListBox_GetClassDefaultAttributes(*args, **kwargs)
 
     GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
-
-class ListBoxPtr(ListBox):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = ListBox
-_controls_.ListBox_swigregister(ListBoxPtr)
+ListBox_swigregister = _controls_.ListBox_swigregister
+ListBox_swigregister(ListBox)
 ListBoxNameStr = cvar.ListBoxNameStr
 
 def PreListBox(*args, **kwargs):
     """PreListBox() -> ListBox"""
     val = _controls_.new_PreListBox(*args, **kwargs)
 ListBoxNameStr = cvar.ListBoxNameStr
 
 def PreListBox(*args, **kwargs):
     """PreListBox() -> ListBox"""
     val = _controls_.new_PreListBox(*args, **kwargs)
-    val.thisown = 1
     return val
 
 def ListBox_GetClassDefaultAttributes(*args, **kwargs):
     return val
 
 def ListBox_GetClassDefaultAttributes(*args, **kwargs):
-    """
+  """
     ListBox_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
     Get the default attributes for this class.  This is useful if you want
     ListBox_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
     Get the default attributes for this class.  This is useful if you want
@@ -1461,25 +1424,22 @@ def ListBox_GetClassDefaultAttributes(*args, **kwargs):
     the returned font. See `wx.Window.SetWindowVariant` for more about
     this.
     """
     the returned font. See `wx.Window.SetWindowVariant` for more about
     this.
     """
-    return _controls_.ListBox_GetClassDefaultAttributes(*args, **kwargs)
+  return _controls_.ListBox_GetClassDefaultAttributes(*args, **kwargs)
 
 #---------------------------------------------------------------------------
 
 class CheckListBox(ListBox):
     """Proxy of C++ CheckListBox class"""
 
 #---------------------------------------------------------------------------
 
 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
         """
         """
         __init__(self, Window parent, int id=-1, Point pos=DefaultPosition, 
             Size size=DefaultSize, wxArrayString choices=wxPyEmptyStringArray, 
             long style=0, Validator validator=DefaultValidator, 
             String name=ListBoxNameStr) -> CheckListBox
         """
-        newobj = _controls_.new_CheckListBox(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
+        _controls_.CheckListBox_swiginit(self,_controls_.new_CheckListBox(*args, **kwargs))
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
@@ -1492,45 +1452,23 @@ class CheckListBox(ListBox):
         return _controls_.CheckListBox_Create(*args, **kwargs)
 
     def IsChecked(*args, **kwargs):
         return _controls_.CheckListBox_Create(*args, **kwargs)
 
     def IsChecked(*args, **kwargs):
-        """IsChecked(self, int index) -> bool"""
+        """IsChecked(self, unsigned int index) -> bool"""
         return _controls_.CheckListBox_IsChecked(*args, **kwargs)
 
     def Check(*args, **kwargs):
         return _controls_.CheckListBox_IsChecked(*args, **kwargs)
 
     def Check(*args, **kwargs):
-        """Check(self, int index, int check=True)"""
+        """Check(self, unsigned int index, int check=True)"""
         return _controls_.CheckListBox_Check(*args, **kwargs)
 
     def GetItemHeight(*args, **kwargs):
         """GetItemHeight(self) -> int"""
         return _controls_.CheckListBox_GetItemHeight(*args, **kwargs)
 
         return _controls_.CheckListBox_Check(*args, **kwargs)
 
     def GetItemHeight(*args, **kwargs):
         """GetItemHeight(self) -> int"""
         return _controls_.CheckListBox_GetItemHeight(*args, **kwargs)
 
-    def HitTest(*args, **kwargs):
-        """
-        HitTest(self, Point pt) -> int
-
-        Test where the given (in client coords) point lies
-        """
-        return _controls_.CheckListBox_HitTest(*args, **kwargs)
-
-    def HitTestXY(*args, **kwargs):
-        """
-        HitTestXY(self, int x, int y) -> int
-
-        Test where the given (in client coords) point lies
-        """
-        return _controls_.CheckListBox_HitTestXY(*args, **kwargs)
-
-
-class CheckListBoxPtr(CheckListBox):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = CheckListBox
-_controls_.CheckListBox_swigregister(CheckListBoxPtr)
+CheckListBox_swigregister = _controls_.CheckListBox_swigregister
+CheckListBox_swigregister(CheckListBox)
 
 def PreCheckListBox(*args, **kwargs):
     """PreCheckListBox() -> CheckListBox"""
     val = _controls_.new_PreCheckListBox(*args, **kwargs)
 
 def PreCheckListBox(*args, **kwargs):
     """PreCheckListBox() -> CheckListBox"""
     val = _controls_.new_PreCheckListBox(*args, **kwargs)
-    val.thisown = 1
     return val
 
 #---------------------------------------------------------------------------
     return val
 
 #---------------------------------------------------------------------------
@@ -1583,23 +1521,16 @@ OutOfRangeTextCoord = _controls_.OutOfRangeTextCoord
 InvalidTextCoord = _controls_.InvalidTextCoord
 class TextAttr(object):
     """Proxy of C++ TextAttr class"""
 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
         """
         """
         __init__(self, Colour colText=wxNullColour, Colour colBack=wxNullColour, 
             Font font=wxNullFont, int alignment=TEXT_ALIGNMENT_DEFAULT) -> TextAttr
         """
-        newobj = _controls_.new_TextAttr(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
-    def __del__(self, destroy=_controls_.delete_TextAttr):
-        """__del__(self)"""
-        try:
-            if self.thisown: destroy(self)
-        except: pass
-
+        _controls_.TextAttr_swiginit(self,_controls_.new_TextAttr(*args, **kwargs))
+    __swig_destroy__ = _controls_.delete_TextAttr
+    __del__ = lambda self : None;
     def Init(*args, **kwargs):
         """Init(self)"""
         return _controls_.TextAttr_Init(*args, **kwargs)
     def Init(*args, **kwargs):
         """Init(self)"""
         return _controls_.TextAttr_Init(*args, **kwargs)
@@ -1713,34 +1644,26 @@ class TextAttr(object):
         return _controls_.TextAttr_Combine(*args, **kwargs)
 
     Combine = staticmethod(Combine)
         return _controls_.TextAttr_Combine(*args, **kwargs)
 
     Combine = staticmethod(Combine)
-
-class TextAttrPtr(TextAttr):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = TextAttr
-_controls_.TextAttr_swigregister(TextAttrPtr)
+TextAttr_swigregister = _controls_.TextAttr_swigregister
+TextAttr_swigregister(TextAttr)
 TextCtrlNameStr = cvar.TextCtrlNameStr
 
 def TextAttr_Combine(*args, **kwargs):
 TextCtrlNameStr = cvar.TextCtrlNameStr
 
 def TextAttr_Combine(*args, **kwargs):
-    """TextAttr_Combine(TextAttr attr, TextAttr attrDef, TextCtrl text) -> TextAttr"""
-    return _controls_.TextAttr_Combine(*args, **kwargs)
+  """TextAttr_Combine(TextAttr attr, TextAttr attrDef, TextCtrl text) -> TextAttr"""
+  return _controls_.TextAttr_Combine(*args, **kwargs)
 
 class TextCtrl(_core.Control):
     """Proxy of C++ TextCtrl class"""
 
 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
         """
         """
         __init__(self, Window parent, int id=-1, String value=EmptyString, 
             Point pos=DefaultPosition, Size size=DefaultSize, 
             long style=0, Validator validator=DefaultValidator, 
             String name=TextCtrlNameStr) -> TextCtrl
         """
-        newobj = _controls_.new_TextCtrl(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
+        _controls_.TextCtrl_swiginit(self,_controls_.new_TextCtrl(*args, **kwargs))
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
@@ -1998,22 +1921,16 @@ class TextCtrl(_core.Control):
         return _controls_.TextCtrl_GetClassDefaultAttributes(*args, **kwargs)
 
     GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
         return _controls_.TextCtrl_GetClassDefaultAttributes(*args, **kwargs)
 
     GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
-
-class TextCtrlPtr(TextCtrl):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = TextCtrl
-_controls_.TextCtrl_swigregister(TextCtrlPtr)
+TextCtrl_swigregister = _controls_.TextCtrl_swigregister
+TextCtrl_swigregister(TextCtrl)
 
 def PreTextCtrl(*args, **kwargs):
     """PreTextCtrl() -> TextCtrl"""
     val = _controls_.new_PreTextCtrl(*args, **kwargs)
 
 def PreTextCtrl(*args, **kwargs):
     """PreTextCtrl() -> TextCtrl"""
     val = _controls_.new_PreTextCtrl(*args, **kwargs)
-    val.thisown = 1
     return val
 
 def TextCtrl_GetClassDefaultAttributes(*args, **kwargs):
     return val
 
 def TextCtrl_GetClassDefaultAttributes(*args, **kwargs):
-    """
+  """
     TextCtrl_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
     Get the default attributes for this class.  This is useful if you want
     TextCtrl_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
     Get the default attributes for this class.  This is useful if you want
@@ -2027,7 +1944,7 @@ def TextCtrl_GetClassDefaultAttributes(*args, **kwargs):
     the returned font. See `wx.Window.SetWindowVariant` for more about
     this.
     """
     the returned font. See `wx.Window.SetWindowVariant` for more about
     this.
     """
-    return _controls_.TextCtrl_GetClassDefaultAttributes(*args, **kwargs)
+  return _controls_.TextCtrl_GetClassDefaultAttributes(*args, **kwargs)
 
 wxEVT_COMMAND_TEXT_UPDATED = _controls_.wxEVT_COMMAND_TEXT_UPDATED
 wxEVT_COMMAND_TEXT_ENTER = _controls_.wxEVT_COMMAND_TEXT_ENTER
 
 wxEVT_COMMAND_TEXT_UPDATED = _controls_.wxEVT_COMMAND_TEXT_UPDATED
 wxEVT_COMMAND_TEXT_ENTER = _controls_.wxEVT_COMMAND_TEXT_ENTER
@@ -2035,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"""
 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"""
         """__init__(self, int winid, MouseEvent evtMouse, long start, long end) -> TextUrlEvent"""
-        newobj = _controls_.new_TextUrlEvent(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
+        _controls_.TextUrlEvent_swiginit(self,_controls_.new_TextUrlEvent(*args, **kwargs))
     def GetMouseEvent(*args, **kwargs):
         """GetMouseEvent(self) -> MouseEvent"""
         return _controls_.TextUrlEvent_GetMouseEvent(*args, **kwargs)
     def GetMouseEvent(*args, **kwargs):
         """GetMouseEvent(self) -> MouseEvent"""
         return _controls_.TextUrlEvent_GetMouseEvent(*args, **kwargs)
@@ -2055,13 +1969,8 @@ class TextUrlEvent(_core.CommandEvent):
         """GetURLEnd(self) -> long"""
         return _controls_.TextUrlEvent_GetURLEnd(*args, **kwargs)
 
         """GetURLEnd(self) -> long"""
         return _controls_.TextUrlEvent_GetURLEnd(*args, **kwargs)
 
-
-class TextUrlEventPtr(TextUrlEvent):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = TextUrlEvent
-_controls_.TextUrlEvent_swigregister(TextUrlEventPtr)
+TextUrlEvent_swigregister = _controls_.TextUrlEvent_swigregister
+TextUrlEvent_swigregister(TextUrlEvent)
 
 EVT_TEXT        = wx.PyEventBinder( wxEVT_COMMAND_TEXT_UPDATED, 1)
 EVT_TEXT_ENTER  = wx.PyEventBinder( wxEVT_COMMAND_TEXT_ENTER, 1)
 
 EVT_TEXT        = wx.PyEventBinder( wxEVT_COMMAND_TEXT_UPDATED, 1)
 EVT_TEXT_ENTER  = wx.PyEventBinder( wxEVT_COMMAND_TEXT_ENTER, 1)
@@ -2072,18 +1981,15 @@ EVT_TEXT_MAXLEN = wx.PyEventBinder( wxEVT_COMMAND_TEXT_MAXLEN, 1)
 
 class ScrollBar(_core.Control):
     """Proxy of C++ ScrollBar class"""
 
 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
         """
         """
         __init__(self, Window parent, int id=-1, Point pos=DefaultPosition, 
             Size size=DefaultSize, long style=SB_HORIZONTAL, 
             Validator validator=DefaultValidator, String name=ScrollBarNameStr) -> ScrollBar
         """
-        newobj = _controls_.new_ScrollBar(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
+        _controls_.ScrollBar_swiginit(self,_controls_.new_ScrollBar(*args, **kwargs))
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
@@ -2121,13 +2027,6 @@ class ScrollBar(_core.Control):
         """SetThumbPosition(self, int viewStart)"""
         return _controls_.ScrollBar_SetThumbPosition(*args, **kwargs)
 
         """SetThumbPosition(self, int viewStart)"""
         return _controls_.ScrollBar_SetThumbPosition(*args, **kwargs)
 
-    def SetScrollbar(*args, **kwargs):
-        """
-        SetScrollbar(self, int position, int thumbSize, int range, int pageSize, 
-            bool refresh=True)
-        """
-        return _controls_.ScrollBar_SetScrollbar(*args, **kwargs)
-
     def GetClassDefaultAttributes(*args, **kwargs):
         """
         GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
     def GetClassDefaultAttributes(*args, **kwargs):
         """
         GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
@@ -2146,23 +2045,17 @@ class ScrollBar(_core.Control):
         return _controls_.ScrollBar_GetClassDefaultAttributes(*args, **kwargs)
 
     GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
         return _controls_.ScrollBar_GetClassDefaultAttributes(*args, **kwargs)
 
     GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
-
-class ScrollBarPtr(ScrollBar):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = ScrollBar
-_controls_.ScrollBar_swigregister(ScrollBarPtr)
+ScrollBar_swigregister = _controls_.ScrollBar_swigregister
+ScrollBar_swigregister(ScrollBar)
 ScrollBarNameStr = cvar.ScrollBarNameStr
 
 def PreScrollBar(*args, **kwargs):
     """PreScrollBar() -> ScrollBar"""
     val = _controls_.new_PreScrollBar(*args, **kwargs)
 ScrollBarNameStr = cvar.ScrollBarNameStr
 
 def PreScrollBar(*args, **kwargs):
     """PreScrollBar() -> ScrollBar"""
     val = _controls_.new_PreScrollBar(*args, **kwargs)
-    val.thisown = 1
     return val
 
 def ScrollBar_GetClassDefaultAttributes(*args, **kwargs):
     return val
 
 def ScrollBar_GetClassDefaultAttributes(*args, **kwargs):
-    """
+  """
     ScrollBar_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
     Get the default attributes for this class.  This is useful if you want
     ScrollBar_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
     Get the default attributes for this class.  This is useful if you want
@@ -2176,7 +2069,7 @@ def ScrollBar_GetClassDefaultAttributes(*args, **kwargs):
     the returned font. See `wx.Window.SetWindowVariant` for more about
     this.
     """
     the returned font. See `wx.Window.SetWindowVariant` for more about
     this.
     """
-    return _controls_.ScrollBar_GetClassDefaultAttributes(*args, **kwargs)
+  return _controls_.ScrollBar_GetClassDefaultAttributes(*args, **kwargs)
 
 #---------------------------------------------------------------------------
 
 
 #---------------------------------------------------------------------------
 
@@ -2186,18 +2079,15 @@ SP_ARROW_KEYS = _controls_.SP_ARROW_KEYS
 SP_WRAP = _controls_.SP_WRAP
 class SpinButton(_core.Control):
     """Proxy of C++ SpinButton class"""
 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
         """
         """
         __init__(self, Window parent, int id=-1, Point pos=DefaultPosition, 
             Size size=DefaultSize, long style=SP_HORIZONTAL, 
             String name=SPIN_BUTTON_NAME) -> SpinButton
         """
-        newobj = _controls_.new_SpinButton(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
+        _controls_.SpinButton_swiginit(self,_controls_.new_SpinButton(*args, **kwargs))
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
@@ -2258,24 +2148,18 @@ class SpinButton(_core.Control):
         return _controls_.SpinButton_GetClassDefaultAttributes(*args, **kwargs)
 
     GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
         return _controls_.SpinButton_GetClassDefaultAttributes(*args, **kwargs)
 
     GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
-
-class SpinButtonPtr(SpinButton):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = SpinButton
-_controls_.SpinButton_swigregister(SpinButtonPtr)
+SpinButton_swigregister = _controls_.SpinButton_swigregister
+SpinButton_swigregister(SpinButton)
 SPIN_BUTTON_NAME = cvar.SPIN_BUTTON_NAME
 SpinCtrlNameStr = cvar.SpinCtrlNameStr
 
 def PreSpinButton(*args, **kwargs):
     """PreSpinButton() -> SpinButton"""
     val = _controls_.new_PreSpinButton(*args, **kwargs)
 SPIN_BUTTON_NAME = cvar.SPIN_BUTTON_NAME
 SpinCtrlNameStr = cvar.SpinCtrlNameStr
 
 def PreSpinButton(*args, **kwargs):
     """PreSpinButton() -> SpinButton"""
     val = _controls_.new_PreSpinButton(*args, **kwargs)
-    val.thisown = 1
     return val
 
 def SpinButton_GetClassDefaultAttributes(*args, **kwargs):
     return val
 
 def SpinButton_GetClassDefaultAttributes(*args, **kwargs):
-    """
+  """
     SpinButton_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
     Get the default attributes for this class.  This is useful if you want
     SpinButton_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
     Get the default attributes for this class.  This is useful if you want
@@ -2289,23 +2173,20 @@ def SpinButton_GetClassDefaultAttributes(*args, **kwargs):
     the returned font. See `wx.Window.SetWindowVariant` for more about
     this.
     """
     the returned font. See `wx.Window.SetWindowVariant` for more about
     this.
     """
-    return _controls_.SpinButton_GetClassDefaultAttributes(*args, **kwargs)
+  return _controls_.SpinButton_GetClassDefaultAttributes(*args, **kwargs)
 
 class SpinCtrl(_core.Control):
     """Proxy of C++ SpinCtrl class"""
 
 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
         """
         """
         __init__(self, Window parent, int id=-1, String value=EmptyString, 
             Point pos=DefaultPosition, Size size=DefaultSize, 
             long style=SP_ARROW_KEYS, int min=0, int max=100, 
             int initial=0, String name=SpinCtrlNameStr) -> SpinCtrl
         """
-        newobj = _controls_.new_SpinCtrl(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
+        _controls_.SpinCtrl_swiginit(self,_controls_.new_SpinCtrl(*args, **kwargs))
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
@@ -2363,22 +2244,16 @@ class SpinCtrl(_core.Control):
         return _controls_.SpinCtrl_GetClassDefaultAttributes(*args, **kwargs)
 
     GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
         return _controls_.SpinCtrl_GetClassDefaultAttributes(*args, **kwargs)
 
     GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
-
-class SpinCtrlPtr(SpinCtrl):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = SpinCtrl
-_controls_.SpinCtrl_swigregister(SpinCtrlPtr)
+SpinCtrl_swigregister = _controls_.SpinCtrl_swigregister
+SpinCtrl_swigregister(SpinCtrl)
 
 def PreSpinCtrl(*args, **kwargs):
     """PreSpinCtrl() -> SpinCtrl"""
     val = _controls_.new_PreSpinCtrl(*args, **kwargs)
 
 def PreSpinCtrl(*args, **kwargs):
     """PreSpinCtrl() -> SpinCtrl"""
     val = _controls_.new_PreSpinCtrl(*args, **kwargs)
-    val.thisown = 1
     return val
 
 def SpinCtrl_GetClassDefaultAttributes(*args, **kwargs):
     return val
 
 def SpinCtrl_GetClassDefaultAttributes(*args, **kwargs):
-    """
+  """
     SpinCtrl_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
     Get the default attributes for this class.  This is useful if you want
     SpinCtrl_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
     Get the default attributes for this class.  This is useful if you want
@@ -2392,18 +2267,15 @@ def SpinCtrl_GetClassDefaultAttributes(*args, **kwargs):
     the returned font. See `wx.Window.SetWindowVariant` for more about
     this.
     """
     the returned font. See `wx.Window.SetWindowVariant` for more about
     this.
     """
-    return _controls_.SpinCtrl_GetClassDefaultAttributes(*args, **kwargs)
+  return _controls_.SpinCtrl_GetClassDefaultAttributes(*args, **kwargs)
 
 class SpinEvent(_core.NotifyEvent):
     """Proxy of C++ SpinEvent class"""
 
 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"""
         """__init__(self, wxEventType commandType=wxEVT_NULL, int winid=0) -> SpinEvent"""
-        newobj = _controls_.new_SpinEvent(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
+        _controls_.SpinEvent_swiginit(self,_controls_.new_SpinEvent(*args, **kwargs))
     def GetPosition(*args, **kwargs):
         """GetPosition(self) -> int"""
         return _controls_.SpinEvent_GetPosition(*args, **kwargs)
     def GetPosition(*args, **kwargs):
         """GetPosition(self) -> int"""
         return _controls_.SpinEvent_GetPosition(*args, **kwargs)
@@ -2412,13 +2284,8 @@ class SpinEvent(_core.NotifyEvent):
         """SetPosition(self, int pos)"""
         return _controls_.SpinEvent_SetPosition(*args, **kwargs)
 
         """SetPosition(self, int pos)"""
         return _controls_.SpinEvent_SetPosition(*args, **kwargs)
 
-
-class SpinEventPtr(SpinEvent):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = SpinEvent
-_controls_.SpinEvent_swigregister(SpinEventPtr)
+SpinEvent_swigregister = _controls_.SpinEvent_swigregister
+SpinEvent_swigregister(SpinEvent)
 
 wxEVT_COMMAND_SPINCTRL_UPDATED = _controls_.wxEVT_COMMAND_SPINCTRL_UPDATED
 EVT_SPIN_UP   = wx.PyEventBinder( wx.wxEVT_SCROLL_LINEUP, 1)
 
 wxEVT_COMMAND_SPINCTRL_UPDATED = _controls_.wxEVT_COMMAND_SPINCTRL_UPDATED
 EVT_SPIN_UP   = wx.PyEventBinder( wx.wxEVT_SCROLL_LINEUP, 1)
@@ -2430,9 +2297,9 @@ EVT_SPINCTRL  = wx.PyEventBinder( wxEVT_COMMAND_SPINCTRL_UPDATED, 1)
 
 class RadioBox(_core.Control):
     """Proxy of C++ RadioBox class"""
 
 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, 
         """
         __init__(self, Window parent, int id=-1, String label=EmptyString, 
             Point pos=DefaultPosition, Size size=DefaultSize, 
@@ -2442,10 +2309,7 @@ class RadioBox(_core.Control):
             String name=RadioBoxNameStr) -> RadioBox
         """
         if kwargs.has_key('point'): kwargs['pos'] = kwargs['point'];del kwargs['point']
             String name=RadioBoxNameStr) -> RadioBox
         """
         if kwargs.has_key('point'): kwargs['pos'] = kwargs['point'];del kwargs['point']
-        newobj = _controls_.new_RadioBox(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
+        _controls_.RadioBox_swiginit(self,_controls_.new_RadioBox(*args, **kwargs))
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
@@ -2476,7 +2340,7 @@ class RadioBox(_core.Control):
         return _controls_.RadioBox_SetStringSelection(*args, **kwargs)
 
     def GetCount(*args, **kwargs):
         return _controls_.RadioBox_SetStringSelection(*args, **kwargs)
 
     def GetCount(*args, **kwargs):
-        """GetCount(self) -> int"""
+        """GetCount(self) -> size_t"""
         return _controls_.RadioBox_GetCount(*args, **kwargs)
 
     def FindString(*args, **kwargs):
         return _controls_.RadioBox_GetCount(*args, **kwargs)
 
     def FindString(*args, **kwargs):
@@ -2494,19 +2358,27 @@ class RadioBox(_core.Control):
     GetItemLabel = GetString 
     SetItemLabel = SetString 
     def EnableItem(*args, **kwargs):
     GetItemLabel = GetString 
     SetItemLabel = SetString 
     def EnableItem(*args, **kwargs):
-        """EnableItem(self, int n, bool enable=True)"""
+        """EnableItem(self, unsigned int n, bool enable=True)"""
         return _controls_.RadioBox_EnableItem(*args, **kwargs)
 
     def ShowItem(*args, **kwargs):
         return _controls_.RadioBox_EnableItem(*args, **kwargs)
 
     def ShowItem(*args, **kwargs):
-        """ShowItem(self, int n, bool show=True)"""
+        """ShowItem(self, unsigned int n, bool show=True)"""
         return _controls_.RadioBox_ShowItem(*args, **kwargs)
 
         return _controls_.RadioBox_ShowItem(*args, **kwargs)
 
+    def IsItemEnabled(*args, **kwargs):
+        """IsItemEnabled(self, unsigned int n) -> bool"""
+        return _controls_.RadioBox_IsItemEnabled(*args, **kwargs)
+
+    def IsItemShown(*args, **kwargs):
+        """IsItemShown(self, unsigned int n) -> bool"""
+        return _controls_.RadioBox_IsItemShown(*args, **kwargs)
+
     def GetColumnCount(*args, **kwargs):
     def GetColumnCount(*args, **kwargs):
-        """GetColumnCount(self) -> int"""
+        """GetColumnCount(self) -> unsigned int"""
         return _controls_.RadioBox_GetColumnCount(*args, **kwargs)
 
     def GetRowCount(*args, **kwargs):
         return _controls_.RadioBox_GetColumnCount(*args, **kwargs)
 
     def GetRowCount(*args, **kwargs):
-        """GetRowCount(self) -> int"""
+        """GetRowCount(self) -> unsigned int"""
         return _controls_.RadioBox_GetRowCount(*args, **kwargs)
 
     def GetNextItem(*args, **kwargs):
         return _controls_.RadioBox_GetRowCount(*args, **kwargs)
 
     def GetNextItem(*args, **kwargs):
@@ -2531,24 +2403,18 @@ class RadioBox(_core.Control):
         return _controls_.RadioBox_GetClassDefaultAttributes(*args, **kwargs)
 
     GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
         return _controls_.RadioBox_GetClassDefaultAttributes(*args, **kwargs)
 
     GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
-
-class RadioBoxPtr(RadioBox):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = RadioBox
-_controls_.RadioBox_swigregister(RadioBoxPtr)
+RadioBox_swigregister = _controls_.RadioBox_swigregister
+RadioBox_swigregister(RadioBox)
 RadioBoxNameStr = cvar.RadioBoxNameStr
 RadioButtonNameStr = cvar.RadioButtonNameStr
 
 def PreRadioBox(*args, **kwargs):
     """PreRadioBox() -> RadioBox"""
     val = _controls_.new_PreRadioBox(*args, **kwargs)
 RadioBoxNameStr = cvar.RadioBoxNameStr
 RadioButtonNameStr = cvar.RadioButtonNameStr
 
 def PreRadioBox(*args, **kwargs):
     """PreRadioBox() -> RadioBox"""
     val = _controls_.new_PreRadioBox(*args, **kwargs)
-    val.thisown = 1
     return val
 
 def RadioBox_GetClassDefaultAttributes(*args, **kwargs):
     return val
 
 def RadioBox_GetClassDefaultAttributes(*args, **kwargs):
-    """
+  """
     RadioBox_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
     Get the default attributes for this class.  This is useful if you want
     RadioBox_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
     Get the default attributes for this class.  This is useful if you want
@@ -2562,25 +2428,22 @@ def RadioBox_GetClassDefaultAttributes(*args, **kwargs):
     the returned font. See `wx.Window.SetWindowVariant` for more about
     this.
     """
     the returned font. See `wx.Window.SetWindowVariant` for more about
     this.
     """
-    return _controls_.RadioBox_GetClassDefaultAttributes(*args, **kwargs)
+  return _controls_.RadioBox_GetClassDefaultAttributes(*args, **kwargs)
 
 #---------------------------------------------------------------------------
 
 class RadioButton(_core.Control):
     """Proxy of C++ RadioButton class"""
 
 #---------------------------------------------------------------------------
 
 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
         """
         """
         __init__(self, Window parent, int id=-1, String label=EmptyString, 
             Point pos=DefaultPosition, Size size=DefaultSize, 
             long style=0, Validator validator=DefaultValidator, 
             String name=RadioButtonNameStr) -> RadioButton
         """
-        newobj = _controls_.new_RadioButton(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
+        _controls_.RadioButton_swiginit(self,_controls_.new_RadioButton(*args, **kwargs))
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
@@ -2618,22 +2481,16 @@ class RadioButton(_core.Control):
         return _controls_.RadioButton_GetClassDefaultAttributes(*args, **kwargs)
 
     GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
         return _controls_.RadioButton_GetClassDefaultAttributes(*args, **kwargs)
 
     GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
-
-class RadioButtonPtr(RadioButton):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = RadioButton
-_controls_.RadioButton_swigregister(RadioButtonPtr)
+RadioButton_swigregister = _controls_.RadioButton_swigregister
+RadioButton_swigregister(RadioButton)
 
 def PreRadioButton(*args, **kwargs):
     """PreRadioButton() -> RadioButton"""
     val = _controls_.new_PreRadioButton(*args, **kwargs)
 
 def PreRadioButton(*args, **kwargs):
     """PreRadioButton() -> RadioButton"""
     val = _controls_.new_PreRadioButton(*args, **kwargs)
-    val.thisown = 1
     return val
 
 def RadioButton_GetClassDefaultAttributes(*args, **kwargs):
     return val
 
 def RadioButton_GetClassDefaultAttributes(*args, **kwargs):
-    """
+  """
     RadioButton_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
     Get the default attributes for this class.  This is useful if you want
     RadioButton_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
     Get the default attributes for this class.  This is useful if you want
@@ -2647,7 +2504,7 @@ def RadioButton_GetClassDefaultAttributes(*args, **kwargs):
     the returned font. See `wx.Window.SetWindowVariant` for more about
     this.
     """
     the returned font. See `wx.Window.SetWindowVariant` for more about
     this.
     """
-    return _controls_.RadioButton_GetClassDefaultAttributes(*args, **kwargs)
+  return _controls_.RadioButton_GetClassDefaultAttributes(*args, **kwargs)
 
 #---------------------------------------------------------------------------
 
 
 #---------------------------------------------------------------------------
 
@@ -2665,9 +2522,9 @@ SL_SELRANGE = _controls_.SL_SELRANGE
 SL_INVERSE = _controls_.SL_INVERSE
 class Slider(_core.Control):
     """Proxy of C++ Slider class"""
 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, 
         """
         __init__(self, Window parent, int id=-1, int value=0, int minValue=0, 
             int maxValue=100, Point pos=DefaultPosition, 
@@ -2676,10 +2533,7 @@ class Slider(_core.Control):
             String name=SliderNameStr) -> Slider
         """
         if kwargs.has_key('point'): kwargs['pos'] = kwargs['point'];del kwargs['point']
             String name=SliderNameStr) -> Slider
         """
         if kwargs.has_key('point'): kwargs['pos'] = kwargs['point'];del kwargs['point']
-        newobj = _controls_.new_Slider(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
+        _controls_.Slider_swiginit(self,_controls_.new_Slider(*args, **kwargs))
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
@@ -2794,23 +2648,17 @@ class Slider(_core.Control):
         return _controls_.Slider_GetClassDefaultAttributes(*args, **kwargs)
 
     GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
         return _controls_.Slider_GetClassDefaultAttributes(*args, **kwargs)
 
     GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
-
-class SliderPtr(Slider):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = Slider
-_controls_.Slider_swigregister(SliderPtr)
+Slider_swigregister = _controls_.Slider_swigregister
+Slider_swigregister(Slider)
 SliderNameStr = cvar.SliderNameStr
 
 def PreSlider(*args, **kwargs):
     """PreSlider() -> Slider"""
     val = _controls_.new_PreSlider(*args, **kwargs)
 SliderNameStr = cvar.SliderNameStr
 
 def PreSlider(*args, **kwargs):
     """PreSlider() -> Slider"""
     val = _controls_.new_PreSlider(*args, **kwargs)
-    val.thisown = 1
     return val
 
 def Slider_GetClassDefaultAttributes(*args, **kwargs):
     return val
 
 def Slider_GetClassDefaultAttributes(*args, **kwargs):
-    """
+  """
     Slider_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
     Get the default attributes for this class.  This is useful if you want
     Slider_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
     Get the default attributes for this class.  This is useful if you want
@@ -2824,7 +2672,7 @@ def Slider_GetClassDefaultAttributes(*args, **kwargs):
     the returned font. See `wx.Window.SetWindowVariant` for more about
     this.
     """
     the returned font. See `wx.Window.SetWindowVariant` for more about
     this.
     """
-    return _controls_.Slider_GetClassDefaultAttributes(*args, **kwargs)
+  return _controls_.Slider_GetClassDefaultAttributes(*args, **kwargs)
 
 #---------------------------------------------------------------------------
 
 
 #---------------------------------------------------------------------------
 
@@ -2833,19 +2681,16 @@ EVT_TOGGLEBUTTON = wx.PyEventBinder( wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, 1)
 
 class ToggleButton(_core.Control):
     """Proxy of C++ ToggleButton class"""
 
 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
         """
         """
         __init__(self, Window parent, int id=-1, String label=EmptyString, 
             Point pos=DefaultPosition, Size size=DefaultSize, 
             long style=0, Validator validator=DefaultValidator, 
             String name=ToggleButtonNameStr) -> ToggleButton
         """
-        newobj = _controls_.new_ToggleButton(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
+        _controls_.ToggleButton_swiginit(self,_controls_.new_ToggleButton(*args, **kwargs))
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
@@ -2865,14 +2710,6 @@ class ToggleButton(_core.Control):
         """GetValue(self) -> bool"""
         return _controls_.ToggleButton_GetValue(*args, **kwargs)
 
         """GetValue(self) -> bool"""
         return _controls_.ToggleButton_GetValue(*args, **kwargs)
 
-    def SetLabel(*args, **kwargs):
-        """
-        SetLabel(self, String label)
-
-        Sets the item's text.
-        """
-        return _controls_.ToggleButton_SetLabel(*args, **kwargs)
-
     def GetClassDefaultAttributes(*args, **kwargs):
         """
         GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
     def GetClassDefaultAttributes(*args, **kwargs):
         """
         GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
@@ -2891,23 +2728,17 @@ class ToggleButton(_core.Control):
         return _controls_.ToggleButton_GetClassDefaultAttributes(*args, **kwargs)
 
     GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
         return _controls_.ToggleButton_GetClassDefaultAttributes(*args, **kwargs)
 
     GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
-
-class ToggleButtonPtr(ToggleButton):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = ToggleButton
-_controls_.ToggleButton_swigregister(ToggleButtonPtr)
+ToggleButton_swigregister = _controls_.ToggleButton_swigregister
+ToggleButton_swigregister(ToggleButton)
 ToggleButtonNameStr = cvar.ToggleButtonNameStr
 
 def PreToggleButton(*args, **kwargs):
     """PreToggleButton() -> ToggleButton"""
     val = _controls_.new_PreToggleButton(*args, **kwargs)
 ToggleButtonNameStr = cvar.ToggleButtonNameStr
 
 def PreToggleButton(*args, **kwargs):
     """PreToggleButton() -> ToggleButton"""
     val = _controls_.new_PreToggleButton(*args, **kwargs)
-    val.thisown = 1
     return val
 
 def ToggleButton_GetClassDefaultAttributes(*args, **kwargs):
     return val
 
 def ToggleButton_GetClassDefaultAttributes(*args, **kwargs):
-    """
+  """
     ToggleButton_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
     Get the default attributes for this class.  This is useful if you want
     ToggleButton_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
     Get the default attributes for this class.  This is useful if you want
@@ -2921,15 +2752,21 @@ def ToggleButton_GetClassDefaultAttributes(*args, **kwargs):
     the returned font. See `wx.Window.SetWindowVariant` for more about
     this.
     """
     the returned font. See `wx.Window.SetWindowVariant` for more about
     this.
     """
-    return _controls_.ToggleButton_GetClassDefaultAttributes(*args, **kwargs)
+  return _controls_.ToggleButton_GetClassDefaultAttributes(*args, **kwargs)
 
 #---------------------------------------------------------------------------
 
 
 #---------------------------------------------------------------------------
 
+BK_DEFAULT = _controls_.BK_DEFAULT
+BK_TOP = _controls_.BK_TOP
+BK_BOTTOM = _controls_.BK_BOTTOM
+BK_LEFT = _controls_.BK_LEFT
+BK_RIGHT = _controls_.BK_RIGHT
+BK_ALIGN_MASK = _controls_.BK_ALIGN_MASK
 class BookCtrlBase(_core.Control):
     """Proxy of C++ BookCtrlBase class"""
 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)
     def GetPageCount(*args, **kwargs):
         """GetPageCount(self) -> size_t"""
         return _controls_.BookCtrlBase_GetPageCount(*args, **kwargs)
@@ -2982,6 +2819,26 @@ class BookCtrlBase(_core.Control):
         """CalcSizeFromPage(self, Size sizePage) -> Size"""
         return _controls_.BookCtrlBase_CalcSizeFromPage(*args, **kwargs)
 
         """CalcSizeFromPage(self, Size sizePage) -> Size"""
         return _controls_.BookCtrlBase_CalcSizeFromPage(*args, **kwargs)
 
+    def GetInternalBorder(*args, **kwargs):
+        """GetInternalBorder(self) -> size_t"""
+        return _controls_.BookCtrlBase_GetInternalBorder(*args, **kwargs)
+
+    def SetInternalBorder(*args, **kwargs):
+        """SetInternalBorder(self, size_t internalBorder)"""
+        return _controls_.BookCtrlBase_SetInternalBorder(*args, **kwargs)
+
+    def IsVertical(*args, **kwargs):
+        """IsVertical(self) -> bool"""
+        return _controls_.BookCtrlBase_IsVertical(*args, **kwargs)
+
+    def SetFitToCurrentPage(*args, **kwargs):
+        """SetFitToCurrentPage(self, bool fit)"""
+        return _controls_.BookCtrlBase_SetFitToCurrentPage(*args, **kwargs)
+
+    def GetFitToCurrentPage(*args, **kwargs):
+        """GetFitToCurrentPage(self) -> bool"""
+        return _controls_.BookCtrlBase_GetFitToCurrentPage(*args, **kwargs)
+
     def DeletePage(*args, **kwargs):
         """DeletePage(self, size_t n) -> bool"""
         return _controls_.BookCtrlBase_DeletePage(*args, **kwargs)
     def DeletePage(*args, **kwargs):
         """DeletePage(self, size_t n) -> bool"""
         return _controls_.BookCtrlBase_DeletePage(*args, **kwargs)
@@ -3031,17 +2888,12 @@ class BookCtrlBase(_core.Control):
         return _controls_.BookCtrlBase_GetClassDefaultAttributes(*args, **kwargs)
 
     GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
         return _controls_.BookCtrlBase_GetClassDefaultAttributes(*args, **kwargs)
 
     GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
-
-class BookCtrlBasePtr(BookCtrlBase):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = BookCtrlBase
-_controls_.BookCtrlBase_swigregister(BookCtrlBasePtr)
+BookCtrlBase_swigregister = _controls_.BookCtrlBase_swigregister
+BookCtrlBase_swigregister(BookCtrlBase)
 NotebookNameStr = cvar.NotebookNameStr
 
 def BookCtrlBase_GetClassDefaultAttributes(*args, **kwargs):
 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
     BookCtrlBase_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
     Get the default attributes for this class.  This is useful if you want
@@ -3055,21 +2907,18 @@ def BookCtrlBase_GetClassDefaultAttributes(*args, **kwargs):
     the returned font. See `wx.Window.SetWindowVariant` for more about
     this.
     """
     the returned font. See `wx.Window.SetWindowVariant` for more about
     this.
     """
-    return _controls_.BookCtrlBase_GetClassDefaultAttributes(*args, **kwargs)
+  return _controls_.BookCtrlBase_GetClassDefaultAttributes(*args, **kwargs)
 
 class BookCtrlBaseEvent(_core.NotifyEvent):
     """Proxy of C++ BookCtrlBaseEvent class"""
 
 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
         """
         """
         __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
     def GetSelection(*args, **kwargs):
         """
         GetSelection(self) -> int
@@ -3091,13 +2940,8 @@ class BookCtrlBaseEvent(_core.NotifyEvent):
         """SetOldSelection(self, int nOldSel)"""
         return _controls_.BookCtrlBaseEvent_SetOldSelection(*args, **kwargs)
 
         """SetOldSelection(self, int nOldSel)"""
         return _controls_.BookCtrlBaseEvent_SetOldSelection(*args, **kwargs)
 
-
-class BookCtrlBaseEventPtr(BookCtrlBaseEvent):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = BookCtrlBaseEvent
-_controls_.BookCtrlBaseEvent_swigregister(BookCtrlBaseEventPtr)
+BookCtrlBaseEvent_swigregister = _controls_.BookCtrlBaseEvent_swigregister
+BookCtrlBaseEvent_swigregister(BookCtrlBaseEvent)
 
 #---------------------------------------------------------------------------
 
 
 #---------------------------------------------------------------------------
 
@@ -3114,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"""
 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
         """
         """
         __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):
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
@@ -3155,10 +2996,6 @@ class Notebook(BookCtrlBase):
         """
         return _controls_.Notebook_HitTest(*args, **kwargs)
 
         """
         return _controls_.Notebook_HitTest(*args, **kwargs)
 
-    def CalcSizeFromPage(*args, **kwargs):
-        """CalcSizeFromPage(self, Size sizePage) -> Size"""
-        return _controls_.Notebook_CalcSizeFromPage(*args, **kwargs)
-
     def GetThemeBackgroundColour(*args, **kwargs):
         """GetThemeBackgroundColour(self) -> Colour"""
         return _controls_.Notebook_GetThemeBackgroundColour(*args, **kwargs)
     def GetThemeBackgroundColour(*args, **kwargs):
         """GetThemeBackgroundColour(self) -> Colour"""
         return _controls_.Notebook_GetThemeBackgroundColour(*args, **kwargs)
@@ -3181,22 +3018,16 @@ class Notebook(BookCtrlBase):
         return _controls_.Notebook_GetClassDefaultAttributes(*args, **kwargs)
 
     GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
         return _controls_.Notebook_GetClassDefaultAttributes(*args, **kwargs)
 
     GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
-
-class NotebookPtr(Notebook):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = Notebook
-_controls_.Notebook_swigregister(NotebookPtr)
+Notebook_swigregister = _controls_.Notebook_swigregister
+Notebook_swigregister(Notebook)
 
 def PreNotebook(*args, **kwargs):
     """PreNotebook() -> Notebook"""
     val = _controls_.new_PreNotebook(*args, **kwargs)
 
 def PreNotebook(*args, **kwargs):
     """PreNotebook() -> Notebook"""
     val = _controls_.new_PreNotebook(*args, **kwargs)
-    val.thisown = 1
     return val
 
 def Notebook_GetClassDefaultAttributes(*args, **kwargs):
     return val
 
 def Notebook_GetClassDefaultAttributes(*args, **kwargs):
-    """
+  """
     Notebook_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
     Get the default attributes for this class.  This is useful if you want
     Notebook_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
     Get the default attributes for this class.  This is useful if you want
@@ -3210,28 +3041,20 @@ def Notebook_GetClassDefaultAttributes(*args, **kwargs):
     the returned font. See `wx.Window.SetWindowVariant` for more about
     this.
     """
     the returned font. See `wx.Window.SetWindowVariant` for more about
     this.
     """
-    return _controls_.Notebook_GetClassDefaultAttributes(*args, **kwargs)
+  return _controls_.Notebook_GetClassDefaultAttributes(*args, **kwargs)
 
 class NotebookEvent(BookCtrlBaseEvent):
     """Proxy of C++ NotebookEvent class"""
 
 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
         """
         """
         __init__(self, wxEventType commandType=wxEVT_NULL, int id=0, int nSel=-1, 
             int nOldSel=-1) -> NotebookEvent
         """
-        newobj = _controls_.new_NotebookEvent(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
-
-class NotebookEventPtr(NotebookEvent):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = NotebookEvent
-_controls_.NotebookEvent_swigregister(NotebookEventPtr)
+        _controls_.NotebookEvent_swiginit(self,_controls_.new_NotebookEvent(*args, **kwargs))
+NotebookEvent_swigregister = _controls_.NotebookEvent_swigregister
+NotebookEvent_swigregister(NotebookEvent)
 
 wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED = _controls_.wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED
 wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGING = _controls_.wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGING
 
 wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED = _controls_.wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED
 wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGING = _controls_.wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGING
@@ -3279,17 +3102,14 @@ LB_RIGHT = _controls_.LB_RIGHT
 LB_ALIGN_MASK = _controls_.LB_ALIGN_MASK
 class Listbook(BookCtrlBase):
     """Proxy of C++ Listbook class"""
 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
         """
         """
         __init__(self, Window parent, int id=-1, Point pos=DefaultPosition, 
             Size size=DefaultSize, long style=0, String name=EmptyString) -> Listbook
         """
-        newobj = _controls_.new_Listbook(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
+        _controls_.Listbook_swiginit(self,_controls_.new_Listbook(*args, **kwargs))
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
@@ -3299,48 +3119,30 @@ class Listbook(BookCtrlBase):
         """
         return _controls_.Listbook_Create(*args, **kwargs)
 
         """
         return _controls_.Listbook_Create(*args, **kwargs)
 
-    def IsVertical(*args, **kwargs):
-        """IsVertical(self) -> bool"""
-        return _controls_.Listbook_IsVertical(*args, **kwargs)
-
     def GetListView(*args, **kwargs):
         """GetListView(self) -> ListView"""
         return _controls_.Listbook_GetListView(*args, **kwargs)
 
     def GetListView(*args, **kwargs):
         """GetListView(self) -> ListView"""
         return _controls_.Listbook_GetListView(*args, **kwargs)
 
-
-class ListbookPtr(Listbook):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = Listbook
-_controls_.Listbook_swigregister(ListbookPtr)
+Listbook_swigregister = _controls_.Listbook_swigregister
+Listbook_swigregister(Listbook)
 
 def PreListbook(*args, **kwargs):
     """PreListbook() -> Listbook"""
     val = _controls_.new_PreListbook(*args, **kwargs)
 
 def PreListbook(*args, **kwargs):
     """PreListbook() -> Listbook"""
     val = _controls_.new_PreListbook(*args, **kwargs)
-    val.thisown = 1
     return val
 
 class ListbookEvent(BookCtrlBaseEvent):
     """Proxy of C++ ListbookEvent class"""
     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
         """
         """
         __init__(self, wxEventType commandType=wxEVT_NULL, int id=0, int nSel=-1, 
             int nOldSel=-1) -> ListbookEvent
         """
-        newobj = _controls_.new_ListbookEvent(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
-
-class ListbookEventPtr(ListbookEvent):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = ListbookEvent
-_controls_.ListbookEvent_swigregister(ListbookEventPtr)
+        _controls_.ListbookEvent_swiginit(self,_controls_.new_ListbookEvent(*args, **kwargs))
+ListbookEvent_swigregister = _controls_.ListbookEvent_swigregister
+ListbookEvent_swigregister(ListbookEvent)
 
 wxEVT_COMMAND_LISTBOOK_PAGE_CHANGED = _controls_.wxEVT_COMMAND_LISTBOOK_PAGE_CHANGED
 wxEVT_COMMAND_LISTBOOK_PAGE_CHANGING = _controls_.wxEVT_COMMAND_LISTBOOK_PAGE_CHANGING
 
 wxEVT_COMMAND_LISTBOOK_PAGE_CHANGED = _controls_.wxEVT_COMMAND_LISTBOOK_PAGE_CHANGED
 wxEVT_COMMAND_LISTBOOK_PAGE_CHANGING = _controls_.wxEVT_COMMAND_LISTBOOK_PAGE_CHANGING
@@ -3355,17 +3157,14 @@ CHB_RIGHT = _controls_.CHB_RIGHT
 CHB_ALIGN_MASK = _controls_.CHB_ALIGN_MASK
 class Choicebook(BookCtrlBase):
     """Proxy of C++ Choicebook class"""
 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
         """
         """
         __init__(self, Window parent, int id, Point pos=DefaultPosition, Size size=DefaultSize, 
             long style=0, String name=EmptyString) -> Choicebook
         """
-        newobj = _controls_.new_Choicebook(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
+        _controls_.Choicebook_swiginit(self,_controls_.new_Choicebook(*args, **kwargs))
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
@@ -3375,52 +3174,30 @@ class Choicebook(BookCtrlBase):
         """
         return _controls_.Choicebook_Create(*args, **kwargs)
 
         """
         return _controls_.Choicebook_Create(*args, **kwargs)
 
-    def IsVertical(*args, **kwargs):
-        """IsVertical(self) -> bool"""
-        return _controls_.Choicebook_IsVertical(*args, **kwargs)
-
     def GetChoiceCtrl(*args, **kwargs):
         """GetChoiceCtrl(self) -> Choice"""
         return _controls_.Choicebook_GetChoiceCtrl(*args, **kwargs)
 
     def GetChoiceCtrl(*args, **kwargs):
         """GetChoiceCtrl(self) -> Choice"""
         return _controls_.Choicebook_GetChoiceCtrl(*args, **kwargs)
 
-    def DeleteAllPages(*args, **kwargs):
-        """DeleteAllPages(self) -> bool"""
-        return _controls_.Choicebook_DeleteAllPages(*args, **kwargs)
-
-
-class ChoicebookPtr(Choicebook):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = Choicebook
-_controls_.Choicebook_swigregister(ChoicebookPtr)
+Choicebook_swigregister = _controls_.Choicebook_swigregister
+Choicebook_swigregister(Choicebook)
 
 def PreChoicebook(*args, **kwargs):
     """PreChoicebook() -> Choicebook"""
     val = _controls_.new_PreChoicebook(*args, **kwargs)
 
 def PreChoicebook(*args, **kwargs):
     """PreChoicebook() -> Choicebook"""
     val = _controls_.new_PreChoicebook(*args, **kwargs)
-    val.thisown = 1
     return val
 
 class ChoicebookEvent(BookCtrlBaseEvent):
     """Proxy of C++ ChoicebookEvent class"""
     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
         """
         """
         __init__(self, wxEventType commandType=wxEVT_NULL, int id=0, int nSel=-1, 
             int nOldSel=-1) -> ChoicebookEvent
         """
-        newobj = _controls_.new_ChoicebookEvent(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
-
-class ChoicebookEventPtr(ChoicebookEvent):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = ChoicebookEvent
-_controls_.ChoicebookEvent_swigregister(ChoicebookEventPtr)
+        _controls_.ChoicebookEvent_swiginit(self,_controls_.new_ChoicebookEvent(*args, **kwargs))
+ChoicebookEvent_swigregister = _controls_.ChoicebookEvent_swigregister
+ChoicebookEvent_swigregister(ChoicebookEvent)
 
 wxEVT_COMMAND_CHOICEBOOK_PAGE_CHANGED = _controls_.wxEVT_COMMAND_CHOICEBOOK_PAGE_CHANGED
 wxEVT_COMMAND_CHOICEBOOK_PAGE_CHANGING = _controls_.wxEVT_COMMAND_CHOICEBOOK_PAGE_CHANGING
 
 wxEVT_COMMAND_CHOICEBOOK_PAGE_CHANGED = _controls_.wxEVT_COMMAND_CHOICEBOOK_PAGE_CHANGED
 wxEVT_COMMAND_CHOICEBOOK_PAGE_CHANGING = _controls_.wxEVT_COMMAND_CHOICEBOOK_PAGE_CHANGING
@@ -3429,6 +3206,144 @@ EVT_CHOICEBOOK_PAGE_CHANGING = wx.PyEventBinder( wxEVT_COMMAND_CHOICEBOOK_PAGE_C
 
 #---------------------------------------------------------------------------
 
 
 #---------------------------------------------------------------------------
 
+class Treebook(BookCtrlBase):
+    """Proxy of C++ Treebook class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
+        """
+        __init__(self, Window parent, int id, Point pos=DefaultPosition, Size size=DefaultSize, 
+            long style=BK_DEFAULT, 
+            String name=EmptyString) -> Treebook
+        """
+        _controls_.Treebook_swiginit(self,_controls_.new_Treebook(*args, **kwargs))
+        self._setOORInfo(self)
+
+    def Create(*args, **kwargs):
+        """
+        Create(self, Window parent, int id, Point pos=DefaultPosition, Size size=DefaultSize, 
+            long style=BK_DEFAULT, 
+            String name=EmptyString) -> bool
+        """
+        return _controls_.Treebook_Create(*args, **kwargs)
+
+    def InsertSubPage(*args, **kwargs):
+        """
+        InsertSubPage(self, size_t pos, Window page, String text, bool select=False, 
+            int imageId=NOT_FOUND) -> bool
+        """
+        return _controls_.Treebook_InsertSubPage(*args, **kwargs)
+
+    def AddSubPage(*args, **kwargs):
+        """AddSubPage(self, Window page, String text, bool select=False, int imageId=NOT_FOUND) -> bool"""
+        return _controls_.Treebook_AddSubPage(*args, **kwargs)
+
+    def IsNodeExpanded(*args, **kwargs):
+        """IsNodeExpanded(self, size_t pos) -> bool"""
+        return _controls_.Treebook_IsNodeExpanded(*args, **kwargs)
+
+    def ExpandNode(*args, **kwargs):
+        """ExpandNode(self, size_t pos, bool expand=True) -> bool"""
+        return _controls_.Treebook_ExpandNode(*args, **kwargs)
+
+    def CollapseNode(*args, **kwargs):
+        """CollapseNode(self, size_t pos) -> bool"""
+        return _controls_.Treebook_CollapseNode(*args, **kwargs)
+
+    def GetPageParent(*args, **kwargs):
+        """GetPageParent(self, size_t pos) -> int"""
+        return _controls_.Treebook_GetPageParent(*args, **kwargs)
+
+    def GetTreeCtrl(*args, **kwargs):
+        """GetTreeCtrl(self) -> wxTreeCtrl"""
+        return _controls_.Treebook_GetTreeCtrl(*args, **kwargs)
+
+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
+        """
+        _controls_.TreebookEvent_swiginit(self,_controls_.new_TreebookEvent(*args, **kwargs))
+TreebookEvent_swigregister = _controls_.TreebookEvent_swigregister
+TreebookEvent_swigregister(TreebookEvent)
+
+wxEVT_COMMAND_TREEBOOK_PAGE_CHANGED = _controls_.wxEVT_COMMAND_TREEBOOK_PAGE_CHANGED
+wxEVT_COMMAND_TREEBOOK_PAGE_CHANGING = _controls_.wxEVT_COMMAND_TREEBOOK_PAGE_CHANGING
+wxEVT_COMMAND_TREEBOOK_NODE_COLLAPSED = _controls_.wxEVT_COMMAND_TREEBOOK_NODE_COLLAPSED
+wxEVT_COMMAND_TREEBOOK_NODE_EXPANDED = _controls_.wxEVT_COMMAND_TREEBOOK_NODE_EXPANDED
+EVT_TREEBOOK_PAGE_CHANGED= wx.PyEventBinder( wxEVT_COMMAND_TREEBOOK_PAGE_CHANGED, 1 )
+EVT_TREEBOOK_PAGE_CHANGING= wx.PyEventBinder( wxEVT_COMMAND_TREEBOOK_PAGE_CHANGING, 1)
+EVT_TREEBOOK_NODE_COLLAPSED= wx.PyEventBinder( wxEVT_COMMAND_TREEBOOK_NODE_COLLAPSED, 1 )
+EVT_TREEBOOK_NODE_EXPANDED= wx.PyEventBinder( wxEVT_COMMAND_TREEBOOK_NODE_EXPANDED, 1 )
+
+#---------------------------------------------------------------------------
+
+class Toolbook(BookCtrlBase):
+    """Proxy of C++ Toolbook class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
+        """
+        __init__(self, Window parent, int id, Point pos=DefaultPosition, Size size=DefaultSize, 
+            long style=BK_DEFAULT, 
+            String name=EmptyString) -> Toolbook
+        """
+        _controls_.Toolbook_swiginit(self,_controls_.new_Toolbook(*args, **kwargs))
+        self._setOORInfo(self)
+
+    def Create(*args, **kwargs):
+        """
+        Create(self, Window parent, int id, Point pos=DefaultPosition, Size size=DefaultSize, 
+            long style=0, String name=wxEmptyString) -> bool
+        """
+        return _controls_.Toolbook_Create(*args, **kwargs)
+
+    def GetToolBar(*args, **kwargs):
+        """GetToolBar(self) -> ToolBarBase"""
+        return _controls_.Toolbook_GetToolBar(*args, **kwargs)
+
+    def Realize(*args, **kwargs):
+        """Realize(self)"""
+        return _controls_.Toolbook_Realize(*args, **kwargs)
+
+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)
+
+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)
+
 #---------------------------------------------------------------------------
 
 TOOL_STYLE_BUTTON = _controls_.TOOL_STYLE_BUTTON
 #---------------------------------------------------------------------------
 
 TOOL_STYLE_BUTTON = _controls_.TOOL_STYLE_BUTTON
@@ -3447,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"""
 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)
     def GetId(*args, **kwargs):
         """GetId(self) -> int"""
         return _controls_.ToolBarToolBase_GetId(*args, **kwargs)
@@ -3571,19 +3486,14 @@ class ToolBarToolBase(_core.Object):
     SetBitmap1 = SetNormalBitmap
     SetBitmap2 = SetDisabledBitmap
 
     SetBitmap1 = SetNormalBitmap
     SetBitmap2 = SetDisabledBitmap
 
-
-class ToolBarToolBasePtr(ToolBarToolBase):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = ToolBarToolBase
-_controls_.ToolBarToolBase_swigregister(ToolBarToolBasePtr)
+ToolBarToolBase_swigregister = _controls_.ToolBarToolBase_swigregister
+ToolBarToolBase_swigregister(ToolBarToolBase)
 
 class ToolBarBase(_core.Control):
     """Proxy of C++ ToolBarBase class"""
 
 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, 
     def DoAddTool(*args, **kwargs):
         """
         DoAddTool(self, int id, String label, Bitmap bitmap, Bitmap bmpDisabled=wxNullBitmap, 
@@ -3894,28 +3804,24 @@ class ToolBarBase(_core.Control):
         """IsVertical(self) -> bool"""
         return _controls_.ToolBarBase_IsVertical(*args, **kwargs)
 
         """IsVertical(self) -> bool"""
         return _controls_.ToolBarBase_IsVertical(*args, **kwargs)
 
+    def GetToolsCount(*args, **kwargs):
+        """GetToolsCount(self) -> size_t"""
+        return _controls_.ToolBarBase_GetToolsCount(*args, **kwargs)
 
 
-class ToolBarBasePtr(ToolBarBase):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = ToolBarBase
-_controls_.ToolBarBase_swigregister(ToolBarBasePtr)
+ToolBarBase_swigregister = _controls_.ToolBarBase_swigregister
+ToolBarBase_swigregister(ToolBarBase)
 
 class ToolBar(ToolBarBase):
     """Proxy of C++ ToolBar class"""
 
 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
         """
         """
         __init__(self, Window parent, int id=-1, Point pos=DefaultPosition, 
             Size size=DefaultSize, long style=wxNO_BORDER|wxTB_HORIZONTAL, 
             String name=wxPyToolBarNameStr) -> ToolBar
         """
-        newobj = _controls_.new_ToolBar(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
+        _controls_.ToolBar_swiginit(self,_controls_.new_ToolBar(*args, **kwargs))
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
@@ -3948,22 +3854,16 @@ class ToolBar(ToolBarBase):
         return _controls_.ToolBar_GetClassDefaultAttributes(*args, **kwargs)
 
     GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
         return _controls_.ToolBar_GetClassDefaultAttributes(*args, **kwargs)
 
     GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
-
-class ToolBarPtr(ToolBar):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = ToolBar
-_controls_.ToolBar_swigregister(ToolBarPtr)
+ToolBar_swigregister = _controls_.ToolBar_swigregister
+ToolBar_swigregister(ToolBar)
 
 def PreToolBar(*args, **kwargs):
     """PreToolBar() -> ToolBar"""
     val = _controls_.new_PreToolBar(*args, **kwargs)
 
 def PreToolBar(*args, **kwargs):
     """PreToolBar() -> ToolBar"""
     val = _controls_.new_PreToolBar(*args, **kwargs)
-    val.thisown = 1
     return val
 
 def ToolBar_GetClassDefaultAttributes(*args, **kwargs):
     return val
 
 def ToolBar_GetClassDefaultAttributes(*args, **kwargs):
-    """
+  """
     ToolBar_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
     Get the default attributes for this class.  This is useful if you want
     ToolBar_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
     Get the default attributes for this class.  This is useful if you want
@@ -3977,7 +3877,7 @@ def ToolBar_GetClassDefaultAttributes(*args, **kwargs):
     the returned font. See `wx.Window.SetWindowVariant` for more about
     this.
     """
     the returned font. See `wx.Window.SetWindowVariant` for more about
     this.
     """
-    return _controls_.ToolBar_GetClassDefaultAttributes(*args, **kwargs)
+  return _controls_.ToolBar_GetClassDefaultAttributes(*args, **kwargs)
 
 #---------------------------------------------------------------------------
 
 
 #---------------------------------------------------------------------------
 
@@ -4053,17 +3953,16 @@ LIST_FIND_RIGHT = _controls_.LIST_FIND_RIGHT
 
 class ListItemAttr(object):
     """Proxy of C++ ListItemAttr class"""
 
 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
         """
         """
         __init__(self, Colour colText=wxNullColour, Colour colBack=wxNullColour, 
             Font font=wxNullFont) -> ListItemAttr
         """
-        newobj = _controls_.new_ListItemAttr(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
+        _controls_.ListItemAttr_swiginit(self,_controls_.new_ListItemAttr(*args, **kwargs))
+    __swig_destroy__ = _controls_.delete_ListItemAttr
+    __del__ = lambda self : None;
     def SetTextColour(*args, **kwargs):
         """SetTextColour(self, Colour colText)"""
         return _controls_.ListItemAttr_SetTextColour(*args, **kwargs)
     def SetTextColour(*args, **kwargs):
         """SetTextColour(self, Colour colText)"""
         return _controls_.ListItemAttr_SetTextColour(*args, **kwargs)
@@ -4100,37 +3999,31 @@ class ListItemAttr(object):
         """GetFont(self) -> Font"""
         return _controls_.ListItemAttr_GetFont(*args, **kwargs)
 
         """GetFont(self) -> Font"""
         return _controls_.ListItemAttr_GetFont(*args, **kwargs)
 
+    def AssignFrom(*args, **kwargs):
+        """AssignFrom(self, ListItemAttr source)"""
+        return _controls_.ListItemAttr_AssignFrom(*args, **kwargs)
+
     def Destroy(*args, **kwargs):
         """Destroy(self)"""
     def Destroy(*args, **kwargs):
         """Destroy(self)"""
-        return _controls_.ListItemAttr_Destroy(*args, **kwargs)
-
+        val = _controls_.ListItemAttr_Destroy(*args, **kwargs)
+        args[0].thisown = 0
+        return val
 
 
-class ListItemAttrPtr(ListItemAttr):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = ListItemAttr
-_controls_.ListItemAttr_swigregister(ListItemAttrPtr)
+ListItemAttr_swigregister = _controls_.ListItemAttr_swigregister
+ListItemAttr_swigregister(ListItemAttr)
 ListCtrlNameStr = cvar.ListCtrlNameStr
 
 #---------------------------------------------------------------------------
 
 class ListItem(_core.Object):
     """Proxy of C++ ListItem class"""
 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"""
         """__init__(self) -> ListItem"""
-        newobj = _controls_.new_ListItem(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
-    def __del__(self, destroy=_controls_.delete_ListItem):
-        """__del__(self)"""
-        try:
-            if self.thisown: destroy(self)
-        except: pass
-
+        _controls_.ListItem_swiginit(self,_controls_.new_ListItem(*args, **kwargs))
+    __swig_destroy__ = _controls_.delete_ListItem
+    __del__ = lambda self : None;
     def Clear(*args, **kwargs):
         """Clear(self)"""
         return _controls_.ListItem_Clear(*args, **kwargs)
     def Clear(*args, **kwargs):
         """Clear(self)"""
         return _controls_.ListItem_Clear(*args, **kwargs)
@@ -4257,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)
     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"""
 
 #---------------------------------------------------------------------------
 
 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"""
         """__init__(self, wxEventType commandType=wxEVT_NULL, int id=0) -> ListEvent"""
-        newobj = _controls_.new_ListEvent(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
+        _controls_.ListEvent_swiginit(self,_controls_.new_ListEvent(*args, **kwargs))
     m_code = property(_controls_.ListEvent_m_code_get, _controls_.ListEvent_m_code_set)
     m_oldItemIndex = property(_controls_.ListEvent_m_oldItemIndex_get, _controls_.ListEvent_m_oldItemIndex_set)
     m_itemIndex = property(_controls_.ListEvent_m_itemIndex_get, _controls_.ListEvent_m_itemIndex_set)
     m_code = property(_controls_.ListEvent_m_code_get, _controls_.ListEvent_m_code_set)
     m_oldItemIndex = property(_controls_.ListEvent_m_oldItemIndex_get, _controls_.ListEvent_m_oldItemIndex_set)
     m_itemIndex = property(_controls_.ListEvent_m_itemIndex_get, _controls_.ListEvent_m_itemIndex_set)
@@ -4341,13 +4226,8 @@ class ListEvent(_core.NotifyEvent):
         """SetEditCanceled(self, bool editCancelled)"""
         return _controls_.ListEvent_SetEditCanceled(*args, **kwargs)
 
         """SetEditCanceled(self, bool editCancelled)"""
         return _controls_.ListEvent_SetEditCanceled(*args, **kwargs)
 
-
-class ListEventPtr(ListEvent):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = ListEvent
-_controls_.ListEvent_swigregister(ListEventPtr)
+ListEvent_swigregister = _controls_.ListEvent_swigregister
+ListEvent_swigregister(ListEvent)
 
 wxEVT_COMMAND_LIST_BEGIN_DRAG = _controls_.wxEVT_COMMAND_LIST_BEGIN_DRAG
 wxEVT_COMMAND_LIST_BEGIN_RDRAG = _controls_.wxEVT_COMMAND_LIST_BEGIN_RDRAG
 
 wxEVT_COMMAND_LIST_BEGIN_DRAG = _controls_.wxEVT_COMMAND_LIST_BEGIN_DRAG
 wxEVT_COMMAND_LIST_BEGIN_RDRAG = _controls_.wxEVT_COMMAND_LIST_BEGIN_RDRAG
@@ -4402,18 +4282,15 @@ EVT_LIST_ITEM_FOCUSED      = wx.PyEventBinder(wxEVT_COMMAND_LIST_ITEM_FOCUSED
 
 class ListCtrl(_core.Control):
     """Proxy of C++ ListCtrl class"""
 
 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
         """
         """
         __init__(self, Window parent, int id=-1, Point pos=DefaultPosition, 
             Size size=DefaultSize, long style=LC_ICON, 
             Validator validator=DefaultValidator, String name=ListCtrlNameStr) -> ListCtrl
         """
-        newobj = _controls_.new_ListCtrl(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
+        _controls_.ListCtrl_swiginit(self,_controls_.new_ListCtrl(*args, **kwargs))
         self._setOORInfo(self);self._setCallbackInfo(self, ListCtrl)
 
     def Create(*args, **kwargs):
         self._setOORInfo(self);self._setCallbackInfo(self, ListCtrl)
 
     def Create(*args, **kwargs):
@@ -4430,38 +4307,6 @@ class ListCtrl(_core.Control):
         """_setCallbackInfo(self, PyObject self, PyObject _class)"""
         return _controls_.ListCtrl__setCallbackInfo(*args, **kwargs)
 
         """_setCallbackInfo(self, PyObject self, PyObject _class)"""
         return _controls_.ListCtrl__setCallbackInfo(*args, **kwargs)
 
-    def SetForegroundColour(*args, **kwargs):
-        """
-        SetForegroundColour(self, Colour col) -> bool
-
-        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)
     def GetColumn(*args, **kwargs):
         """GetColumn(self, int col) -> ListItem"""
         val = _controls_.ListCtrl_GetColumn(*args, **kwargs)
@@ -4518,6 +4363,10 @@ class ListCtrl(_core.Control):
         """SetItemImage(self, long item, int image, int selImage=-1) -> bool"""
         return _controls_.ListCtrl_SetItemImage(*args, **kwargs)
 
         """SetItemImage(self, long item, int image, int selImage=-1) -> bool"""
         return _controls_.ListCtrl_SetItemImage(*args, **kwargs)
 
+    def SetItemColumnImage(*args, **kwargs):
+        """SetItemColumnImage(self, long item, long column, int image) -> bool"""
+        return _controls_.ListCtrl_SetItemColumnImage(*args, **kwargs)
+
     def GetItemText(*args, **kwargs):
         """GetItemText(self, long item) -> String"""
         return _controls_.ListCtrl_GetItemText(*args, **kwargs)
     def GetItemText(*args, **kwargs):
         """GetItemText(self, long item) -> String"""
         return _controls_.ListCtrl_GetItemText(*args, **kwargs)
@@ -4578,17 +4427,6 @@ class ListCtrl(_core.Control):
         """SetSingleStyle(self, long style, bool add=True)"""
         return _controls_.ListCtrl_SetSingleStyle(*args, **kwargs)
 
         """SetSingleStyle(self, long style, bool add=True)"""
         return _controls_.ListCtrl_SetSingleStyle(*args, **kwargs)
 
-    def SetWindowStyleFlag(*args, **kwargs):
-        """
-        SetWindowStyleFlag(self, long style)
-
-        Sets the style of the window. Please note that some styles cannot be
-        changed after the window creation and that Refresh() might need to be
-        called after changing the others for the change to take place
-        immediately.
-        """
-        return _controls_.ListCtrl_SetWindowStyleFlag(*args, **kwargs)
-
     def GetNextItem(*args, **kwargs):
         """GetNextItem(self, long item, int geometry=LIST_NEXT_ALL, int state=LIST_STATE_DONTCARE) -> long"""
         return _controls_.ListCtrl_GetNextItem(*args, **kwargs)
     def GetNextItem(*args, **kwargs):
         """GetNextItem(self, long item, int geometry=LIST_NEXT_ALL, int state=LIST_STATE_DONTCARE) -> long"""
         return _controls_.ListCtrl_GetNextItem(*args, **kwargs)
@@ -4683,7 +4521,7 @@ class ListCtrl(_core.Control):
         return _controls_.ListCtrl_InsertItem(*args, **kwargs)
 
     def InsertStringItem(*args, **kwargs):
         return _controls_.ListCtrl_InsertItem(*args, **kwargs)
 
     def InsertStringItem(*args, **kwargs):
-        """InsertStringItem(self, long index, String label) -> long"""
+        """InsertStringItem(self, long index, String label, int imageIndex=-1) -> long"""
         return _controls_.ListCtrl_InsertStringItem(*args, **kwargs)
 
     def InsertImageItem(*args, **kwargs):
         return _controls_.ListCtrl_InsertStringItem(*args, **kwargs)
 
     def InsertImageItem(*args, **kwargs):
@@ -4730,6 +4568,14 @@ class ListCtrl(_core.Control):
         """GetItemBackgroundColour(self, long item) -> Colour"""
         return _controls_.ListCtrl_GetItemBackgroundColour(*args, **kwargs)
 
         """GetItemBackgroundColour(self, long item) -> Colour"""
         return _controls_.ListCtrl_GetItemBackgroundColour(*args, **kwargs)
 
+    def SetItemFont(*args, **kwargs):
+        """SetItemFont(self, long item, Font f)"""
+        return _controls_.ListCtrl_SetItemFont(*args, **kwargs)
+
+    def GetItemFont(*args, **kwargs):
+        """GetItemFont(self, long item) -> Font"""
+        return _controls_.ListCtrl_GetItemFont(*args, **kwargs)
+
     #
     # Some helpers...
     def Select(self, idx, on=1):
     #
     # Some helpers...
     def Select(self, idx, on=1):
@@ -4815,22 +4661,16 @@ class ListCtrl(_core.Control):
         return _controls_.ListCtrl_GetClassDefaultAttributes(*args, **kwargs)
 
     GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
         return _controls_.ListCtrl_GetClassDefaultAttributes(*args, **kwargs)
 
     GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
-
-class ListCtrlPtr(ListCtrl):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = ListCtrl
-_controls_.ListCtrl_swigregister(ListCtrlPtr)
+ListCtrl_swigregister = _controls_.ListCtrl_swigregister
+ListCtrl_swigregister(ListCtrl)
 
 def PreListCtrl(*args, **kwargs):
     """PreListCtrl() -> ListCtrl"""
     val = _controls_.new_PreListCtrl(*args, **kwargs)
 
 def PreListCtrl(*args, **kwargs):
     """PreListCtrl() -> ListCtrl"""
     val = _controls_.new_PreListCtrl(*args, **kwargs)
-    val.thisown = 1
     return val
 
 def ListCtrl_GetClassDefaultAttributes(*args, **kwargs):
     return val
 
 def ListCtrl_GetClassDefaultAttributes(*args, **kwargs):
-    """
+  """
     ListCtrl_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
     Get the default attributes for this class.  This is useful if you want
     ListCtrl_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
     Get the default attributes for this class.  This is useful if you want
@@ -4844,24 +4684,21 @@ def ListCtrl_GetClassDefaultAttributes(*args, **kwargs):
     the returned font. See `wx.Window.SetWindowVariant` for more about
     this.
     """
     the returned font. See `wx.Window.SetWindowVariant` for more about
     this.
     """
-    return _controls_.ListCtrl_GetClassDefaultAttributes(*args, **kwargs)
+  return _controls_.ListCtrl_GetClassDefaultAttributes(*args, **kwargs)
 
 #---------------------------------------------------------------------------
 
 class ListView(ListCtrl):
     """Proxy of C++ ListView class"""
 
 #---------------------------------------------------------------------------
 
 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
         """
         """
         __init__(self, Window parent, int id=-1, Point pos=DefaultPosition, 
             Size size=DefaultSize, long style=LC_REPORT, 
             Validator validator=DefaultValidator, String name=ListCtrlNameStr) -> ListView
         """
-        newobj = _controls_.new_ListView(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
+        _controls_.ListView_swiginit(self,_controls_.new_ListView(*args, **kwargs))
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
@@ -4906,18 +4743,12 @@ class ListView(ListCtrl):
         """ClearColumnImage(self, int col)"""
         return _controls_.ListView_ClearColumnImage(*args, **kwargs)
 
         """ClearColumnImage(self, int col)"""
         return _controls_.ListView_ClearColumnImage(*args, **kwargs)
 
-
-class ListViewPtr(ListView):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = ListView
-_controls_.ListView_swigregister(ListViewPtr)
+ListView_swigregister = _controls_.ListView_swigregister
+ListView_swigregister(ListView)
 
 def PreListView(*args, **kwargs):
     """PreListView() -> ListView"""
     val = _controls_.new_PreListView(*args, **kwargs)
 
 def PreListView(*args, **kwargs):
     """PreListView() -> ListView"""
     val = _controls_.new_PreListView(*args, **kwargs)
-    val.thisown = 1
     return val
 
 #---------------------------------------------------------------------------
     return val
 
 #---------------------------------------------------------------------------
@@ -4961,20 +4792,13 @@ TREE_HITTEST_ONITEM = _controls_.TREE_HITTEST_ONITEM
 
 class TreeItemId(object):
     """Proxy of C++ TreeItemId class"""
 
 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"""
         """__init__(self) -> TreeItemId"""
-        newobj = _controls_.new_TreeItemId(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
-    def __del__(self, destroy=_controls_.delete_TreeItemId):
-        """__del__(self)"""
-        try:
-            if self.thisown: destroy(self)
-        except: pass
-
+        _controls_.TreeItemId_swiginit(self,_controls_.new_TreeItemId(*args, **kwargs))
+    __swig_destroy__ = _controls_.delete_TreeItemId
+    __del__ = lambda self : None;
     def IsOk(*args, **kwargs):
         """IsOk(self) -> bool"""
         return _controls_.TreeItemId_IsOk(*args, **kwargs)
     def IsOk(*args, **kwargs):
         """IsOk(self) -> bool"""
         return _controls_.TreeItemId_IsOk(*args, **kwargs)
@@ -4990,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() 
     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"""
 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"""
         """__init__(self, PyObject obj=None) -> TreeItemData"""
-        newobj = _controls_.new_TreeItemData(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
+        _controls_.TreeItemData_swiginit(self,_controls_.new_TreeItemData(*args, **kwargs))
+    __swig_destroy__ = _controls_.delete_TreeItemData
+    __del__ = lambda self : None;
     def GetData(*args, **kwargs):
         """GetData(self) -> PyObject"""
         return _controls_.TreeItemData_GetData(*args, **kwargs)
     def GetData(*args, **kwargs):
         """GetData(self) -> PyObject"""
         return _controls_.TreeItemData_GetData(*args, **kwargs)
@@ -5027,15 +4845,12 @@ class TreeItemData(object):
 
     def Destroy(*args, **kwargs):
         """Destroy(self)"""
 
     def Destroy(*args, **kwargs):
         """Destroy(self)"""
-        return _controls_.TreeItemData_Destroy(*args, **kwargs)
-
+        val = _controls_.TreeItemData_Destroy(*args, **kwargs)
+        args[0].thisown = 0
+        return val
 
 
-class TreeItemDataPtr(TreeItemData):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = TreeItemData
-_controls_.TreeItemData_swigregister(TreeItemDataPtr)
+TreeItemData_swigregister = _controls_.TreeItemData_swigregister
+TreeItemData_swigregister(TreeItemData)
 
 #---------------------------------------------------------------------------
 
 
 #---------------------------------------------------------------------------
 
@@ -5084,14 +4899,11 @@ EVT_TREE_ITEM_MENU        = wx.PyEventBinder(wxEVT_COMMAND_TREE_ITEM_MENU,
 
 class TreeEvent(_core.NotifyEvent):
     """Proxy of C++ TreeEvent class"""
 
 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"""
         """__init__(self, wxEventType commandType=wxEVT_NULL, int id=0) -> TreeEvent"""
-        newobj = _controls_.new_TreeEvent(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
+        _controls_.TreeEvent_swiginit(self,_controls_.new_TreeEvent(*args, **kwargs))
     def GetItem(*args, **kwargs):
         """GetItem(self) -> TreeItemId"""
         return _controls_.TreeEvent_GetItem(*args, **kwargs)
     def GetItem(*args, **kwargs):
         """GetItem(self) -> TreeItemId"""
         return _controls_.TreeEvent_GetItem(*args, **kwargs)
@@ -5152,31 +4964,23 @@ class TreeEvent(_core.NotifyEvent):
         """GetToolTip(self) -> String"""
         return _controls_.TreeEvent_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"""
 
 #---------------------------------------------------------------------------
 
 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
         """
         """
         __init__(self, Window parent, int id=-1, Point pos=DefaultPosition, 
             Size size=DefaultSize, long style=TR_DEFAULT_STYLE, 
             Validator validator=DefaultValidator, 
             String name=TreeCtrlNameStr) -> TreeCtrl
         """
-        newobj = _controls_.new_TreeCtrl(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
+        _controls_.TreeCtrl_swiginit(self,_controls_.new_TreeCtrl(*args, **kwargs))
         self._setOORInfo(self);self._setCallbackInfo(self, TreeCtrl)
 
     def Create(*args, **kwargs):
         self._setOORInfo(self);self._setCallbackInfo(self, TreeCtrl)
 
     def Create(*args, **kwargs):
@@ -5525,22 +5329,16 @@ class TreeCtrl(_core.Control):
         return _controls_.TreeCtrl_GetClassDefaultAttributes(*args, **kwargs)
 
     GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
         return _controls_.TreeCtrl_GetClassDefaultAttributes(*args, **kwargs)
 
     GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
-
-class TreeCtrlPtr(TreeCtrl):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = TreeCtrl
-_controls_.TreeCtrl_swigregister(TreeCtrlPtr)
+TreeCtrl_swigregister = _controls_.TreeCtrl_swigregister
+TreeCtrl_swigregister(TreeCtrl)
 
 def PreTreeCtrl(*args, **kwargs):
     """PreTreeCtrl() -> TreeCtrl"""
     val = _controls_.new_PreTreeCtrl(*args, **kwargs)
 
 def PreTreeCtrl(*args, **kwargs):
     """PreTreeCtrl() -> TreeCtrl"""
     val = _controls_.new_PreTreeCtrl(*args, **kwargs)
-    val.thisown = 1
     return val
 
 def TreeCtrl_GetClassDefaultAttributes(*args, **kwargs):
     return val
 
 def TreeCtrl_GetClassDefaultAttributes(*args, **kwargs):
-    """
+  """
     TreeCtrl_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
     Get the default attributes for this class.  This is useful if you want
     TreeCtrl_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
     Get the default attributes for this class.  This is useful if you want
@@ -5554,7 +5352,7 @@ def TreeCtrl_GetClassDefaultAttributes(*args, **kwargs):
     the returned font. See `wx.Window.SetWindowVariant` for more about
     this.
     """
     the returned font. See `wx.Window.SetWindowVariant` for more about
     this.
     """
-    return _controls_.TreeCtrl_GetClassDefaultAttributes(*args, **kwargs)
+  return _controls_.TreeCtrl_GetClassDefaultAttributes(*args, **kwargs)
 
 #---------------------------------------------------------------------------
 
 
 #---------------------------------------------------------------------------
 
@@ -5565,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"""
 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, 
         """
         __init__(self, Window parent, int id=-1, String dir=DirDialogDefaultFolderStr, 
             Point pos=DefaultPosition, Size size=DefaultSize, 
@@ -5575,10 +5373,7 @@ class GenericDirCtrl(_core.Control):
             String filter=EmptyString, 
             int defaultFilter=0, String name=TreeCtrlNameStr) -> GenericDirCtrl
         """
             String filter=EmptyString, 
             int defaultFilter=0, String name=TreeCtrlNameStr) -> GenericDirCtrl
         """
-        newobj = _controls_.new_GenericDirCtrl(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
+        _controls_.GenericDirCtrl_swiginit(self,_controls_.new_GenericDirCtrl(*args, **kwargs))
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
@@ -5671,34 +5466,25 @@ class GenericDirCtrl(_core.Control):
         """ReCreateTree(self)"""
         return _controls_.GenericDirCtrl_ReCreateTree(*args, **kwargs)
 
         """ReCreateTree(self)"""
         return _controls_.GenericDirCtrl_ReCreateTree(*args, **kwargs)
 
-
-class GenericDirCtrlPtr(GenericDirCtrl):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = GenericDirCtrl
-_controls_.GenericDirCtrl_swigregister(GenericDirCtrlPtr)
+GenericDirCtrl_swigregister = _controls_.GenericDirCtrl_swigregister
+GenericDirCtrl_swigregister(GenericDirCtrl)
 DirDialogDefaultFolderStr = cvar.DirDialogDefaultFolderStr
 
 def PreGenericDirCtrl(*args, **kwargs):
     """PreGenericDirCtrl() -> GenericDirCtrl"""
     val = _controls_.new_PreGenericDirCtrl(*args, **kwargs)
 DirDialogDefaultFolderStr = cvar.DirDialogDefaultFolderStr
 
 def PreGenericDirCtrl(*args, **kwargs):
     """PreGenericDirCtrl() -> GenericDirCtrl"""
     val = _controls_.new_PreGenericDirCtrl(*args, **kwargs)
-    val.thisown = 1
     return val
 
 class DirFilterListCtrl(Choice):
     """Proxy of C++ DirFilterListCtrl class"""
     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
         """
         """
         __init__(self, GenericDirCtrl parent, int id=-1, Point pos=DefaultPosition, 
             Size size=DefaultSize, long style=0) -> DirFilterListCtrl
         """
-        newobj = _controls_.new_DirFilterListCtrl(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
+        _controls_.DirFilterListCtrl_swiginit(self,_controls_.new_DirFilterListCtrl(*args, **kwargs))
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
@@ -5712,36 +5498,27 @@ class DirFilterListCtrl(Choice):
         """FillFilterList(self, String filter, int defaultFilter)"""
         return _controls_.DirFilterListCtrl_FillFilterList(*args, **kwargs)
 
         """FillFilterList(self, String filter, int defaultFilter)"""
         return _controls_.DirFilterListCtrl_FillFilterList(*args, **kwargs)
 
-
-class DirFilterListCtrlPtr(DirFilterListCtrl):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = DirFilterListCtrl
-_controls_.DirFilterListCtrl_swigregister(DirFilterListCtrlPtr)
+DirFilterListCtrl_swigregister = _controls_.DirFilterListCtrl_swigregister
+DirFilterListCtrl_swigregister(DirFilterListCtrl)
 
 def PreDirFilterListCtrl(*args, **kwargs):
     """PreDirFilterListCtrl() -> DirFilterListCtrl"""
     val = _controls_.new_PreDirFilterListCtrl(*args, **kwargs)
 
 def PreDirFilterListCtrl(*args, **kwargs):
     """PreDirFilterListCtrl() -> DirFilterListCtrl"""
     val = _controls_.new_PreDirFilterListCtrl(*args, **kwargs)
-    val.thisown = 1
     return val
 
 #---------------------------------------------------------------------------
 
 class PyControl(_core.Control):
     """Proxy of C++ PyControl class"""
     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
         """
         """
         __init__(self, Window parent, int id=-1, Point pos=DefaultPosition, 
             Size size=DefaultSize, long style=0, Validator validator=DefaultValidator, 
             String name=ControlNameStr) -> PyControl
         """
-        newobj = _controls_.new_PyControl(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
+        _controls_.PyControl_swiginit(self,_controls_.new_PyControl(*args, **kwargs))
         self._setOORInfo(self); self._setCallbackInfo(self, PyControl)
 
     def _setCallbackInfo(*args, **kwargs):
         self._setOORInfo(self); self._setCallbackInfo(self, PyControl)
 
     def _setCallbackInfo(*args, **kwargs):
@@ -5756,102 +5533,161 @@ class PyControl(_core.Control):
         """DoEraseBackground(self, DC dc) -> bool"""
         return _controls_.PyControl_DoEraseBackground(*args, **kwargs)
 
         """DoEraseBackground(self, DC dc) -> bool"""
         return _controls_.PyControl_DoEraseBackground(*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_GetDefaultAttributes(*args, **kwargs):
-        """base_GetDefaultAttributes(self) -> VisualAttributes"""
-        return _controls_.PyControl_base_GetDefaultAttributes(*args, **kwargs)
-
-    def base_OnInternalIdle(*args, **kwargs):
-        """base_OnInternalIdle(self)"""
-        return _controls_.PyControl_base_OnInternalIdle(*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 DoMoveWindow(*args, **kwargs):
+        """DoMoveWindow(self, int x, int y, int width, int height)"""
+        return _controls_.PyControl_DoMoveWindow(*args, **kwargs)
+
+    def DoSetSize(*args, **kwargs):
+        """DoSetSize(self, int x, int y, int width, int height, int sizeFlags=SIZE_AUTO)"""
+        return _controls_.PyControl_DoSetSize(*args, **kwargs)
+
+    def DoSetClientSize(*args, **kwargs):
+        """DoSetClientSize(self, int width, int height)"""
+        return _controls_.PyControl_DoSetClientSize(*args, **kwargs)
+
+    def DoSetVirtualSize(*args, **kwargs):
+        """DoSetVirtualSize(self, int x, int y)"""
+        return _controls_.PyControl_DoSetVirtualSize(*args, **kwargs)
+
+    def DoGetSize(*args, **kwargs):
+        """DoGetSize() -> (width, height)"""
+        return _controls_.PyControl_DoGetSize(*args, **kwargs)
+
+    def DoGetClientSize(*args, **kwargs):
+        """DoGetClientSize() -> (width, height)"""
+        return _controls_.PyControl_DoGetClientSize(*args, **kwargs)
+
+    def DoGetPosition(*args, **kwargs):
+        """DoGetPosition() -> (x,y)"""
+        return _controls_.PyControl_DoGetPosition(*args, **kwargs)
+
+    def DoGetVirtualSize(*args, **kwargs):
+        """DoGetVirtualSize(self) -> Size"""
+        return _controls_.PyControl_DoGetVirtualSize(*args, **kwargs)
+
+    def DoGetBestSize(*args, **kwargs):
+        """DoGetBestSize(self) -> Size"""
+        return _controls_.PyControl_DoGetBestSize(*args, **kwargs)
+
+    def GetDefaultAttributes(*args, **kwargs):
+        """GetDefaultAttributes(self) -> VisualAttributes"""
+        return _controls_.PyControl_GetDefaultAttributes(*args, **kwargs)
+
+    def OnInternalIdle(*args, **kwargs):
+        """OnInternalIdle(self)"""
+        return _controls_.PyControl_OnInternalIdle(*args, **kwargs)
+
+    def base_DoMoveWindow(*args, **kw):
+        return PyScrolledWindow.DoMoveWindow(*args, **kw)
+    base_DoMoveWindow = wx._deprecated(base_DoMoveWindow,
+                                   "Please use PyScrolledWindow.DoMoveWindow instead.")
+
+    def base_DoSetSize(*args, **kw):
+        return PyScrolledWindow.DoSetSize(*args, **kw)
+    base_DoSetSize = wx._deprecated(base_DoSetSize,
+                                   "Please use PyScrolledWindow.DoSetSize instead.")
+
+    def base_DoSetClientSize(*args, **kw):
+        return PyScrolledWindow.DoSetClientSize(*args, **kw)
+    base_DoSetClientSize = wx._deprecated(base_DoSetClientSize,
+                                   "Please use PyScrolledWindow.DoSetClientSize instead.")
+
+    def base_DoSetVirtualSize(*args, **kw):
+        return PyScrolledWindow.DoSetVirtualSize(*args, **kw)
+    base_DoSetVirtualSize = wx._deprecated(base_DoSetVirtualSize,
+                                   "Please use PyScrolledWindow.DoSetVirtualSize instead.")
+
+    def base_DoGetSize(*args, **kw):
+        return PyScrolledWindow.DoGetSize(*args, **kw)
+    base_DoGetSize = wx._deprecated(base_DoGetSize,
+                                   "Please use PyScrolledWindow.DoGetSize instead.")
+
+    def base_DoGetClientSize(*args, **kw):
+        return PyScrolledWindow.DoGetClientSize(*args, **kw)
+    base_DoGetClientSize = wx._deprecated(base_DoGetClientSize,
+                                   "Please use PyScrolledWindow.DoGetClientSize instead.")
+
+    def base_DoGetPosition(*args, **kw):
+        return PyScrolledWindow.DoGetPosition(*args, **kw)
+    base_DoGetPosition = wx._deprecated(base_DoGetPosition,
+                                   "Please use PyScrolledWindow.DoGetPosition instead.")
+
+    def base_DoGetVirtualSize(*args, **kw):
+        return PyScrolledWindow.DoGetVirtualSize(*args, **kw)
+    base_DoGetVirtualSize = wx._deprecated(base_DoGetVirtualSize,
+                                   "Please use PyScrolledWindow.DoGetVirtualSize instead.")
+
+    def base_DoGetBestSize(*args, **kw):
+        return PyScrolledWindow.DoGetBestSize(*args, **kw)
+    base_DoGetBestSize = wx._deprecated(base_DoGetBestSize,
+                                   "Please use PyScrolledWindow.DoGetBestSize instead.")
+
+    def base_InitDialog(*args, **kw):
+        return PyScrolledWindow.InitDialog(*args, **kw)
+    base_InitDialog = wx._deprecated(base_InitDialog,
+                                   "Please use PyScrolledWindow.InitDialog instead.")
+
+    def base_TransferDataToWindow(*args, **kw):
+        return PyScrolledWindow.TransferDataToWindow(*args, **kw)
+    base_TransferDataToWindow = wx._deprecated(base_TransferDataToWindow,
+                                   "Please use PyScrolledWindow.TransferDataToWindow instead.")
+
+    def base_TransferDataFromWindow(*args, **kw):
+        return PyScrolledWindow.TransferDataFromWindow(*args, **kw)
+    base_TransferDataFromWindow = wx._deprecated(base_TransferDataFromWindow,
+                                   "Please use PyScrolledWindow.TransferDataFromWindow instead.")
+
+    def base_Validate(*args, **kw):
+        return PyScrolledWindow.Validate(*args, **kw)
+    base_Validate = wx._deprecated(base_Validate,
+                                   "Please use PyScrolledWindow.Validate instead.")
+
+    def base_AcceptsFocus(*args, **kw):
+        return PyScrolledWindow.AcceptsFocus(*args, **kw)
+    base_AcceptsFocus = wx._deprecated(base_AcceptsFocus,
+                                   "Please use PyScrolledWindow.AcceptsFocus instead.")
+
+    def base_AcceptsFocusFromKeyboard(*args, **kw):
+        return PyScrolledWindow.AcceptsFocusFromKeyboard(*args, **kw)
+    base_AcceptsFocusFromKeyboard = wx._deprecated(base_AcceptsFocusFromKeyboard,
+                                   "Please use PyScrolledWindow.AcceptsFocusFromKeyboard instead.")
+
+    def base_GetMaxSize(*args, **kw):
+        return PyScrolledWindow.GetMaxSize(*args, **kw)
+    base_GetMaxSize = wx._deprecated(base_GetMaxSize,
+                                   "Please use PyScrolledWindow.GetMaxSize instead.")
+
+    def base_AddChild(*args, **kw):
+        return PyScrolledWindow.AddChild(*args, **kw)
+    base_AddChild = wx._deprecated(base_AddChild,
+                                   "Please use PyScrolledWindow.AddChild instead.")
+
+    def base_RemoveChild(*args, **kw):
+        return PyScrolledWindow.RemoveChild(*args, **kw)
+    base_RemoveChild = wx._deprecated(base_RemoveChild,
+                                   "Please use PyScrolledWindow.RemoveChild instead.")
+
+    def base_ShouldInheritColours(*args, **kw):
+        return PyScrolledWindow.ShouldInheritColours(*args, **kw)
+    base_ShouldInheritColours = wx._deprecated(base_ShouldInheritColours,
+                                   "Please use PyScrolledWindow.ShouldInheritColours instead.")
+
+    def base_GetDefaultAttributes(*args, **kw):
+        return PyScrolledWindow.GetDefaultAttributes(*args, **kw)
+    base_GetDefaultAttributes = wx._deprecated(base_GetDefaultAttributes,
+                                   "Please use PyScrolledWindow.GetDefaultAttributes instead.")
+
+    def base_OnInternalIdle(*args, **kw):
+        return PyScrolledWindow.OnInternalIdle(*args, **kw)
+    base_OnInternalIdle = wx._deprecated(base_OnInternalIdle,
+                                   "Please use PyScrolledWindow.OnInternalIdle instead.")
+
+PyControl_swigregister = _controls_.PyControl_swigregister
+PyControl_swigregister(PyControl)
 
 def PrePyControl(*args, **kwargs):
     """PrePyControl() -> PyControl"""
     val = _controls_.new_PrePyControl(*args, **kwargs)
 
 def PrePyControl(*args, **kwargs):
     """PrePyControl() -> PyControl"""
     val = _controls_.new_PrePyControl(*args, **kwargs)
-    val.thisown = 1
     return val
 
 #---------------------------------------------------------------------------
     return val
 
 #---------------------------------------------------------------------------
@@ -5883,14 +5719,11 @@ class HelpEvent(_core.CommandEvent):
     window. Otherwise it would be impossible to show help for container
     windows, since processing would stop after the first window found.
     """
     window. Otherwise it would be impossible to show help for container
     windows, since processing would stop after the first window found.
     """
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxHelpEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def __init__(self, *args, **kwargs):
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """__init__(self, wxEventType type=wxEVT_NULL, int winid=0, Point pt=DefaultPosition) -> HelpEvent"""
         """__init__(self, wxEventType type=wxEVT_NULL, int winid=0, Point pt=DefaultPosition) -> HelpEvent"""
-        newobj = _controls_.new_HelpEvent(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
+        _controls_.HelpEvent_swiginit(self,_controls_.new_HelpEvent(*args, **kwargs))
     def GetPosition(*args, **kwargs):
         """
         GetPosition(self) -> Point
     def GetPosition(*args, **kwargs):
         """
         GetPosition(self) -> Point
@@ -5941,13 +5774,8 @@ class HelpEvent(_core.CommandEvent):
         """
         return _controls_.HelpEvent_SetTarget(*args, **kwargs)
 
         """
         return _controls_.HelpEvent_SetTarget(*args, **kwargs)
 
-
-class HelpEventPtr(HelpEvent):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = HelpEvent
-_controls_.HelpEvent_swigregister(HelpEventPtr)
+HelpEvent_swigregister = _controls_.HelpEvent_swigregister
+HelpEvent_swigregister(HelpEvent)
 
 class ContextHelp(_core.Object):
     """
 
 class ContextHelp(_core.Object):
     """
@@ -5973,9 +5801,9 @@ class ContextHelp(_core.Object):
     :see: `wx.ContextHelpButton`
 
     """
     :see: `wx.ContextHelpButton`
 
     """
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxContextHelp instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def __init__(self, *args, **kwargs):
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """
         __init__(self, Window window=None, bool doNow=True) -> ContextHelp
 
         """
         __init__(self, Window window=None, bool doNow=True) -> ContextHelp
 
@@ -5984,16 +5812,9 @@ class ContextHelp(_core.Object):
 
         If window is None, the top window is used.
         """
 
         If window is None, the top window is used.
         """
-        newobj = _controls_.new_ContextHelp(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
-    def __del__(self, destroy=_controls_.delete_ContextHelp):
-        """__del__(self)"""
-        try:
-            if self.thisown: destroy(self)
-        except: pass
-
+        _controls_.ContextHelp_swiginit(self,_controls_.new_ContextHelp(*args, **kwargs))
+    __swig_destroy__ = _controls_.delete_ContextHelp
+    __del__ = lambda self : None;
     def BeginContextHelp(*args, **kwargs):
         """
         BeginContextHelp(self, Window window=None) -> bool
     def BeginContextHelp(*args, **kwargs):
         """
         BeginContextHelp(self, Window window=None) -> bool
@@ -6017,13 +5838,8 @@ class ContextHelp(_core.Object):
         """
         return _controls_.ContextHelp_EndContextHelp(*args, **kwargs)
 
         """
         return _controls_.ContextHelp_EndContextHelp(*args, **kwargs)
 
-
-class ContextHelpPtr(ContextHelp):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = ContextHelp
-_controls_.ContextHelp_swigregister(ContextHelpPtr)
+ContextHelp_swigregister = _controls_.ContextHelp_swigregister
+ContextHelp_swigregister(ContextHelp)
 
 class ContextHelpButton(BitmapButton):
     """
 
 class ContextHelpButton(BitmapButton):
     """
@@ -6040,28 +5856,20 @@ class ContextHelpButton(BitmapButton):
     :see: `wx.ContextHelp`, `wx.ContextHelpButton`
 
     """
     :see: `wx.ContextHelp`, `wx.ContextHelpButton`
 
     """
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxContextHelpButton instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def __init__(self, *args, **kwargs):
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """
         __init__(self, Window parent, int id=ID_CONTEXT_HELP, Point pos=DefaultPosition, 
             Size size=DefaultSize, long style=BU_AUTODRAW) -> ContextHelpButton
 
         Constructor, creating and showing a context help button.
         """
         """
         __init__(self, Window parent, int id=ID_CONTEXT_HELP, Point pos=DefaultPosition, 
             Size size=DefaultSize, long style=BU_AUTODRAW) -> ContextHelpButton
 
         Constructor, creating and showing a context help button.
         """
-        newobj = _controls_.new_ContextHelpButton(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
+        _controls_.ContextHelpButton_swiginit(self,_controls_.new_ContextHelpButton(*args, **kwargs))
         self._setOORInfo(self)
 
         self._setOORInfo(self)
 
-
-class ContextHelpButtonPtr(ContextHelpButton):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = ContextHelpButton
-_controls_.ContextHelpButton_swigregister(ContextHelpButtonPtr)
+ContextHelpButton_swigregister = _controls_.ContextHelpButton_swigregister
+ContextHelpButton_swigregister(ContextHelpButton)
 
 class HelpProvider(object):
     """
 
 class HelpProvider(object):
     """
@@ -6072,9 +5880,11 @@ class HelpProvider(object):
     The current help provider must be explicitly set by the
     application using wx.HelpProvider.Set().
     """
     The current help provider must be explicitly set by the
     application using wx.HelpProvider.Set().
     """
-    def __init__(self): raise RuntimeError, "No constructor defined"
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxHelpProvider instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    def __init__(self): raise AttributeError, "No constructor defined"
+    __repr__ = _swig_repr
+    __swig_destroy__ = _controls_.delete_HelpProvider
+    __del__ = lambda self : None;
     def Set(*args, **kwargs):
         """
         Set(HelpProvider helpProvider) -> HelpProvider
     def Set(*args, **kwargs):
         """
         Set(HelpProvider helpProvider) -> HelpProvider
@@ -6146,33 +5956,30 @@ class HelpProvider(object):
 
     def Destroy(*args, **kwargs):
         """Destroy(self)"""
 
     def Destroy(*args, **kwargs):
         """Destroy(self)"""
-        return _controls_.HelpProvider_Destroy(*args, **kwargs)
-
+        val = _controls_.HelpProvider_Destroy(*args, **kwargs)
+        args[0].thisown = 0
+        return val
 
 
-class HelpProviderPtr(HelpProvider):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = HelpProvider
-_controls_.HelpProvider_swigregister(HelpProviderPtr)
+HelpProvider_swigregister = _controls_.HelpProvider_swigregister
+HelpProvider_swigregister(HelpProvider)
 
 def HelpProvider_Set(*args, **kwargs):
 
 def HelpProvider_Set(*args, **kwargs):
-    """
+  """
     HelpProvider_Set(HelpProvider helpProvider) -> HelpProvider
 
     Sset the current, application-wide help provider. Returns the previous
     one.  Unlike some other classes, the help provider is not created on
     demand. This must be explicitly done by the application.
     """
     HelpProvider_Set(HelpProvider helpProvider) -> HelpProvider
 
     Sset the current, application-wide help provider. Returns the previous
     one.  Unlike some other classes, the help provider is not created on
     demand. This must be explicitly done by the application.
     """
-    return _controls_.HelpProvider_Set(*args, **kwargs)
+  return _controls_.HelpProvider_Set(*args, **kwargs)
 
 
-def HelpProvider_Get(*args, **kwargs):
-    """
+def HelpProvider_Get(*args):
+  """
     HelpProvider_Get() -> HelpProvider
 
     Return the current application-wide help provider.
     """
     HelpProvider_Get() -> HelpProvider
 
     Return the current application-wide help provider.
     """
-    return _controls_.HelpProvider_Get(*args, **kwargs)
+  return _controls_.HelpProvider_Get(*args)
 
 class SimpleHelpProvider(HelpProvider):
     """
 
 class SimpleHelpProvider(HelpProvider):
     """
@@ -6180,9 +5987,9 @@ class SimpleHelpProvider(HelpProvider):
     supports only plain text help strings, and shows the string associated
     with the control (if any) in a tooltip.
     """
     supports only plain text help strings, and shows the string associated
     with the control (if any) in a tooltip.
     """
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxSimpleHelpProvider instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def __init__(self, *args, **kwargs):
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """
         __init__(self) -> SimpleHelpProvider
 
         """
         __init__(self) -> SimpleHelpProvider
 
@@ -6190,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.
         """
         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"""
 
 #---------------------------------------------------------------------------
 
 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"""
         """__init__(self, Bitmap image, Cursor cursor=wxNullCursor) -> DragImage"""
-        newobj = _controls_.new_DragImage(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
-    def __del__(self, destroy=_controls_.delete_DragImage):
-        """__del__(self)"""
-        try:
-            if self.thisown: destroy(self)
-        except: pass
-
+        _controls_.DragImage_swiginit(self,_controls_.new_DragImage(*args, **kwargs))
+    __swig_destroy__ = _controls_.delete_DragImage
+    __del__ = lambda self : None;
     def SetBackingBitmap(*args, **kwargs):
         """SetBackingBitmap(self, Bitmap bitmap)"""
         return _controls_.DragImage_SetBackingBitmap(*args, **kwargs)
     def SetBackingBitmap(*args, **kwargs):
         """SetBackingBitmap(self, Bitmap bitmap)"""
         return _controls_.DragImage_SetBackingBitmap(*args, **kwargs)
@@ -6267,36 +6059,27 @@ class DragImage(_core.Object):
         """RedrawImage(self, Point oldPos, Point newPos, bool eraseOld, bool drawNew) -> bool"""
         return _controls_.DragImage_RedrawImage(*args, **kwargs)
 
         """RedrawImage(self, Point oldPos, Point newPos, bool eraseOld, bool drawNew) -> bool"""
         return _controls_.DragImage_RedrawImage(*args, **kwargs)
 
-
-class DragImagePtr(DragImage):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = DragImage
-_controls_.DragImage_swigregister(DragImagePtr)
+DragImage_swigregister = _controls_.DragImage_swigregister
+DragImage_swigregister(DragImage)
 
 def DragIcon(*args, **kwargs):
     """DragIcon(Icon image, Cursor cursor=wxNullCursor) -> DragImage"""
     val = _controls_.new_DragIcon(*args, **kwargs)
 
 def DragIcon(*args, **kwargs):
     """DragIcon(Icon image, Cursor cursor=wxNullCursor) -> DragImage"""
     val = _controls_.new_DragIcon(*args, **kwargs)
-    val.thisown = 1
     return val
 
 def DragString(*args, **kwargs):
     """DragString(String str, Cursor cursor=wxNullCursor) -> DragImage"""
     val = _controls_.new_DragString(*args, **kwargs)
     return val
 
 def DragString(*args, **kwargs):
     """DragString(String str, Cursor cursor=wxNullCursor) -> DragImage"""
     val = _controls_.new_DragString(*args, **kwargs)
-    val.thisown = 1
     return val
 
 def DragTreeItem(*args, **kwargs):
     """DragTreeItem(TreeCtrl treeCtrl, TreeItemId id) -> DragImage"""
     val = _controls_.new_DragTreeItem(*args, **kwargs)
     return val
 
 def DragTreeItem(*args, **kwargs):
     """DragTreeItem(TreeCtrl treeCtrl, TreeItemId id) -> DragImage"""
     val = _controls_.new_DragTreeItem(*args, **kwargs)
-    val.thisown = 1
     return val
 
 def DragListItem(*args, **kwargs):
     """DragListItem(ListCtrl listCtrl, long id) -> DragImage"""
     val = _controls_.new_DragListItem(*args, **kwargs)
     return val
 
 def DragListItem(*args, **kwargs):
     """DragListItem(ListCtrl listCtrl, long id) -> DragImage"""
     val = _controls_.new_DragListItem(*args, **kwargs)
-    val.thisown = 1
     return val
 
 #---------------------------------------------------------------------------
     return val
 
 #---------------------------------------------------------------------------
@@ -6315,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.
     """
     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, 
         """
         __init__(self, Window parent, int id=-1, DateTime dt=wxDefaultDateTime, 
             Point pos=DefaultPosition, Size size=DefaultSize, 
@@ -6327,10 +6110,7 @@ class DatePickerCtrl(_core.Control):
 
         Create a new DatePickerCtrl.
         """
 
         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):
         self._setOORInfo(self)
 
     def Create(*args, **kwargs):
@@ -6400,13 +6180,8 @@ class DatePickerCtrl(_core.Control):
         """
         return _controls_.DatePickerCtrl_GetUpperLimit(*args, **kwargs)
 
         """
         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):
 DatePickerCtrlNameStr = cvar.DatePickerCtrlNameStr
 
 def PreDatePickerCtrl(*args, **kwargs):
@@ -6416,7 +6191,7 @@ def PreDatePickerCtrl(*args, **kwargs):
     Precreate a DatePickerCtrl for use in 2-phase creation.
     """
     val = _controls_.new_PreDatePickerCtrl(*args, **kwargs)
     Precreate a DatePickerCtrl for use in 2-phase creation.
     """
     val = _controls_.new_PreDatePickerCtrl(*args, **kwargs)
-    val.thisown = 1
     return val
 
 
     return val
 
 
+