]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/msw/_controls.py
wxDEFAULT_STATUSBAR_STYLE
[wxWidgets.git] / wxPython / src / msw / _controls.py
index da43133dbcdd463907e9f7c35559ab737b8fa47e..16c781f41a9ea674076ce343575eca9a0fa9fe51 100644 (file)
@@ -3,6 +3,47 @@
 
 import _controls_
 
+def _swig_setattr_nondynamic(self,class_type,name,value,static=1):
+    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
+            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"):
+        self.__dict__[name] = value
+    else:
+        raise AttributeError("You cannot add attributes to %s" % self)
+
+def _swig_setattr(self,class_type,name,value):
+    return _swig_setattr_nondynamic(self,class_type,name,value,0)
+
+def _swig_getattr(self,class_type,name):
+    method = class_type.__swig_getmethods__.get(name,None)
+    if method: return method(self)
+    raise AttributeError,name
+
+import types
+try:
+    _object = types.ObjectType
+    _newclass = 1
+except AttributeError:
+    class _object : pass
+    _newclass = 0
+del types
+
+
+def _swig_setattr_nondynamic_method(set):
+    def set_attr(self,name,value):
+        if hasattr(self,name) or (name in ("this", "thisown")):
+            set(self,name,value)
+        else:
+            raise AttributeError("You cannot add attributes to %s" % self)
+    return set_attr
+
+
 import _core
 wx = _core 
 #---------------------------------------------------------------------------
@@ -11,6 +52,7 @@ BU_LEFT = _controls_.BU_LEFT
 BU_TOP = _controls_.BU_TOP
 BU_RIGHT = _controls_.BU_RIGHT
 BU_BOTTOM = _controls_.BU_BOTTOM
+BU_ALIGN_MASK = _controls_.BU_ALIGN_MASK
 BU_EXACTFIT = _controls_.BU_EXACTFIT
 BU_AUTODRAW = _controls_.BU_AUTODRAW
 class Button(_core.Control):
@@ -18,39 +60,21 @@ class Button(_core.Control):
     A button is a control that contains a text string, and is one of the most
     common elements of a GUI.  It may be placed on a dialog box or panel, or
     indeed almost any other window.
-
-    Window Styles
-    -------------
-        ==============   ==========================================
-        wx.BU_LEFT       Left-justifies the label. WIN32 only.
-        wx.BU_TOP        Aligns the label to the top of the button.
-                         WIN32 only.
-        wx.BU_RIGHT      Right-justifies the bitmap label. WIN32 only.
-        wx.BU_BOTTOM     Aligns the label to the bottom of the button.
-                         WIN32 only.
-        wx.BU_EXACTFIT   Creates the button as small as possible
-                         instead of making it of the standard size
-                         (which is the default behaviour.)
-        ==============   ==========================================
-
-    Events
-    ------
-        ============     ==========================================
-        EVT_BUTTON       Sent when the button is clicked.
-        ============     ==========================================
-
-    :see: `wx.BitmapButton`
-
     """
     def __repr__(self):
         return "<%s.%s; proxy of C++ wxButton instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     def __init__(self, *args, **kwargs):
         """
-        __init__(self, Window parent, int id, String label, Point pos=DefaultPosition, 
-            Size size=DefaultSize, long style=0, 
-            Validator validator=DefaultValidator, String name=ButtonNameStr) -> Button
+        __init__(self, Window parent, int id=-1, String label=EmptyString, 
+            Point pos=DefaultPosition, Size size=DefaultSize, 
+            long style=0, Validator validator=DefaultValidator, 
+            String name=ButtonNameStr) -> Button
 
-        Create and show a button.
+        Create and show a button.  The preferred way to create standard
+        buttons is to use a standard ID and an empty label.  In this case
+        wxWigets will automatically use a stock label that coresponds to the
+        ID given.  In additon, the button will be decorated with stock icons
+        under GTK+ 2.
         """
         newobj = _controls_.new_Button(*args, **kwargs)
         self.this = newobj.this
@@ -60,9 +84,10 @@ class Button(_core.Control):
 
     def Create(*args, **kwargs):
         """
-        Create(self, Window parent, int id, String label, Point pos=DefaultPosition, 
-            Size size=DefaultSize, long style=0, 
-            Validator validator=DefaultValidator, String name=ButtonNameStr) -> bool
+        Create(self, Window parent, int id=-1, String label=EmptyString, 
+            Point pos=DefaultPosition, Size size=DefaultSize, 
+            long style=0, Validator validator=DefaultValidator, 
+            String name=ButtonNameStr) -> bool
 
         Acutally create the GUI Button for 2-phase creation.
         """
@@ -85,6 +110,24 @@ class Button(_core.Control):
         return _controls_.Button_GetDefaultSize(*args, **kwargs)
 
     GetDefaultSize = staticmethod(GetDefaultSize)
+    def GetClassDefaultAttributes(*args, **kwargs):
+        """
+        GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
+
+        Get the default attributes for this class.  This is useful if you want
+        to use the same font or colour in your own control as in a standard
+        control -- which is a much better idea than hard coding specific
+        colours or fonts which might look completely out of place on the
+        user's system, especially if it uses themes.
+
+        The variant parameter is only relevant under Mac currently and is
+        ignore under other platforms. Under Mac, it will change the size of
+        the returned font. See `wx.Window.SetWindowVariant` for more about
+        this.
+        """
+        return _controls_.Button_GetClassDefaultAttributes(*args, **kwargs)
+
+    GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
 
 class ButtonPtr(Button):
     def __init__(self, this):
@@ -113,49 +156,37 @@ def Button_GetDefaultSize(*args, **kwargs):
     """
     return _controls_.Button_GetDefaultSize(*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
+    to use the same font or colour in your own control as in a standard
+    control -- which is a much better idea than hard coding specific
+    colours or fonts which might look completely out of place on the
+    user's system, especially if it uses themes.
+
+    The variant parameter is only relevant under Mac currently and is
+    ignore under other platforms. Under Mac, it will change the size of
+    the returned font. See `wx.Window.SetWindowVariant` for more about
+    this.
+    """
+    return _controls_.Button_GetClassDefaultAttributes(*args, **kwargs)
+
 class BitmapButton(Button):
     """
     A Button that contains a bitmap.  A bitmap button can be supplied with a
     single bitmap, and wxWidgets will draw all button states using this bitmap. If
     the application needs more control, additional bitmaps for the selected state,
     unpressed focused state, and greyed-out state may be supplied.
-
-    Window Styles
-    -------------
-        ==============  =============================================
-        wx.BU_AUTODRAW  If this is specified, the button will be drawn
-                        automatically using the label bitmap only,
-                        providing a 3D-look border. If this style is
-                        not specified, the button will be drawn
-                        without borders and using all provided
-                        bitmaps. WIN32 only.
-        wx.BU_LEFT      Left-justifies the label. WIN32 only.
-        wx.BU_TOP       Aligns the label to the top of the button. WIN32
-                        only.
-        wx.BU_RIGHT     Right-justifies the bitmap label. WIN32 only.
-        wx.BU_BOTTOM    Aligns the label to the bottom of the
-                        button. WIN32 only.
-        wx.BU_EXACTFIT  Creates the button as small as possible
-                        instead of making it of the standard size
-                        (which is the default behaviour.)
-        ==============  =============================================
-
-    Events
-    ------
-         ===========   ==================================
-         EVT_BUTTON    Sent when the button is clicked.
-         ===========   ==================================
-
-    :see: `wx.Button`, `wx.Bitmap`
-
     """
     def __repr__(self):
         return "<%s.%s; proxy of C++ wxBitmapButton instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     def __init__(self, *args, **kwargs):
         """
-        __init__(self, Window parent, int id, Bitmap bitmap, Point pos=DefaultPosition
-            Size size=DefaultSize, long style=BU_AUTODRAW
-            Validator validator=DefaultValidator, 
+        __init__(self, Window parent, int id=-1, Bitmap bitmap=wxNullBitmap
+            Point pos=DefaultPosition, Size size=DefaultSize
+            long style=BU_AUTODRAW, Validator validator=DefaultValidator, 
             String name=ButtonNameStr) -> BitmapButton
 
         Create and show a button with a bitmap for the label.
@@ -168,9 +199,9 @@ class BitmapButton(Button):
 
     def Create(*args, **kwargs):
         """
-        Create(self, Window parent, int id, Bitmap bitmap, Point pos=DefaultPosition
-            Size size=DefaultSize, long style=BU_AUTODRAW
-            Validator validator=DefaultValidator, 
+        Create(self, Window parent, int id=-1, Bitmap bitmap=wxNullBitmap
+            Point pos=DefaultPosition, Size size=DefaultSize
+            long style=BU_AUTODRAW, Validator validator=DefaultValidator, 
             String name=ButtonNameStr) -> bool
 
         Acutally create the GUI BitmapButton for 2-phase creation.
@@ -287,39 +318,15 @@ class CheckBox(_core.Control):
     wx.CHK_3STATE style flag is set) it can have a third state, called the
     mixed or undetermined state. Often this is used as a "Does Not
     Apply" state.
-
-    Window Styles
-    -------------
-        =================================  ===============================
-        wx.CHK_2STATE                      Create a 2-state checkbox. 
-                                           This is the default.
-        wx.CHK_3STATE                      Create a 3-state checkbox.
-        wx.CHK_ALLOW_3RD_STATE_FOR_USER    By default a user can't set a
-                                           3-state checkbox to the
-                                           third state. It can only be
-                                           done from code. Using this
-                                           flags allows the user to set
-                                           the checkbox to the third
-                                           state by clicking.
-                                           wx.ALIGN_RIGHT Makes the
-                                           text appear on the left of
-                                           the checkbox.
-        =================================  ===============================
-
-    Events
-    ------
-        ===============================  ===============================
-        EVT_CHECKBOX                     Sent when checkbox is clicked.
-        ===============================  ===============================
-
     """
     def __repr__(self):
         return "<%s.%s; proxy of C++ wxCheckBox instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     def __init__(self, *args, **kwargs):
         """
-        __init__(self, Window parent, int id, String label, Point pos=DefaultPosition, 
-            Size size=DefaultSize, long style=0, 
-            Validator validator=DefaultValidator, String name=CheckBoxNameStr) -> CheckBox
+        __init__(self, Window parent, int id=-1, String label=EmptyString, 
+            Point pos=DefaultPosition, Size size=DefaultSize, 
+            long style=0, Validator validator=DefaultValidator, 
+            String name=CheckBoxNameStr) -> CheckBox
 
         Creates and shows a CheckBox control
         """
@@ -331,9 +338,10 @@ class CheckBox(_core.Control):
 
     def Create(*args, **kwargs):
         """
-        Create(self, Window parent, int id, String label, Point pos=DefaultPosition, 
-            Size size=DefaultSize, long style=0, 
-            Validator validator=DefaultValidator, String name=CheckBoxNameStr) -> bool
+        Create(self, Window parent, int id=-1, String label=EmptyString, 
+            Point pos=DefaultPosition, Size size=DefaultSize, 
+            long style=0, Validator validator=DefaultValidator, 
+            String name=CheckBoxNameStr) -> bool
 
         Actually create the GUI CheckBox for 2-phase creation.
         """
@@ -406,6 +414,24 @@ class CheckBox(_core.Control):
         """
         return _controls_.CheckBox_Is3rdStateAllowedForUser(*args, **kwargs)
 
+    def GetClassDefaultAttributes(*args, **kwargs):
+        """
+        GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
+
+        Get the default attributes for this class.  This is useful if you want
+        to use the same font or colour in your own control as in a standard
+        control -- which is a much better idea than hard coding specific
+        colours or fonts which might look completely out of place on the
+        user's system, especially if it uses themes.
+
+        The variant parameter is only relevant under Mac currently and is
+        ignore under other platforms. Under Mac, it will change the size of
+        the returned font. See `wx.Window.SetWindowVariant` for more about
+        this.
+        """
+        return _controls_.CheckBox_GetClassDefaultAttributes(*args, **kwargs)
+
+    GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
 
 class CheckBoxPtr(CheckBox):
     def __init__(self, this):
@@ -425,6 +451,23 @@ def PreCheckBox(*args, **kwargs):
     val.thisown = 1
     return val
 
+def CheckBox_GetClassDefaultAttributes(*args, **kwargs):
+    """
+    CheckBox_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
+
+    Get the default attributes for this class.  This is useful if you want
+    to use the same font or colour in your own control as in a standard
+    control -- which is a much better idea than hard coding specific
+    colours or fonts which might look completely out of place on the
+    user's system, especially if it uses themes.
+
+    The variant parameter is only relevant under Mac currently and is
+    ignore under other platforms. Under Mac, it will change the size of
+    the returned font. See `wx.Window.SetWindowVariant` for more about
+    this.
+    """
+    return _controls_.CheckBox_GetClassDefaultAttributes(*args, **kwargs)
+
 #---------------------------------------------------------------------------
 
 class Choice(_core.ControlWithItems):
@@ -432,13 +475,6 @@ class Choice(_core.ControlWithItems):
     A Choice control is used to select one of a list of strings.
     Unlike a `wx.ListBox`, only the selection is visible until the
     user pulls down the menu of choices.
-
-    Events
-    ------
-        ================    ==========================================
-        EVT_CHOICE          Sent when an item in the list is selected.
-        ================    ==========================================
-
     """
     def __repr__(self):
         return "<%s.%s; proxy of C++ wxChoice instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
@@ -466,31 +502,24 @@ class Choice(_core.ControlWithItems):
         """
         return _controls_.Choice_Create(*args, **kwargs)
 
-    def SetSelection(*args, **kwargs):
-        """
-        SetSelection(self, int n)
-
-        Select the n'th item (zero based) in the list.
-        """
-        return _controls_.Choice_SetSelection(*args, **kwargs)
-
-    def SetStringSelection(*args, **kwargs):
+    def GetClassDefaultAttributes(*args, **kwargs):
         """
-        SetStringSelection(self, String string) -> bool
+        GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
-        Select the item with the specifed string
-        """
-        return _controls_.Choice_SetStringSelection(*args, **kwargs)
+        Get the default attributes for this class.  This is useful if you want
+        to use the same font or colour in your own control as in a standard
+        control -- which is a much better idea than hard coding specific
+        colours or fonts which might look completely out of place on the
+        user's system, especially if it uses themes.
 
-    def SetString(*args, **kwargs):
-        """
-        SetString(self, int n, String string)
-
-        Set the label for the n'th item (zero based) in the list.
+        The variant parameter is only relevant under Mac currently and is
+        ignore under other platforms. Under Mac, it will change the size of
+        the returned font. See `wx.Window.SetWindowVariant` for more about
+        this.
         """
-        return _controls_.Choice_SetString(*args, **kwargs)
+        return _controls_.Choice_GetClassDefaultAttributes(*args, **kwargs)
 
-    Select = SetSelection 
+    GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
 
 class ChoicePtr(Choice):
     def __init__(self, this):
@@ -510,13 +539,33 @@ def PreChoice(*args, **kwargs):
     val.thisown = 1
     return val
 
+def Choice_GetClassDefaultAttributes(*args, **kwargs):
+    """
+    Choice_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
+
+    Get the default attributes for this class.  This is useful if you want
+    to use the same font or colour in your own control as in a standard
+    control -- which is a much better idea than hard coding specific
+    colours or fonts which might look completely out of place on the
+    user's system, especially if it uses themes.
+
+    The variant parameter is only relevant under Mac currently and is
+    ignore under other platforms. Under Mac, it will change the size of
+    the returned font. See `wx.Window.SetWindowVariant` for more about
+    this.
+    """
+    return _controls_.Choice_GetClassDefaultAttributes(*args, **kwargs)
+
 #---------------------------------------------------------------------------
 
 class ComboBox(Choice):
     """
-    A combobox is like a combination of an edit control and a listbox. It can be
-    displayed as static list with editable or read-only text field; or a drop-down
-    list with text field.
+    A combobox is like a combination of an edit control and a
+    listbox. It can be displayed as static list with editable or
+    read-only text field; or a drop-down list with text field.
+
+    A combobox permits a single selection only. Combobox items are
+    numbered from zero.
     """
     def __repr__(self):
         return "<%s.%s; proxy of C++ wxComboBox instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
@@ -524,8 +573,8 @@ class ComboBox(Choice):
         """
         __init__(Window parent, int id, String value=EmptyString,
             Point pos=DefaultPosition, Size size=DefaultSize,
-             List choices=[], long style=0, Validator validator=DefaultValidator,
-             String name=ComboBoxNameStr) -> ComboBox
+            List choices=[], long style=0, Validator validator=DefaultValidator,
+            String name=ComboBoxNameStr) -> ComboBox
 
         Constructor, creates and shows a ComboBox control.
         """
@@ -631,6 +680,15 @@ class ComboBox(Choice):
         """
         return _controls_.ComboBox_SetMark(*args, **kwargs)
 
+    def GetMark(*args, **kwargs):
+        """
+        GetMark(self) -> (from, to)
+
+        Gets the positions of the begining and ending of the selection mark in
+        the combobox text field.
+        """
+        return _controls_.ComboBox_GetMark(*args, **kwargs)
+
     def SetStringSelection(*args, **kwargs):
         """
         SetStringSelection(self, String string) -> bool
@@ -667,6 +725,102 @@ class ComboBox(Choice):
         """
         return _controls_.ComboBox_Remove(*args, **kwargs)
 
+    def IsEditable(*args, **kwargs):
+        """
+        IsEditable(self) -> bool
+
+        Returns True if the combo is ediatable (not read-only.)
+        """
+        return _controls_.ComboBox_IsEditable(*args, **kwargs)
+
+    def Undo(*args, **kwargs):
+        """
+        Undo(self)
+
+        Redoes the last undo in the text field. Windows only.
+        """
+        return _controls_.ComboBox_Undo(*args, **kwargs)
+
+    def Redo(*args, **kwargs):
+        """
+        Redo(self)
+
+        Undoes the last edit in the text field. Windows only.
+        """
+        return _controls_.ComboBox_Redo(*args, **kwargs)
+
+    def SelectAll(*args, **kwargs):
+        """
+        SelectAll(self)
+
+        Select all the text in the combo's text field.
+        """
+        return _controls_.ComboBox_SelectAll(*args, **kwargs)
+
+    def CanCopy(*args, **kwargs):
+        """
+        CanCopy(self) -> bool
+
+        Returns True if the combobox is editable and there is a text selection
+        to copy to the clipboard.  Only available on Windows.
+        """
+        return _controls_.ComboBox_CanCopy(*args, **kwargs)
+
+    def CanCut(*args, **kwargs):
+        """
+        CanCut(self) -> bool
+
+        Returns True if the combobox is editable and there is a text selection
+        to copy to the clipboard.  Only available on Windows.
+        """
+        return _controls_.ComboBox_CanCut(*args, **kwargs)
+
+    def CanPaste(*args, **kwargs):
+        """
+        CanPaste(self) -> bool
+
+        Returns True if the combobox is editable and there is text on the
+        clipboard that can be pasted into the text field. Only available on
+        Windows.
+        """
+        return _controls_.ComboBox_CanPaste(*args, **kwargs)
+
+    def CanUndo(*args, **kwargs):
+        """
+        CanUndo(self) -> bool
+
+        Returns True if the combobox is editable and the last edit can be
+        undone.  Only available on Windows.
+        """
+        return _controls_.ComboBox_CanUndo(*args, **kwargs)
+
+    def CanRedo(*args, **kwargs):
+        """
+        CanRedo(self) -> bool
+
+        Returns True if the combobox is editable and the last undo can be
+        redone.  Only available on Windows.
+        """
+        return _controls_.ComboBox_CanRedo(*args, **kwargs)
+
+    def GetClassDefaultAttributes(*args, **kwargs):
+        """
+        GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
+
+        Get the default attributes for this class.  This is useful if you want
+        to use the same font or colour in your own control as in a standard
+        control -- which is a much better idea than hard coding specific
+        colours or fonts which might look completely out of place on the
+        user's system, especially if it uses themes.
+
+        The variant parameter is only relevant under Mac currently and is
+        ignore under other platforms. Under Mac, it will change the size of
+        the returned font. See `wx.Window.SetWindowVariant` for more about
+        this.
+        """
+        return _controls_.ComboBox_GetClassDefaultAttributes(*args, **kwargs)
+
+    GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
 
 class ComboBoxPtr(ComboBox):
     def __init__(self, this):
@@ -686,6 +840,23 @@ def PreComboBox(*args, **kwargs):
     val.thisown = 1
     return val
 
+def ComboBox_GetClassDefaultAttributes(*args, **kwargs):
+    """
+    ComboBox_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
+
+    Get the default attributes for this class.  This is useful if you want
+    to use the same font or colour in your own control as in a standard
+    control -- which is a much better idea than hard coding specific
+    colours or fonts which might look completely out of place on the
+    user's system, especially if it uses themes.
+
+    The variant parameter is only relevant under Mac currently and is
+    ignore under other platforms. Under Mac, it will change the size of
+    the returned font. See `wx.Window.SetWindowVariant` for more about
+    this.
+    """
+    return _controls_.ComboBox_GetClassDefaultAttributes(*args, **kwargs)
+
 #---------------------------------------------------------------------------
 
 GA_HORIZONTAL = _controls_.GA_HORIZONTAL
@@ -693,11 +864,12 @@ GA_VERTICAL = _controls_.GA_VERTICAL
 GA_SMOOTH = _controls_.GA_SMOOTH
 GA_PROGRESSBAR = _controls_.GA_PROGRESSBAR
 class Gauge(_core.Control):
+    """Proxy of C++ Gauge class"""
     def __repr__(self):
         return "<%s.%s; proxy of C++ wxGauge instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     def __init__(self, *args, **kwargs):
         """
-        __init__(self, Window parent, int id, int range, Point pos=DefaultPosition, 
+        __init__(self, Window parent, int id=-1, int range=100, Point pos=DefaultPosition, 
             Size size=DefaultSize, long style=GA_HORIZONTAL, 
             Validator validator=DefaultValidator, 
             String name=GaugeNameStr) -> Gauge
@@ -710,7 +882,7 @@ class Gauge(_core.Control):
 
     def Create(*args, **kwargs):
         """
-        Create(self, Window parent, int id, int range, Point pos=DefaultPosition, 
+        Create(self, Window parent, int id=-1, int range=100, Point pos=DefaultPosition, 
             Size size=DefaultSize, long style=GA_HORIZONTAL, 
             Validator validator=DefaultValidator, 
             String name=GaugeNameStr) -> bool
@@ -753,6 +925,24 @@ class Gauge(_core.Control):
         """GetBezelFace(self) -> int"""
         return _controls_.Gauge_GetBezelFace(*args, **kwargs)
 
+    def GetClassDefaultAttributes(*args, **kwargs):
+        """
+        GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
+
+        Get the default attributes for this class.  This is useful if you want
+        to use the same font or colour in your own control as in a standard
+        control -- which is a much better idea than hard coding specific
+        colours or fonts which might look completely out of place on the
+        user's system, especially if it uses themes.
+
+        The variant parameter is only relevant under Mac currently and is
+        ignore under other platforms. Under Mac, it will change the size of
+        the returned font. See `wx.Window.SetWindowVariant` for more about
+        this.
+        """
+        return _controls_.Gauge_GetClassDefaultAttributes(*args, **kwargs)
+
+    GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
 
 class GaugePtr(Gauge):
     def __init__(self, this):
@@ -768,16 +958,34 @@ def PreGauge(*args, **kwargs):
     val.thisown = 1
     return val
 
+def Gauge_GetClassDefaultAttributes(*args, **kwargs):
+    """
+    Gauge_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
+
+    Get the default attributes for this class.  This is useful if you want
+    to use the same font or colour in your own control as in a standard
+    control -- which is a much better idea than hard coding specific
+    colours or fonts which might look completely out of place on the
+    user's system, especially if it uses themes.
+
+    The variant parameter is only relevant under Mac currently and is
+    ignore under other platforms. Under Mac, it will change the size of
+    the returned font. See `wx.Window.SetWindowVariant` for more about
+    this.
+    """
+    return _controls_.Gauge_GetClassDefaultAttributes(*args, **kwargs)
+
 #---------------------------------------------------------------------------
 
 class StaticBox(_core.Control):
+    """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):
         """
-        __init__(self, Window parent, int id, String label, 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
@@ -787,12 +995,30 @@ class StaticBox(_core.Control):
 
     def Create(*args, **kwargs):
         """
-        Create(self, Window parent, int id, String label, Point pos=DefaultPosition
-            Size size=DefaultSize, long style=0
-            String name=StaticBoxNameStr) -> bool
+        Create(self, Window parent, int id=-1, String label=EmptyString
+            Point pos=DefaultPosition, Size size=DefaultSize
+            long style=0, String name=StaticBoxNameStr) -> bool
         """
         return _controls_.StaticBox_Create(*args, **kwargs)
 
+    def GetClassDefaultAttributes(*args, **kwargs):
+        """
+        GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
+
+        Get the default attributes for this class.  This is useful if you want
+        to use the same font or colour in your own control as in a standard
+        control -- which is a much better idea than hard coding specific
+        colours or fonts which might look completely out of place on the
+        user's system, especially if it uses themes.
+
+        The variant parameter is only relevant under Mac currently and is
+        ignore under other platforms. Under Mac, it will change the size of
+        the returned font. See `wx.Window.SetWindowVariant` for more about
+        this.
+        """
+        return _controls_.StaticBox_GetClassDefaultAttributes(*args, **kwargs)
+
+    GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
 
 class StaticBoxPtr(StaticBox):
     def __init__(self, this):
@@ -810,15 +1036,33 @@ def PreStaticBox(*args, **kwargs):
     val.thisown = 1
     return val
 
+def StaticBox_GetClassDefaultAttributes(*args, **kwargs):
+    """
+    StaticBox_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
+
+    Get the default attributes for this class.  This is useful if you want
+    to use the same font or colour in your own control as in a standard
+    control -- which is a much better idea than hard coding specific
+    colours or fonts which might look completely out of place on the
+    user's system, especially if it uses themes.
+
+    The variant parameter is only relevant under Mac currently and is
+    ignore under other platforms. Under Mac, it will change the size of
+    the returned font. See `wx.Window.SetWindowVariant` for more about
+    this.
+    """
+    return _controls_.StaticBox_GetClassDefaultAttributes(*args, **kwargs)
+
 #---------------------------------------------------------------------------
 
 class StaticLine(_core.Control):
+    """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):
         """
-        __init__(self, Window parent, int id, Point pos=DefaultPosition, Size size=DefaultSize
-            long style=LI_HORIZONTAL, 
+        __init__(self, Window parent, int id=-1, Point pos=DefaultPosition
+            Size size=DefaultSize, long style=LI_HORIZONTAL, 
             String name=StaticTextNameStr) -> StaticLine
         """
         newobj = _controls_.new_StaticLine(*args, **kwargs)
@@ -829,8 +1073,8 @@ class StaticLine(_core.Control):
 
     def Create(*args, **kwargs):
         """
-        Create(self, Window parent, int id, Point pos=DefaultPosition, Size size=DefaultSize
-            long style=LI_HORIZONTAL, 
+        Create(self, Window parent, int id=-1, Point pos=DefaultPosition
+            Size size=DefaultSize, long style=LI_HORIZONTAL, 
             String name=StaticTextNameStr) -> bool
         """
         return _controls_.StaticLine_Create(*args, **kwargs)
@@ -844,6 +1088,24 @@ class StaticLine(_core.Control):
         return _controls_.StaticLine_GetDefaultSize(*args, **kwargs)
 
     GetDefaultSize = staticmethod(GetDefaultSize)
+    def GetClassDefaultAttributes(*args, **kwargs):
+        """
+        GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
+
+        Get the default attributes for this class.  This is useful if you want
+        to use the same font or colour in your own control as in a standard
+        control -- which is a much better idea than hard coding specific
+        colours or fonts which might look completely out of place on the
+        user's system, especially if it uses themes.
+
+        The variant parameter is only relevant under Mac currently and is
+        ignore under other platforms. Under Mac, it will change the size of
+        the returned font. See `wx.Window.SetWindowVariant` for more about
+        this.
+        """
+        return _controls_.StaticLine_GetClassDefaultAttributes(*args, **kwargs)
+
+    GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
 
 class StaticLinePtr(StaticLine):
     def __init__(self, this):
@@ -862,16 +1124,34 @@ def StaticLine_GetDefaultSize(*args, **kwargs):
     """StaticLine_GetDefaultSize() -> int"""
     return _controls_.StaticLine_GetDefaultSize(*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
+    to use the same font or colour in your own control as in a standard
+    control -- which is a much better idea than hard coding specific
+    colours or fonts which might look completely out of place on the
+    user's system, especially if it uses themes.
+
+    The variant parameter is only relevant under Mac currently and is
+    ignore under other platforms. Under Mac, it will change the size of
+    the returned font. See `wx.Window.SetWindowVariant` for more about
+    this.
+    """
+    return _controls_.StaticLine_GetClassDefaultAttributes(*args, **kwargs)
+
 #---------------------------------------------------------------------------
 
 class StaticText(_core.Control):
+    """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):
         """
-        __init__(self, Window parent, int id, String label, 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
@@ -881,12 +1161,30 @@ class StaticText(_core.Control):
 
     def Create(*args, **kwargs):
         """
-        Create(self, Window parent, int id, String label, Point pos=DefaultPosition
-            Size size=DefaultSize, long style=0
-            String name=StaticTextNameStr) -> bool
+        Create(self, Window parent, int id=-1, String label=EmptyString
+            Point pos=DefaultPosition, Size size=DefaultSize
+            long style=0, String name=StaticTextNameStr) -> bool
         """
         return _controls_.StaticText_Create(*args, **kwargs)
 
+    def GetClassDefaultAttributes(*args, **kwargs):
+        """
+        GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
+
+        Get the default attributes for this class.  This is useful if you want
+        to use the same font or colour in your own control as in a standard
+        control -- which is a much better idea than hard coding specific
+        colours or fonts which might look completely out of place on the
+        user's system, especially if it uses themes.
+
+        The variant parameter is only relevant under Mac currently and is
+        ignore under other platforms. Under Mac, it will change the size of
+        the returned font. See `wx.Window.SetWindowVariant` for more about
+        this.
+        """
+        return _controls_.StaticText_GetClassDefaultAttributes(*args, **kwargs)
+
+    GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
 
 class StaticTextPtr(StaticText):
     def __init__(self, this):
@@ -901,16 +1199,34 @@ def PreStaticText(*args, **kwargs):
     val.thisown = 1
     return val
 
+def StaticText_GetClassDefaultAttributes(*args, **kwargs):
+    """
+    StaticText_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
+
+    Get the default attributes for this class.  This is useful if you want
+    to use the same font or colour in your own control as in a standard
+    control -- which is a much better idea than hard coding specific
+    colours or fonts which might look completely out of place on the
+    user's system, especially if it uses themes.
+
+    The variant parameter is only relevant under Mac currently and is
+    ignore under other platforms. Under Mac, it will change the size of
+    the returned font. See `wx.Window.SetWindowVariant` for more about
+    this.
+    """
+    return _controls_.StaticText_GetClassDefaultAttributes(*args, **kwargs)
+
 #---------------------------------------------------------------------------
 
 class StaticBitmap(_core.Control):
+    """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):
         """
-        __init__(self, Window parent, int id, Bitmap bitmap, 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
@@ -920,9 +1236,9 @@ class StaticBitmap(_core.Control):
 
     def Create(*args, **kwargs):
         """
-        Create(self, Window parent, int id, Bitmap bitmap, Point pos=DefaultPosition
-            Size size=DefaultSize, long style=0
-            String name=StaticBitmapNameStr) -> bool
+        Create(self, Window parent, int id=-1, Bitmap bitmap=wxNullBitmap
+            Point pos=DefaultPosition, Size size=DefaultSize
+            long style=0, String name=StaticBitmapNameStr) -> bool
         """
         return _controls_.StaticBitmap_Create(*args, **kwargs)
 
@@ -938,6 +1254,24 @@ class StaticBitmap(_core.Control):
         """SetIcon(self, Icon icon)"""
         return _controls_.StaticBitmap_SetIcon(*args, **kwargs)
 
+    def GetClassDefaultAttributes(*args, **kwargs):
+        """
+        GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
+
+        Get the default attributes for this class.  This is useful if you want
+        to use the same font or colour in your own control as in a standard
+        control -- which is a much better idea than hard coding specific
+        colours or fonts which might look completely out of place on the
+        user's system, especially if it uses themes.
+
+        The variant parameter is only relevant under Mac currently and is
+        ignore under other platforms. Under Mac, it will change the size of
+        the returned font. See `wx.Window.SetWindowVariant` for more about
+        this.
+        """
+        return _controls_.StaticBitmap_GetClassDefaultAttributes(*args, **kwargs)
+
+    GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
 
 class StaticBitmapPtr(StaticBitmap):
     def __init__(self, this):
@@ -952,15 +1286,33 @@ def PreStaticBitmap(*args, **kwargs):
     val.thisown = 1
     return val
 
+def StaticBitmap_GetClassDefaultAttributes(*args, **kwargs):
+    """
+    StaticBitmap_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
+
+    Get the default attributes for this class.  This is useful if you want
+    to use the same font or colour in your own control as in a standard
+    control -- which is a much better idea than hard coding specific
+    colours or fonts which might look completely out of place on the
+    user's system, especially if it uses themes.
+
+    The variant parameter is only relevant under Mac currently and is
+    ignore under other platforms. Under Mac, it will change the size of
+    the returned font. See `wx.Window.SetWindowVariant` for more about
+    this.
+    """
+    return _controls_.StaticBitmap_GetClassDefaultAttributes(*args, **kwargs)
+
 #---------------------------------------------------------------------------
 
 class ListBox(_core.ControlWithItems):
+    """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):
         """
-        __init__(self, Window parent, int id, Point pos=DefaultPosition, Size size=DefaultSize
-            wxArrayString choices=wxPyEmptyStringArray, 
+        __init__(self, Window parent, int id=-1, Point pos=DefaultPosition
+            Size size=DefaultSize, wxArrayString choices=wxPyEmptyStringArray, 
             long style=0, Validator validator=DefaultValidator, 
             String name=ListBoxNameStr) -> ListBox
         """
@@ -972,8 +1324,8 @@ class ListBox(_core.ControlWithItems):
 
     def Create(*args, **kwargs):
         """
-        Create(self, Window parent, int id, Point pos=DefaultPosition, Size size=DefaultSize
-            wxArrayString choices=wxPyEmptyStringArray, 
+        Create(self, Window parent, int id=-1, Point pos=DefaultPosition
+            Size size=DefaultSize, wxArrayString choices=wxPyEmptyStringArray, 
             long style=0, Validator validator=DefaultValidator, 
             String name=ListBoxNameStr) -> bool
         """
@@ -983,7 +1335,7 @@ class ListBox(_core.ControlWithItems):
         """
         Insert(self, String item, int pos, PyObject clientData=None)
 
-        Insert an item into the control before the item at the pos index,
+        Insert an item into the control before the item at the ``pos`` index,
         optionally associating some data object with the item.
         """
         return _controls_.ListBox_Insert(*args, **kwargs)
@@ -1008,7 +1360,8 @@ class ListBox(_core.ControlWithItems):
         """
         Select(self, int n)
 
-        Sets the item at index 'n' to be the selected item.
+        This is the same as `SetSelection` and exists only because it is
+        slightly more natural for controls which support multiple selection.
         """
         return _controls_.ListBox_Select(*args, **kwargs)
 
@@ -1064,15 +1417,16 @@ class ListBox(_core.ControlWithItems):
         """
         GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
-        Get the default attributes for this class.  This is useful if
-        you want to use the same font or colour in your own control as
-        in a standard control -- which is a much better idea than hard
-        coding specific colours or fonts which might look completely out
-        of place on the users system, especially if it uses themes.
+        Get the default attributes for this class.  This is useful if you want
+        to use the same font or colour in your own control as in a standard
+        control -- which is a much better idea than hard coding specific
+        colours or fonts which might look completely out of place on the
+        user's system, especially if it uses themes.
 
         The variant parameter is only relevant under Mac currently and is
-        ignore under other platforms. Under Mac, it will change the size of the
-        returned font. See SetWindowVariant for more about this.
+        ignore under other platforms. Under Mac, it will change the size of
+        the returned font. See `wx.Window.SetWindowVariant` for more about
+        this.
         """
         return _controls_.ListBox_GetClassDefaultAttributes(*args, **kwargs)
 
@@ -1096,27 +1450,29 @@ 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 to use the same font or colour in your own control as
-    in a standard control -- which is a much better idea than hard
-    coding specific colours or fonts which might look completely out
-    of place on the users system, especially if it uses themes.
+    Get the default attributes for this class.  This is useful if you want
+    to use the same font or colour in your own control as in a standard
+    control -- which is a much better idea than hard coding specific
+    colours or fonts which might look completely out of place on the
+    user's system, especially if it uses themes.
 
     The variant parameter is only relevant under Mac currently and is
-    ignore under other platforms. Under Mac, it will change the size of the
-    returned font. See SetWindowVariant for more about this.
+    ignore under other platforms. Under Mac, it will change the size of
+    the returned font. See `wx.Window.SetWindowVariant` for more about
+    this.
     """
     return _controls_.ListBox_GetClassDefaultAttributes(*args, **kwargs)
 
 #---------------------------------------------------------------------------
 
 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):
         """
-        __init__(self, Window parent, int id, Point pos=DefaultPosition, Size size=DefaultSize
-            wxArrayString choices=wxPyEmptyStringArray, 
+        __init__(self, Window parent, int id=-1, Point pos=DefaultPosition
+            Size size=DefaultSize, wxArrayString choices=wxPyEmptyStringArray, 
             long style=0, Validator validator=DefaultValidator, 
             String name=ListBoxNameStr) -> CheckListBox
         """
@@ -1128,8 +1484,8 @@ class CheckListBox(ListBox):
 
     def Create(*args, **kwargs):
         """
-        Create(self, Window parent, int id, Point pos=DefaultPosition, Size size=DefaultSize
-            wxArrayString choices=wxPyEmptyStringArray, 
+        Create(self, Window parent, int id=-1, Point pos=DefaultPosition
+            Size size=DefaultSize, wxArrayString choices=wxPyEmptyStringArray, 
             long style=0, Validator validator=DefaultValidator, 
             String name=ListBoxNameStr) -> bool
         """
@@ -1194,9 +1550,12 @@ TE_PASSWORD = _controls_.TE_PASSWORD
 TE_AUTO_URL = _controls_.TE_AUTO_URL
 TE_NOHIDESEL = _controls_.TE_NOHIDESEL
 TE_DONTWRAP = _controls_.TE_DONTWRAP
-TE_LINEWRAP = _controls_.TE_LINEWRAP
+TE_CHARWRAP = _controls_.TE_CHARWRAP
 TE_WORDWRAP = _controls_.TE_WORDWRAP
+TE_BESTWRAP = _controls_.TE_BESTWRAP
+TE_LINEWRAP = _controls_.TE_LINEWRAP
 TE_RICH2 = _controls_.TE_RICH2
+TE_CAPITALIZE = _controls_.TE_CAPITALIZE
 TEXT_ALIGNMENT_DEFAULT = _controls_.TEXT_ALIGNMENT_DEFAULT
 TEXT_ALIGNMENT_LEFT = _controls_.TEXT_ALIGNMENT_LEFT
 TEXT_ALIGNMENT_CENTRE = _controls_.TEXT_ALIGNMENT_CENTRE
@@ -1220,16 +1579,18 @@ TE_HT_BEFORE = _controls_.TE_HT_BEFORE
 TE_HT_ON_TEXT = _controls_.TE_HT_ON_TEXT
 TE_HT_BELOW = _controls_.TE_HT_BELOW
 TE_HT_BEYOND = _controls_.TE_HT_BEYOND
+OutOfRangeTextCoord = _controls_.OutOfRangeTextCoord
+InvalidTextCoord = _controls_.InvalidTextCoord
 class TextAttr(object):
+    """Proxy of C++ TextAttr class"""
     def __repr__(self):
         return "<%s.%s; proxy of C++ wxTextAttr instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def __init__(self, *args):
+    def __init__(self, *args, **kwargs):
         """
-        __init__(self) -> TextAttr
-        __init__(self, Colour colText, 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)
+        newobj = _controls_.new_TextAttr(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
         del newobj.thisown
@@ -1264,7 +1625,7 @@ class TextAttr(object):
         return _controls_.TextAttr_SetTabs(*args, **kwargs)
 
     def SetLeftIndent(*args, **kwargs):
-        """SetLeftIndent(self, int indent)"""
+        """SetLeftIndent(self, int indent, int subIndent=0)"""
         return _controls_.TextAttr_SetLeftIndent(*args, **kwargs)
 
     def SetRightIndent(*args, **kwargs):
@@ -1331,6 +1692,10 @@ class TextAttr(object):
         """GetLeftIndent(self) -> long"""
         return _controls_.TextAttr_GetLeftIndent(*args, **kwargs)
 
+    def GetLeftSubIndent(*args, **kwargs):
+        """GetLeftSubIndent(self) -> long"""
+        return _controls_.TextAttr_GetLeftSubIndent(*args, **kwargs)
+
     def GetRightIndent(*args, **kwargs):
         """GetRightIndent(self) -> long"""
         return _controls_.TextAttr_GetRightIndent(*args, **kwargs)
@@ -1362,12 +1727,13 @@ def TextAttr_Combine(*args, **kwargs):
     return _controls_.TextAttr_Combine(*args, **kwargs)
 
 class TextCtrl(_core.Control):
+    """Proxy of C++ TextCtrl class"""
     def __repr__(self):
         return "<%s.%s; proxy of C++ wxTextCtrl instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     def __init__(self, *args, **kwargs):
         """
-        __init__(self, Window parent, int id, String value=EmptyString, Point pos=DefaultPosition
-            Size size=DefaultSize, 
+        __init__(self, Window parent, int id=-1, String value=EmptyString
+            Point pos=DefaultPosition, Size size=DefaultSize, 
             long style=0, Validator validator=DefaultValidator, 
             String name=TextCtrlNameStr) -> TextCtrl
         """
@@ -1379,8 +1745,8 @@ class TextCtrl(_core.Control):
 
     def Create(*args, **kwargs):
         """
-        Create(self, Window parent, int id, String value=EmptyString, Point pos=DefaultPosition
-            Size size=DefaultSize, 
+        Create(self, Window parent, int id=-1, String value=EmptyString
+            Point pos=DefaultPosition, Size size=DefaultSize, 
             long style=0, Validator validator=DefaultValidator, 
             String name=TextCtrlNameStr) -> bool
         """
@@ -1512,14 +1878,24 @@ class TextCtrl(_core.Control):
 
     def HitTest(*args, **kwargs):
         """
-        HitTest(Point pt) -> (result, row, col)
+        HitTest(Point pt) -> (result, col, row)
 
-        Find the character at position given in pixels.
-        NB: pt is in device coords (not adjusted for the client area
-        origin nor scrolling)
+        Find the row, col coresponding to the character at the point given in
+        pixels. NB: pt is in device coords but is not adjusted for the client
+        area origin nor scrolling.
         """
         return _controls_.TextCtrl_HitTest(*args, **kwargs)
 
+    def HitTestPos(*args, **kwargs):
+        """
+        HitTestPos(Point pt) -> (result, position)
+
+        Find the character position in the text coresponding to the point
+        given in pixels. NB: pt is in device coords but is not adjusted for
+        the client area origin nor scrolling. 
+        """
+        return _controls_.TextCtrl_HitTestPos(*args, **kwargs)
+
     def Copy(*args, **kwargs):
         """Copy(self)"""
         return _controls_.TextCtrl_Copy(*args, **kwargs)
@@ -1604,6 +1980,24 @@ class TextCtrl(_core.Control):
         """GetString(self, long from, long to) -> String"""
         return _controls_.TextCtrl_GetString(*args, **kwargs)
 
+    def GetClassDefaultAttributes(*args, **kwargs):
+        """
+        GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
+
+        Get the default attributes for this class.  This is useful if you want
+        to use the same font or colour in your own control as in a standard
+        control -- which is a much better idea than hard coding specific
+        colours or fonts which might look completely out of place on the
+        user's system, especially if it uses themes.
+
+        The variant parameter is only relevant under Mac currently and is
+        ignore under other platforms. Under Mac, it will change the size of
+        the returned font. See `wx.Window.SetWindowVariant` for more about
+        this.
+        """
+        return _controls_.TextCtrl_GetClassDefaultAttributes(*args, **kwargs)
+
+    GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
 
 class TextCtrlPtr(TextCtrl):
     def __init__(self, this):
@@ -1618,11 +2012,29 @@ def PreTextCtrl(*args, **kwargs):
     val.thisown = 1
     return val
 
+def TextCtrl_GetClassDefaultAttributes(*args, **kwargs):
+    """
+    TextCtrl_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
+
+    Get the default attributes for this class.  This is useful if you want
+    to use the same font or colour in your own control as in a standard
+    control -- which is a much better idea than hard coding specific
+    colours or fonts which might look completely out of place on the
+    user's system, especially if it uses themes.
+
+    The variant parameter is only relevant under Mac currently and is
+    ignore under other platforms. Under Mac, it will change the size of
+    the returned font. See `wx.Window.SetWindowVariant` for more about
+    this.
+    """
+    return _controls_.TextCtrl_GetClassDefaultAttributes(*args, **kwargs)
+
 wxEVT_COMMAND_TEXT_UPDATED = _controls_.wxEVT_COMMAND_TEXT_UPDATED
 wxEVT_COMMAND_TEXT_ENTER = _controls_.wxEVT_COMMAND_TEXT_ENTER
 wxEVT_COMMAND_TEXT_URL = _controls_.wxEVT_COMMAND_TEXT_URL
 wxEVT_COMMAND_TEXT_MAXLEN = _controls_.wxEVT_COMMAND_TEXT_MAXLEN
 class TextUrlEvent(_core.CommandEvent):
+    """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):
@@ -1659,6 +2071,7 @@ EVT_TEXT_MAXLEN = wx.PyEventBinder( wxEVT_COMMAND_TEXT_MAXLEN, 1)
 #---------------------------------------------------------------------------
 
 class ScrollBar(_core.Control):
+    """Proxy of C++ ScrollBar class"""
     def __repr__(self):
         return "<%s.%s; proxy of C++ wxScrollBar instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     def __init__(self, *args, **kwargs):
@@ -1714,21 +2127,27 @@ class ScrollBar(_core.Control):
             bool refresh=True)
 
         Sets the scrollbar properties of a built-in scrollbar.
+        """
+        return _controls_.ScrollBar_SetScrollbar(*args, **kwargs)
 
-            orientation: Determines the scrollbar whose page size is to be
-                         set. May be wx.HORIZONTAL or wx.VERTICAL.
-
-            position:    The position of the scrollbar in scroll units.
-
-            thumbSize:   The size of the thumb, or visible portion of the
-                         scrollbar, in scroll units.
+    def GetClassDefaultAttributes(*args, **kwargs):
+        """
+        GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
-            range:       The maximum position of the scrollbar.
+        Get the default attributes for this class.  This is useful if you want
+        to use the same font or colour in your own control as in a standard
+        control -- which is a much better idea than hard coding specific
+        colours or fonts which might look completely out of place on the
+        user's system, especially if it uses themes.
 
-            refresh:     True to redraw the scrollbar, false otherwise.
+        The variant parameter is only relevant under Mac currently and is
+        ignore under other platforms. Under Mac, it will change the size of
+        the returned font. See `wx.Window.SetWindowVariant` for more about
+        this.
         """
-        return _controls_.ScrollBar_SetScrollbar(*args, **kwargs)
+        return _controls_.ScrollBar_GetClassDefaultAttributes(*args, **kwargs)
 
+    GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
 
 class ScrollBarPtr(ScrollBar):
     def __init__(self, this):
@@ -1744,6 +2163,23 @@ def PreScrollBar(*args, **kwargs):
     val.thisown = 1
     return val
 
+def ScrollBar_GetClassDefaultAttributes(*args, **kwargs):
+    """
+    ScrollBar_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
+
+    Get the default attributes for this class.  This is useful if you want
+    to use the same font or colour in your own control as in a standard
+    control -- which is a much better idea than hard coding specific
+    colours or fonts which might look completely out of place on the
+    user's system, especially if it uses themes.
+
+    The variant parameter is only relevant under Mac currently and is
+    ignore under other platforms. Under Mac, it will change the size of
+    the returned font. See `wx.Window.SetWindowVariant` for more about
+    this.
+    """
+    return _controls_.ScrollBar_GetClassDefaultAttributes(*args, **kwargs)
+
 #---------------------------------------------------------------------------
 
 SP_HORIZONTAL = _controls_.SP_HORIZONTAL
@@ -1751,6 +2187,7 @@ SP_VERTICAL = _controls_.SP_VERTICAL
 SP_ARROW_KEYS = _controls_.SP_ARROW_KEYS
 SP_WRAP = _controls_.SP_WRAP
 class SpinButton(_core.Control):
+    """Proxy of C++ SpinButton class"""
     def __repr__(self):
         return "<%s.%s; proxy of C++ wxSpinButton instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     def __init__(self, *args, **kwargs):
@@ -1805,6 +2242,24 @@ class SpinButton(_core.Control):
         """IsVertical(self) -> bool"""
         return _controls_.SpinButton_IsVertical(*args, **kwargs)
 
+    def GetClassDefaultAttributes(*args, **kwargs):
+        """
+        GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
+
+        Get the default attributes for this class.  This is useful if you want
+        to use the same font or colour in your own control as in a standard
+        control -- which is a much better idea than hard coding specific
+        colours or fonts which might look completely out of place on the
+        user's system, especially if it uses themes.
+
+        The variant parameter is only relevant under Mac currently and is
+        ignore under other platforms. Under Mac, it will change the size of
+        the returned font. See `wx.Window.SetWindowVariant` for more about
+        this.
+        """
+        return _controls_.SpinButton_GetClassDefaultAttributes(*args, **kwargs)
+
+    GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
 
 class SpinButtonPtr(SpinButton):
     def __init__(self, this):
@@ -1821,7 +2276,25 @@ def PreSpinButton(*args, **kwargs):
     val.thisown = 1
     return val
 
+def SpinButton_GetClassDefaultAttributes(*args, **kwargs):
+    """
+    SpinButton_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
+
+    Get the default attributes for this class.  This is useful if you want
+    to use the same font or colour in your own control as in a standard
+    control -- which is a much better idea than hard coding specific
+    colours or fonts which might look completely out of place on the
+    user's system, especially if it uses themes.
+
+    The variant parameter is only relevant under Mac currently and is
+    ignore under other platforms. Under Mac, it will change the size of
+    the returned font. See `wx.Window.SetWindowVariant` for more about
+    this.
+    """
+    return _controls_.SpinButton_GetClassDefaultAttributes(*args, **kwargs)
+
 class SpinCtrl(_core.Control):
+    """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):
@@ -1874,6 +2347,24 @@ class SpinCtrl(_core.Control):
         """SetSelection(self, long from, long to)"""
         return _controls_.SpinCtrl_SetSelection(*args, **kwargs)
 
+    def GetClassDefaultAttributes(*args, **kwargs):
+        """
+        GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
+
+        Get the default attributes for this class.  This is useful if you want
+        to use the same font or colour in your own control as in a standard
+        control -- which is a much better idea than hard coding specific
+        colours or fonts which might look completely out of place on the
+        user's system, especially if it uses themes.
+
+        The variant parameter is only relevant under Mac currently and is
+        ignore under other platforms. Under Mac, it will change the size of
+        the returned font. See `wx.Window.SetWindowVariant` for more about
+        this.
+        """
+        return _controls_.SpinCtrl_GetClassDefaultAttributes(*args, **kwargs)
+
+    GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
 
 class SpinCtrlPtr(SpinCtrl):
     def __init__(self, this):
@@ -1888,7 +2379,25 @@ def PreSpinCtrl(*args, **kwargs):
     val.thisown = 1
     return val
 
+def SpinCtrl_GetClassDefaultAttributes(*args, **kwargs):
+    """
+    SpinCtrl_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
+
+    Get the default attributes for this class.  This is useful if you want
+    to use the same font or colour in your own control as in a standard
+    control -- which is a much better idea than hard coding specific
+    colours or fonts which might look completely out of place on the
+    user's system, especially if it uses themes.
+
+    The variant parameter is only relevant under Mac currently and is
+    ignore under other platforms. Under Mac, it will change the size of
+    the returned font. See `wx.Window.SetWindowVariant` for more about
+    this.
+    """
+    return _controls_.SpinCtrl_GetClassDefaultAttributes(*args, **kwargs)
+
 class SpinEvent(_core.NotifyEvent):
+    """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):
@@ -1922,14 +2431,16 @@ EVT_SPINCTRL  = wx.PyEventBinder( wxEVT_COMMAND_SPINCTRL_UPDATED, 1)
 #---------------------------------------------------------------------------
 
 class RadioBox(_core.Control):
+    """Proxy of C++ RadioBox class"""
     def __repr__(self):
         return "<%s.%s; proxy of C++ wxRadioBox instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     def __init__(self, *args, **kwargs):
         """
-        __init__(self, Window parent, int id, String label, Point pos=DefaultPosition, 
-            Size size=DefaultSize, wxArrayString choices=wxPyEmptyStringArray, 
-            int majorDimension=0, 
-            long style=RA_HORIZONTAL, Validator validator=DefaultValidator, 
+        __init__(self, Window parent, int id=-1, String label=EmptyString, 
+            Point pos=DefaultPosition, Size size=DefaultSize, 
+            wxArrayString choices=wxPyEmptyStringArray, 
+            int majorDimension=0, long style=RA_HORIZONTAL, 
+            Validator validator=DefaultValidator, 
             String name=RadioBoxNameStr) -> RadioBox
         """
         if kwargs.has_key('point'): kwargs['pos'] = kwargs['point'];del kwargs['point']
@@ -1941,10 +2452,11 @@ class RadioBox(_core.Control):
 
     def Create(*args, **kwargs):
         """
-        Create(self, Window parent, int id, String label, Point pos=DefaultPosition, 
-            Size size=DefaultSize, wxArrayString choices=wxPyEmptyStringArray, 
-            int majorDimension=0, 
-            long style=RA_HORIZONTAL, Validator validator=DefaultValidator, 
+        Create(self, Window parent, int id=-1, String label=EmptyString, 
+            Point pos=DefaultPosition, Size size=DefaultSize, 
+            wxArrayString choices=wxPyEmptyStringArray, 
+            int majorDimension=0, long style=RA_HORIZONTAL, 
+            Validator validator=DefaultValidator, 
             String name=RadioBoxNameStr) -> bool
         """
         return _controls_.RadioBox_Create(*args, **kwargs)
@@ -2003,6 +2515,24 @@ class RadioBox(_core.Control):
         """GetNextItem(self, int item, int dir, long style) -> int"""
         return _controls_.RadioBox_GetNextItem(*args, **kwargs)
 
+    def GetClassDefaultAttributes(*args, **kwargs):
+        """
+        GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
+
+        Get the default attributes for this class.  This is useful if you want
+        to use the same font or colour in your own control as in a standard
+        control -- which is a much better idea than hard coding specific
+        colours or fonts which might look completely out of place on the
+        user's system, especially if it uses themes.
+
+        The variant parameter is only relevant under Mac currently and is
+        ignore under other platforms. Under Mac, it will change the size of
+        the returned font. See `wx.Window.SetWindowVariant` for more about
+        this.
+        """
+        return _controls_.RadioBox_GetClassDefaultAttributes(*args, **kwargs)
+
+    GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
 
 class RadioBoxPtr(RadioBox):
     def __init__(self, this):
@@ -2019,16 +2549,35 @@ def PreRadioBox(*args, **kwargs):
     val.thisown = 1
     return val
 
+def RadioBox_GetClassDefaultAttributes(*args, **kwargs):
+    """
+    RadioBox_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
+
+    Get the default attributes for this class.  This is useful if you want
+    to use the same font or colour in your own control as in a standard
+    control -- which is a much better idea than hard coding specific
+    colours or fonts which might look completely out of place on the
+    user's system, especially if it uses themes.
+
+    The variant parameter is only relevant under Mac currently and is
+    ignore under other platforms. Under Mac, it will change the size of
+    the returned font. See `wx.Window.SetWindowVariant` for more about
+    this.
+    """
+    return _controls_.RadioBox_GetClassDefaultAttributes(*args, **kwargs)
+
 #---------------------------------------------------------------------------
 
 class RadioButton(_core.Control):
+    """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):
         """
-        __init__(self, Window parent, int id, String label, 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
@@ -2038,9 +2587,10 @@ class RadioButton(_core.Control):
 
     def Create(*args, **kwargs):
         """
-        Create(self, Window parent, int id, String label, Point pos=DefaultPosition, 
-            Size size=DefaultSize, long style=0, 
-            Validator validator=DefaultValidator, String name=RadioButtonNameStr) -> bool
+        Create(self, Window parent, int id=-1, String label=EmptyString, 
+            Point pos=DefaultPosition, Size size=DefaultSize, 
+            long style=0, Validator validator=DefaultValidator, 
+            String name=RadioButtonNameStr) -> bool
         """
         return _controls_.RadioButton_Create(*args, **kwargs)
 
@@ -2052,6 +2602,24 @@ class RadioButton(_core.Control):
         """SetValue(self, bool value)"""
         return _controls_.RadioButton_SetValue(*args, **kwargs)
 
+    def GetClassDefaultAttributes(*args, **kwargs):
+        """
+        GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
+
+        Get the default attributes for this class.  This is useful if you want
+        to use the same font or colour in your own control as in a standard
+        control -- which is a much better idea than hard coding specific
+        colours or fonts which might look completely out of place on the
+        user's system, especially if it uses themes.
+
+        The variant parameter is only relevant under Mac currently and is
+        ignore under other platforms. Under Mac, it will change the size of
+        the returned font. See `wx.Window.SetWindowVariant` for more about
+        this.
+        """
+        return _controls_.RadioButton_GetClassDefaultAttributes(*args, **kwargs)
+
+    GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
 
 class RadioButtonPtr(RadioButton):
     def __init__(self, this):
@@ -2066,16 +2634,46 @@ def PreRadioButton(*args, **kwargs):
     val.thisown = 1
     return val
 
+def RadioButton_GetClassDefaultAttributes(*args, **kwargs):
+    """
+    RadioButton_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
+
+    Get the default attributes for this class.  This is useful if you want
+    to use the same font or colour in your own control as in a standard
+    control -- which is a much better idea than hard coding specific
+    colours or fonts which might look completely out of place on the
+    user's system, especially if it uses themes.
+
+    The variant parameter is only relevant under Mac currently and is
+    ignore under other platforms. Under Mac, it will change the size of
+    the returned font. See `wx.Window.SetWindowVariant` for more about
+    this.
+    """
+    return _controls_.RadioButton_GetClassDefaultAttributes(*args, **kwargs)
+
 #---------------------------------------------------------------------------
 
+SL_HORIZONTAL = _controls_.SL_HORIZONTAL
+SL_VERTICAL = _controls_.SL_VERTICAL
+SL_AUTOTICKS = _controls_.SL_AUTOTICKS
+SL_LABELS = _controls_.SL_LABELS
+SL_LEFT = _controls_.SL_LEFT
+SL_TOP = _controls_.SL_TOP
+SL_RIGHT = _controls_.SL_RIGHT
+SL_BOTTOM = _controls_.SL_BOTTOM
+SL_BOTH = _controls_.SL_BOTH
+SL_SELRANGE = _controls_.SL_SELRANGE
+SL_INVERSE = _controls_.SL_INVERSE
 class Slider(_core.Control):
+    """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):
         """
-        __init__(self, Window parent, int id, int value, int minValue, int maxValue, 
-            Point pos=DefaultPosition, Size size=DefaultSize, 
-            long style=SL_HORIZONTAL, Validator validator=DefaultValidator, 
+        __init__(self, Window parent, int id=-1, int value=0, int minValue=0, 
+            int maxValue=100, Point pos=DefaultPosition, 
+            Size size=DefaultSize, long style=SL_HORIZONTAL, 
+            Validator validator=DefaultValidator, 
             String name=SliderNameStr) -> Slider
         """
         if kwargs.has_key('point'): kwargs['pos'] = kwargs['point'];del kwargs['point']
@@ -2087,9 +2685,10 @@ class Slider(_core.Control):
 
     def Create(*args, **kwargs):
         """
-        Create(self, Window parent, int id, int value, int minValue, int maxValue, 
-            Point pos=DefaultPosition, Size size=DefaultSize, 
-            long style=SL_HORIZONTAL, Validator validator=DefaultValidator, 
+        Create(self, Window parent, int id=-1, int value=0, int minValue=0, 
+            int maxValue=100, Point pos=DefaultPosition, 
+            Size size=DefaultSize, long style=SL_HORIZONTAL, 
+            Validator validator=DefaultValidator, 
             String name=SliderNameStr) -> bool
         """
         return _controls_.Slider_Create(*args, **kwargs)
@@ -2178,6 +2777,24 @@ class Slider(_core.Control):
         """SetSelection(self, int min, int max)"""
         return _controls_.Slider_SetSelection(*args, **kwargs)
 
+    def GetClassDefaultAttributes(*args, **kwargs):
+        """
+        GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
+
+        Get the default attributes for this class.  This is useful if you want
+        to use the same font or colour in your own control as in a standard
+        control -- which is a much better idea than hard coding specific
+        colours or fonts which might look completely out of place on the
+        user's system, especially if it uses themes.
+
+        The variant parameter is only relevant under Mac currently and is
+        ignore under other platforms. Under Mac, it will change the size of
+        the returned font. See `wx.Window.SetWindowVariant` for more about
+        this.
+        """
+        return _controls_.Slider_GetClassDefaultAttributes(*args, **kwargs)
+
+    GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
 
 class SliderPtr(Slider):
     def __init__(self, this):
@@ -2193,19 +2810,38 @@ def PreSlider(*args, **kwargs):
     val.thisown = 1
     return val
 
+def Slider_GetClassDefaultAttributes(*args, **kwargs):
+    """
+    Slider_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
+
+    Get the default attributes for this class.  This is useful if you want
+    to use the same font or colour in your own control as in a standard
+    control -- which is a much better idea than hard coding specific
+    colours or fonts which might look completely out of place on the
+    user's system, especially if it uses themes.
+
+    The variant parameter is only relevant under Mac currently and is
+    ignore under other platforms. Under Mac, it will change the size of
+    the returned font. See `wx.Window.SetWindowVariant` for more about
+    this.
+    """
+    return _controls_.Slider_GetClassDefaultAttributes(*args, **kwargs)
+
 #---------------------------------------------------------------------------
 
 wxEVT_COMMAND_TOGGLEBUTTON_CLICKED = _controls_.wxEVT_COMMAND_TOGGLEBUTTON_CLICKED
 EVT_TOGGLEBUTTON = wx.PyEventBinder( wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, 1)
 
 class ToggleButton(_core.Control):
+    """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):
         """
-        __init__(self, Window parent, int id, String label, 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
@@ -2215,9 +2851,10 @@ class ToggleButton(_core.Control):
 
     def Create(*args, **kwargs):
         """
-        Create(self, Window parent, int id, String label, Point pos=DefaultPosition, 
-            Size size=DefaultSize, long style=0, 
-            Validator validator=DefaultValidator, String name=ToggleButtonNameStr) -> bool
+        Create(self, Window parent, int id=-1, String label=EmptyString, 
+            Point pos=DefaultPosition, Size size=DefaultSize, 
+            long style=0, Validator validator=DefaultValidator, 
+            String name=ToggleButtonNameStr) -> bool
         """
         return _controls_.ToggleButton_Create(*args, **kwargs)
 
@@ -2237,6 +2874,24 @@ class ToggleButton(_core.Control):
         """
         return _controls_.ToggleButton_SetLabel(*args, **kwargs)
 
+    def GetClassDefaultAttributes(*args, **kwargs):
+        """
+        GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
+
+        Get the default attributes for this class.  This is useful if you want
+        to use the same font or colour in your own control as in a standard
+        control -- which is a much better idea than hard coding specific
+        colours or fonts which might look completely out of place on the
+        user's system, especially if it uses themes.
+
+        The variant parameter is only relevant under Mac currently and is
+        ignore under other platforms. Under Mac, it will change the size of
+        the returned font. See `wx.Window.SetWindowVariant` for more about
+        this.
+        """
+        return _controls_.ToggleButton_GetClassDefaultAttributes(*args, **kwargs)
+
+    GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
 
 class ToggleButtonPtr(ToggleButton):
     def __init__(self, this):
@@ -2252,135 +2907,193 @@ def PreToggleButton(*args, **kwargs):
     val.thisown = 1
     return val
 
+def ToggleButton_GetClassDefaultAttributes(*args, **kwargs):
+    """
+    ToggleButton_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
+
+    Get the default attributes for this class.  This is useful if you want
+    to use the same font or colour in your own control as in a standard
+    control -- which is a much better idea than hard coding specific
+    colours or fonts which might look completely out of place on the
+    user's system, especially if it uses themes.
+
+    The variant parameter is only relevant under Mac currently and is
+    ignore under other platforms. Under Mac, it will change the size of
+    the returned font. See `wx.Window.SetWindowVariant` for more about
+    this.
+    """
+    return _controls_.ToggleButton_GetClassDefaultAttributes(*args, **kwargs)
+
 #---------------------------------------------------------------------------
 
-class BookCtrl(_core.Control):
+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++ wxBookCtrl instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+        return "<%s.%s; proxy of C++ wxBookCtrlBase instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     def GetPageCount(*args, **kwargs):
         """GetPageCount(self) -> size_t"""
-        return _controls_.BookCtrl_GetPageCount(*args, **kwargs)
+        return _controls_.BookCtrlBase_GetPageCount(*args, **kwargs)
 
     def GetPage(*args, **kwargs):
         """GetPage(self, size_t n) -> Window"""
-        return _controls_.BookCtrl_GetPage(*args, **kwargs)
+        return _controls_.BookCtrlBase_GetPage(*args, **kwargs)
+
+    def GetCurrentPage(*args, **kwargs):
+        """GetCurrentPage(self) -> Window"""
+        return _controls_.BookCtrlBase_GetCurrentPage(*args, **kwargs)
 
     def GetSelection(*args, **kwargs):
         """GetSelection(self) -> int"""
-        return _controls_.BookCtrl_GetSelection(*args, **kwargs)
+        return _controls_.BookCtrlBase_GetSelection(*args, **kwargs)
 
     def SetPageText(*args, **kwargs):
         """SetPageText(self, size_t n, String strText) -> bool"""
-        return _controls_.BookCtrl_SetPageText(*args, **kwargs)
+        return _controls_.BookCtrlBase_SetPageText(*args, **kwargs)
 
     def GetPageText(*args, **kwargs):
         """GetPageText(self, size_t n) -> String"""
-        return _controls_.BookCtrl_GetPageText(*args, **kwargs)
+        return _controls_.BookCtrlBase_GetPageText(*args, **kwargs)
 
     def SetImageList(*args, **kwargs):
         """SetImageList(self, ImageList imageList)"""
-        return _controls_.BookCtrl_SetImageList(*args, **kwargs)
+        return _controls_.BookCtrlBase_SetImageList(*args, **kwargs)
 
     def AssignImageList(*args, **kwargs):
         """AssignImageList(self, ImageList imageList)"""
-        return _controls_.BookCtrl_AssignImageList(*args, **kwargs)
+        return _controls_.BookCtrlBase_AssignImageList(*args, **kwargs)
 
     def GetImageList(*args, **kwargs):
         """GetImageList(self) -> ImageList"""
-        return _controls_.BookCtrl_GetImageList(*args, **kwargs)
+        return _controls_.BookCtrlBase_GetImageList(*args, **kwargs)
 
     def GetPageImage(*args, **kwargs):
         """GetPageImage(self, size_t n) -> int"""
-        return _controls_.BookCtrl_GetPageImage(*args, **kwargs)
+        return _controls_.BookCtrlBase_GetPageImage(*args, **kwargs)
 
     def SetPageImage(*args, **kwargs):
         """SetPageImage(self, size_t n, int imageId) -> bool"""
-        return _controls_.BookCtrl_SetPageImage(*args, **kwargs)
+        return _controls_.BookCtrlBase_SetPageImage(*args, **kwargs)
 
     def SetPageSize(*args, **kwargs):
         """SetPageSize(self, Size size)"""
-        return _controls_.BookCtrl_SetPageSize(*args, **kwargs)
+        return _controls_.BookCtrlBase_SetPageSize(*args, **kwargs)
 
     def CalcSizeFromPage(*args, **kwargs):
         """CalcSizeFromPage(self, Size sizePage) -> Size"""
-        return _controls_.BookCtrl_CalcSizeFromPage(*args, **kwargs)
+        return _controls_.BookCtrlBase_CalcSizeFromPage(*args, **kwargs)
 
     def DeletePage(*args, **kwargs):
         """DeletePage(self, size_t n) -> bool"""
-        return _controls_.BookCtrl_DeletePage(*args, **kwargs)
+        return _controls_.BookCtrlBase_DeletePage(*args, **kwargs)
 
     def RemovePage(*args, **kwargs):
         """RemovePage(self, size_t n) -> bool"""
-        return _controls_.BookCtrl_RemovePage(*args, **kwargs)
+        return _controls_.BookCtrlBase_RemovePage(*args, **kwargs)
 
     def DeleteAllPages(*args, **kwargs):
         """DeleteAllPages(self) -> bool"""
-        return _controls_.BookCtrl_DeleteAllPages(*args, **kwargs)
+        return _controls_.BookCtrlBase_DeleteAllPages(*args, **kwargs)
 
     def AddPage(*args, **kwargs):
         """AddPage(self, Window page, String text, bool select=False, int imageId=-1) -> bool"""
-        return _controls_.BookCtrl_AddPage(*args, **kwargs)
+        return _controls_.BookCtrlBase_AddPage(*args, **kwargs)
 
     def InsertPage(*args, **kwargs):
         """
         InsertPage(self, size_t n, Window page, String text, bool select=False, 
             int imageId=-1) -> bool
         """
-        return _controls_.BookCtrl_InsertPage(*args, **kwargs)
+        return _controls_.BookCtrlBase_InsertPage(*args, **kwargs)
 
     def SetSelection(*args, **kwargs):
         """SetSelection(self, size_t n) -> int"""
-        return _controls_.BookCtrl_SetSelection(*args, **kwargs)
+        return _controls_.BookCtrlBase_SetSelection(*args, **kwargs)
 
     def AdvanceSelection(*args, **kwargs):
         """AdvanceSelection(self, bool forward=True)"""
-        return _controls_.BookCtrl_AdvanceSelection(*args, **kwargs)
+        return _controls_.BookCtrlBase_AdvanceSelection(*args, **kwargs)
+
+    def GetClassDefaultAttributes(*args, **kwargs):
+        """
+        GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
+
+        Get the default attributes for this class.  This is useful if you want
+        to use the same font or colour in your own control as in a standard
+        control -- which is a much better idea than hard coding specific
+        colours or fonts which might look completely out of place on the
+        user's system, especially if it uses themes.
+
+        The variant parameter is only relevant under Mac currently and is
+        ignore under other platforms. Under Mac, it will change the size of
+        the returned font. See `wx.Window.SetWindowVariant` for more about
+        this.
+        """
+        return _controls_.BookCtrlBase_GetClassDefaultAttributes(*args, **kwargs)
 
+    GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
 
-class BookCtrlPtr(BookCtrl):
+class BookCtrlBasePtr(BookCtrlBase):
     def __init__(self, this):
         self.this = this
         if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = BookCtrl
-_controls_.BookCtrl_swigregister(BookCtrlPtr)
-NOTEBOOK_NAME = cvar.NOTEBOOK_NAME
+        self.__class__ = BookCtrlBase
+_controls_.BookCtrlBase_swigregister(BookCtrlBasePtr)
+NotebookNameStr = cvar.NotebookNameStr
+
+def BookCtrlBase_GetClassDefaultAttributes(*args, **kwargs):
+    """
+    BookCtrlBase_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
+
+    Get the default attributes for this class.  This is useful if you want
+    to use the same font or colour in your own control as in a standard
+    control -- which is a much better idea than hard coding specific
+    colours or fonts which might look completely out of place on the
+    user's system, especially if it uses themes.
 
-class BookCtrlEvent(_core.NotifyEvent):
+    The variant parameter is only relevant under Mac currently and is
+    ignore under other platforms. Under Mac, it will change the size of
+    the returned font. See `wx.Window.SetWindowVariant` for more about
+    this.
+    """
+    return _controls_.BookCtrlBase_GetClassDefaultAttributes(*args, **kwargs)
+
+class BookCtrlBaseEvent(_core.NotifyEvent):
+    """Proxy of C++ BookCtrlBaseEvent class"""
     def __repr__(self):
-        return "<%s.%s; proxy of C++ wxBookCtrlEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+        return "<%s.%s; proxy of C++ wxBookCtrlBaseEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     def __init__(self, *args, **kwargs):
         """
         __init__(self, wxEventType commandType=wxEVT_NULL, int id=0, int nSel=-1, 
-            int nOldSel=-1) -> BookCtrlEvent
+            int nOldSel=-1) -> BookCtrlBaseEvent
         """
-        newobj = _controls_.new_BookCtrlEvent(*args, **kwargs)
+        newobj = _controls_.new_BookCtrlBaseEvent(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
         del newobj.thisown
     def GetSelection(*args, **kwargs):
         """GetSelection(self) -> int"""
-        return _controls_.BookCtrlEvent_GetSelection(*args, **kwargs)
+        return _controls_.BookCtrlBaseEvent_GetSelection(*args, **kwargs)
 
     def SetSelection(*args, **kwargs):
         """SetSelection(self, int nSel)"""
-        return _controls_.BookCtrlEvent_SetSelection(*args, **kwargs)
+        return _controls_.BookCtrlBaseEvent_SetSelection(*args, **kwargs)
 
     def GetOldSelection(*args, **kwargs):
         """GetOldSelection(self) -> int"""
-        return _controls_.BookCtrlEvent_GetOldSelection(*args, **kwargs)
+        return _controls_.BookCtrlBaseEvent_GetOldSelection(*args, **kwargs)
 
     def SetOldSelection(*args, **kwargs):
         """SetOldSelection(self, int nOldSel)"""
-        return _controls_.BookCtrlEvent_SetOldSelection(*args, **kwargs)
+        return _controls_.BookCtrlBaseEvent_SetOldSelection(*args, **kwargs)
 
 
-class BookCtrlEventPtr(BookCtrlEvent):
+class BookCtrlBaseEventPtr(BookCtrlBaseEvent):
     def __init__(self, this):
         self.this = this
         if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = BookCtrlEvent
-_controls_.BookCtrlEvent_swigregister(BookCtrlEventPtr)
+        self.__class__ = BookCtrlBaseEvent
+_controls_.BookCtrlBaseEvent_swigregister(BookCtrlBaseEventPtr)
 
 #---------------------------------------------------------------------------
 
@@ -2390,17 +3103,19 @@ NB_LEFT = _controls_.NB_LEFT
 NB_RIGHT = _controls_.NB_RIGHT
 NB_BOTTOM = _controls_.NB_BOTTOM
 NB_MULTILINE = _controls_.NB_MULTILINE
+NB_NOPAGETHEME = _controls_.NB_NOPAGETHEME
 NB_HITTEST_NOWHERE = _controls_.NB_HITTEST_NOWHERE
 NB_HITTEST_ONICON = _controls_.NB_HITTEST_ONICON
 NB_HITTEST_ONLABEL = _controls_.NB_HITTEST_ONLABEL
 NB_HITTEST_ONITEM = _controls_.NB_HITTEST_ONITEM
-class Notebook(BookCtrl):
+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):
         """
         __init__(self, Window parent, int id=-1, Point pos=DefaultPosition, 
-            Size size=DefaultSize, long style=0, String name=NOTEBOOK_NAME) -> Notebook
+            Size size=DefaultSize, long style=0, String name=NotebookNameStr) -> Notebook
         """
         newobj = _controls_.new_Notebook(*args, **kwargs)
         self.this = newobj.this
@@ -2410,8 +3125,8 @@ class Notebook(BookCtrl):
 
     def Create(*args, **kwargs):
         """
-        Create(self, Window parent, int id, Point pos=DefaultPosition, Size size=DefaultSize
-            long style=0, String name=NOTEBOOK_NAME) -> bool
+        Create(self, Window parent, int id=-1, Point pos=DefaultPosition
+            Size size=DefaultSize, long style=0, String name=NotebookNameStr) -> bool
         """
         return _controls_.Notebook_Create(*args, **kwargs)
 
@@ -2431,7 +3146,8 @@ class Notebook(BookCtrl):
         """
         HitTest(Point pt) -> (tab, where)
 
-        Returns the tab which is hit, and flags indicating where using wx.NB_HITTEST_ flags.
+        Returns the tab which is hit, and flags indicating where using
+        wx.NB_HITTEST flags.
         """
         return _controls_.Notebook_HitTest(*args, **kwargs)
 
@@ -2439,10 +3155,28 @@ class Notebook(BookCtrl):
         """CalcSizeFromPage(self, Size sizePage) -> Size"""
         return _controls_.Notebook_CalcSizeFromPage(*args, **kwargs)
 
-    def ApplyThemeBackground(*args, **kwargs):
-        """ApplyThemeBackground(self, Window window, Colour colour)"""
-        return _controls_.Notebook_ApplyThemeBackground(*args, **kwargs)
+    def GetThemeBackgroundColour(*args, **kwargs):
+        """GetThemeBackgroundColour(self) -> Colour"""
+        return _controls_.Notebook_GetThemeBackgroundColour(*args, **kwargs)
+
+    def GetClassDefaultAttributes(*args, **kwargs):
+        """
+        GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
+
+        Get the default attributes for this class.  This is useful if you want
+        to use the same font or colour in your own control as in a standard
+        control -- which is a much better idea than hard coding specific
+        colours or fonts which might look completely out of place on the
+        user's system, especially if it uses themes.
+
+        The variant parameter is only relevant under Mac currently and is
+        ignore under other platforms. Under Mac, it will change the size of
+        the returned font. See `wx.Window.SetWindowVariant` for more about
+        this.
+        """
+        return _controls_.Notebook_GetClassDefaultAttributes(*args, **kwargs)
 
+    GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
 
 class NotebookPtr(Notebook):
     def __init__(self, this):
@@ -2457,7 +3191,25 @@ def PreNotebook(*args, **kwargs):
     val.thisown = 1
     return val
 
-class NotebookEvent(BookCtrlEvent):
+def Notebook_GetClassDefaultAttributes(*args, **kwargs):
+    """
+    Notebook_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
+
+    Get the default attributes for this class.  This is useful if you want
+    to use the same font or colour in your own control as in a standard
+    control -- which is a much better idea than hard coding specific
+    colours or fonts which might look completely out of place on the
+    user's system, especially if it uses themes.
+
+    The variant parameter is only relevant under Mac currently and is
+    ignore under other platforms. Under Mac, it will change the size of
+    the returned font. See `wx.Window.SetWindowVariant` for more about
+    this.
+    """
+    return _controls_.Notebook_GetClassDefaultAttributes(*args, **kwargs)
+
+class NotebookEvent(BookCtrlBaseEvent):
+    """Proxy of C++ NotebookEvent class"""
     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):
@@ -2488,7 +3240,7 @@ EVT_NOTEBOOK_PAGE_CHANGING = wx.PyEventBinder( wxEVT_COMMAND_NOTEBOOK_PAGE_CHANG
 class NotebookPage(wx.Panel):
     """
     There is an old (and apparently unsolvable) bug when placing a
-    window with a nonstandard background colour in a wxNotebook on
+    window with a nonstandard background colour in a wx.Notebook on
     wxGTK, as the notbooks's background colour would always be used
     when the window is refreshed.  The solution is to place a panel in
     the notbook and the coloured window on the panel, sized to cover
@@ -2501,8 +3253,8 @@ class NotebookPage(wx.Panel):
                  style=wx.TAB_TRAVERSAL, name="panel"):
         wx.Panel.__init__(self, parent, id, pos, size, style, name)
         self.child = None
-        EVT_SIZE(self, self.OnSize)
-        
+        self.Bind(wx.EVT_SIZE, self.OnSize)
+
     def OnSize(self, evt):
         if self.child is None:
             children = self.GetChildren()
@@ -2521,7 +3273,8 @@ LB_BOTTOM = _controls_.LB_BOTTOM
 LB_LEFT = _controls_.LB_LEFT
 LB_RIGHT = _controls_.LB_RIGHT
 LB_ALIGN_MASK = _controls_.LB_ALIGN_MASK
-class Listbook(BookCtrl):
+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):
@@ -2537,8 +3290,8 @@ class Listbook(BookCtrl):
 
     def Create(*args, **kwargs):
         """
-        Create(self, Window parent, int id, Point pos=DefaultPosition, Size size=DefaultSize
-            long style=0, String name=EmptyString) -> bool
+        Create(self, Window parent, int id=-1, Point pos=DefaultPosition
+            Size size=DefaultSize, long style=0, String name=EmptyString) -> bool
         """
         return _controls_.Listbook_Create(*args, **kwargs)
 
@@ -2546,6 +3299,10 @@ class Listbook(BookCtrl):
         """IsVertical(self) -> bool"""
         return _controls_.Listbook_IsVertical(*args, **kwargs)
 
+    def GetListView(*args, **kwargs):
+        """GetListView(self) -> ListView"""
+        return _controls_.Listbook_GetListView(*args, **kwargs)
+
 
 class ListbookPtr(Listbook):
     def __init__(self, this):
@@ -2560,7 +3317,8 @@ def PreListbook(*args, **kwargs):
     val.thisown = 1
     return val
 
-class ListbookEvent(BookCtrlEvent):
+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):
@@ -2585,13 +3343,90 @@ wxEVT_COMMAND_LISTBOOK_PAGE_CHANGING = _controls_.wxEVT_COMMAND_LISTBOOK_PAGE_CH
 EVT_LISTBOOK_PAGE_CHANGED  = wx.PyEventBinder( wxEVT_COMMAND_LISTBOOK_PAGE_CHANGED, 1 )
 EVT_LISTBOOK_PAGE_CHANGING = wx.PyEventBinder( wxEVT_COMMAND_LISTBOOK_PAGE_CHANGING, 1 )
 
+CHB_DEFAULT = _controls_.CHB_DEFAULT
+CHB_TOP = _controls_.CHB_TOP
+CHB_BOTTOM = _controls_.CHB_BOTTOM
+CHB_LEFT = _controls_.CHB_LEFT
+CHB_RIGHT = _controls_.CHB_RIGHT
+CHB_ALIGN_MASK = _controls_.CHB_ALIGN_MASK
+class Choicebook(BookCtrlBase):
+    """Proxy of C++ Choicebook class"""
+    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):
+        """
+        __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
+        self._setOORInfo(self)
+
+    def Create(*args, **kwargs):
+        """
+        Create(self, Window parent, int id, Point pos=DefaultPosition, Size size=DefaultSize, 
+            long style=0, String name=EmptyString) -> bool
+        """
+        return _controls_.Choicebook_Create(*args, **kwargs)
+
+    def IsVertical(*args, **kwargs):
+        """IsVertical(self) -> bool"""
+        return _controls_.Choicebook_IsVertical(*args, **kwargs)
+
+    def DeleteAllPages(*args, **kwargs):
+        """DeleteAllPages(self) -> bool"""
+        return _controls_.Choicebook_DeleteAllPages(*args, **kwargs)
+
+
+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)
+
+def PreChoicebook(*args, **kwargs):
+    """PreChoicebook() -> Choicebook"""
+    val = _controls_.new_PreChoicebook(*args, **kwargs)
+    val.thisown = 1
+    return val
+
+class ChoicebookEvent(BookCtrlBaseEvent):
+    """Proxy of C++ ChoicebookEvent class"""
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxChoicebookEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """
+        __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)
+
+wxEVT_COMMAND_CHOICEBOOK_PAGE_CHANGED = _controls_.wxEVT_COMMAND_CHOICEBOOK_PAGE_CHANGED
+wxEVT_COMMAND_CHOICEBOOK_PAGE_CHANGING = _controls_.wxEVT_COMMAND_CHOICEBOOK_PAGE_CHANGING
+EVT_CHOICEBOOK_PAGE_CHANGED  = wx.PyEventBinder( wxEVT_COMMAND_CHOICEBOOK_PAGE_CHANGED, 1 )
+EVT_CHOICEBOOK_PAGE_CHANGING = wx.PyEventBinder( wxEVT_COMMAND_CHOICEBOOK_PAGE_CHANGING, 1 )
+
 #---------------------------------------------------------------------------
 
 class BookCtrlSizer(_core.Sizer):
+    """Proxy of C++ BookCtrlSizer class"""
     def __repr__(self):
         return "<%s.%s; proxy of C++ wxBookCtrlSizer instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     def __init__(self, *args, **kwargs):
-        """__init__(self, BookCtrl nb) -> BookCtrlSizer"""
+        """__init__(self, BookCtrlBase nb) -> BookCtrlSizer"""
         newobj = _controls_.new_BookCtrlSizer(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
@@ -2599,15 +3434,27 @@ class BookCtrlSizer(_core.Sizer):
         self._setOORInfo(self)
 
     def RecalcSizes(*args, **kwargs):
-        """RecalcSizes(self)"""
+        """
+        RecalcSizes(self)
+
+        Using the sizes calculated by `CalcMin` reposition and resize all the
+        items managed by this sizer.  You should not need to call this directly as
+        it is called by `Layout`.
+        """
         return _controls_.BookCtrlSizer_RecalcSizes(*args, **kwargs)
 
     def CalcMin(*args, **kwargs):
-        """CalcMin(self) -> Size"""
+        """
+        CalcMin(self) -> Size
+
+        This method is where the sizer will do the actual calculation of its
+        children's minimal sizes.  You should not need to call this directly as
+        it is called by `Layout`.
+        """
         return _controls_.BookCtrlSizer_CalcMin(*args, **kwargs)
 
     def GetControl(*args, **kwargs):
-        """GetControl(self) -> BookCtrl"""
+        """GetControl(self) -> BookCtrlBase"""
         return _controls_.BookCtrlSizer_GetControl(*args, **kwargs)
 
 
@@ -2619,6 +3466,7 @@ class BookCtrlSizerPtr(BookCtrlSizer):
 _controls_.BookCtrlSizer_swigregister(BookCtrlSizerPtr)
 
 class NotebookSizer(_core.Sizer):
+    """Proxy of C++ NotebookSizer class"""
     def __repr__(self):
         return "<%s.%s; proxy of C++ wxNotebookSizer instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     def __init__(self, *args, **kwargs):
@@ -2630,11 +3478,23 @@ class NotebookSizer(_core.Sizer):
         self._setOORInfo(self)
 
     def RecalcSizes(*args, **kwargs):
-        """RecalcSizes(self)"""
+        """
+        RecalcSizes(self)
+
+        Using the sizes calculated by `CalcMin` reposition and resize all the
+        items managed by this sizer.  You should not need to call this directly as
+        it is called by `Layout`.
+        """
         return _controls_.NotebookSizer_RecalcSizes(*args, **kwargs)
 
     def CalcMin(*args, **kwargs):
-        """CalcMin(self) -> Size"""
+        """
+        CalcMin(self) -> Size
+
+        This method is where the sizer will do the actual calculation of its
+        children's minimal sizes.  You should not need to call this directly as
+        it is called by `Layout`.
+        """
         return _controls_.NotebookSizer_CalcMin(*args, **kwargs)
 
     def GetNotebook(*args, **kwargs):
@@ -2649,6 +3509,8 @@ class NotebookSizerPtr(NotebookSizer):
         self.__class__ = NotebookSizer
 _controls_.NotebookSizer_swigregister(NotebookSizerPtr)
 
+NotebookSizer.__init__ = wx._deprecated(NotebookSizer.__init__, "NotebookSizer is no longer needed.") 
+BookCtrlSizer.__init__ = wx._deprecated(BookCtrlSizer.__init__, "BookCtrlSizer is no longer needed.") 
 #---------------------------------------------------------------------------
 
 TOOL_STYLE_BUTTON = _controls_.TOOL_STYLE_BUTTON
@@ -2666,6 +3528,7 @@ TB_NOALIGN = _controls_.TB_NOALIGN
 TB_HORZ_LAYOUT = _controls_.TB_HORZ_LAYOUT
 TB_HORZ_TEXT = _controls_.TB_HORZ_TEXT
 class ToolBarToolBase(_core.Object):
+    """Proxy of C++ ToolBarToolBase class"""
     def __init__(self): raise RuntimeError, "No constructor defined"
     def __repr__(self):
         return "<%s.%s; proxy of C++ wxToolBarToolBase instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
@@ -2799,6 +3662,7 @@ class ToolBarToolBasePtr(ToolBarToolBase):
 _controls_.ToolBarToolBase_swigregister(ToolBarToolBasePtr)
 
 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,)
@@ -2924,6 +3788,7 @@ class ToolBarBase(_core.Control):
 
     # For consistency with the backwards compatible methods above, here are
     # some non-'Label' versions of the Check and Radio methods
+
     def AddCheckTool(self, id, bitmap,
                      bmpDisabled = wx.NullBitmap,
                      shortHelp = '', longHelp = '',
@@ -3120,12 +3985,13 @@ class ToolBarBasePtr(ToolBarBase):
 _controls_.ToolBarBase_swigregister(ToolBarBasePtr)
 
 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):
         """
-        __init__(self, Window parent, int id, Point pos=DefaultPosition, Size size=DefaultSize
-            long style=wxNO_BORDER|wxTB_HORIZONTAL, 
+        __init__(self, Window parent, int id=-1, Point pos=DefaultPosition
+            Size size=DefaultSize, long style=wxNO_BORDER|wxTB_HORIZONTAL, 
             String name=wxPyToolBarNameStr) -> ToolBar
         """
         newobj = _controls_.new_ToolBar(*args, **kwargs)
@@ -3136,8 +4002,8 @@ class ToolBar(ToolBarBase):
 
     def Create(*args, **kwargs):
         """
-        Create(self, Window parent, int id, Point pos=DefaultPosition, Size size=DefaultSize
-            long style=wxNO_BORDER|wxTB_HORIZONTAL, 
+        Create(self, Window parent, int id=-1, Point pos=DefaultPosition
+            Size size=DefaultSize, long style=wxNO_BORDER|wxTB_HORIZONTAL, 
             String name=wxPyToolBarNameStr) -> bool
         """
         return _controls_.ToolBar_Create(*args, **kwargs)
@@ -3146,6 +4012,24 @@ class ToolBar(ToolBarBase):
         """FindToolForPosition(self, int x, int y) -> ToolBarToolBase"""
         return _controls_.ToolBar_FindToolForPosition(*args, **kwargs)
 
+    def GetClassDefaultAttributes(*args, **kwargs):
+        """
+        GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
+
+        Get the default attributes for this class.  This is useful if you want
+        to use the same font or colour in your own control as in a standard
+        control -- which is a much better idea than hard coding specific
+        colours or fonts which might look completely out of place on the
+        user's system, especially if it uses themes.
+
+        The variant parameter is only relevant under Mac currently and is
+        ignore under other platforms. Under Mac, it will change the size of
+        the returned font. See `wx.Window.SetWindowVariant` for more about
+        this.
+        """
+        return _controls_.ToolBar_GetClassDefaultAttributes(*args, **kwargs)
+
+    GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
 
 class ToolBarPtr(ToolBar):
     def __init__(self, this):
@@ -3160,6 +4044,23 @@ def PreToolBar(*args, **kwargs):
     val.thisown = 1
     return val
 
+def ToolBar_GetClassDefaultAttributes(*args, **kwargs):
+    """
+    ToolBar_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
+
+    Get the default attributes for this class.  This is useful if you want
+    to use the same font or colour in your own control as in a standard
+    control -- which is a much better idea than hard coding specific
+    colours or fonts which might look completely out of place on the
+    user's system, especially if it uses themes.
+
+    The variant parameter is only relevant under Mac currently and is
+    ignore under other platforms. Under Mac, it will change the size of
+    the returned font. See `wx.Window.SetWindowVariant` for more about
+    this.
+    """
+    return _controls_.ToolBar_GetClassDefaultAttributes(*args, **kwargs)
+
 #---------------------------------------------------------------------------
 
 LC_VRULES = _controls_.LC_VRULES
@@ -3233,6 +4134,7 @@ LIST_FIND_RIGHT = _controls_.LIST_FIND_RIGHT
 #---------------------------------------------------------------------------
 
 class ListItemAttr(object):
+    """Proxy of C++ ListItemAttr class"""
     def __repr__(self):
         return "<%s.%s; proxy of C++ wxListItemAttr instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     def __init__(self, *args, **kwargs):
@@ -3296,6 +4198,7 @@ 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):
@@ -3447,6 +4350,7 @@ _controls_.ListItem_swigregister(ListItemPtr)
 #---------------------------------------------------------------------------
 
 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):
@@ -3533,8 +4437,6 @@ wxEVT_COMMAND_LIST_BEGIN_LABEL_EDIT = _controls_.wxEVT_COMMAND_LIST_BEGIN_LABEL_
 wxEVT_COMMAND_LIST_END_LABEL_EDIT = _controls_.wxEVT_COMMAND_LIST_END_LABEL_EDIT
 wxEVT_COMMAND_LIST_DELETE_ITEM = _controls_.wxEVT_COMMAND_LIST_DELETE_ITEM
 wxEVT_COMMAND_LIST_DELETE_ALL_ITEMS = _controls_.wxEVT_COMMAND_LIST_DELETE_ALL_ITEMS
-wxEVT_COMMAND_LIST_GET_INFO = _controls_.wxEVT_COMMAND_LIST_GET_INFO
-wxEVT_COMMAND_LIST_SET_INFO = _controls_.wxEVT_COMMAND_LIST_SET_INFO
 wxEVT_COMMAND_LIST_ITEM_SELECTED = _controls_.wxEVT_COMMAND_LIST_ITEM_SELECTED
 wxEVT_COMMAND_LIST_ITEM_DESELECTED = _controls_.wxEVT_COMMAND_LIST_ITEM_DESELECTED
 wxEVT_COMMAND_LIST_KEY_DOWN = _controls_.wxEVT_COMMAND_LIST_KEY_DOWN
@@ -3549,6 +4451,8 @@ wxEVT_COMMAND_LIST_COL_BEGIN_DRAG = _controls_.wxEVT_COMMAND_LIST_COL_BEGIN_DRAG
 wxEVT_COMMAND_LIST_COL_DRAGGING = _controls_.wxEVT_COMMAND_LIST_COL_DRAGGING
 wxEVT_COMMAND_LIST_COL_END_DRAG = _controls_.wxEVT_COMMAND_LIST_COL_END_DRAG
 wxEVT_COMMAND_LIST_ITEM_FOCUSED = _controls_.wxEVT_COMMAND_LIST_ITEM_FOCUSED
+wxEVT_COMMAND_LIST_GET_INFO = _controls_.wxEVT_COMMAND_LIST_GET_INFO
+wxEVT_COMMAND_LIST_SET_INFO = _controls_.wxEVT_COMMAND_LIST_SET_INFO
 EVT_LIST_BEGIN_DRAG        = wx.PyEventBinder(wxEVT_COMMAND_LIST_BEGIN_DRAG       , 1)
 EVT_LIST_BEGIN_RDRAG       = wx.PyEventBinder(wxEVT_COMMAND_LIST_BEGIN_RDRAG      , 1)
 EVT_LIST_BEGIN_LABEL_EDIT  = wx.PyEventBinder(wxEVT_COMMAND_LIST_BEGIN_LABEL_EDIT , 1)
@@ -3572,9 +4476,13 @@ EVT_LIST_COL_DRAGGING      = wx.PyEventBinder(wxEVT_COMMAND_LIST_COL_DRAGGING
 EVT_LIST_COL_END_DRAG      = wx.PyEventBinder(wxEVT_COMMAND_LIST_COL_END_DRAG     , 1)
 EVT_LIST_ITEM_FOCUSED      = wx.PyEventBinder(wxEVT_COMMAND_LIST_ITEM_FOCUSED     , 1)
 
+EVT_LIST_GET_INFO = wx._deprecated(EVT_LIST_GET_INFO)
+EVT_LIST_SET_INFO = wx._deprecated(EVT_LIST_SET_INFO)
+
 #---------------------------------------------------------------------------
 
 class ListCtrl(_core.Control):
+    """Proxy of C++ ListCtrl class"""
     def __repr__(self):
         return "<%s.%s; proxy of C++ wxPyListCtrl instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     def __init__(self, *args, **kwargs):
@@ -3604,11 +4512,35 @@ class ListCtrl(_core.Control):
         return _controls_.ListCtrl__setCallbackInfo(*args, **kwargs)
 
     def SetForegroundColour(*args, **kwargs):
-        """SetForegroundColour(self, Colour col) -> bool"""
+        """
+        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"""
+        """
+        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):
@@ -3664,7 +4596,7 @@ class ListCtrl(_core.Control):
         return _controls_.ListCtrl_SetItemState(*args, **kwargs)
 
     def SetItemImage(*args, **kwargs):
-        """SetItemImage(self, long item, int image, int selImage) -> bool"""
+        """SetItemImage(self, long item, int image, int selImage=-1) -> bool"""
         return _controls_.ListCtrl_SetItemImage(*args, **kwargs)
 
     def GetItemText(*args, **kwargs):
@@ -3731,10 +4663,10 @@ class ListCtrl(_core.Control):
         """
         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.
+        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)
 
@@ -3822,8 +4754,8 @@ class ListCtrl(_core.Control):
         """
         HitTest(Point point) -> (item, where)
 
-        Determines which item (if any) is at the specified point,
-        giving details in the second return value (see wxLIST_HITTEST_... flags.)
+        Determines which item (if any) is at the specified point, giving
+         in the second return value (see wx.LIST_HITTEST flags.)
         """
         return _controls_.ListCtrl_HitTest(*args, **kwargs)
 
@@ -3905,7 +4837,7 @@ class ListCtrl(_core.Control):
 
     def IsSelected(self, idx):
         '''return True if the item is selected'''
-        return self.GetItemState(idx, wx.LIST_STATE_SELECTED) != 0
+        return (self.GetItemState(idx, wx.LIST_STATE_SELECTED) & wx.LIST_STATE_SELECTED) != 0
 
     def SetColumnImage(self, col, image):
         item = self.GetColumn(col)
@@ -3949,15 +4881,16 @@ class ListCtrl(_core.Control):
         """
         GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
-        Get the default attributes for this class.  This is useful if
-        you want to use the same font or colour in your own control as
-        in a standard control -- which is a much better idea than hard
-        coding specific colours or fonts which might look completely out
-        of place on the users system, especially if it uses themes.
+        Get the default attributes for this class.  This is useful if you want
+        to use the same font or colour in your own control as in a standard
+        control -- which is a much better idea than hard coding specific
+        colours or fonts which might look completely out of place on the
+        user's system, especially if it uses themes.
 
         The variant parameter is only relevant under Mac currently and is
-        ignore under other platforms. Under Mac, it will change the size of the
-        returned font. See SetWindowVariant for more about this.
+        ignore under other platforms. Under Mac, it will change the size of
+        the returned font. See `wx.Window.SetWindowVariant` for more about
+        this.
         """
         return _controls_.ListCtrl_GetClassDefaultAttributes(*args, **kwargs)
 
@@ -3980,21 +4913,23 @@ 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 to use the same font or colour in your own control as
-    in a standard control -- which is a much better idea than hard
-    coding specific colours or fonts which might look completely out
-    of place on the users system, especially if it uses themes.
+    Get the default attributes for this class.  This is useful if you want
+    to use the same font or colour in your own control as in a standard
+    control -- which is a much better idea than hard coding specific
+    colours or fonts which might look completely out of place on the
+    user's system, especially if it uses themes.
 
     The variant parameter is only relevant under Mac currently and is
-    ignore under other platforms. Under Mac, it will change the size of the
-    returned font. See SetWindowVariant for more about this.
+    ignore under other platforms. Under Mac, it will change the size of
+    the returned font. See `wx.Window.SetWindowVariant` for more about
+    this.
     """
     return _controls_.ListCtrl_GetClassDefaultAttributes(*args, **kwargs)
 
 #---------------------------------------------------------------------------
 
 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):
@@ -4105,6 +5040,7 @@ TREE_HITTEST_ONITEM = _controls_.TREE_HITTEST_ONITEM
 #---------------------------------------------------------------------------
 
 class TreeItemId(object):
+    """Proxy of C++ TreeItemId class"""
     def __repr__(self):
         return "<%s.%s; proxy of C++ wxTreeItemId instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     def __init__(self, *args, **kwargs):
@@ -4144,6 +5080,7 @@ _controls_.TreeItemId_swigregister(TreeItemIdPtr)
 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):
@@ -4202,6 +5139,7 @@ wxEVT_COMMAND_TREE_ITEM_MIDDLE_CLICK = _controls_.wxEVT_COMMAND_TREE_ITEM_MIDDLE
 wxEVT_COMMAND_TREE_END_DRAG = _controls_.wxEVT_COMMAND_TREE_END_DRAG
 wxEVT_COMMAND_TREE_STATE_IMAGE_CLICK = _controls_.wxEVT_COMMAND_TREE_STATE_IMAGE_CLICK
 wxEVT_COMMAND_TREE_ITEM_GETTOOLTIP = _controls_.wxEVT_COMMAND_TREE_ITEM_GETTOOLTIP
+wxEVT_COMMAND_TREE_ITEM_MENU = _controls_.wxEVT_COMMAND_TREE_ITEM_MENU
 EVT_TREE_BEGIN_DRAG        = wx.PyEventBinder(wxEVT_COMMAND_TREE_BEGIN_DRAG       , 1)
 EVT_TREE_BEGIN_RDRAG       = wx.PyEventBinder(wxEVT_COMMAND_TREE_BEGIN_RDRAG      , 1)
 EVT_TREE_BEGIN_LABEL_EDIT  = wx.PyEventBinder(wxEVT_COMMAND_TREE_BEGIN_LABEL_EDIT , 1)
@@ -4222,8 +5160,10 @@ EVT_TREE_ITEM_MIDDLE_CLICK = wx.PyEventBinder(wxEVT_COMMAND_TREE_ITEM_MIDDLE_CLI
 EVT_TREE_END_DRAG          = wx.PyEventBinder(wxEVT_COMMAND_TREE_END_DRAG         , 1)
 EVT_TREE_STATE_IMAGE_CLICK = wx.PyEventBinder(wxEVT_COMMAND_TREE_STATE_IMAGE_CLICK, 1)
 EVT_TREE_ITEM_GETTOOLTIP   = wx.PyEventBinder(wxEVT_COMMAND_TREE_ITEM_GETTOOLTIP,   1)
+EVT_COMMAND_TREE_ITEM_MENU = wx.PyEventBinder(wxEVT_COMMAND_TREE_ITEM_MENU,         1)    
 
 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):
@@ -4288,6 +5228,10 @@ class TreeEvent(_core.NotifyEvent):
         """SetToolTip(self, String toolTip)"""
         return _controls_.TreeEvent_SetToolTip(*args, **kwargs)
 
+    def GetToolTip(*args, **kwargs):
+        """GetToolTip(self) -> String"""
+        return _controls_.TreeEvent_GetToolTip(*args, **kwargs)
+
 
 class TreeEventPtr(TreeEvent):
     def __init__(self, this):
@@ -4299,6 +5243,7 @@ _controls_.TreeEvent_swigregister(TreeEventPtr)
 #---------------------------------------------------------------------------
 
 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):
@@ -4623,10 +5568,9 @@ class TreeCtrl(_core.Control):
         """
         HitTest(Point point) -> (item, where)
 
-        Determine which item (if any) belongs the given point.  The
-        coordinates specified are relative to the client area of tree ctrl
-        and the where return value is set to a bitmask of wxTREE_HITTEST_xxx
-        constants.
+        Determine which item (if any) belongs the given point.  The coordinates
+        specified are relative to the client area of tree ctrl and the where return
+        value is set to a bitmask of wxTREE_HITTEST_xxx constants.
 
         """
         return _controls_.TreeCtrl_HitTest(*args, **kwargs)
@@ -4635,19 +5579,28 @@ class TreeCtrl(_core.Control):
         """GetBoundingRect(self, TreeItemId item, bool textOnly=False) -> PyObject"""
         return _controls_.TreeCtrl_GetBoundingRect(*args, **kwargs)
 
+    def SetState(*args, **kwargs):
+        """SetState(self, TreeItemId node, int state)"""
+        return _controls_.TreeCtrl_SetState(*args, **kwargs)
+
+    def GetState(*args, **kwargs):
+        """GetState(self, TreeItemId node) -> int"""
+        return _controls_.TreeCtrl_GetState(*args, **kwargs)
+
     def GetClassDefaultAttributes(*args, **kwargs):
         """
         GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
-        Get the default attributes for this class.  This is useful if
-        you want to use the same font or colour in your own control as
-        in a standard control -- which is a much better idea than hard
-        coding specific colours or fonts which might look completely out
-        of place on the users system, especially if it uses themes.
+        Get the default attributes for this class.  This is useful if you want
+        to use the same font or colour in your own control as in a standard
+        control -- which is a much better idea than hard coding specific
+        colours or fonts which might look completely out of place on the
+        user's system, especially if it uses themes.
 
         The variant parameter is only relevant under Mac currently and is
-        ignore under other platforms. Under Mac, it will change the size of the
-        returned font. See SetWindowVariant for more about this.
+        ignore under other platforms. Under Mac, it will change the size of
+        the returned font. See `wx.Window.SetWindowVariant` for more about
+        this.
         """
         return _controls_.TreeCtrl_GetClassDefaultAttributes(*args, **kwargs)
 
@@ -4670,15 +5623,16 @@ 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 to use the same font or colour in your own control as
-    in a standard control -- which is a much better idea than hard
-    coding specific colours or fonts which might look completely out
-    of place on the users system, especially if it uses themes.
+    Get the default attributes for this class.  This is useful if you want
+    to use the same font or colour in your own control as in a standard
+    control -- which is a much better idea than hard coding specific
+    colours or fonts which might look completely out of place on the
+    user's system, especially if it uses themes.
 
     The variant parameter is only relevant under Mac currently and is
-    ignore under other platforms. Under Mac, it will change the size of the
-    returned font. See SetWindowVariant for more about this.
+    ignore under other platforms. Under Mac, it will change the size of
+    the returned font. See `wx.Window.SetWindowVariant` for more about
+    this.
     """
     return _controls_.TreeCtrl_GetClassDefaultAttributes(*args, **kwargs)
 
@@ -4690,6 +5644,7 @@ DIRCTRL_SHOW_FILTERS = _controls_.DIRCTRL_SHOW_FILTERS
 DIRCTRL_3D_INTERNAL = _controls_.DIRCTRL_3D_INTERNAL
 DIRCTRL_EDIT_LABELS = _controls_.DIRCTRL_EDIT_LABELS
 class GenericDirCtrl(_core.Control):
+    """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):
@@ -4780,9 +5735,10 @@ class GenericDirCtrl(_core.Control):
         """
         FindChild(wxTreeItemId parentId, wxString path) -> (item, done)
 
-        Find the child that matches the first part of 'path'.  E.g. if a child path is
-        "/usr" and 'path' is "/usr/include" then the child for /usr is returned.
-        If the path string has been used (we're at the leaf), done is set to True
+        Find the child that matches the first part of 'path'.  E.g. if a child
+        path is "/usr" and 'path' is "/usr/include" then the child for
+        /usr is returned.  If the path string has been used (we're at the
+        leaf), done is set to True.
 
         """
         return _controls_.GenericDirCtrl_FindChild(*args, **kwargs)
@@ -4811,6 +5767,7 @@ def PreGenericDirCtrl(*args, **kwargs):
     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):
@@ -4852,12 +5809,13 @@ def PreDirFilterListCtrl(*args, **kwargs):
 #---------------------------------------------------------------------------
 
 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):
         """
-        __init__(self, Window parent, int id, Point pos=DefaultPosition, Size size=DefaultSize
-            long style=0, Validator validator=DefaultValidator, 
+        __init__(self, Window parent, int id=-1, Point pos=DefaultPosition
+            Size size=DefaultSize, long style=0, Validator validator=DefaultValidator, 
             String name=ControlNameStr) -> PyControl
         """
         newobj = _controls_.new_PyControl(*args, **kwargs)
@@ -4870,6 +5828,10 @@ class PyControl(_core.Control):
         """_setCallbackInfo(self, PyObject self, PyObject _class)"""
         return _controls_.PyControl__setCallbackInfo(*args, **kwargs)
 
+    def SetBestSize(*args, **kwargs):
+        """SetBestSize(self, Size size)"""
+        return _controls_.PyControl_SetBestSize(*args, **kwargs)
+
     def base_DoMoveWindow(*args, **kwargs):
         """base_DoMoveWindow(self, int x, int y, int width, int height)"""
         return _controls_.PyControl_base_DoMoveWindow(*args, **kwargs)
@@ -4950,6 +5912,10 @@ class PyControl(_core.Control):
         """base_ApplyParentThemeBackground(self, Colour c)"""
         return _controls_.PyControl_base_ApplyParentThemeBackground(*args, **kwargs)
 
+    def base_GetDefaultAttributes(*args, **kwargs):
+        """base_GetDefaultAttributes(self) -> VisualAttributes"""
+        return _controls_.PyControl_base_GetDefaultAttributes(*args, **kwargs)
+
 
 class PyControlPtr(PyControl):
     def __init__(self, this):
@@ -4977,29 +5943,21 @@ EVT_DETAILED_HELP_RANGE = wx.PyEventBinder( wxEVT_DETAILED_HELP, 2)
 
 class HelpEvent(_core.CommandEvent):
     """
-    A help event is sent when the user has requested
-    context-sensitive help. This can either be caused by the
-    application requesting context-sensitive help mode via
-    wx.ContextHelp, or (on MS Windows) by the system generating a
-    WM_HELP message when the user pressed F1 or clicked on the query
-    button in a dialog caption.
-
-    A help event is sent to the window that the user clicked on, and
-    is propagated up the window hierarchy until the event is
-    processed or there are no more event handlers. The application
-    should call event.GetId to check the identity of the clicked-on
-    window, and then either show some suitable help or call
-    event.Skip if the identifier is unrecognised. Calling Skip is
-    important because it allows wxWindows to generate further events
-    for ancestors of the clicked-on window. Otherwise it would be
-    impossible to show help for container windows, since processing
-    would stop after the first window found.
-
-     Events
-        EVT_HELP            Sent when the user has requested context-
-                            sensitive help.
-        EVT_HELP_RANGE      Allows to catch EVT_HELP for a range of IDs
-
+    A help event is sent when the user has requested context-sensitive
+    help. This can either be caused by the application requesting
+    context-sensitive help mode via wx.ContextHelp, or (on MS Windows) by
+    the system generating a WM_HELP message when the user pressed F1 or
+    clicked on the query button in a dialog caption.
+
+    A help event is sent to the window that the user clicked on, and is
+    propagated up the window hierarchy until the event is processed or
+    there are no more event handlers. The application should call
+    event.GetId to check the identity of the clicked-on window, and then
+    either show some suitable help or call event.Skip if the identifier is
+    unrecognised. Calling Skip is important because it allows wxWindows to
+    generate further events for ancestors of the clicked-on
+    window. Otherwise it would be impossible to show help for container
+    windows, since processing would stop after the first window found.
     """
     def __repr__(self):
         return "<%s.%s; proxy of C++ wxHelpEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
@@ -5069,25 +6027,26 @@ _controls_.HelpEvent_swigregister(HelpEventPtr)
 
 class ContextHelp(_core.Object):
     """
-    This class changes the cursor to a query and puts the application
-    into a 'context-sensitive help mode'. When the user left-clicks
-    on a window within the specified window, a EVT_HELP event is sent
-    to that control, and the application may respond to it by popping
-    up some help.
+    This class changes the cursor to a query and puts the application into
+    a 'context-sensitive help mode'. When the user left-clicks on a window
+    within the specified window, a ``EVT_HELP`` event is sent to that
+    control, and the application may respond to it by popping up some
+    help.
 
     There are a couple of ways to invoke this behaviour implicitly:
 
-        * Use the wx.DIALOG_EX_CONTEXTHELP extended style for a
-          dialog (Windows only). This will put a question mark in the
-          titlebar, and Windows will put the application into
-          context-sensitive help mode automatically, with further
-          programming.
+        * Use the wx.DIALOG_EX_CONTEXTHELP extended style for a dialog
+          (Windows only). This will put a question mark in the titlebar,
+          and Windows will put the application into context-sensitive help
+          mode automatically, with further programming.
+
+        * Create a `wx.ContextHelpButton`, whose predefined behaviour is
+          to create a context help object. Normally you will write your
+          application so that this button is only added to a dialog for
+          non-Windows platforms (use ``wx.DIALOG_EX_CONTEXTHELP`` on
+          Windows).
 
-        * Create a wx.ContextHelpButton, whose predefined behaviour
-          is to create a context help object. Normally you will write
-          your application so that this button is only added to a
-          dialog for non-Windows platforms (use
-          wx.DIALOG_EX_CONTEXTHELP on Windows).
+    :see: `wx.ContextHelpButton`
 
     """
     def __repr__(self):
@@ -5096,8 +6055,8 @@ class ContextHelp(_core.Object):
         """
         __init__(self, Window window=None, bool doNow=True) -> ContextHelp
 
-        Constructs a context help object, calling BeginContextHelp if
-        doNow is true (the default).
+        Constructs a context help object, calling BeginContextHelp if doNow is
+        true (the default).
 
         If window is None, the top window is used.
         """
@@ -5115,13 +6074,13 @@ class ContextHelp(_core.Object):
         """
         BeginContextHelp(self, Window window=None) -> bool
 
-        Puts the application into context-sensitive help mode. window is
-        the window which will be used to catch events; if NULL, the top
-        window will be used.
+        Puts the application into context-sensitive help mode. window is the
+        window which will be used to catch events; if NULL, the top window
+        will be used.
 
         Returns true if the application was successfully put into
-        context-sensitive help mode. This function only returns when the
-        event loop has finished.
+        context-sensitive help mode. This function only returns when the event
+        loop has finished.
         """
         return _controls_.ContextHelp_BeginContextHelp(*args, **kwargs)
 
@@ -5144,16 +6103,17 @@ _controls_.ContextHelp_swigregister(ContextHelpPtr)
 
 class ContextHelpButton(BitmapButton):
     """
-    Instances of this class may be used to add a question mark button
-    that when pressed, puts the application into context-help
-    mode. It does this by creating a wx.ContextHelp object which
-    itself generates a EVT_HELP event when the user clicks on a
-    window.
+    Instances of this class may be used to add a question mark button that
+    when pressed, puts the application into context-help mode. It does
+    this by creating a wx.ContextHelp object which itself generates a
+    ``EVT_HELP`` event when the user clicks on a window.
 
-    On Windows, you may add a question-mark icon to a dialog by use
-    of the wx.DIALOG_EX_CONTEXTHELP extra style, but on other
-    platforms you will have to add a button explicitly, usually next
-    to OK, Cancel or similar buttons.
+    On Windows, you may add a question-mark icon to a dialog by use of the
+    ``wx.DIALOG_EX_CONTEXTHELP`` extra style, but on other platforms you
+    will have to add a button explicitly, usually next to OK, Cancel or
+    similar buttons.
+
+    :see: `wx.ContextHelp`, `wx.ContextHelpButton`
 
     """
     def __repr__(self):
@@ -5195,10 +6155,9 @@ class HelpProvider(object):
         """
         Set(HelpProvider helpProvider) -> HelpProvider
 
-        Sset the current, application-wide help provider. Returns the
-        previous one.  Unlike some other classes, the help provider is
-        not created on demand. This must be explicitly done by the
-        application.
+        Sset the current, application-wide help provider. Returns the previous
+        one.  Unlike some other classes, the help provider is not created on
+        demand. This must be explicitly done by the application.
         """
         return _controls_.HelpProvider_Set(*args, **kwargs)
 
@@ -5216,9 +6175,9 @@ class HelpProvider(object):
         """
         GetHelp(self, Window window) -> String
 
-        Gets the help string for this window. Its interpretation is
-        dependent on the help provider except that empty string always
-        means that no help is associated with the window.
+        Gets the help string for this window. Its interpretation is dependent
+        on the help provider except that empty string always means that no
+        help is associated with the window.
         """
         return _controls_.HelpProvider_GetHelp(*args, **kwargs)
 
@@ -5227,10 +6186,8 @@ class HelpProvider(object):
         ShowHelp(self, Window window) -> bool
 
         Shows help for the given window. Uses GetHelp internally if
-        applicable.
-
-        Returns true if it was done, or false if no help was available
-        for this window.
+        applicable. Returns True if it was done, or False if no help was
+        available for this window.
         """
         return _controls_.HelpProvider_ShowHelp(*args, **kwargs)
 
@@ -5247,8 +6204,8 @@ class HelpProvider(object):
         AddHelpById(self, int id, String text)
 
         This version associates the given text with all windows with this
-        id. May be used to set the same help string for all Cancel
-        buttons in the application, for example.
+        id. May be used to set the same help string for all Cancel buttons in
+        the application, for example.
         """
         return _controls_.HelpProvider_AddHelpById(*args, **kwargs)
 
@@ -5257,9 +6214,9 @@ class HelpProvider(object):
         RemoveHelp(self, Window window)
 
         Removes the association between the window pointer and the help
-        text. This is called by the wx.Window destructor. Without this,
-        the table of help strings will fill up and when window pointers
-        are reused, the wrong help string will be found.
+        text. This is called by the wx.Window destructor. Without this, the
+        table of help strings will fill up and when window pointers are
+        reused, the wrong help string will be found.
         """
         return _controls_.HelpProvider_RemoveHelp(*args, **kwargs)
 
@@ -5279,10 +6236,9 @@ 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.
+    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)
 
@@ -5296,9 +6252,9 @@ def HelpProvider_Get(*args, **kwargs):
 
 class SimpleHelpProvider(HelpProvider):
     """
-    wx.SimpleHelpProvider is an implementation of wx.HelpProvider
-    which supports only plain text help strings, and shows the string
-    associated with the control (if any) in a tooltip.
+    wx.SimpleHelpProvider is an implementation of `wx.HelpProvider` which
+    supports only plain text help strings, and shows the string associated
+    with the control (if any) in a tooltip.
     """
     def __repr__(self):
         return "<%s.%s; proxy of C++ wxSimpleHelpProvider instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
@@ -5306,9 +6262,9 @@ class SimpleHelpProvider(HelpProvider):
         """
         __init__(self) -> SimpleHelpProvider
 
-        wx.SimpleHelpProvider is an implementation of wx.HelpProvider
-        which supports only plain text help strings, and shows the string
-        associated with the control (if any) in a tooltip.
+        wx.SimpleHelpProvider is an implementation of `wx.HelpProvider` which
+        supports only plain text help strings, and shows the string associated
+        with the control (if any) in a tooltip.
         """
         newobj = _controls_.new_SimpleHelpProvider(*args, **kwargs)
         self.this = newobj.this
@@ -5325,6 +6281,7 @@ _controls_.SimpleHelpProvider_swigregister(SimpleHelpProviderPtr)
 #---------------------------------------------------------------------------
 
 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):
@@ -5418,4 +6375,124 @@ def DragListItem(*args, **kwargs):
     val.thisown = 1
     return val
 
+#---------------------------------------------------------------------------
+
+DP_DEFAULT = _controls_.DP_DEFAULT
+DP_SPIN = _controls_.DP_SPIN
+DP_DROPDOWN = _controls_.DP_DROPDOWN
+DP_SHOWCENTURY = _controls_.DP_SHOWCENTURY
+DP_ALLOWNONE = _controls_.DP_ALLOWNONE
+class DatePickerCtrl(_core.Control):
+    """
+    This control allows the user to select a date. Unlike
+    `wx.calendar.CalendarCtrl`, which is a relatively big control,
+    `wx.DatePickerCtrl` is implemented as a small window showing the
+    currently selected date. The control can be edited using the keyboard,
+    and can also display a popup window for more user-friendly date
+    selection, depending on the styles used and the platform.
+    """
+    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):
+        """
+        __init__(self, Window parent, int id=-1, DateTime dt=wxDefaultDateTime, 
+            Point pos=DefaultPosition, Size size=DefaultSize, 
+            long style=wxDP_DEFAULT|wxDP_SHOWCENTURY, 
+            Validator validator=DefaultValidator, 
+            String name=DatePickerCtrlNameStr) -> DatePickerCtrl
+
+        Create a new DatePickerCtrl.
+        """
+        newobj = _controls_.new_DatePickerCtrl(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+        self._setOORInfo(self)
+
+    def Create(*args, **kwargs):
+        """
+        Create(self, Window parent, int id=-1, DateTime dt=wxDefaultDateTime, 
+            Point pos=DefaultPosition, Size size=DefaultSize, 
+            long style=wxDP_DEFAULT|wxDP_SHOWCENTURY, 
+            Validator validator=DefaultValidator, 
+            String name=DatePickerCtrlNameStr) -> bool
+
+        Create the GUI parts of the DatePickerCtrl, for use in 2-phase
+        creation.
+        """
+        return _controls_.DatePickerCtrl_Create(*args, **kwargs)
+
+    def SetValue(*args, **kwargs):
+        """
+        SetValue(self, DateTime dt)
+
+        Changes the current value of the control. The date should be valid and
+        included in the currently selected range, if any.
+
+        Calling this method does not result in a date change event.
+        """
+        return _controls_.DatePickerCtrl_SetValue(*args, **kwargs)
+
+    def GetValue(*args, **kwargs):
+        """
+        GetValue(self) -> DateTime
+
+        Returns the currently selected date. If there is no selection or the
+        selection is outside of the current range, an invalid `wx.DateTime`
+        object is returned.
+        """
+        return _controls_.DatePickerCtrl_GetValue(*args, **kwargs)
+
+    def SetRange(*args, **kwargs):
+        """
+        SetRange(self, DateTime dt1, DateTime dt2)
+
+        Sets the valid range for the date selection. If dt1 is valid, it
+        becomes the earliest date (inclusive) accepted by the control. If dt2
+        is valid, it becomes the latest possible date.
+
+        If the current value of the control is outside of the newly set range
+        bounds, the behaviour is undefined.
+        """
+        return _controls_.DatePickerCtrl_SetRange(*args, **kwargs)
+
+    def GetLowerLimit(*args, **kwargs):
+        """
+        GetLowerLimit(self) -> DateTime
+
+        Get the lower limit of the valid range for the date selection, if any.
+        If there is no range or there is no lower limit, then the
+        `wx.DateTime` value returned will be invalid.
+        """
+        return _controls_.DatePickerCtrl_GetLowerLimit(*args, **kwargs)
+
+    def GetUpperLimit(*args, **kwargs):
+        """
+        GetUpperLimit(self) -> DateTime
+
+        Get the upper limit of the valid range for the date selection, if any.
+        If there is no range or there is no upper limit, then the
+        `wx.DateTime` value returned will be invalid.
+        """
+        return _controls_.DatePickerCtrl_GetUpperLimit(*args, **kwargs)
+
+
+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)
+DatePickerCtrlNameStr = cvar.DatePickerCtrlNameStr
+
+def PreDatePickerCtrl(*args, **kwargs):
+    """
+    PreDatePickerCtrl() -> DatePickerCtrl
+
+    Precreate a DatePickerCtrl for use in 2-phase creation.
+    """
+    val = _controls_.new_PreDatePickerCtrl(*args, **kwargs)
+    val.thisown = 1
+    return val
+