]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/mac/_controls.py
wxCheckListBox doesn't require wxUSE_OWNER_DRAWN when using WXUNIVERSAL
[wxWidgets.git] / wxPython / src / mac / _controls.py
index b64b37227b877e49e9b0da1dfa1ff00fcbc1416a..d7847bedba8b05d5ec602c5aac34d1bc56d87e68 100644 (file)
@@ -3,15 +3,56 @@
 
 import _controls_
 
 
 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 
 import _core
 wx = _core 
-__docfilter__ = wx.__docfilter__ 
 #---------------------------------------------------------------------------
 
 BU_LEFT = _controls_.BU_LEFT
 BU_TOP = _controls_.BU_TOP
 BU_RIGHT = _controls_.BU_RIGHT
 BU_BOTTOM = _controls_.BU_BOTTOM
 #---------------------------------------------------------------------------
 
 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):
 BU_EXACTFIT = _controls_.BU_EXACTFIT
 BU_AUTODRAW = _controls_.BU_AUTODRAW
 class Button(_core.Control):
@@ -24,11 +65,16 @@ class Button(_core.Control):
         return "<%s.%s; proxy of C++ wxButton instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     def __init__(self, *args, **kwargs):
         """
         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
         """
         newobj = _controls_.new_Button(*args, **kwargs)
         self.this = newobj.this
@@ -38,9 +84,10 @@ class Button(_core.Control):
 
     def Create(*args, **kwargs):
         """
 
     def Create(*args, **kwargs):
         """
-        Create(self, Window parent, int id, String label, Point pos=DefaultPosition, 
-            Size size=DefaultSize, long style=0, 
-            Validator validator=DefaultValidator, String name=ButtonNameStr) -> bool
+        Create(self, Window parent, int id=-1, String label=EmptyString, 
+            Point pos=DefaultPosition, Size size=DefaultSize, 
+            long style=0, Validator validator=DefaultValidator, 
+            String name=ButtonNameStr) -> bool
 
         Acutally create the GUI Button for 2-phase creation.
         """
 
         Acutally create the GUI Button for 2-phase creation.
         """
@@ -55,10 +102,32 @@ class Button(_core.Control):
         return _controls_.Button_SetDefault(*args, **kwargs)
 
     def GetDefaultSize(*args, **kwargs):
         return _controls_.Button_SetDefault(*args, **kwargs)
 
     def GetDefaultSize(*args, **kwargs):
-        """Button.GetDefaultSize() -> Size"""
+        """
+        GetDefaultSize() -> Size
+
+        Returns the default button size for this platform.
+        """
         return _controls_.Button_GetDefaultSize(*args, **kwargs)
 
     GetDefaultSize = staticmethod(GetDefaultSize)
         return _controls_.Button_GetDefaultSize(*args, **kwargs)
 
     GetDefaultSize = staticmethod(GetDefaultSize)
+    def GetClassDefaultAttributes(*args, **kwargs):
+        """
+        GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
+
+        Get the default attributes for this class.  This is useful if you want
+        to use the same font or colour in your own control as in a standard
+        control -- which is a much better idea than hard coding specific
+        colours or fonts which might look completely out of place on the
+        user's system, especially if it uses themes.
+
+        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):
 
 class ButtonPtr(Button):
     def __init__(self, this):
@@ -80,24 +149,44 @@ def PreButton(*args, **kwargs):
     return val
 
 def Button_GetDefaultSize(*args, **kwargs):
     return val
 
 def Button_GetDefaultSize(*args, **kwargs):
-    """Button_GetDefaultSize() -> Size"""
+    """
+    Button_GetDefaultSize() -> Size
+
+    Returns the default button size for this platform.
+    """
     return _controls_.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
 class BitmapButton(Button):
     """
     A Button that contains a bitmap.  A bitmap button can be supplied with a
-    single bitmap, and wxWindows will draw all button states using this bitmap. If
+    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.
     the application needs more control, additional bitmaps for the selected state,
     unpressed focused state, and greyed-out state may be supplied.
-
     """
     def __repr__(self):
         return "<%s.%s; proxy of C++ wxBitmapButton instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     def __init__(self, *args, **kwargs):
         """
     """
     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.
             String name=ButtonNameStr) -> BitmapButton
 
         Create and show a button with a bitmap for the label.
@@ -110,9 +199,9 @@ class BitmapButton(Button):
 
     def Create(*args, **kwargs):
         """
 
     def Create(*args, **kwargs):
         """
-        Create(self, Window parent, int id, Bitmap bitmap, Point pos=DefaultPosition
-            Size size=DefaultSize, long style=BU_AUTODRAW
-            Validator validator=DefaultValidator, 
+        Create(self, Window parent, int id=-1, Bitmap bitmap=wxNullBitmap
+            Point pos=DefaultPosition, Size size=DefaultSize
+            long style=BU_AUTODRAW, Validator validator=DefaultValidator, 
             String name=ButtonNameStr) -> bool
 
         Acutally create the GUI BitmapButton for 2-phase creation.
             String name=ButtonNameStr) -> bool
 
         Acutally create the GUI BitmapButton for 2-phase creation.
@@ -224,18 +313,20 @@ CHK_CHECKED = _controls_.CHK_CHECKED
 CHK_UNDETERMINED = _controls_.CHK_UNDETERMINED
 class CheckBox(_core.Control):
     """
 CHK_UNDETERMINED = _controls_.CHK_UNDETERMINED
 class CheckBox(_core.Control):
     """
-    A checkbox is a labelled box which by default is either on (checkmark is
-    visible) or off (no checkmark). Optionally (When the wxCHK_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.
+    A checkbox is a labelled box which by default is either on (the
+    checkmark is visible) or off (no checkmark). Optionally (When the
+    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.
     """
     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):
         """
     """
     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
         """
 
         Creates and shows a CheckBox control
         """
@@ -247,9 +338,10 @@ class CheckBox(_core.Control):
 
     def Create(*args, **kwargs):
         """
 
     def Create(*args, **kwargs):
         """
-        Create(self, Window parent, int id, String label, Point pos=DefaultPosition, 
-            Size size=DefaultSize, long style=0, 
-            Validator validator=DefaultValidator, String name=CheckBoxNameStr) -> bool
+        Create(self, Window parent, int id=-1, String label=EmptyString, 
+            Point pos=DefaultPosition, Size size=DefaultSize, 
+            long style=0, Validator validator=DefaultValidator, 
+            String name=CheckBoxNameStr) -> bool
 
         Actually create the GUI CheckBox for 2-phase creation.
         """
 
         Actually create the GUI CheckBox for 2-phase creation.
         """
@@ -268,7 +360,8 @@ class CheckBox(_core.Control):
         """
         IsChecked(self) -> bool
 
         """
         IsChecked(self) -> bool
 
-        Similar to GetValue, but raises an exception if it is not a 2-state CheckBox.
+        Similar to GetValue, but raises an exception if it is not a 2-state
+        CheckBox.
         """
         return _controls_.CheckBox_IsChecked(*args, **kwargs)
 
         """
         return _controls_.CheckBox_IsChecked(*args, **kwargs)
 
@@ -276,8 +369,8 @@ class CheckBox(_core.Control):
         """
         SetValue(self, bool state)
 
         """
         SetValue(self, bool state)
 
-        Set the state of a 2-state CheckBox.  Pass True for checked,
-        False for unchecked.
+        Set the state of a 2-state CheckBox.  Pass True for checked, False for
+        unchecked.
         """
         return _controls_.CheckBox_SetValue(*args, **kwargs)
 
         """
         return _controls_.CheckBox_SetValue(*args, **kwargs)
 
@@ -285,9 +378,10 @@ class CheckBox(_core.Control):
         """
         Get3StateValue(self) -> int
 
         """
         Get3StateValue(self) -> int
 
-        Returns wx.CHK_UNCHECKED when the CheckBox is unchecked, wx.CHK_CHECKED when
-        it is checked and wx.CHK_UNDETERMINED when it's in the undetermined state.
-        Raises an exceptiion when the function is used with a 2-state CheckBox.
+        Returns wx.CHK_UNCHECKED when the CheckBox is unchecked,
+        wx.CHK_CHECKED when it is checked and wx.CHK_UNDETERMINED when it's in
+        the undetermined state.  Raises an exceptiion when the function is
+        used with a 2-state CheckBox.
         """
         return _controls_.CheckBox_Get3StateValue(*args, **kwargs)
 
         """
         return _controls_.CheckBox_Get3StateValue(*args, **kwargs)
 
@@ -295,11 +389,11 @@ class CheckBox(_core.Control):
         """
         Set3StateValue(self, int state)
 
         """
         Set3StateValue(self, int state)
 
-        Sets the CheckBox to the given state.  The state parameter can be
-        one of the following: wx.CHK_UNCHECKED (Check is off), wx.CHK_CHECKED
-        (Check is on) or wx.CHK_UNDETERMINED (Check is mixed). Raises an
-        exception  when the CheckBox is a 2-state checkbox and setting the state
-        to wx.CHK_UNDETERMINED.
+        Sets the CheckBox to the given state.  The state parameter can be one
+        of the following: wx.CHK_UNCHECKED (Check is off), wx.CHK_CHECKED (the
+        Check is on) or wx.CHK_UNDETERMINED (Check is mixed). Raises an
+        exception when the CheckBox is a 2-state checkbox and setting the
+        state to wx.CHK_UNDETERMINED.
         """
         return _controls_.CheckBox_Set3StateValue(*args, **kwargs)
 
         """
         return _controls_.CheckBox_Set3StateValue(*args, **kwargs)
 
@@ -315,10 +409,29 @@ class CheckBox(_core.Control):
         """
         Is3rdStateAllowedForUser(self) -> bool
 
         """
         Is3rdStateAllowedForUser(self) -> bool
 
-        Returns whether or not the user can set the CheckBox to the third state.
+        Returns whether or not the user can set the CheckBox to the third
+        state.
         """
         return _controls_.CheckBox_Is3rdStateAllowedForUser(*args, **kwargs)
 
         """
         return _controls_.CheckBox_Is3rdStateAllowedForUser(*args, **kwargs)
 
+    def GetClassDefaultAttributes(*args, **kwargs):
+        """
+        GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
+
+        Get the default attributes for this class.  This is useful if you want
+        to use the same font or colour in your own control as in a standard
+        control -- which is a much better idea than hard coding specific
+        colours or fonts which might look completely out of place on the
+        user's system, especially if it uses themes.
+
+        The variant parameter is only relevant under Mac currently and is
+        ignore under other platforms. Under Mac, it will change the size of
+        the returned font. See `wx.Window.SetWindowVariant` for more about
+        this.
+        """
+        return _controls_.CheckBox_GetClassDefaultAttributes(*args, **kwargs)
+
+    GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
 
 class CheckBoxPtr(CheckBox):
     def __init__(self, this):
 
 class CheckBoxPtr(CheckBox):
     def __init__(self, this):
@@ -338,12 +451,30 @@ def PreCheckBox(*args, **kwargs):
     val.thisown = 1
     return val
 
     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):
     """
 #---------------------------------------------------------------------------
 
 class Choice(_core.ControlWithItems):
     """
-    A Choice control is used to select one of a list of strings. Unlike a ListBox,
-    only the selection is visible until the user pulls down the menu of choices.
+    A Choice control is used to select one of a list of strings.
+    Unlike a `wx.ListBox`, only the selection is visible until the
+    user pulls down the menu of choices.
     """
     def __repr__(self):
         return "<%s.%s; proxy of C++ wxChoice instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     """
     def __repr__(self):
         return "<%s.%s; proxy of C++ wxChoice instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
@@ -371,31 +502,24 @@ class Choice(_core.ControlWithItems):
         """
         return _controls_.Choice_Create(*args, **kwargs)
 
         """
         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):
 
 class ChoicePtr(Choice):
     def __init__(self, this):
@@ -415,13 +539,33 @@ def PreChoice(*args, **kwargs):
     val.thisown = 1
     return val
 
     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(_core.Control,_core.ItemContainer):
     """
 #---------------------------------------------------------------------------
 
 class ComboBox(_core.Control,_core.ItemContainer):
     """
-    A combobox is like a combination of an edit control and a listbox. It can be
-    displayed as static list with editable or read-only text field; or a drop-down
-    list with text field.
+    A combobox is like a combination of an edit control and a
+    listbox. It can be displayed as static list with editable or
+    read-only text field; or a drop-down list with text field.
+
+    A combobox permits a single selection only. Combobox items are
+    numbered from zero.
     """
     def __repr__(self):
         return "<%s.%s; proxy of C++ wxComboBox instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     """
     def __repr__(self):
         return "<%s.%s; proxy of C++ wxComboBox instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
@@ -429,8 +573,8 @@ class ComboBox(_core.Control,_core.ItemContainer):
         """
         __init__(Window parent, int id, String value=EmptyString,
             Point pos=DefaultPosition, Size size=DefaultSize,
         """
         __init__(Window parent, int id, String value=EmptyString,
             Point pos=DefaultPosition, Size size=DefaultSize,
-             List choices=[], long style=0, Validator validator=DefaultValidator,
-             String name=ComboBoxNameStr) -> ComboBox
+            List choices=[], long style=0, Validator validator=DefaultValidator,
+            String name=ComboBoxNameStr) -> ComboBox
 
         Constructor, creates and shows a ComboBox control.
         """
 
         Constructor, creates and shows a ComboBox control.
         """
@@ -572,6 +716,102 @@ class ComboBox(_core.Control,_core.ItemContainer):
         """
         return _controls_.ComboBox_Remove(*args, **kwargs)
 
         """
         return _controls_.ComboBox_Remove(*args, **kwargs)
 
+    def IsEditable(*args, **kwargs):
+        """
+        IsEditable(self) -> bool
+
+        Returns True if the combo is ediatable (not read-only.)
+        """
+        return _controls_.ComboBox_IsEditable(*args, **kwargs)
+
+    def Undo(*args, **kwargs):
+        """
+        Undo(self)
+
+        Redoes the last undo in the text field. Windows only.
+        """
+        return _controls_.ComboBox_Undo(*args, **kwargs)
+
+    def Redo(*args, **kwargs):
+        """
+        Redo(self)
+
+        Undoes the last edit in the text field. Windows only.
+        """
+        return _controls_.ComboBox_Redo(*args, **kwargs)
+
+    def SelectAll(*args, **kwargs):
+        """
+        SelectAll(self)
+
+        Select all the text in the combo's text field.
+        """
+        return _controls_.ComboBox_SelectAll(*args, **kwargs)
+
+    def CanCopy(*args, **kwargs):
+        """
+        CanCopy(self) -> bool
+
+        Returns True if the combobox is editable and there is a text selection
+        to copy to the clipboard.  Only available on Windows.
+        """
+        return _controls_.ComboBox_CanCopy(*args, **kwargs)
+
+    def CanCut(*args, **kwargs):
+        """
+        CanCut(self) -> bool
+
+        Returns True if the combobox is editable and there is a text selection
+        to copy to the clipboard.  Only available on Windows.
+        """
+        return _controls_.ComboBox_CanCut(*args, **kwargs)
+
+    def CanPaste(*args, **kwargs):
+        """
+        CanPaste(self) -> bool
+
+        Returns True if the combobox is editable and there is text on the
+        clipboard that can be pasted into the text field. Only available on
+        Windows.
+        """
+        return _controls_.ComboBox_CanPaste(*args, **kwargs)
+
+    def CanUndo(*args, **kwargs):
+        """
+        CanUndo(self) -> bool
+
+        Returns True if the combobox is editable and the last edit can be
+        undone.  Only available on Windows.
+        """
+        return _controls_.ComboBox_CanUndo(*args, **kwargs)
+
+    def CanRedo(*args, **kwargs):
+        """
+        CanRedo(self) -> bool
+
+        Returns True if the combobox is editable and the last undo can be
+        redone.  Only available on Windows.
+        """
+        return _controls_.ComboBox_CanRedo(*args, **kwargs)
+
+    def GetClassDefaultAttributes(*args, **kwargs):
+        """
+        GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
+
+        Get the default attributes for this class.  This is useful if you want
+        to use the same font or colour in your own control as in a standard
+        control -- which is a much better idea than hard coding specific
+        colours or fonts which might look completely out of place on the
+        user's system, especially if it uses themes.
+
+        The variant parameter is only relevant under Mac currently and is
+        ignore under other platforms. Under Mac, it will change the size of
+        the returned font. See `wx.Window.SetWindowVariant` for more about
+        this.
+        """
+        return _controls_.ComboBox_GetClassDefaultAttributes(*args, **kwargs)
+
+    GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
 
 class ComboBoxPtr(ComboBox):
     def __init__(self, this):
 
 class ComboBoxPtr(ComboBox):
     def __init__(self, this):
@@ -591,6 +831,23 @@ def PreComboBox(*args, **kwargs):
     val.thisown = 1
     return val
 
     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
 #---------------------------------------------------------------------------
 
 GA_HORIZONTAL = _controls_.GA_HORIZONTAL
@@ -598,11 +855,12 @@ GA_VERTICAL = _controls_.GA_VERTICAL
 GA_SMOOTH = _controls_.GA_SMOOTH
 GA_PROGRESSBAR = _controls_.GA_PROGRESSBAR
 class Gauge(_core.Control):
 GA_SMOOTH = _controls_.GA_SMOOTH
 GA_PROGRESSBAR = _controls_.GA_PROGRESSBAR
 class Gauge(_core.Control):
+    """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):
         """
     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
             Size size=DefaultSize, long style=GA_HORIZONTAL, 
             Validator validator=DefaultValidator, 
             String name=GaugeNameStr) -> Gauge
@@ -615,7 +873,7 @@ class Gauge(_core.Control):
 
     def Create(*args, **kwargs):
         """
 
     def Create(*args, **kwargs):
         """
-        Create(self, Window parent, int id, int range, Point pos=DefaultPosition, 
+        Create(self, Window parent, int id=-1, int range=100, Point pos=DefaultPosition, 
             Size size=DefaultSize, long style=GA_HORIZONTAL, 
             Validator validator=DefaultValidator, 
             String name=GaugeNameStr) -> bool
             Size size=DefaultSize, long style=GA_HORIZONTAL, 
             Validator validator=DefaultValidator, 
             String name=GaugeNameStr) -> bool
@@ -658,6 +916,24 @@ class Gauge(_core.Control):
         """GetBezelFace(self) -> int"""
         return _controls_.Gauge_GetBezelFace(*args, **kwargs)
 
         """GetBezelFace(self) -> int"""
         return _controls_.Gauge_GetBezelFace(*args, **kwargs)
 
+    def GetClassDefaultAttributes(*args, **kwargs):
+        """
+        GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
+
+        Get the default attributes for this class.  This is useful if you want
+        to use the same font or colour in your own control as in a standard
+        control -- which is a much better idea than hard coding specific
+        colours or fonts which might look completely out of place on the
+        user's system, especially if it uses themes.
+
+        The variant parameter is only relevant under Mac currently and is
+        ignore under other platforms. Under Mac, it will change the size of
+        the returned font. See `wx.Window.SetWindowVariant` for more about
+        this.
+        """
+        return _controls_.Gauge_GetClassDefaultAttributes(*args, **kwargs)
+
+    GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
 
 class GaugePtr(Gauge):
     def __init__(self, this):
 
 class GaugePtr(Gauge):
     def __init__(self, this):
@@ -673,16 +949,34 @@ def PreGauge(*args, **kwargs):
     val.thisown = 1
     return val
 
     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):
 #---------------------------------------------------------------------------
 
 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):
         """
     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
         """
         newobj = _controls_.new_StaticBox(*args, **kwargs)
         self.this = newobj.this
@@ -692,12 +986,30 @@ class StaticBox(_core.Control):
 
     def Create(*args, **kwargs):
         """
 
     def Create(*args, **kwargs):
         """
-        Create(self, Window parent, int id, String label, Point pos=DefaultPosition
-            Size size=DefaultSize, long style=0
-            String name=StaticBoxNameStr) -> bool
+        Create(self, Window parent, int id=-1, String label=EmptyString
+            Point pos=DefaultPosition, Size size=DefaultSize
+            long style=0, String name=StaticBoxNameStr) -> bool
         """
         return _controls_.StaticBox_Create(*args, **kwargs)
 
         """
         return _controls_.StaticBox_Create(*args, **kwargs)
 
+    def GetClassDefaultAttributes(*args, **kwargs):
+        """
+        GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
+
+        Get the default attributes for this class.  This is useful if you want
+        to use the same font or colour in your own control as in a standard
+        control -- which is a much better idea than hard coding specific
+        colours or fonts which might look completely out of place on the
+        user's system, especially if it uses themes.
+
+        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):
 
 class StaticBoxPtr(StaticBox):
     def __init__(self, this):
@@ -715,15 +1027,33 @@ def PreStaticBox(*args, **kwargs):
     val.thisown = 1
     return val
 
     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):
 #---------------------------------------------------------------------------
 
 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):
         """
     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)
             String name=StaticTextNameStr) -> StaticLine
         """
         newobj = _controls_.new_StaticLine(*args, **kwargs)
@@ -734,8 +1064,8 @@ class StaticLine(_core.Control):
 
     def Create(*args, **kwargs):
         """
 
     def Create(*args, **kwargs):
         """
-        Create(self, Window parent, int id, Point pos=DefaultPosition, Size size=DefaultSize
-            long style=LI_HORIZONTAL, 
+        Create(self, Window parent, int id=-1, Point pos=DefaultPosition
+            Size size=DefaultSize, long style=LI_HORIZONTAL, 
             String name=StaticTextNameStr) -> bool
         """
         return _controls_.StaticLine_Create(*args, **kwargs)
             String name=StaticTextNameStr) -> bool
         """
         return _controls_.StaticLine_Create(*args, **kwargs)
@@ -745,10 +1075,28 @@ class StaticLine(_core.Control):
         return _controls_.StaticLine_IsVertical(*args, **kwargs)
 
     def GetDefaultSize(*args, **kwargs):
         return _controls_.StaticLine_IsVertical(*args, **kwargs)
 
     def GetDefaultSize(*args, **kwargs):
-        """StaticLine.GetDefaultSize() -> int"""
+        """GetDefaultSize() -> int"""
         return _controls_.StaticLine_GetDefaultSize(*args, **kwargs)
 
     GetDefaultSize = staticmethod(GetDefaultSize)
         return _controls_.StaticLine_GetDefaultSize(*args, **kwargs)
 
     GetDefaultSize = staticmethod(GetDefaultSize)
+    def GetClassDefaultAttributes(*args, **kwargs):
+        """
+        GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
+
+        Get the default attributes for this class.  This is useful if you want
+        to use the same font or colour in your own control as in a standard
+        control -- which is a much better idea than hard coding specific
+        colours or fonts which might look completely out of place on the
+        user's system, especially if it uses themes.
+
+        The variant parameter is only relevant under Mac currently and is
+        ignore under other platforms. Under Mac, it will change the size of
+        the returned font. See `wx.Window.SetWindowVariant` for more about
+        this.
+        """
+        return _controls_.StaticLine_GetClassDefaultAttributes(*args, **kwargs)
+
+    GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
 
 class StaticLinePtr(StaticLine):
     def __init__(self, this):
 
 class StaticLinePtr(StaticLine):
     def __init__(self, this):
@@ -767,16 +1115,34 @@ def StaticLine_GetDefaultSize(*args, **kwargs):
     """StaticLine_GetDefaultSize() -> int"""
     return _controls_.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):
 #---------------------------------------------------------------------------
 
 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):
         """
     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
         """
         newobj = _controls_.new_StaticText(*args, **kwargs)
         self.this = newobj.this
@@ -786,12 +1152,30 @@ class StaticText(_core.Control):
 
     def Create(*args, **kwargs):
         """
 
     def Create(*args, **kwargs):
         """
-        Create(self, Window parent, int id, String label, Point pos=DefaultPosition
-            Size size=DefaultSize, long style=0
-            String name=StaticTextNameStr) -> bool
+        Create(self, Window parent, int id=-1, String label=EmptyString
+            Point pos=DefaultPosition, Size size=DefaultSize
+            long style=0, String name=StaticTextNameStr) -> bool
         """
         return _controls_.StaticText_Create(*args, **kwargs)
 
         """
         return _controls_.StaticText_Create(*args, **kwargs)
 
+    def 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):
 
 class StaticTextPtr(StaticText):
     def __init__(self, this):
@@ -806,16 +1190,34 @@ def PreStaticText(*args, **kwargs):
     val.thisown = 1
     return val
 
     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):
 #---------------------------------------------------------------------------
 
 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):
         """
     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
         """
         newobj = _controls_.new_StaticBitmap(*args, **kwargs)
         self.this = newobj.this
@@ -825,9 +1227,9 @@ class StaticBitmap(_core.Control):
 
     def Create(*args, **kwargs):
         """
 
     def Create(*args, **kwargs):
         """
-        Create(self, Window parent, int id, Bitmap bitmap, Point pos=DefaultPosition
-            Size size=DefaultSize, long style=0
-            String name=StaticBitmapNameStr) -> bool
+        Create(self, Window parent, int id=-1, Bitmap bitmap=wxNullBitmap
+            Point pos=DefaultPosition, Size size=DefaultSize
+            long style=0, String name=StaticBitmapNameStr) -> bool
         """
         return _controls_.StaticBitmap_Create(*args, **kwargs)
 
         """
         return _controls_.StaticBitmap_Create(*args, **kwargs)
 
@@ -843,6 +1245,24 @@ class StaticBitmap(_core.Control):
         """SetIcon(self, Icon icon)"""
         return _controls_.StaticBitmap_SetIcon(*args, **kwargs)
 
         """SetIcon(self, Icon icon)"""
         return _controls_.StaticBitmap_SetIcon(*args, **kwargs)
 
+    def GetClassDefaultAttributes(*args, **kwargs):
+        """
+        GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
+
+        Get the default attributes for this class.  This is useful if you want
+        to use the same font or colour in your own control as in a standard
+        control -- which is a much better idea than hard coding specific
+        colours or fonts which might look completely out of place on the
+        user's system, especially if it uses themes.
+
+        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):
 
 class StaticBitmapPtr(StaticBitmap):
     def __init__(self, this):
@@ -857,15 +1277,33 @@ def PreStaticBitmap(*args, **kwargs):
     val.thisown = 1
     return val
 
     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):
 #---------------------------------------------------------------------------
 
 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):
         """
     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
         """
             long style=0, Validator validator=DefaultValidator, 
             String name=ListBoxNameStr) -> ListBox
         """
@@ -877,8 +1315,8 @@ class ListBox(_core.ControlWithItems):
 
     def Create(*args, **kwargs):
         """
 
     def Create(*args, **kwargs):
         """
-        Create(self, Window parent, int id, Point pos=DefaultPosition, Size size=DefaultSize
-            wxArrayString choices=wxPyEmptyStringArray, 
+        Create(self, Window parent, int id=-1, Point pos=DefaultPosition
+            Size size=DefaultSize, wxArrayString choices=wxPyEmptyStringArray, 
             long style=0, Validator validator=DefaultValidator, 
             String name=ListBoxNameStr) -> bool
         """
             long style=0, Validator validator=DefaultValidator, 
             String name=ListBoxNameStr) -> bool
         """
@@ -888,7 +1326,7 @@ class ListBox(_core.ControlWithItems):
         """
         Insert(self, String item, int pos, PyObject clientData=None)
 
         """
         Insert(self, String item, int pos, PyObject clientData=None)
 
-        Insert an item into the control before the item at the pos index,
+        Insert an item into the control before the item at the ``pos`` index,
         optionally associating some data object with the item.
         """
         return _controls_.ListBox_Insert(*args, **kwargs)
         optionally associating some data object with the item.
         """
         return _controls_.ListBox_Insert(*args, **kwargs)
@@ -913,7 +1351,8 @@ class ListBox(_core.ControlWithItems):
         """
         Select(self, int n)
 
         """
         Select(self, int n)
 
-        Sets the item at index 'n' to be the selected item.
+        This is the same as `SetSelection` and exists only because it is
+        slightly more natural for controls which support multiple selection.
         """
         return _controls_.ListBox_Select(*args, **kwargs)
 
         """
         return _controls_.ListBox_Select(*args, **kwargs)
 
@@ -967,17 +1406,18 @@ class ListBox(_core.ControlWithItems):
 
     def GetClassDefaultAttributes(*args, **kwargs):
         """
 
     def GetClassDefaultAttributes(*args, **kwargs):
         """
-        ListBox.GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
+        GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
 
-        Get the default attributes for this class.  This is useful if
-        you want to use the same font or colour in your own control as
-        in a standard control -- which is a much better idea than hard
-        coding specific colours or fonts which might look completely out
-        of place on the users system, especially if it uses themes.
+        Get the default attributes for this class.  This is useful if you want
+        to use the same font or colour in your own control as in a standard
+        control -- which is a much better idea than hard coding specific
+        colours or fonts which might look completely out of place on the
+        user's system, especially if it uses themes.
 
         The variant parameter is only relevant under Mac currently and is
 
         The variant parameter is only relevant under Mac currently and is
-        ignore under other platforms. Under Mac, it will change the size of the
-        returned font. See SetWindowVariant for more about this.
+        ignore under other platforms. Under Mac, it will change the size of
+        the returned font. See `wx.Window.SetWindowVariant` for more about
+        this.
         """
         return _controls_.ListBox_GetClassDefaultAttributes(*args, **kwargs)
 
         """
         return _controls_.ListBox_GetClassDefaultAttributes(*args, **kwargs)
 
@@ -1001,27 +1441,29 @@ def ListBox_GetClassDefaultAttributes(*args, **kwargs):
     """
     ListBox_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
     """
     ListBox_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
-    Get the default attributes for this class.  This is useful if
-    you want to use the same font or colour in your own control as
-    in a standard control -- which is a much better idea than hard
-    coding specific colours or fonts which might look completely out
-    of place on the users system, especially if it uses themes.
+    Get the default attributes for this class.  This is useful if you want
+    to use the same font or colour in your own control as in a standard
+    control -- which is a much better idea than hard coding specific
+    colours or fonts which might look completely out of place on the
+    user's system, especially if it uses themes.
 
     The variant parameter is only relevant under Mac currently and is
 
     The variant parameter is only relevant under Mac currently and is
-    ignore under other platforms. Under Mac, it will change the size of the
-    returned font. See SetWindowVariant for more about this.
+    ignore under other platforms. Under Mac, it will change the size of
+    the returned font. See `wx.Window.SetWindowVariant` for more about
+    this.
     """
     return _controls_.ListBox_GetClassDefaultAttributes(*args, **kwargs)
 
 #---------------------------------------------------------------------------
 
 class CheckListBox(ListBox):
     """
     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):
         """
     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
         """
             long style=0, Validator validator=DefaultValidator, 
             String name=ListBoxNameStr) -> CheckListBox
         """
@@ -1033,8 +1475,8 @@ class CheckListBox(ListBox):
 
     def Create(*args, **kwargs):
         """
 
     def Create(*args, **kwargs):
         """
-        Create(self, Window parent, int id, Point pos=DefaultPosition, Size size=DefaultSize
-            wxArrayString choices=wxPyEmptyStringArray, 
+        Create(self, Window parent, int id=-1, Point pos=DefaultPosition
+            Size size=DefaultSize, wxArrayString choices=wxPyEmptyStringArray, 
             long style=0, Validator validator=DefaultValidator, 
             String name=ListBoxNameStr) -> bool
         """
             long style=0, Validator validator=DefaultValidator, 
             String name=ListBoxNameStr) -> bool
         """
@@ -1095,9 +1537,12 @@ TE_PASSWORD = _controls_.TE_PASSWORD
 TE_AUTO_URL = _controls_.TE_AUTO_URL
 TE_NOHIDESEL = _controls_.TE_NOHIDESEL
 TE_DONTWRAP = _controls_.TE_DONTWRAP
 TE_AUTO_URL = _controls_.TE_AUTO_URL
 TE_NOHIDESEL = _controls_.TE_NOHIDESEL
 TE_DONTWRAP = _controls_.TE_DONTWRAP
-TE_LINEWRAP = _controls_.TE_LINEWRAP
+TE_CHARWRAP = _controls_.TE_CHARWRAP
 TE_WORDWRAP = _controls_.TE_WORDWRAP
 TE_WORDWRAP = _controls_.TE_WORDWRAP
+TE_BESTWRAP = _controls_.TE_BESTWRAP
+TE_LINEWRAP = _controls_.TE_LINEWRAP
 TE_RICH2 = _controls_.TE_RICH2
 TE_RICH2 = _controls_.TE_RICH2
+TE_CAPITALIZE = _controls_.TE_CAPITALIZE
 TEXT_ALIGNMENT_DEFAULT = _controls_.TEXT_ALIGNMENT_DEFAULT
 TEXT_ALIGNMENT_LEFT = _controls_.TEXT_ALIGNMENT_LEFT
 TEXT_ALIGNMENT_CENTRE = _controls_.TEXT_ALIGNMENT_CENTRE
 TEXT_ALIGNMENT_DEFAULT = _controls_.TEXT_ALIGNMENT_DEFAULT
 TEXT_ALIGNMENT_LEFT = _controls_.TEXT_ALIGNMENT_LEFT
 TEXT_ALIGNMENT_CENTRE = _controls_.TEXT_ALIGNMENT_CENTRE
@@ -1121,16 +1566,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
 TE_HT_ON_TEXT = _controls_.TE_HT_ON_TEXT
 TE_HT_BELOW = _controls_.TE_HT_BELOW
 TE_HT_BEYOND = _controls_.TE_HT_BEYOND
+OutOfRangeTextCoord = _controls_.OutOfRangeTextCoord
+InvalidTextCoord = _controls_.InvalidTextCoord
 class TextAttr(object):
 class TextAttr(object):
+    """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 __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
         self.this = newobj.this
         self.thisown = 1
         del newobj.thisown
@@ -1165,7 +1612,7 @@ class TextAttr(object):
         return _controls_.TextAttr_SetTabs(*args, **kwargs)
 
     def SetLeftIndent(*args, **kwargs):
         return _controls_.TextAttr_SetTabs(*args, **kwargs)
 
     def SetLeftIndent(*args, **kwargs):
-        """SetLeftIndent(self, int indent)"""
+        """SetLeftIndent(self, int indent, int subIndent=0)"""
         return _controls_.TextAttr_SetLeftIndent(*args, **kwargs)
 
     def SetRightIndent(*args, **kwargs):
         return _controls_.TextAttr_SetLeftIndent(*args, **kwargs)
 
     def SetRightIndent(*args, **kwargs):
@@ -1232,6 +1679,10 @@ class TextAttr(object):
         """GetLeftIndent(self) -> long"""
         return _controls_.TextAttr_GetLeftIndent(*args, **kwargs)
 
         """GetLeftIndent(self) -> long"""
         return _controls_.TextAttr_GetLeftIndent(*args, **kwargs)
 
+    def GetLeftSubIndent(*args, **kwargs):
+        """GetLeftSubIndent(self) -> long"""
+        return _controls_.TextAttr_GetLeftSubIndent(*args, **kwargs)
+
     def GetRightIndent(*args, **kwargs):
         """GetRightIndent(self) -> long"""
         return _controls_.TextAttr_GetRightIndent(*args, **kwargs)
     def GetRightIndent(*args, **kwargs):
         """GetRightIndent(self) -> long"""
         return _controls_.TextAttr_GetRightIndent(*args, **kwargs)
@@ -1245,7 +1696,7 @@ class TextAttr(object):
         return _controls_.TextAttr_IsDefault(*args, **kwargs)
 
     def Combine(*args, **kwargs):
         return _controls_.TextAttr_IsDefault(*args, **kwargs)
 
     def Combine(*args, **kwargs):
-        """TextAttr.Combine(TextAttr attr, TextAttr attrDef, TextCtrl text) -> TextAttr"""
+        """Combine(TextAttr attr, TextAttr attrDef, TextCtrl text) -> TextAttr"""
         return _controls_.TextAttr_Combine(*args, **kwargs)
 
     Combine = staticmethod(Combine)
         return _controls_.TextAttr_Combine(*args, **kwargs)
 
     Combine = staticmethod(Combine)
@@ -1263,12 +1714,13 @@ def TextAttr_Combine(*args, **kwargs):
     return _controls_.TextAttr_Combine(*args, **kwargs)
 
 class TextCtrl(_core.Control):
     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):
         """
     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
         """
             long style=0, Validator validator=DefaultValidator, 
             String name=TextCtrlNameStr) -> TextCtrl
         """
@@ -1280,8 +1732,8 @@ class TextCtrl(_core.Control):
 
     def Create(*args, **kwargs):
         """
 
     def Create(*args, **kwargs):
         """
-        Create(self, Window parent, int id, String value=EmptyString, Point pos=DefaultPosition
-            Size size=DefaultSize, 
+        Create(self, Window parent, int id=-1, String value=EmptyString
+            Point pos=DefaultPosition, Size size=DefaultSize, 
             long style=0, Validator validator=DefaultValidator, 
             String name=TextCtrlNameStr) -> bool
         """
             long style=0, Validator validator=DefaultValidator, 
             String name=TextCtrlNameStr) -> bool
         """
@@ -1413,14 +1865,24 @@ class TextCtrl(_core.Control):
 
     def HitTest(*args, **kwargs):
         """
 
     def HitTest(*args, **kwargs):
         """
-        HitTest(Point pt) -> (result, row, col)
+        HitTest(Point pt) -> (result, col, row)
 
 
-        Find the character at position given in pixels.
-        NB: pt is in device coords (not adjusted for the client area
-        origin nor scrolling)
+        Find the row, col coresponding to the character at the point given in
+        pixels. NB: pt is in device coords but is not adjusted for the client
+        area origin nor scrolling.
         """
         return _controls_.TextCtrl_HitTest(*args, **kwargs)
 
         """
         return _controls_.TextCtrl_HitTest(*args, **kwargs)
 
+    def HitTestPos(*args, **kwargs):
+        """
+        HitTestPos(Point pt) -> (result, position)
+
+        Find the character position in the text coresponding to the point
+        given in pixels. NB: pt is in device coords but is not adjusted for
+        the client area origin nor scrolling. 
+        """
+        return _controls_.TextCtrl_HitTestPos(*args, **kwargs)
+
     def Copy(*args, **kwargs):
         """Copy(self)"""
         return _controls_.TextCtrl_Copy(*args, **kwargs)
     def Copy(*args, **kwargs):
         """Copy(self)"""
         return _controls_.TextCtrl_Copy(*args, **kwargs)
@@ -1497,6 +1959,24 @@ class TextCtrl(_core.Control):
         """GetString(self, long from, long to) -> String"""
         return _controls_.TextCtrl_GetString(*args, **kwargs)
 
         """GetString(self, long from, long to) -> String"""
         return _controls_.TextCtrl_GetString(*args, **kwargs)
 
+    def GetClassDefaultAttributes(*args, **kwargs):
+        """
+        GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
+
+        Get the default attributes for this class.  This is useful if you want
+        to use the same font or colour in your own control as in a standard
+        control -- which is a much better idea than hard coding specific
+        colours or fonts which might look completely out of place on the
+        user's system, especially if it uses themes.
+
+        The variant parameter is only relevant under Mac currently and is
+        ignore under other platforms. Under Mac, it will change the size of
+        the returned font. See `wx.Window.SetWindowVariant` for more about
+        this.
+        """
+        return _controls_.TextCtrl_GetClassDefaultAttributes(*args, **kwargs)
+
+    GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
 
 class TextCtrlPtr(TextCtrl):
     def __init__(self, this):
 
 class TextCtrlPtr(TextCtrl):
     def __init__(self, this):
@@ -1511,11 +1991,29 @@ def PreTextCtrl(*args, **kwargs):
     val.thisown = 1
     return val
 
     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):
 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):
     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):
@@ -1552,6 +2050,7 @@ EVT_TEXT_MAXLEN = wx.PyEventBinder( wxEVT_COMMAND_TEXT_MAXLEN, 1)
 #---------------------------------------------------------------------------
 
 class ScrollBar(_core.Control):
 #---------------------------------------------------------------------------
 
 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):
     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):
@@ -1605,23 +2104,27 @@ class ScrollBar(_core.Control):
         """
         SetScrollbar(self, int position, int thumbSize, int range, int pageSize, 
             bool refresh=True)
         """
         SetScrollbar(self, int position, int thumbSize, int range, int pageSize, 
             bool refresh=True)
+        """
+        return _controls_.ScrollBar_SetScrollbar(*args, **kwargs)
 
 
-        Sets the scrollbar properties of a built-in scrollbar.
-
-            orientation: Determines the scrollbar whose page size is to be
-                         set. May be wx.HORIZONTAL or wx.VERTICAL.
-
-            position:    The position of the scrollbar in scroll units.
-
-            thumbSize:   The size of the thumb, or visible portion of the
-                         scrollbar, in scroll units.
+    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):
 
 class ScrollBarPtr(ScrollBar):
     def __init__(self, this):
@@ -1637,6 +2140,23 @@ def PreScrollBar(*args, **kwargs):
     val.thisown = 1
     return val
 
     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
 #---------------------------------------------------------------------------
 
 SP_HORIZONTAL = _controls_.SP_HORIZONTAL
@@ -1644,6 +2164,7 @@ SP_VERTICAL = _controls_.SP_VERTICAL
 SP_ARROW_KEYS = _controls_.SP_ARROW_KEYS
 SP_WRAP = _controls_.SP_WRAP
 class SpinButton(_core.Control):
 SP_ARROW_KEYS = _controls_.SP_ARROW_KEYS
 SP_WRAP = _controls_.SP_WRAP
 class SpinButton(_core.Control):
+    """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):
     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):
@@ -1698,6 +2219,24 @@ class SpinButton(_core.Control):
         """IsVertical(self) -> bool"""
         return _controls_.SpinButton_IsVertical(*args, **kwargs)
 
         """IsVertical(self) -> bool"""
         return _controls_.SpinButton_IsVertical(*args, **kwargs)
 
+    def GetClassDefaultAttributes(*args, **kwargs):
+        """
+        GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
+
+        Get the default attributes for this class.  This is useful if you want
+        to use the same font or colour in your own control as in a standard
+        control -- which is a much better idea than hard coding specific
+        colours or fonts which might look completely out of place on the
+        user's system, especially if it uses themes.
+
+        The variant parameter is only relevant under Mac currently and is
+        ignore under other platforms. Under Mac, it will change the size of
+        the returned font. See `wx.Window.SetWindowVariant` for more about
+        this.
+        """
+        return _controls_.SpinButton_GetClassDefaultAttributes(*args, **kwargs)
+
+    GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
 
 class SpinButtonPtr(SpinButton):
     def __init__(self, this):
 
 class SpinButtonPtr(SpinButton):
     def __init__(self, this):
@@ -1714,7 +2253,25 @@ def PreSpinButton(*args, **kwargs):
     val.thisown = 1
     return val
 
     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):
 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):
     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):
@@ -1767,6 +2324,24 @@ class SpinCtrl(_core.Control):
         """SetSelection(self, long from, long to)"""
         return _controls_.SpinCtrl_SetSelection(*args, **kwargs)
 
         """SetSelection(self, long from, long to)"""
         return _controls_.SpinCtrl_SetSelection(*args, **kwargs)
 
+    def GetClassDefaultAttributes(*args, **kwargs):
+        """
+        GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
+
+        Get the default attributes for this class.  This is useful if you want
+        to use the same font or colour in your own control as in a standard
+        control -- which is a much better idea than hard coding specific
+        colours or fonts which might look completely out of place on the
+        user's system, especially if it uses themes.
+
+        The variant parameter is only relevant under Mac currently and is
+        ignore under other platforms. Under Mac, it will change the size of
+        the returned font. See `wx.Window.SetWindowVariant` for more about
+        this.
+        """
+        return _controls_.SpinCtrl_GetClassDefaultAttributes(*args, **kwargs)
+
+    GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
 
 class SpinCtrlPtr(SpinCtrl):
     def __init__(self, this):
 
 class SpinCtrlPtr(SpinCtrl):
     def __init__(self, this):
@@ -1781,7 +2356,25 @@ def PreSpinCtrl(*args, **kwargs):
     val.thisown = 1
     return val
 
     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):
 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):
     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):
@@ -1815,14 +2408,16 @@ EVT_SPINCTRL  = wx.PyEventBinder( wxEVT_COMMAND_SPINCTRL_UPDATED, 1)
 #---------------------------------------------------------------------------
 
 class RadioBox(_core.Control):
 #---------------------------------------------------------------------------
 
 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):
         """
     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']
             String name=RadioBoxNameStr) -> RadioBox
         """
         if kwargs.has_key('point'): kwargs['pos'] = kwargs['point'];del kwargs['point']
@@ -1834,10 +2429,11 @@ class RadioBox(_core.Control):
 
     def Create(*args, **kwargs):
         """
 
     def Create(*args, **kwargs):
         """
-        Create(self, Window parent, int id, String label, Point pos=DefaultPosition, 
-            Size size=DefaultSize, wxArrayString choices=wxPyEmptyStringArray, 
-            int majorDimension=0, 
-            long style=RA_HORIZONTAL, Validator validator=DefaultValidator, 
+        Create(self, Window parent, int id=-1, String label=EmptyString, 
+            Point pos=DefaultPosition, Size size=DefaultSize, 
+            wxArrayString choices=wxPyEmptyStringArray, 
+            int majorDimension=0, long style=RA_HORIZONTAL, 
+            Validator validator=DefaultValidator, 
             String name=RadioBoxNameStr) -> bool
         """
         return _controls_.RadioBox_Create(*args, **kwargs)
             String name=RadioBoxNameStr) -> bool
         """
         return _controls_.RadioBox_Create(*args, **kwargs)
@@ -1896,6 +2492,24 @@ class RadioBox(_core.Control):
         """GetNextItem(self, int item, int dir, long style) -> int"""
         return _controls_.RadioBox_GetNextItem(*args, **kwargs)
 
         """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):
 
 class RadioBoxPtr(RadioBox):
     def __init__(self, this):
@@ -1912,16 +2526,35 @@ def PreRadioBox(*args, **kwargs):
     val.thisown = 1
     return val
 
     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):
 #---------------------------------------------------------------------------
 
 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):
         """
     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
         """
         newobj = _controls_.new_RadioButton(*args, **kwargs)
         self.this = newobj.this
@@ -1931,9 +2564,10 @@ class RadioButton(_core.Control):
 
     def Create(*args, **kwargs):
         """
 
     def Create(*args, **kwargs):
         """
-        Create(self, Window parent, int id, String label, Point pos=DefaultPosition, 
-            Size size=DefaultSize, long style=0, 
-            Validator validator=DefaultValidator, String name=RadioButtonNameStr) -> bool
+        Create(self, Window parent, int id=-1, String label=EmptyString, 
+            Point pos=DefaultPosition, Size size=DefaultSize, 
+            long style=0, Validator validator=DefaultValidator, 
+            String name=RadioButtonNameStr) -> bool
         """
         return _controls_.RadioButton_Create(*args, **kwargs)
 
         """
         return _controls_.RadioButton_Create(*args, **kwargs)
 
@@ -1945,6 +2579,24 @@ class RadioButton(_core.Control):
         """SetValue(self, bool value)"""
         return _controls_.RadioButton_SetValue(*args, **kwargs)
 
         """SetValue(self, bool value)"""
         return _controls_.RadioButton_SetValue(*args, **kwargs)
 
+    def GetClassDefaultAttributes(*args, **kwargs):
+        """
+        GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
+
+        Get the default attributes for this class.  This is useful if you want
+        to use the same font or colour in your own control as in a standard
+        control -- which is a much better idea than hard coding specific
+        colours or fonts which might look completely out of place on the
+        user's system, especially if it uses themes.
+
+        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):
 
 class RadioButtonPtr(RadioButton):
     def __init__(self, this):
@@ -1959,16 +2611,47 @@ def PreRadioButton(*args, **kwargs):
     val.thisown = 1
     return val
 
     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_TICKS = _controls_.SL_TICKS
+SL_AUTOTICKS = _controls_.SL_AUTOTICKS
+SL_LABELS = _controls_.SL_LABELS
+SL_LEFT = _controls_.SL_LEFT
+SL_TOP = _controls_.SL_TOP
+SL_RIGHT = _controls_.SL_RIGHT
+SL_BOTTOM = _controls_.SL_BOTTOM
+SL_BOTH = _controls_.SL_BOTH
+SL_SELRANGE = _controls_.SL_SELRANGE
+SL_INVERSE = _controls_.SL_INVERSE
 class Slider(_core.Control):
 class Slider(_core.Control):
+    """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):
         """
     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']
             String name=SliderNameStr) -> Slider
         """
         if kwargs.has_key('point'): kwargs['pos'] = kwargs['point'];del kwargs['point']
@@ -1980,9 +2663,10 @@ class Slider(_core.Control):
 
     def Create(*args, **kwargs):
         """
 
     def Create(*args, **kwargs):
         """
-        Create(self, Window parent, int id, int value, int minValue, int maxValue, 
-            Point pos=DefaultPosition, Size size=DefaultSize, 
-            long style=SL_HORIZONTAL, Validator validator=DefaultValidator, 
+        Create(self, Window parent, int id=-1, int value=0, int minValue=0, 
+            int maxValue=100, Point pos=DefaultPosition, 
+            Size size=DefaultSize, long style=SL_HORIZONTAL, 
+            Validator validator=DefaultValidator, 
             String name=SliderNameStr) -> bool
         """
         return _controls_.Slider_Create(*args, **kwargs)
             String name=SliderNameStr) -> bool
         """
         return _controls_.Slider_Create(*args, **kwargs)
@@ -2071,6 +2755,24 @@ class Slider(_core.Control):
         """SetSelection(self, int min, int max)"""
         return _controls_.Slider_SetSelection(*args, **kwargs)
 
         """SetSelection(self, int min, int max)"""
         return _controls_.Slider_SetSelection(*args, **kwargs)
 
+    def GetClassDefaultAttributes(*args, **kwargs):
+        """
+        GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
+
+        Get the default attributes for this class.  This is useful if you want
+        to use the same font or colour in your own control as in a standard
+        control -- which is a much better idea than hard coding specific
+        colours or fonts which might look completely out of place on the
+        user's system, especially if it uses themes.
+
+        The variant parameter is only relevant under Mac currently and is
+        ignore under other platforms. Under Mac, it will change the size of
+        the returned font. See `wx.Window.SetWindowVariant` for more about
+        this.
+        """
+        return _controls_.Slider_GetClassDefaultAttributes(*args, **kwargs)
+
+    GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
 
 class SliderPtr(Slider):
     def __init__(self, this):
 
 class SliderPtr(Slider):
     def __init__(self, this):
@@ -2086,19 +2788,38 @@ def PreSlider(*args, **kwargs):
     val.thisown = 1
     return val
 
     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):
 #---------------------------------------------------------------------------
 
 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):
         """
     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
         """
         newobj = _controls_.new_ToggleButton(*args, **kwargs)
         self.this = newobj.this
@@ -2108,9 +2829,10 @@ class ToggleButton(_core.Control):
 
     def Create(*args, **kwargs):
         """
 
     def Create(*args, **kwargs):
         """
-        Create(self, Window parent, int id, String label, Point pos=DefaultPosition, 
-            Size size=DefaultSize, long style=0, 
-            Validator validator=DefaultValidator, String name=ToggleButtonNameStr) -> bool
+        Create(self, Window parent, int id=-1, String label=EmptyString, 
+            Point pos=DefaultPosition, Size size=DefaultSize, 
+            long style=0, Validator validator=DefaultValidator, 
+            String name=ToggleButtonNameStr) -> bool
         """
         return _controls_.ToggleButton_Create(*args, **kwargs)
 
         """
         return _controls_.ToggleButton_Create(*args, **kwargs)
 
@@ -2130,6 +2852,24 @@ class ToggleButton(_core.Control):
         """
         return _controls_.ToggleButton_SetLabel(*args, **kwargs)
 
         """
         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):
 
 class ToggleButtonPtr(ToggleButton):
     def __init__(self, this):
@@ -2145,135 +2885,198 @@ def PreToggleButton(*args, **kwargs):
     val.thisown = 1
     return val
 
     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):
     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"""
     def GetPageCount(*args, **kwargs):
         """GetPageCount(self) -> size_t"""
-        return _controls_.BookCtrl_GetPageCount(*args, **kwargs)
+        return _controls_.BookCtrlBase_GetPageCount(*args, **kwargs)
 
     def GetPage(*args, **kwargs):
         """GetPage(self, size_t n) -> Window"""
 
     def GetPage(*args, **kwargs):
         """GetPage(self, size_t n) -> Window"""
-        return _controls_.BookCtrl_GetPage(*args, **kwargs)
+        return _controls_.BookCtrlBase_GetPage(*args, **kwargs)
+
+    def GetCurrentPage(*args, **kwargs):
+        """GetCurrentPage(self) -> Window"""
+        return _controls_.BookCtrlBase_GetCurrentPage(*args, **kwargs)
 
     def GetSelection(*args, **kwargs):
         """GetSelection(self) -> int"""
 
     def GetSelection(*args, **kwargs):
         """GetSelection(self) -> int"""
-        return _controls_.BookCtrl_GetSelection(*args, **kwargs)
+        return _controls_.BookCtrlBase_GetSelection(*args, **kwargs)
 
     def SetPageText(*args, **kwargs):
         """SetPageText(self, size_t n, String strText) -> bool"""
 
     def SetPageText(*args, **kwargs):
         """SetPageText(self, size_t n, String strText) -> bool"""
-        return _controls_.BookCtrl_SetPageText(*args, **kwargs)
+        return _controls_.BookCtrlBase_SetPageText(*args, **kwargs)
 
     def GetPageText(*args, **kwargs):
         """GetPageText(self, size_t n) -> String"""
 
     def GetPageText(*args, **kwargs):
         """GetPageText(self, size_t n) -> String"""
-        return _controls_.BookCtrl_GetPageText(*args, **kwargs)
+        return _controls_.BookCtrlBase_GetPageText(*args, **kwargs)
 
     def SetImageList(*args, **kwargs):
         """SetImageList(self, ImageList imageList)"""
 
     def SetImageList(*args, **kwargs):
         """SetImageList(self, ImageList imageList)"""
-        return _controls_.BookCtrl_SetImageList(*args, **kwargs)
+        return _controls_.BookCtrlBase_SetImageList(*args, **kwargs)
 
     def AssignImageList(*args, **kwargs):
         """AssignImageList(self, ImageList imageList)"""
 
     def AssignImageList(*args, **kwargs):
         """AssignImageList(self, ImageList imageList)"""
-        return _controls_.BookCtrl_AssignImageList(*args, **kwargs)
+        return _controls_.BookCtrlBase_AssignImageList(*args, **kwargs)
 
     def GetImageList(*args, **kwargs):
         """GetImageList(self) -> ImageList"""
 
     def GetImageList(*args, **kwargs):
         """GetImageList(self) -> ImageList"""
-        return _controls_.BookCtrl_GetImageList(*args, **kwargs)
+        return _controls_.BookCtrlBase_GetImageList(*args, **kwargs)
 
     def GetPageImage(*args, **kwargs):
         """GetPageImage(self, size_t n) -> int"""
 
     def GetPageImage(*args, **kwargs):
         """GetPageImage(self, size_t n) -> int"""
-        return _controls_.BookCtrl_GetPageImage(*args, **kwargs)
+        return _controls_.BookCtrlBase_GetPageImage(*args, **kwargs)
 
     def SetPageImage(*args, **kwargs):
         """SetPageImage(self, size_t n, int imageId) -> bool"""
 
     def SetPageImage(*args, **kwargs):
         """SetPageImage(self, size_t n, int imageId) -> bool"""
-        return _controls_.BookCtrl_SetPageImage(*args, **kwargs)
+        return _controls_.BookCtrlBase_SetPageImage(*args, **kwargs)
 
     def SetPageSize(*args, **kwargs):
         """SetPageSize(self, Size size)"""
 
     def SetPageSize(*args, **kwargs):
         """SetPageSize(self, Size size)"""
-        return _controls_.BookCtrl_SetPageSize(*args, **kwargs)
+        return _controls_.BookCtrlBase_SetPageSize(*args, **kwargs)
 
     def CalcSizeFromPage(*args, **kwargs):
         """CalcSizeFromPage(self, Size sizePage) -> Size"""
 
     def CalcSizeFromPage(*args, **kwargs):
         """CalcSizeFromPage(self, Size sizePage) -> Size"""
-        return _controls_.BookCtrl_CalcSizeFromPage(*args, **kwargs)
+        return _controls_.BookCtrlBase_CalcSizeFromPage(*args, **kwargs)
 
     def DeletePage(*args, **kwargs):
         """DeletePage(self, size_t n) -> bool"""
 
     def DeletePage(*args, **kwargs):
         """DeletePage(self, size_t n) -> bool"""
-        return _controls_.BookCtrl_DeletePage(*args, **kwargs)
+        return _controls_.BookCtrlBase_DeletePage(*args, **kwargs)
 
     def RemovePage(*args, **kwargs):
         """RemovePage(self, size_t n) -> bool"""
 
     def RemovePage(*args, **kwargs):
         """RemovePage(self, size_t n) -> bool"""
-        return _controls_.BookCtrl_RemovePage(*args, **kwargs)
+        return _controls_.BookCtrlBase_RemovePage(*args, **kwargs)
 
     def DeleteAllPages(*args, **kwargs):
         """DeleteAllPages(self) -> bool"""
 
     def DeleteAllPages(*args, **kwargs):
         """DeleteAllPages(self) -> bool"""
-        return _controls_.BookCtrl_DeleteAllPages(*args, **kwargs)
+        return _controls_.BookCtrlBase_DeleteAllPages(*args, **kwargs)
 
     def AddPage(*args, **kwargs):
         """AddPage(self, Window page, String text, bool select=False, int imageId=-1) -> bool"""
 
     def AddPage(*args, **kwargs):
         """AddPage(self, Window page, String text, bool select=False, int imageId=-1) -> bool"""
-        return _controls_.BookCtrl_AddPage(*args, **kwargs)
+        return _controls_.BookCtrlBase_AddPage(*args, **kwargs)
 
     def InsertPage(*args, **kwargs):
         """
         InsertPage(self, size_t n, Window page, String text, bool select=False, 
             int imageId=-1) -> bool
         """
 
     def InsertPage(*args, **kwargs):
         """
         InsertPage(self, size_t n, Window page, String text, bool select=False, 
             int imageId=-1) -> bool
         """
-        return _controls_.BookCtrl_InsertPage(*args, **kwargs)
+        return _controls_.BookCtrlBase_InsertPage(*args, **kwargs)
 
     def SetSelection(*args, **kwargs):
         """SetSelection(self, size_t n) -> int"""
 
     def SetSelection(*args, **kwargs):
         """SetSelection(self, size_t n) -> int"""
-        return _controls_.BookCtrl_SetSelection(*args, **kwargs)
+        return _controls_.BookCtrlBase_SetSelection(*args, **kwargs)
 
     def AdvanceSelection(*args, **kwargs):
         """AdvanceSelection(self, bool forward=True)"""
 
     def AdvanceSelection(*args, **kwargs):
         """AdvanceSelection(self, bool forward=True)"""
-        return _controls_.BookCtrl_AdvanceSelection(*args, **kwargs)
+        return _controls_.BookCtrlBase_AdvanceSelection(*args, **kwargs)
 
 
+    def 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
     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
 
 
-class BookCtrlEvent(_core.NotifyEvent):
+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.
+
+    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):
     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, 
     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):
         self.this = newobj.this
         self.thisown = 1
         del newobj.thisown
     def GetSelection(*args, **kwargs):
-        """GetSelection(self) -> int"""
-        return _controls_.BookCtrlEvent_GetSelection(*args, **kwargs)
+        """
+        GetSelection(self) -> int
+
+        Returns item index for a listbox or choice selection event (not valid
+        for a deselection).
+        """
+        return _controls_.BookCtrlBaseEvent_GetSelection(*args, **kwargs)
 
     def SetSelection(*args, **kwargs):
         """SetSelection(self, int nSel)"""
 
     def SetSelection(*args, **kwargs):
         """SetSelection(self, int nSel)"""
-        return _controls_.BookCtrlEvent_SetSelection(*args, **kwargs)
+        return _controls_.BookCtrlBaseEvent_SetSelection(*args, **kwargs)
 
     def GetOldSelection(*args, **kwargs):
         """GetOldSelection(self) -> int"""
 
     def GetOldSelection(*args, **kwargs):
         """GetOldSelection(self) -> int"""
-        return _controls_.BookCtrlEvent_GetOldSelection(*args, **kwargs)
+        return _controls_.BookCtrlBaseEvent_GetOldSelection(*args, **kwargs)
 
     def SetOldSelection(*args, **kwargs):
         """SetOldSelection(self, int nOldSel)"""
 
     def SetOldSelection(*args, **kwargs):
         """SetOldSelection(self, int nOldSel)"""
-        return _controls_.BookCtrlEvent_SetOldSelection(*args, **kwargs)
+        return _controls_.BookCtrlBaseEvent_SetOldSelection(*args, **kwargs)
 
 
 
 
-class BookCtrlEventPtr(BookCtrlEvent):
+class BookCtrlBaseEventPtr(BookCtrlBaseEvent):
     def __init__(self, this):
         self.this = this
         if not hasattr(self,"thisown"): self.thisown = 0
     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)
 
 #---------------------------------------------------------------------------
 
 
 #---------------------------------------------------------------------------
 
@@ -2283,17 +3086,19 @@ NB_LEFT = _controls_.NB_LEFT
 NB_RIGHT = _controls_.NB_RIGHT
 NB_BOTTOM = _controls_.NB_BOTTOM
 NB_MULTILINE = _controls_.NB_MULTILINE
 NB_RIGHT = _controls_.NB_RIGHT
 NB_BOTTOM = _controls_.NB_BOTTOM
 NB_MULTILINE = _controls_.NB_MULTILINE
+NB_NOPAGETHEME = _controls_.NB_NOPAGETHEME
 NB_HITTEST_NOWHERE = _controls_.NB_HITTEST_NOWHERE
 NB_HITTEST_ONICON = _controls_.NB_HITTEST_ONICON
 NB_HITTEST_ONLABEL = _controls_.NB_HITTEST_ONLABEL
 NB_HITTEST_ONITEM = _controls_.NB_HITTEST_ONITEM
 NB_HITTEST_NOWHERE = _controls_.NB_HITTEST_NOWHERE
 NB_HITTEST_ONICON = _controls_.NB_HITTEST_ONICON
 NB_HITTEST_ONLABEL = _controls_.NB_HITTEST_ONLABEL
 NB_HITTEST_ONITEM = _controls_.NB_HITTEST_ONITEM
-class Notebook(BookCtrl):
+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, 
     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
         """
         newobj = _controls_.new_Notebook(*args, **kwargs)
         self.this = newobj.this
@@ -2303,8 +3108,8 @@ class Notebook(BookCtrl):
 
     def Create(*args, **kwargs):
         """
 
     def Create(*args, **kwargs):
         """
-        Create(self, Window parent, int id, Point pos=DefaultPosition, Size size=DefaultSize
-            long style=0, String name=NOTEBOOK_NAME) -> bool
+        Create(self, Window parent, int id=-1, Point pos=DefaultPosition
+            Size size=DefaultSize, long style=0, String name=NotebookNameStr) -> bool
         """
         return _controls_.Notebook_Create(*args, **kwargs)
 
         """
         return _controls_.Notebook_Create(*args, **kwargs)
 
@@ -2324,7 +3129,8 @@ class Notebook(BookCtrl):
         """
         HitTest(Point pt) -> (tab, where)
 
         """
         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)
 
         """
         return _controls_.Notebook_HitTest(*args, **kwargs)
 
@@ -2332,6 +3138,28 @@ class Notebook(BookCtrl):
         """CalcSizeFromPage(self, Size sizePage) -> Size"""
         return _controls_.Notebook_CalcSizeFromPage(*args, **kwargs)
 
         """CalcSizeFromPage(self, Size sizePage) -> Size"""
         return _controls_.Notebook_CalcSizeFromPage(*args, **kwargs)
 
+    def GetThemeBackgroundColour(*args, **kwargs):
+        """GetThemeBackgroundColour(self) -> Colour"""
+        return _controls_.Notebook_GetThemeBackgroundColour(*args, **kwargs)
+
+    def GetClassDefaultAttributes(*args, **kwargs):
+        """
+        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):
 
 class NotebookPtr(Notebook):
     def __init__(self, this):
@@ -2346,7 +3174,25 @@ def PreNotebook(*args, **kwargs):
     val.thisown = 1
     return val
 
     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):
     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):
@@ -2377,8 +3223,8 @@ EVT_NOTEBOOK_PAGE_CHANGING = wx.PyEventBinder( wxEVT_COMMAND_NOTEBOOK_PAGE_CHANG
 class NotebookPage(wx.Panel):
     """
     There is an old (and apparently unsolvable) bug when placing a
 class NotebookPage(wx.Panel):
     """
     There is an old (and apparently unsolvable) bug when placing a
-    window with a nonstandard background colour in a wxNotebook on
-    wxGTK, as the notbooks's background colour would always be used
+    window with a nonstandard background colour in a wx.Notebook on
+    wxGTK1, as the notbooks's background colour would always be used
     when the window is refreshed.  The solution is to place a panel in
     the notbook and the coloured window on the panel, sized to cover
     the panel.  This simple class does that for you, just put an
     when the window is refreshed.  The solution is to place a panel in
     the notbook and the coloured window on the panel, sized to cover
     the panel.  This simple class does that for you, just put an
@@ -2390,8 +3236,8 @@ class NotebookPage(wx.Panel):
                  style=wx.TAB_TRAVERSAL, name="panel"):
         wx.Panel.__init__(self, parent, id, pos, size, style, name)
         self.child = None
                  style=wx.TAB_TRAVERSAL, name="panel"):
         wx.Panel.__init__(self, parent, id, pos, size, style, name)
         self.child = None
-        EVT_SIZE(self, self.OnSize)
-        
+        self.Bind(wx.EVT_SIZE, self.OnSize)
+
     def OnSize(self, evt):
         if self.child is None:
             children = self.GetChildren()
     def OnSize(self, evt):
         if self.child is None:
             children = self.GetChildren()
@@ -2410,7 +3256,8 @@ LB_BOTTOM = _controls_.LB_BOTTOM
 LB_LEFT = _controls_.LB_LEFT
 LB_RIGHT = _controls_.LB_RIGHT
 LB_ALIGN_MASK = _controls_.LB_ALIGN_MASK
 LB_LEFT = _controls_.LB_LEFT
 LB_RIGHT = _controls_.LB_RIGHT
 LB_ALIGN_MASK = _controls_.LB_ALIGN_MASK
-class Listbook(BookCtrl):
+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):
     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):
@@ -2426,8 +3273,8 @@ class Listbook(BookCtrl):
 
     def Create(*args, **kwargs):
         """
 
     def Create(*args, **kwargs):
         """
-        Create(self, Window parent, int id, Point pos=DefaultPosition, Size size=DefaultSize
-            long style=0, String name=EmptyString) -> bool
+        Create(self, Window parent, int id=-1, Point pos=DefaultPosition
+            Size size=DefaultSize, long style=0, String name=EmptyString) -> bool
         """
         return _controls_.Listbook_Create(*args, **kwargs)
 
         """
         return _controls_.Listbook_Create(*args, **kwargs)
 
@@ -2435,6 +3282,10 @@ class Listbook(BookCtrl):
         """IsVertical(self) -> bool"""
         return _controls_.Listbook_IsVertical(*args, **kwargs)
 
         """IsVertical(self) -> bool"""
         return _controls_.Listbook_IsVertical(*args, **kwargs)
 
+    def GetListView(*args, **kwargs):
+        """GetListView(self) -> ListView"""
+        return _controls_.Listbook_GetListView(*args, **kwargs)
+
 
 class ListbookPtr(Listbook):
     def __init__(self, this):
 
 class ListbookPtr(Listbook):
     def __init__(self, this):
@@ -2449,7 +3300,8 @@ def PreListbook(*args, **kwargs):
     val.thisown = 1
     return val
 
     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):
     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):
@@ -2474,13 +3326,94 @@ 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 )
 
 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 GetChoiceCtrl(*args, **kwargs):
+        """GetChoiceCtrl(self) -> Choice"""
+        return _controls_.Choicebook_GetChoiceCtrl(*args, **kwargs)
+
+    def DeleteAllPages(*args, **kwargs):
+        """DeleteAllPages(self) -> bool"""
+        return _controls_.Choicebook_DeleteAllPages(*args, **kwargs)
+
+
+class ChoicebookPtr(Choicebook):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = Choicebook
+_controls_.Choicebook_swigregister(ChoicebookPtr)
+
+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):
 #---------------------------------------------------------------------------
 
 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):
     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
         newobj = _controls_.new_BookCtrlSizer(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
@@ -2488,15 +3421,27 @@ class BookCtrlSizer(_core.Sizer):
         self._setOORInfo(self)
 
     def RecalcSizes(*args, **kwargs):
         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):
         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):
         return _controls_.BookCtrlSizer_CalcMin(*args, **kwargs)
 
     def GetControl(*args, **kwargs):
-        """GetControl(self) -> BookCtrl"""
+        """GetControl(self) -> BookCtrlBase"""
         return _controls_.BookCtrlSizer_GetControl(*args, **kwargs)
 
 
         return _controls_.BookCtrlSizer_GetControl(*args, **kwargs)
 
 
@@ -2508,6 +3453,7 @@ class BookCtrlSizerPtr(BookCtrlSizer):
 _controls_.BookCtrlSizer_swigregister(BookCtrlSizerPtr)
 
 class NotebookSizer(_core.Sizer):
 _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):
     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):
@@ -2519,11 +3465,23 @@ class NotebookSizer(_core.Sizer):
         self._setOORInfo(self)
 
     def RecalcSizes(*args, **kwargs):
         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):
         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):
         return _controls_.NotebookSizer_CalcMin(*args, **kwargs)
 
     def GetNotebook(*args, **kwargs):
@@ -2538,6 +3496,8 @@ class NotebookSizerPtr(NotebookSizer):
         self.__class__ = NotebookSizer
 _controls_.NotebookSizer_swigregister(NotebookSizerPtr)
 
         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
 #---------------------------------------------------------------------------
 
 TOOL_STYLE_BUTTON = _controls_.TOOL_STYLE_BUTTON
@@ -2555,6 +3515,7 @@ TB_NOALIGN = _controls_.TB_NOALIGN
 TB_HORZ_LAYOUT = _controls_.TB_HORZ_LAYOUT
 TB_HORZ_TEXT = _controls_.TB_HORZ_TEXT
 class ToolBarToolBase(_core.Object):
 TB_HORZ_LAYOUT = _controls_.TB_HORZ_LAYOUT
 TB_HORZ_TEXT = _controls_.TB_HORZ_TEXT
 class ToolBarToolBase(_core.Object):
+    """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,)
     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,)
@@ -2688,6 +3649,7 @@ class ToolBarToolBasePtr(ToolBarToolBase):
 _controls_.ToolBarToolBase_swigregister(ToolBarToolBasePtr)
 
 class ToolBarBase(_core.Control):
 _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,)
     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,)
@@ -2813,6 +3775,7 @@ class ToolBarBase(_core.Control):
 
     # For consistency with the backwards compatible methods above, here are
     # some non-'Label' versions of the Check and Radio methods
 
     # For consistency with the backwards compatible methods above, here are
     # some non-'Label' versions of the Check and Radio methods
+
     def AddCheckTool(self, id, bitmap,
                      bmpDisabled = wx.NullBitmap,
                      shortHelp = '', longHelp = '',
     def AddCheckTool(self, id, bitmap,
                      bmpDisabled = wx.NullBitmap,
                      shortHelp = '', longHelp = '',
@@ -3009,12 +3972,13 @@ class ToolBarBasePtr(ToolBarBase):
 _controls_.ToolBarBase_swigregister(ToolBarBasePtr)
 
 class ToolBar(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):
         """
     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)
             String name=wxPyToolBarNameStr) -> ToolBar
         """
         newobj = _controls_.new_ToolBar(*args, **kwargs)
@@ -3025,8 +3989,8 @@ class ToolBar(ToolBarBase):
 
     def Create(*args, **kwargs):
         """
 
     def Create(*args, **kwargs):
         """
-        Create(self, Window parent, int id, Point pos=DefaultPosition, Size size=DefaultSize
-            long style=wxNO_BORDER|wxTB_HORIZONTAL, 
+        Create(self, Window parent, int id=-1, Point pos=DefaultPosition
+            Size size=DefaultSize, long style=wxNO_BORDER|wxTB_HORIZONTAL, 
             String name=wxPyToolBarNameStr) -> bool
         """
         return _controls_.ToolBar_Create(*args, **kwargs)
             String name=wxPyToolBarNameStr) -> bool
         """
         return _controls_.ToolBar_Create(*args, **kwargs)
@@ -3035,6 +3999,24 @@ class ToolBar(ToolBarBase):
         """FindToolForPosition(self, int x, int y) -> ToolBarToolBase"""
         return _controls_.ToolBar_FindToolForPosition(*args, **kwargs)
 
         """FindToolForPosition(self, int x, int y) -> ToolBarToolBase"""
         return _controls_.ToolBar_FindToolForPosition(*args, **kwargs)
 
+    def GetClassDefaultAttributes(*args, **kwargs):
+        """
+        GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
+
+        Get the default attributes for this class.  This is useful if you want
+        to use the same font or colour in your own control as in a standard
+        control -- which is a much better idea than hard coding specific
+        colours or fonts which might look completely out of place on the
+        user's system, especially if it uses themes.
+
+        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):
 
 class ToolBarPtr(ToolBar):
     def __init__(self, this):
@@ -3049,6 +4031,23 @@ def PreToolBar(*args, **kwargs):
     val.thisown = 1
     return val
 
     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
 #---------------------------------------------------------------------------
 
 LC_VRULES = _controls_.LC_VRULES
@@ -3122,6 +4121,7 @@ LIST_FIND_RIGHT = _controls_.LIST_FIND_RIGHT
 #---------------------------------------------------------------------------
 
 class ListItemAttr(object):
 #---------------------------------------------------------------------------
 
 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):
     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):
@@ -3185,6 +4185,7 @@ ListCtrlNameStr = cvar.ListCtrlNameStr
 #---------------------------------------------------------------------------
 
 class ListItem(_core.Object):
 #---------------------------------------------------------------------------
 
 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):
     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):
@@ -3336,6 +4337,7 @@ _controls_.ListItem_swigregister(ListItemPtr)
 #---------------------------------------------------------------------------
 
 class ListEvent(_core.NotifyEvent):
 #---------------------------------------------------------------------------
 
 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):
     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):
@@ -3422,8 +4424,6 @@ wxEVT_COMMAND_LIST_BEGIN_LABEL_EDIT = _controls_.wxEVT_COMMAND_LIST_BEGIN_LABEL_
 wxEVT_COMMAND_LIST_END_LABEL_EDIT = _controls_.wxEVT_COMMAND_LIST_END_LABEL_EDIT
 wxEVT_COMMAND_LIST_DELETE_ITEM = _controls_.wxEVT_COMMAND_LIST_DELETE_ITEM
 wxEVT_COMMAND_LIST_DELETE_ALL_ITEMS = _controls_.wxEVT_COMMAND_LIST_DELETE_ALL_ITEMS
 wxEVT_COMMAND_LIST_END_LABEL_EDIT = _controls_.wxEVT_COMMAND_LIST_END_LABEL_EDIT
 wxEVT_COMMAND_LIST_DELETE_ITEM = _controls_.wxEVT_COMMAND_LIST_DELETE_ITEM
 wxEVT_COMMAND_LIST_DELETE_ALL_ITEMS = _controls_.wxEVT_COMMAND_LIST_DELETE_ALL_ITEMS
-wxEVT_COMMAND_LIST_GET_INFO = _controls_.wxEVT_COMMAND_LIST_GET_INFO
-wxEVT_COMMAND_LIST_SET_INFO = _controls_.wxEVT_COMMAND_LIST_SET_INFO
 wxEVT_COMMAND_LIST_ITEM_SELECTED = _controls_.wxEVT_COMMAND_LIST_ITEM_SELECTED
 wxEVT_COMMAND_LIST_ITEM_DESELECTED = _controls_.wxEVT_COMMAND_LIST_ITEM_DESELECTED
 wxEVT_COMMAND_LIST_KEY_DOWN = _controls_.wxEVT_COMMAND_LIST_KEY_DOWN
 wxEVT_COMMAND_LIST_ITEM_SELECTED = _controls_.wxEVT_COMMAND_LIST_ITEM_SELECTED
 wxEVT_COMMAND_LIST_ITEM_DESELECTED = _controls_.wxEVT_COMMAND_LIST_ITEM_DESELECTED
 wxEVT_COMMAND_LIST_KEY_DOWN = _controls_.wxEVT_COMMAND_LIST_KEY_DOWN
@@ -3438,6 +4438,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_COL_DRAGGING = _controls_.wxEVT_COMMAND_LIST_COL_DRAGGING
 wxEVT_COMMAND_LIST_COL_END_DRAG = _controls_.wxEVT_COMMAND_LIST_COL_END_DRAG
 wxEVT_COMMAND_LIST_ITEM_FOCUSED = _controls_.wxEVT_COMMAND_LIST_ITEM_FOCUSED
+wxEVT_COMMAND_LIST_GET_INFO = _controls_.wxEVT_COMMAND_LIST_GET_INFO
+wxEVT_COMMAND_LIST_SET_INFO = _controls_.wxEVT_COMMAND_LIST_SET_INFO
 EVT_LIST_BEGIN_DRAG        = wx.PyEventBinder(wxEVT_COMMAND_LIST_BEGIN_DRAG       , 1)
 EVT_LIST_BEGIN_RDRAG       = wx.PyEventBinder(wxEVT_COMMAND_LIST_BEGIN_RDRAG      , 1)
 EVT_LIST_BEGIN_LABEL_EDIT  = wx.PyEventBinder(wxEVT_COMMAND_LIST_BEGIN_LABEL_EDIT , 1)
 EVT_LIST_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)
@@ -3461,9 +4463,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_COL_END_DRAG      = wx.PyEventBinder(wxEVT_COMMAND_LIST_COL_END_DRAG     , 1)
 EVT_LIST_ITEM_FOCUSED      = wx.PyEventBinder(wxEVT_COMMAND_LIST_ITEM_FOCUSED     , 1)
 
+EVT_LIST_GET_INFO = wx._deprecated(EVT_LIST_GET_INFO)
+EVT_LIST_SET_INFO = wx._deprecated(EVT_LIST_SET_INFO)
+
 #---------------------------------------------------------------------------
 
 class ListCtrl(_core.Control):
 #---------------------------------------------------------------------------
 
 class ListCtrl(_core.Control):
+    """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):
     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):
@@ -3493,11 +4499,35 @@ class ListCtrl(_core.Control):
         return _controls_.ListCtrl__setCallbackInfo(*args, **kwargs)
 
     def SetForegroundColour(*args, **kwargs):
         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):
         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):
         return _controls_.ListCtrl_SetBackgroundColour(*args, **kwargs)
 
     def GetColumn(*args, **kwargs):
@@ -3549,7 +4579,7 @@ class ListCtrl(_core.Control):
         return _controls_.ListCtrl_SetItemState(*args, **kwargs)
 
     def SetItemImage(*args, **kwargs):
         return _controls_.ListCtrl_SetItemState(*args, **kwargs)
 
     def SetItemImage(*args, **kwargs):
-        """SetItemImage(self, long item, int image, int selImage) -> bool"""
+        """SetItemImage(self, long item, int image, int selImage=-1) -> bool"""
         return _controls_.ListCtrl_SetItemImage(*args, **kwargs)
 
     def GetItemText(*args, **kwargs):
         return _controls_.ListCtrl_SetItemImage(*args, **kwargs)
 
     def GetItemText(*args, **kwargs):
@@ -3620,10 +4650,10 @@ class ListCtrl(_core.Control):
         """
         SetWindowStyleFlag(self, long style)
 
         """
         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)
 
         """
         return _controls_.ListCtrl_SetWindowStyleFlag(*args, **kwargs)
 
@@ -3707,8 +4737,8 @@ class ListCtrl(_core.Control):
         """
         HitTest(Point point) -> (item, where)
 
         """
         HitTest(Point point) -> (item, where)
 
-        Determines which item (if any) is at the specified point,
-        giving details in the second return value (see wxLIST_HITTEST_... flags.)
+        Determines which item (if any) is at the specified point, giving
+         in the second return value (see wx.LIST_HITTEST flags.)
         """
         return _controls_.ListCtrl_HitTest(*args, **kwargs)
 
         """
         return _controls_.ListCtrl_HitTest(*args, **kwargs)
 
@@ -3728,10 +4758,11 @@ class ListCtrl(_core.Control):
         """InsertImageStringItem(self, long index, String label, int imageIndex) -> long"""
         return _controls_.ListCtrl_InsertImageStringItem(*args, **kwargs)
 
         """InsertImageStringItem(self, long index, String label, int imageIndex) -> long"""
         return _controls_.ListCtrl_InsertImageStringItem(*args, **kwargs)
 
-    def InsertColumnInfo(*args, **kwargs):
-        """InsertColumnInfo(self, long col, ListItem info) -> long"""
-        return _controls_.ListCtrl_InsertColumnInfo(*args, **kwargs)
+    def InsertColumnItem(*args, **kwargs):
+        """InsertColumnItem(self, long col, ListItem info) -> long"""
+        return _controls_.ListCtrl_InsertColumnItem(*args, **kwargs)
 
 
+    InsertColumnInfo = InsertColumnItem 
     def InsertColumn(*args, **kwargs):
         """
         InsertColumn(self, long col, String heading, int format=LIST_FORMAT_LEFT, 
     def InsertColumn(*args, **kwargs):
         """
         InsertColumn(self, long col, String heading, int format=LIST_FORMAT_LEFT, 
@@ -3790,7 +4821,7 @@ class ListCtrl(_core.Control):
 
     def IsSelected(self, idx):
         '''return True if the item is selected'''
 
     def IsSelected(self, idx):
         '''return True if the item is selected'''
-        return self.GetItemState(idx, wx.LIST_STATE_SELECTED) != 0
+        return (self.GetItemState(idx, wx.LIST_STATE_SELECTED) & wx.LIST_STATE_SELECTED) != 0
 
     def SetColumnImage(self, col, image):
         item = self.GetColumn(col)
 
     def SetColumnImage(self, col, image):
         item = self.GetColumn(col)
@@ -3832,17 +4863,18 @@ class ListCtrl(_core.Control):
 
     def GetClassDefaultAttributes(*args, **kwargs):
         """
 
     def GetClassDefaultAttributes(*args, **kwargs):
         """
-        ListCtrl.GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
+        GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
 
-        Get the default attributes for this class.  This is useful if
-        you want to use the same font or colour in your own control as
-        in a standard control -- which is a much better idea than hard
-        coding specific colours or fonts which might look completely out
-        of place on the users system, especially if it uses themes.
+        Get the default attributes for this class.  This is useful if you want
+        to use the same font or colour in your own control as in a standard
+        control -- which is a much better idea than hard coding specific
+        colours or fonts which might look completely out of place on the
+        user's system, especially if it uses themes.
 
         The variant parameter is only relevant under Mac currently and is
 
         The variant parameter is only relevant under Mac currently and is
-        ignore under other platforms. Under Mac, it will change the size of the
-        returned font. See SetWindowVariant for more about this.
+        ignore under other platforms. Under Mac, it will change the size of
+        the returned font. See `wx.Window.SetWindowVariant` for more about
+        this.
         """
         return _controls_.ListCtrl_GetClassDefaultAttributes(*args, **kwargs)
 
         """
         return _controls_.ListCtrl_GetClassDefaultAttributes(*args, **kwargs)
 
@@ -3865,21 +4897,23 @@ def ListCtrl_GetClassDefaultAttributes(*args, **kwargs):
     """
     ListCtrl_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
     """
     ListCtrl_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
-    Get the default attributes for this class.  This is useful if
-    you want to use the same font or colour in your own control as
-    in a standard control -- which is a much better idea than hard
-    coding specific colours or fonts which might look completely out
-    of place on the users system, especially if it uses themes.
+    Get the default attributes for this class.  This is useful if you want
+    to use the same font or colour in your own control as in a standard
+    control -- which is a much better idea than hard coding specific
+    colours or fonts which might look completely out of place on the
+    user's system, especially if it uses themes.
 
     The variant parameter is only relevant under Mac currently and is
 
     The variant parameter is only relevant under Mac currently and is
-    ignore under other platforms. Under Mac, it will change the size of the
-    returned font. See SetWindowVariant for more about this.
+    ignore under other platforms. Under Mac, it will change the size of
+    the returned font. See `wx.Window.SetWindowVariant` for more about
+    this.
     """
     return _controls_.ListCtrl_GetClassDefaultAttributes(*args, **kwargs)
 
 #---------------------------------------------------------------------------
 
 class ListView(ListCtrl):
     """
     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):
     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):
@@ -3990,6 +5024,7 @@ TREE_HITTEST_ONITEM = _controls_.TREE_HITTEST_ONITEM
 #---------------------------------------------------------------------------
 
 class TreeItemId(object):
 #---------------------------------------------------------------------------
 
 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):
     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):
@@ -4029,6 +5064,7 @@ _controls_.TreeItemId_swigregister(TreeItemIdPtr)
 TreeCtrlNameStr = cvar.TreeCtrlNameStr
 
 class TreeItemData(object):
 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):
     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):
@@ -4087,6 +5123,7 @@ wxEVT_COMMAND_TREE_ITEM_MIDDLE_CLICK = _controls_.wxEVT_COMMAND_TREE_ITEM_MIDDLE
 wxEVT_COMMAND_TREE_END_DRAG = _controls_.wxEVT_COMMAND_TREE_END_DRAG
 wxEVT_COMMAND_TREE_STATE_IMAGE_CLICK = _controls_.wxEVT_COMMAND_TREE_STATE_IMAGE_CLICK
 wxEVT_COMMAND_TREE_ITEM_GETTOOLTIP = _controls_.wxEVT_COMMAND_TREE_ITEM_GETTOOLTIP
 wxEVT_COMMAND_TREE_END_DRAG = _controls_.wxEVT_COMMAND_TREE_END_DRAG
 wxEVT_COMMAND_TREE_STATE_IMAGE_CLICK = _controls_.wxEVT_COMMAND_TREE_STATE_IMAGE_CLICK
 wxEVT_COMMAND_TREE_ITEM_GETTOOLTIP = _controls_.wxEVT_COMMAND_TREE_ITEM_GETTOOLTIP
+wxEVT_COMMAND_TREE_ITEM_MENU = _controls_.wxEVT_COMMAND_TREE_ITEM_MENU
 EVT_TREE_BEGIN_DRAG        = wx.PyEventBinder(wxEVT_COMMAND_TREE_BEGIN_DRAG       , 1)
 EVT_TREE_BEGIN_RDRAG       = wx.PyEventBinder(wxEVT_COMMAND_TREE_BEGIN_RDRAG      , 1)
 EVT_TREE_BEGIN_LABEL_EDIT  = wx.PyEventBinder(wxEVT_COMMAND_TREE_BEGIN_LABEL_EDIT , 1)
 EVT_TREE_BEGIN_DRAG        = wx.PyEventBinder(wxEVT_COMMAND_TREE_BEGIN_DRAG       , 1)
 EVT_TREE_BEGIN_RDRAG       = wx.PyEventBinder(wxEVT_COMMAND_TREE_BEGIN_RDRAG      , 1)
 EVT_TREE_BEGIN_LABEL_EDIT  = wx.PyEventBinder(wxEVT_COMMAND_TREE_BEGIN_LABEL_EDIT , 1)
@@ -4107,8 +5144,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_TREE_END_DRAG          = wx.PyEventBinder(wxEVT_COMMAND_TREE_END_DRAG         , 1)
 EVT_TREE_STATE_IMAGE_CLICK = wx.PyEventBinder(wxEVT_COMMAND_TREE_STATE_IMAGE_CLICK, 1)
 EVT_TREE_ITEM_GETTOOLTIP   = wx.PyEventBinder(wxEVT_COMMAND_TREE_ITEM_GETTOOLTIP,   1)
+EVT_TREE_ITEM_MENU        = wx.PyEventBinder(wxEVT_COMMAND_TREE_ITEM_MENU,         1)
 
 class TreeEvent(_core.NotifyEvent):
 
 class TreeEvent(_core.NotifyEvent):
+    """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):
     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):
@@ -4173,6 +5212,10 @@ class TreeEvent(_core.NotifyEvent):
         """SetToolTip(self, String toolTip)"""
         return _controls_.TreeEvent_SetToolTip(*args, **kwargs)
 
         """SetToolTip(self, String toolTip)"""
         return _controls_.TreeEvent_SetToolTip(*args, **kwargs)
 
+    def GetToolTip(*args, **kwargs):
+        """GetToolTip(self) -> String"""
+        return _controls_.TreeEvent_GetToolTip(*args, **kwargs)
+
 
 class TreeEventPtr(TreeEvent):
     def __init__(self, this):
 
 class TreeEventPtr(TreeEvent):
     def __init__(self, this):
@@ -4184,6 +5227,7 @@ _controls_.TreeEvent_swigregister(TreeEventPtr)
 #---------------------------------------------------------------------------
 
 class TreeCtrl(_core.Control):
 #---------------------------------------------------------------------------
 
 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):
     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):
@@ -4312,6 +5356,10 @@ class TreeCtrl(_core.Control):
         """SetItemBold(self, TreeItemId item, bool bold=True)"""
         return _controls_.TreeCtrl_SetItemBold(*args, **kwargs)
 
         """SetItemBold(self, TreeItemId item, bool bold=True)"""
         return _controls_.TreeCtrl_SetItemBold(*args, **kwargs)
 
+    def SetItemDropHighlight(*args, **kwargs):
+        """SetItemDropHighlight(self, TreeItemId item, bool highlight=True)"""
+        return _controls_.TreeCtrl_SetItemDropHighlight(*args, **kwargs)
+
     def SetItemTextColour(*args, **kwargs):
         """SetItemTextColour(self, TreeItemId item, Colour col)"""
         return _controls_.TreeCtrl_SetItemTextColour(*args, **kwargs)
     def SetItemTextColour(*args, **kwargs):
         """SetItemTextColour(self, TreeItemId item, Colour col)"""
         return _controls_.TreeCtrl_SetItemTextColour(*args, **kwargs)
@@ -4500,10 +5548,9 @@ class TreeCtrl(_core.Control):
         """
         HitTest(Point point) -> (item, where)
 
         """
         HitTest(Point point) -> (item, where)
 
-        Determine which item (if any) belongs the given point.  The
-        coordinates specified are relative to the client area of tree ctrl
-        and the where return value is set to a bitmask of wxTREE_HITTEST_xxx
-        constants.
+        Determine which item (if any) belongs the given point.  The coordinates
+        specified are relative to the client area of tree ctrl and the where return
+        value is set to a bitmask of wxTREE_HITTEST_xxx constants.
 
         """
         return _controls_.TreeCtrl_HitTest(*args, **kwargs)
 
         """
         return _controls_.TreeCtrl_HitTest(*args, **kwargs)
@@ -4514,17 +5561,18 @@ class TreeCtrl(_core.Control):
 
     def GetClassDefaultAttributes(*args, **kwargs):
         """
 
     def GetClassDefaultAttributes(*args, **kwargs):
         """
-        TreeCtrl.GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
+        GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
 
-        Get the default attributes for this class.  This is useful if
-        you want to use the same font or colour in your own control as
-        in a standard control -- which is a much better idea than hard
-        coding specific colours or fonts which might look completely out
-        of place on the users system, especially if it uses themes.
+        Get the default attributes for this class.  This is useful if you want
+        to use the same font or colour in your own control as in a standard
+        control -- which is a much better idea than hard coding specific
+        colours or fonts which might look completely out of place on the
+        user's system, especially if it uses themes.
 
         The variant parameter is only relevant under Mac currently and is
 
         The variant parameter is only relevant under Mac currently and is
-        ignore under other platforms. Under Mac, it will change the size of the
-        returned font. See SetWindowVariant for more about this.
+        ignore under other platforms. Under Mac, it will change the size of
+        the returned font. See `wx.Window.SetWindowVariant` for more about
+        this.
         """
         return _controls_.TreeCtrl_GetClassDefaultAttributes(*args, **kwargs)
 
         """
         return _controls_.TreeCtrl_GetClassDefaultAttributes(*args, **kwargs)
 
@@ -4547,15 +5595,16 @@ def TreeCtrl_GetClassDefaultAttributes(*args, **kwargs):
     """
     TreeCtrl_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
     """
     TreeCtrl_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
-    Get the default attributes for this class.  This is useful if
-    you want to use the same font or colour in your own control as
-    in a standard control -- which is a much better idea than hard
-    coding specific colours or fonts which might look completely out
-    of place on the users system, especially if it uses themes.
+    Get the default attributes for this class.  This is useful if you want
+    to use the same font or colour in your own control as in a standard
+    control -- which is a much better idea than hard coding specific
+    colours or fonts which might look completely out of place on the
+    user's system, especially if it uses themes.
 
     The variant parameter is only relevant under Mac currently and is
 
     The variant parameter is only relevant under Mac currently and is
-    ignore under other platforms. Under Mac, it will change the size of the
-    returned font. See SetWindowVariant for more about this.
+    ignore under other platforms. Under Mac, it will change the size of
+    the returned font. See `wx.Window.SetWindowVariant` for more about
+    this.
     """
     return _controls_.TreeCtrl_GetClassDefaultAttributes(*args, **kwargs)
 
     """
     return _controls_.TreeCtrl_GetClassDefaultAttributes(*args, **kwargs)
 
@@ -4567,6 +5616,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):
 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):
     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):
@@ -4657,9 +5707,10 @@ class GenericDirCtrl(_core.Control):
         """
         FindChild(wxTreeItemId parentId, wxString path) -> (item, done)
 
         """
         FindChild(wxTreeItemId parentId, wxString path) -> (item, done)
 
-        Find the child that matches the first part of 'path'.  E.g. if a child path is
-        "/usr" and 'path' is "/usr/include" then the child for /usr is returned.
-        If the path string has been used (we're at the leaf), done is set to True
+        Find the child that matches the first part of 'path'.  E.g. if a child
+        path is "/usr" and 'path' is "/usr/include" then the child for
+        /usr is returned.  If the path string has been used (we're at the
+        leaf), done is set to True.
 
         """
         return _controls_.GenericDirCtrl_FindChild(*args, **kwargs)
 
         """
         return _controls_.GenericDirCtrl_FindChild(*args, **kwargs)
@@ -4688,6 +5739,7 @@ def PreGenericDirCtrl(*args, **kwargs):
     return val
 
 class DirFilterListCtrl(Choice):
     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):
     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):
@@ -4729,12 +5781,13 @@ def PreDirFilterListCtrl(*args, **kwargs):
 #---------------------------------------------------------------------------
 
 class PyControl(_core.Control):
 #---------------------------------------------------------------------------
 
 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):
         """
     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)
             String name=ControlNameStr) -> PyControl
         """
         newobj = _controls_.new_PyControl(*args, **kwargs)
@@ -4747,6 +5800,14 @@ class PyControl(_core.Control):
         """_setCallbackInfo(self, PyObject self, PyObject _class)"""
         return _controls_.PyControl__setCallbackInfo(*args, **kwargs)
 
         """_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 DoEraseBackground(*args, **kwargs):
+        """DoEraseBackground(self, DC dc) -> bool"""
+        return _controls_.PyControl_DoEraseBackground(*args, **kwargs)
+
     def base_DoMoveWindow(*args, **kwargs):
         """base_DoMoveWindow(self, int x, int y, int width, int height)"""
         return _controls_.PyControl_base_DoMoveWindow(*args, **kwargs)
     def base_DoMoveWindow(*args, **kwargs):
         """base_DoMoveWindow(self, int x, int y, int width, int height)"""
         return _controls_.PyControl_base_DoMoveWindow(*args, **kwargs)
@@ -4823,9 +5884,9 @@ class PyControl(_core.Control):
         """base_ShouldInheritColours(self) -> bool"""
         return _controls_.PyControl_base_ShouldInheritColours(*args, **kwargs)
 
         """base_ShouldInheritColours(self) -> bool"""
         return _controls_.PyControl_base_ShouldInheritColours(*args, **kwargs)
 
-    def base_ApplyParentThemeBackground(*args, **kwargs):
-        """base_ApplyParentThemeBackground(self, Colour c)"""
-        return _controls_.PyControl_base_ApplyParentThemeBackground(*args, **kwargs)
+    def base_GetDefaultAttributes(*args, **kwargs):
+        """base_GetDefaultAttributes(self) -> VisualAttributes"""
+        return _controls_.PyControl_base_GetDefaultAttributes(*args, **kwargs)
 
 
 class PyControlPtr(PyControl):
 
 
 class PyControlPtr(PyControl):
@@ -4854,29 +5915,21 @@ EVT_DETAILED_HELP_RANGE = wx.PyEventBinder( wxEVT_DETAILED_HELP, 2)
 
 class HelpEvent(_core.CommandEvent):
     """
 
 class HelpEvent(_core.CommandEvent):
     """
-    A help event is sent when the user has requested
-    context-sensitive help. This can either be caused by the
-    application requesting context-sensitive help mode via
-    wx.ContextHelp, or (on MS Windows) by the system generating a
-    WM_HELP message when the user pressed F1 or clicked on the query
-    button in a dialog caption.
-
-    A help event is sent to the window that the user clicked on, and
-    is propagated up the window hierarchy until the event is
-    processed or there are no more event handlers. The application
-    should call event.GetId to check the identity of the clicked-on
-    window, and then either show some suitable help or call
-    event.Skip if the identifier is unrecognised. Calling Skip is
-    important because it allows wxWindows to generate further events
-    for ancestors of the clicked-on window. Otherwise it would be
-    impossible to show help for container windows, since processing
-    would stop after the first window found.
-
-     Events
-        EVT_HELP            Sent when the user has requested context-
-                            sensitive help.
-        EVT_HELP_RANGE      Allows to catch EVT_HELP for a range of IDs
-
+    A help event is sent when the user has requested context-sensitive
+    help. This can either be caused by the application requesting
+    context-sensitive help mode via wx.ContextHelp, or (on MS Windows) by
+    the system generating a WM_HELP message when the user pressed F1 or
+    clicked on the query button in a dialog caption.
+
+    A help event is sent to the window that the user clicked on, and is
+    propagated up the window hierarchy until the event is processed or
+    there are no more event handlers. The application should call
+    event.GetId to check the identity of the clicked-on window, and then
+    either show some suitable help or call event.Skip if the identifier is
+    unrecognised. Calling Skip is important because it allows wxWindows to
+    generate further events for ancestors of the clicked-on
+    window. Otherwise it would be impossible to show help for container
+    windows, since processing would stop after the first window found.
     """
     def __repr__(self):
         return "<%s.%s; proxy of C++ wxHelpEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     """
     def __repr__(self):
         return "<%s.%s; proxy of C++ wxHelpEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
@@ -4946,25 +5999,26 @@ _controls_.HelpEvent_swigregister(HelpEventPtr)
 
 class ContextHelp(_core.Object):
     """
 
 class ContextHelp(_core.Object):
     """
-    This class changes the cursor to a query and puts the application
-    into a 'context-sensitive help mode'. When the user left-clicks
-    on a window within the specified window, a EVT_HELP event is sent
-    to that control, and the application may respond to it by popping
-    up some help.
+    This class changes the cursor to a query and puts the application into
+    a 'context-sensitive help mode'. When the user left-clicks on a window
+    within the specified window, a ``EVT_HELP`` event is sent to that
+    control, and the application may respond to it by popping up some
+    help.
 
     There are a couple of ways to invoke this behaviour implicitly:
 
 
     There are a couple of ways to invoke this behaviour implicitly:
 
-        * Use the wx.DIALOG_EX_CONTEXTHELP extended style for a
-          dialog (Windows only). This will put a question mark in the
-          titlebar, and Windows will put the application into
-          context-sensitive help mode automatically, with further
-          programming.
+        * Use the wx.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):
 
     """
     def __repr__(self):
@@ -4973,8 +6027,8 @@ class ContextHelp(_core.Object):
         """
         __init__(self, Window window=None, bool doNow=True) -> ContextHelp
 
         """
         __init__(self, Window window=None, bool doNow=True) -> ContextHelp
 
-        Constructs a context help object, calling BeginContextHelp if
-        doNow is true (the default).
+        Constructs a context help object, calling BeginContextHelp if doNow is
+        true (the default).
 
         If window is None, the top window is used.
         """
 
         If window is None, the top window is used.
         """
@@ -4992,13 +6046,13 @@ class ContextHelp(_core.Object):
         """
         BeginContextHelp(self, Window window=None) -> bool
 
         """
         BeginContextHelp(self, Window window=None) -> bool
 
-        Puts the application into context-sensitive help mode. window is
-        the window which will be used to catch events; if NULL, the top
-        window will be used.
+        Puts the application into context-sensitive help mode. window is the
+        window which will be used to catch events; if NULL, the top window
+        will be used.
 
         Returns true if the application was successfully put into
 
         Returns true if the application was successfully put into
-        context-sensitive help mode. This function only returns when the
-        event loop has finished.
+        context-sensitive help mode. This function only returns when the event
+        loop has finished.
         """
         return _controls_.ContextHelp_BeginContextHelp(*args, **kwargs)
 
         """
         return _controls_.ContextHelp_BeginContextHelp(*args, **kwargs)
 
@@ -5021,16 +6075,17 @@ _controls_.ContextHelp_swigregister(ContextHelpPtr)
 
 class ContextHelpButton(BitmapButton):
     """
 
 class ContextHelpButton(BitmapButton):
     """
-    Instances of this class may be used to add a question mark button
-    that when pressed, puts the application into context-help
-    mode. It does this by creating a wx.ContextHelp object which
-    itself generates a EVT_HELP event when the user clicks on a
-    window.
+    Instances of this class may be used to add a question mark button that
+    when pressed, puts the application into context-help mode. It does
+    this by creating a wx.ContextHelp object which itself generates a
+    ``EVT_HELP`` event when the user clicks on a window.
 
 
-    On Windows, you may add a question-mark icon to a dialog by use
-    of the wx.DIALOG_EX_CONTEXTHELP extra style, but on other
-    platforms you will have to add a button explicitly, usually next
-    to OK, Cancel or similar buttons.
+    On Windows, you may add a question-mark icon to a dialog by use of the
+    ``wx.DIALOG_EX_CONTEXTHELP`` extra style, but on other platforms you
+    will have to add a button explicitly, usually next to OK, Cancel or
+    similar buttons.
+
+    :see: `wx.ContextHelp`, `wx.ContextHelpButton`
 
     """
     def __repr__(self):
 
     """
     def __repr__(self):
@@ -5070,19 +6125,18 @@ class HelpProvider(object):
         return "<%s.%s; proxy of C++ wxHelpProvider instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     def Set(*args, **kwargs):
         """
         return "<%s.%s; proxy of C++ wxHelpProvider instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     def Set(*args, **kwargs):
         """
-        HelpProvider.Set(HelpProvider helpProvider) -> HelpProvider
+        Set(HelpProvider helpProvider) -> HelpProvider
 
 
-        Sset the current, application-wide help provider. Returns the
-        previous one.  Unlike some other classes, the help provider is
-        not created on demand. This must be explicitly done by the
-        application.
+        Sset the current, application-wide help provider. Returns the previous
+        one.  Unlike some other classes, the help provider is not created on
+        demand. This must be explicitly done by the application.
         """
         return _controls_.HelpProvider_Set(*args, **kwargs)
 
     Set = staticmethod(Set)
     def Get(*args, **kwargs):
         """
         """
         return _controls_.HelpProvider_Set(*args, **kwargs)
 
     Set = staticmethod(Set)
     def Get(*args, **kwargs):
         """
-        HelpProvider.Get() -> HelpProvider
+        Get() -> HelpProvider
 
         Return the current application-wide help provider.
         """
 
         Return the current application-wide help provider.
         """
@@ -5093,9 +6147,9 @@ class HelpProvider(object):
         """
         GetHelp(self, Window window) -> String
 
         """
         GetHelp(self, Window window) -> String
 
-        Gets the help string for this window. Its interpretation is
-        dependent on the help provider except that empty string always
-        means that no help is associated with the window.
+        Gets the help string for this window. Its interpretation is dependent
+        on the help provider except that empty string always means that no
+        help is associated with the window.
         """
         return _controls_.HelpProvider_GetHelp(*args, **kwargs)
 
         """
         return _controls_.HelpProvider_GetHelp(*args, **kwargs)
 
@@ -5104,10 +6158,8 @@ class HelpProvider(object):
         ShowHelp(self, Window window) -> bool
 
         Shows help for the given window. Uses GetHelp internally if
         ShowHelp(self, Window window) -> bool
 
         Shows help for the given window. Uses GetHelp internally if
-        applicable.
-
-        Returns true if it was done, or false if no help was available
-        for this window.
+        applicable. Returns True if it was done, or False if no help was
+        available for this window.
         """
         return _controls_.HelpProvider_ShowHelp(*args, **kwargs)
 
         """
         return _controls_.HelpProvider_ShowHelp(*args, **kwargs)
 
@@ -5124,8 +6176,8 @@ class HelpProvider(object):
         AddHelpById(self, int id, String text)
 
         This version associates the given text with all windows with this
         AddHelpById(self, int id, String text)
 
         This version associates the given text with all windows with this
-        id. May be used to set the same help string for all Cancel
-        buttons in the application, for example.
+        id. May be used to set the same help string for all Cancel buttons in
+        the application, for example.
         """
         return _controls_.HelpProvider_AddHelpById(*args, **kwargs)
 
         """
         return _controls_.HelpProvider_AddHelpById(*args, **kwargs)
 
@@ -5134,9 +6186,9 @@ class HelpProvider(object):
         RemoveHelp(self, Window window)
 
         Removes the association between the window pointer and the help
         RemoveHelp(self, Window window)
 
         Removes the association between the window pointer and the help
-        text. This is called by the wx.Window destructor. Without this,
-        the table of help strings will fill up and when window pointers
-        are reused, the wrong help string will be found.
+        text. This is called by the wx.Window destructor. Without this, the
+        table of help strings will fill up and when window pointers are
+        reused, the wrong help string will be found.
         """
         return _controls_.HelpProvider_RemoveHelp(*args, **kwargs)
 
         """
         return _controls_.HelpProvider_RemoveHelp(*args, **kwargs)
 
@@ -5156,10 +6208,9 @@ def HelpProvider_Set(*args, **kwargs):
     """
     HelpProvider_Set(HelpProvider helpProvider) -> HelpProvider
 
     """
     HelpProvider_Set(HelpProvider helpProvider) -> HelpProvider
 
-    Sset the current, application-wide help provider. Returns the
-    previous one.  Unlike some other classes, the help provider is
-    not created on demand. This must be explicitly done by the
-    application.
+    Sset the current, application-wide help provider. Returns the previous
+    one.  Unlike some other classes, the help provider is not created on
+    demand. This must be explicitly done by the application.
     """
     return _controls_.HelpProvider_Set(*args, **kwargs)
 
     """
     return _controls_.HelpProvider_Set(*args, **kwargs)
 
@@ -5173,9 +6224,9 @@ def HelpProvider_Get(*args, **kwargs):
 
 class SimpleHelpProvider(HelpProvider):
     """
 
 class SimpleHelpProvider(HelpProvider):
     """
-    wx.SimpleHelpProvider is an implementation of wx.HelpProvider
-    which supports only plain text help strings, and shows the string
-    associated with the control (if any) in a tooltip.
+    wx.SimpleHelpProvider is an implementation of `wx.HelpProvider` which
+    supports only plain text help strings, and shows the string associated
+    with the control (if any) in a tooltip.
     """
     def __repr__(self):
         return "<%s.%s; proxy of C++ wxSimpleHelpProvider instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     """
     def __repr__(self):
         return "<%s.%s; proxy of C++ wxSimpleHelpProvider instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
@@ -5183,9 +6234,9 @@ class SimpleHelpProvider(HelpProvider):
         """
         __init__(self) -> SimpleHelpProvider
 
         """
         __init__(self) -> SimpleHelpProvider
 
-        wx.SimpleHelpProvider is an implementation of wx.HelpProvider
-        which supports only plain text help strings, and shows the string
-        associated with the control (if any) in a tooltip.
+        wx.SimpleHelpProvider is an implementation of `wx.HelpProvider` which
+        supports only plain text help strings, and shows the string associated
+        with the control (if any) in a tooltip.
         """
         newobj = _controls_.new_SimpleHelpProvider(*args, **kwargs)
         self.this = newobj.this
         """
         newobj = _controls_.new_SimpleHelpProvider(*args, **kwargs)
         self.this = newobj.this
@@ -5202,6 +6253,7 @@ _controls_.SimpleHelpProvider_swigregister(SimpleHelpProviderPtr)
 #---------------------------------------------------------------------------
 
 class DragImage(_core.Object):
 #---------------------------------------------------------------------------
 
 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):
     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):
@@ -5295,4 +6347,124 @@ def DragListItem(*args, **kwargs):
     val.thisown = 1
     return val
 
     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
+