]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/mac/core.py
build doc update for MSW
[wxWidgets.git] / wxPython / src / mac / core.py
index c020eefde341150b4993eff3f48e1ead382b2beb..f4405b99b4bc6d5a300a5847f6938a1f6fa7ff06 100644 (file)
@@ -233,6 +233,7 @@ DD_DEFAULT_STYLE = _core.DD_DEFAULT_STYLE
 MENU_TEAROFF = _core.MENU_TEAROFF
 MB_DOCKABLE = _core.MB_DOCKABLE
 NO_FULL_REPAINT_ON_RESIZE = _core.NO_FULL_REPAINT_ON_RESIZE
+FULL_REPAINT_ON_RESIZE = _core.FULL_REPAINT_ON_RESIZE
 LI_HORIZONTAL = _core.LI_HORIZONTAL
 LI_VERTICAL = _core.LI_VERTICAL
 WS_EX_VALIDATE_RECURSIVELY = _core.WS_EX_VALIDATE_RECURSIVELY
@@ -552,11 +553,29 @@ UPDATE_UI_FROMIDLE = _core.UPDATE_UI_FROMIDLE
 #---------------------------------------------------------------------------
 
 class Object(object):
-    def GetClassName(*args, **kwargs): return _core.Object_GetClassName(*args, **kwargs)
-    def Destroy(*args, **kwargs): return _core.Object_Destroy(*args, **kwargs)
+    """
+    The base class for most wx objects, although in wxPython not
+    much functionality is needed nor exposed.
+    """
     def __init__(self): raise RuntimeError, "No constructor defined"
     def __repr__(self):
         return "<%s.%s; proxy of C++ wxObject instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def GetClassName(*args, **kwargs):
+        """
+        GetClassName() -> String
+
+        Returns the class name of the C++ object using wxRTTI.
+        """
+        return _core.Object_GetClassName(*args, **kwargs)
+
+    def Destroy(*args, **kwargs):
+        """
+        Destroy()
+
+        Deletes the C++ object this Python object is a proxy for.
+        """
+        return _core.Object_Destroy(*args, **kwargs)
+
 
 class ObjectPtr(Object):
     def __init__(self, this):
@@ -566,41 +585,32 @@ class ObjectPtr(Object):
 _core.Object_swigregister(ObjectPtr)
 _wxPySetDictionary = _core._wxPySetDictionary
 
+_wxPyFixStockObjects = _core._wxPyFixStockObjects
+
+cvar = _core.cvar
+EmptyString = cvar.EmptyString
 
 #---------------------------------------------------------------------------
 
 BITMAP_TYPE_INVALID = _core.BITMAP_TYPE_INVALID
 BITMAP_TYPE_BMP = _core.BITMAP_TYPE_BMP
-BITMAP_TYPE_BMP_RESOURCE = _core.BITMAP_TYPE_BMP_RESOURCE
-BITMAP_TYPE_RESOURCE = _core.BITMAP_TYPE_RESOURCE
 BITMAP_TYPE_ICO = _core.BITMAP_TYPE_ICO
-BITMAP_TYPE_ICO_RESOURCE = _core.BITMAP_TYPE_ICO_RESOURCE
 BITMAP_TYPE_CUR = _core.BITMAP_TYPE_CUR
-BITMAP_TYPE_CUR_RESOURCE = _core.BITMAP_TYPE_CUR_RESOURCE
 BITMAP_TYPE_XBM = _core.BITMAP_TYPE_XBM
 BITMAP_TYPE_XBM_DATA = _core.BITMAP_TYPE_XBM_DATA
 BITMAP_TYPE_XPM = _core.BITMAP_TYPE_XPM
 BITMAP_TYPE_XPM_DATA = _core.BITMAP_TYPE_XPM_DATA
 BITMAP_TYPE_TIF = _core.BITMAP_TYPE_TIF
-BITMAP_TYPE_TIF_RESOURCE = _core.BITMAP_TYPE_TIF_RESOURCE
 BITMAP_TYPE_GIF = _core.BITMAP_TYPE_GIF
-BITMAP_TYPE_GIF_RESOURCE = _core.BITMAP_TYPE_GIF_RESOURCE
 BITMAP_TYPE_PNG = _core.BITMAP_TYPE_PNG
-BITMAP_TYPE_PNG_RESOURCE = _core.BITMAP_TYPE_PNG_RESOURCE
 BITMAP_TYPE_JPEG = _core.BITMAP_TYPE_JPEG
-BITMAP_TYPE_JPEG_RESOURCE = _core.BITMAP_TYPE_JPEG_RESOURCE
 BITMAP_TYPE_PNM = _core.BITMAP_TYPE_PNM
-BITMAP_TYPE_PNM_RESOURCE = _core.BITMAP_TYPE_PNM_RESOURCE
 BITMAP_TYPE_PCX = _core.BITMAP_TYPE_PCX
-BITMAP_TYPE_PCX_RESOURCE = _core.BITMAP_TYPE_PCX_RESOURCE
 BITMAP_TYPE_PICT = _core.BITMAP_TYPE_PICT
-BITMAP_TYPE_PICT_RESOURCE = _core.BITMAP_TYPE_PICT_RESOURCE
 BITMAP_TYPE_ICON = _core.BITMAP_TYPE_ICON
-BITMAP_TYPE_ICON_RESOURCE = _core.BITMAP_TYPE_ICON_RESOURCE
 BITMAP_TYPE_ANI = _core.BITMAP_TYPE_ANI
 BITMAP_TYPE_IFF = _core.BITMAP_TYPE_IFF
 BITMAP_TYPE_MACCURSOR = _core.BITMAP_TYPE_MACCURSOR
-BITMAP_TYPE_MACCURSOR_RESOURCE = _core.BITMAP_TYPE_MACCURSOR_RESOURCE
 BITMAP_TYPE_ANY = _core.BITMAP_TYPE_ANY
 CURSOR_NONE = _core.CURSOR_NONE
 CURSOR_ARROW = _core.CURSOR_ARROW
@@ -636,43 +646,127 @@ CURSOR_MAX = _core.CURSOR_MAX
 #---------------------------------------------------------------------------
 
 class Size(object):
+    """
+    wx.Size is a useful data structure used to represent the size of something.
+    It simply contians integer width and height proprtites.  In most places in
+    wxPython where a wx.Size is expected a (width,height) tuple can be used
+    instead.
+    """
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxSize instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     width = property(_core.Size_width_get, _core.Size_width_set)
     height = property(_core.Size_height_get, _core.Size_height_set)
+    x = width; y = height 
     def __init__(self, *args, **kwargs):
+        """
+        __init__(int w=0, int h=0) -> Size
+
+        Creates a size object.
+        """
         newobj = _core.new_Size(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
         del newobj.thisown
     def __del__(self, destroy=_core.delete_Size):
+        """__del__()"""
         try:
             if self.thisown: destroy(self)
         except: pass
-    def __eq__(*args, **kwargs): return _core.Size___eq__(*args, **kwargs)
-    def __ne__(*args, **kwargs): return _core.Size___ne__(*args, **kwargs)
-    def __add__(*args, **kwargs): return _core.Size___add__(*args, **kwargs)
-    def __sub__(*args, **kwargs): return _core.Size___sub__(*args, **kwargs)
-    def IncTo(*args, **kwargs): return _core.Size_IncTo(*args, **kwargs)
-    def DecTo(*args, **kwargs): return _core.Size_DecTo(*args, **kwargs)
-    def Set(*args, **kwargs): return _core.Size_Set(*args, **kwargs)
-    def SetWidth(*args, **kwargs): return _core.Size_SetWidth(*args, **kwargs)
-    def SetHeight(*args, **kwargs): return _core.Size_SetHeight(*args, **kwargs)
-    def GetWidth(*args, **kwargs): return _core.Size_GetWidth(*args, **kwargs)
-    def GetHeight(*args, **kwargs): return _core.Size_GetHeight(*args, **kwargs)
-    def GetX(*args, **kwargs): return _core.Size_GetX(*args, **kwargs)
-    def GetY(*args, **kwargs): return _core.Size_GetY(*args, **kwargs)
-    def asTuple(*args, **kwargs): return _core.Size_asTuple(*args, **kwargs)
-    def __str__(self):                   return str(self.asTuple())
-    def __repr__(self):                  return 'wxSize'+str(self.asTuple())
-    def __len__(self):                   return len(self.asTuple())
-    def __getitem__(self, index):        return self.asTuple()[index]
+
+    def __eq__(*args, **kwargs):
+        """
+        __eq__(Size sz) -> bool
+
+        Test for equality of wx.Size objects.
+        """
+        return _core.Size___eq__(*args, **kwargs)
+
+    def __ne__(*args, **kwargs):
+        """
+        __ne__(Size sz) -> bool
+
+        Test for inequality.
+        """
+        return _core.Size___ne__(*args, **kwargs)
+
+    def __add__(*args, **kwargs):
+        """
+        __add__(Size sz) -> Size
+
+        Add sz's proprties to this and return the result.
+        """
+        return _core.Size___add__(*args, **kwargs)
+
+    def __sub__(*args, **kwargs):
+        """
+        __sub__(Size sz) -> Size
+
+        Subtract sz's properties from this and return the result.
+        """
+        return _core.Size___sub__(*args, **kwargs)
+
+    def IncTo(*args, **kwargs):
+        """
+        IncTo(Size sz)
+
+        Increments this object so that both of its dimensions are not less
+        than the corresponding dimensions of the size.
+        """
+        return _core.Size_IncTo(*args, **kwargs)
+
+    def DecTo(*args, **kwargs):
+        """
+        DecTo(Size sz)
+
+        Decrements this object so that both of its dimensions are not greater
+        than the corresponding dimensions of the size.
+        """
+        return _core.Size_DecTo(*args, **kwargs)
+
+    def Set(*args, **kwargs):
+        """
+        Set(int w, int h)
+
+        Set both width and height.
+        """
+        return _core.Size_Set(*args, **kwargs)
+
+    def SetWidth(*args, **kwargs):
+        """SetWidth(int w)"""
+        return _core.Size_SetWidth(*args, **kwargs)
+
+    def SetHeight(*args, **kwargs):
+        """SetHeight(int h)"""
+        return _core.Size_SetHeight(*args, **kwargs)
+
+    def GetWidth(*args, **kwargs):
+        """GetWidth() -> int"""
+        return _core.Size_GetWidth(*args, **kwargs)
+
+    def GetHeight(*args, **kwargs):
+        """GetHeight() -> int"""
+        return _core.Size_GetHeight(*args, **kwargs)
+
+    def Get(*args, **kwargs):
+        """
+        Get() -> (width,height)
+
+        Returns the width and height properties as a tuple.
+        """
+        return _core.Size_Get(*args, **kwargs)
+
+    asTuple = Get
+    def __str__(self):                   return str(self.Get())
+    def __repr__(self):                  return 'wx.Size'+str(self.Get())
+    def __len__(self):                   return len(self.Get())
+    def __getitem__(self, index):        return self.Get()[index]
     def __setitem__(self, index, val):
         if index == 0: self.width = val
         elif index == 1: self.height = val
         else: raise IndexError
-    def __nonzero__(self):               return self.asTuple() != (0,0)
-    def __getinitargs__(self):           return ()
-    def __getstate__(self):              return self.asTuple()
-    def __setstate__(self, state):       self.Set(*state)
+    def __nonzero__(self):               return self.Get() != (0,0)
+    __safe_for_unpickling__ = True
+    def __reduce__(self):                return (wx.Size, self.Get())
 
 
 class SizePtr(Size):
@@ -685,35 +779,91 @@ _core.Size_swigregister(SizePtr)
 #---------------------------------------------------------------------------
 
 class RealPoint(object):
+    """
+    A data structure for representing a point or position with floating point x
+    and y properties.  In wxPython most places that expect a wx.RealPoint can also
+    accept a (x,y) tuple.
+    """
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxRealPoint instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     x = property(_core.RealPoint_x_get, _core.RealPoint_x_set)
     y = property(_core.RealPoint_y_get, _core.RealPoint_y_set)
     def __init__(self, *args, **kwargs):
+        """
+        __init__(double x=0.0, double y=0.0) -> RealPoint
+
+        Create a wx.RealPoint object
+        """
         newobj = _core.new_RealPoint(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
         del newobj.thisown
     def __del__(self, destroy=_core.delete_RealPoint):
+        """__del__()"""
         try:
             if self.thisown: destroy(self)
         except: pass
-    def __add__(*args, **kwargs): return _core.RealPoint___add__(*args, **kwargs)
-    def __sub__(*args, **kwargs): return _core.RealPoint___sub__(*args, **kwargs)
-    def __eq__(*args, **kwargs): return _core.RealPoint___eq__(*args, **kwargs)
-    def __ne__(*args, **kwargs): return _core.RealPoint___ne__(*args, **kwargs)
-    def Set(*args, **kwargs): return _core.RealPoint_Set(*args, **kwargs)
-    def asTuple(*args, **kwargs): return _core.RealPoint_asTuple(*args, **kwargs)
-    def __str__(self):                   return str(self.asTuple())
-    def __repr__(self):                  return 'wxRealPoint'+str(self.asTuple())
-    def __len__(self):                   return len(self.asTuple())
-    def __getitem__(self, index):        return self.asTuple()[index]
+
+    def __eq__(*args, **kwargs):
+        """
+        __eq__(RealPoint pt) -> bool
+
+        Test for equality of wx.RealPoint objects.
+        """
+        return _core.RealPoint___eq__(*args, **kwargs)
+
+    def __ne__(*args, **kwargs):
+        """
+        __ne__(RealPoint pt) -> bool
+
+        Test for inequality of wx.RealPoint objects.
+        """
+        return _core.RealPoint___ne__(*args, **kwargs)
+
+    def __add__(*args, **kwargs):
+        """
+        __add__(RealPoint pt) -> RealPoint
+
+        Add pt's proprties to this and return the result.
+        """
+        return _core.RealPoint___add__(*args, **kwargs)
+
+    def __sub__(*args, **kwargs):
+        """
+        __sub__(RealPoint pt) -> RealPoint
+
+        Subtract pt's proprties from this and return the result
+        """
+        return _core.RealPoint___sub__(*args, **kwargs)
+
+    def Set(*args, **kwargs):
+        """
+        Set(double x, double y)
+
+        Set both the x and y properties
+        """
+        return _core.RealPoint_Set(*args, **kwargs)
+
+    def Get(*args, **kwargs):
+        """
+        Get() -> (x,y)
+
+        Return the x and y properties as a tuple. 
+        """
+        return _core.RealPoint_Get(*args, **kwargs)
+
+    asTuple = Get
+    def __str__(self):                   return str(self.Get())
+    def __repr__(self):                  return 'wx.RealPoint'+str(self.Get())
+    def __len__(self):                   return len(self.Get())
+    def __getitem__(self, index):        return self.Get()[index]
     def __setitem__(self, index, val):
-        if index == 0: self.width = val
-        elif index == 1: self.height = val
+        if index == 0: self.x = val
+        elif index == 1: self.y = val
         else: raise IndexError
-    def __nonzero__(self):               return self.asTuple() != (0.0, 0.0)
-    def __getinitargs__(self):           return ()
-    def __getstate__(self):              return self.asTuple()
-    def __setstate__(self, state):       self.Set(*state)
+    def __nonzero__(self):               return self.Get() != (0.0, 0.0)
+    __safe_for_unpickling__ = True
+    def __reduce__(self):                return (wx.RealPoint, self.Get())
 
 
 class RealPointPtr(RealPoint):
@@ -726,37 +876,107 @@ _core.RealPoint_swigregister(RealPointPtr)
 #---------------------------------------------------------------------------
 
 class Point(object):
+    """
+    A data structure for representing a point or position with integer x and y
+    properties.  Most places in wxPython that expect a wx.Point can also accept a
+    (x,y) tuple.
+    """
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxPoint instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     x = property(_core.Point_x_get, _core.Point_x_set)
     y = property(_core.Point_y_get, _core.Point_y_set)
     def __init__(self, *args, **kwargs):
+        """
+        __init__(int x=0, int y=0) -> Point
+
+        Create a wx.Point object
+        """
         newobj = _core.new_Point(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
         del newobj.thisown
     def __del__(self, destroy=_core.delete_Point):
+        """__del__()"""
         try:
             if self.thisown: destroy(self)
         except: pass
-    def __eq__(*args, **kwargs): return _core.Point___eq__(*args, **kwargs)
-    def __ne__(*args, **kwargs): return _core.Point___ne__(*args, **kwargs)
-    def __add__(*args, **kwargs): return _core.Point___add__(*args, **kwargs)
-    def __sub__(*args, **kwargs): return _core.Point___sub__(*args, **kwargs)
-    def __iadd__(*args, **kwargs): return _core.Point___iadd__(*args, **kwargs)
-    def __isub__(*args, **kwargs): return _core.Point___isub__(*args, **kwargs)
-    def Set(*args, **kwargs): return _core.Point_Set(*args, **kwargs)
-    def asTuple(*args, **kwargs): return _core.Point_asTuple(*args, **kwargs)
-    def __str__(self):                   return str(self.asTuple())
-    def __repr__(self):                  return 'wxPoint'+str(self.asTuple())
-    def __len__(self):                   return len(self.asTuple())
-    def __getitem__(self, index):        return self.asTuple()[index]
+
+    def __eq__(*args, **kwargs):
+        """
+        __eq__(Point pt) -> bool
+
+        Test for equality of wx.Point objects.
+        """
+        return _core.Point___eq__(*args, **kwargs)
+
+    def __ne__(*args, **kwargs):
+        """
+        __ne__(Point pt) -> bool
+
+        Test for inequality of wx.Point objects.
+        """
+        return _core.Point___ne__(*args, **kwargs)
+
+    def __add__(*args, **kwargs):
+        """
+        __add__(Point pt) -> Point
+
+        Add pt's proprties to this and return the result.
+        """
+        return _core.Point___add__(*args, **kwargs)
+
+    def __sub__(*args, **kwargs):
+        """
+        __sub__(Point pt) -> Point
+
+        Subtract pt's proprties from this and return the result
+        """
+        return _core.Point___sub__(*args, **kwargs)
+
+    def __iadd__(*args, **kwargs):
+        """
+        __iadd__(Point pt) -> Point
+
+        Add pt to this object.
+        """
+        return _core.Point___iadd__(*args, **kwargs)
+
+    def __isub__(*args, **kwargs):
+        """
+        __isub__(Point pt) -> Point
+
+        Subtract pt from this object.
+        """
+        return _core.Point___isub__(*args, **kwargs)
+
+    def Set(*args, **kwargs):
+        """
+        Set(long x, long y)
+
+        Set both the x and y properties
+        """
+        return _core.Point_Set(*args, **kwargs)
+
+    def Get(*args, **kwargs):
+        """
+        Get() -> (x,y)
+
+        Return the x and y properties as a tuple. 
+        """
+        return _core.Point_Get(*args, **kwargs)
+
+    asTuple = Get
+    def __str__(self):                   return str(self.Get())
+    def __repr__(self):                  return 'wx.Point'+str(self.Get())
+    def __len__(self):                   return len(self.Get())
+    def __getitem__(self, index):        return self.Get()[index]
     def __setitem__(self, index, val):
         if index == 0: self.x = val
         elif index == 1: self.y = val
         else: raise IndexError
-    def __nonzero__(self):               return self.asTuple() != (0,0)
-    def __getinitargs__(self):           return ()
-    def __getstate__(self):              return self.asTuple()
-    def __setstate__(self, state):       self.Set(*state)
+    def __nonzero__(self):               return self.Get() != (0,0)
+    __safe_for_unpickling__ = True
+    def __reduce__(self):                return (wx.Point, self.Get())
 
 
 class PointPtr(Point):
@@ -769,67 +989,267 @@ _core.Point_swigregister(PointPtr)
 #---------------------------------------------------------------------------
 
 class Rect(object):
+    """
+    A class for representing and manipulating rectangles.  It has x, y, width and
+    height properties.  In wxPython most palces that expect a wx.Rect can also
+    accept a (x,y,width,height) tuple.
+    """
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxRect instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     def __init__(self, *args, **kwargs):
+        """
+        __init__(int x=0, int y=0, int width=0, int height=0) -> Rect
+
+        Create a new Rect object.
+        """
         newobj = _core.new_Rect(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
         del newobj.thisown
     def __del__(self, destroy=_core.delete_Rect):
+        """__del__()"""
         try:
             if self.thisown: destroy(self)
         except: pass
-    def GetX(*args, **kwargs): return _core.Rect_GetX(*args, **kwargs)
-    def SetX(*args, **kwargs): return _core.Rect_SetX(*args, **kwargs)
-    def GetY(*args, **kwargs): return _core.Rect_GetY(*args, **kwargs)
-    def SetY(*args, **kwargs): return _core.Rect_SetY(*args, **kwargs)
-    def GetWidth(*args, **kwargs): return _core.Rect_GetWidth(*args, **kwargs)
-    def SetWidth(*args, **kwargs): return _core.Rect_SetWidth(*args, **kwargs)
-    def GetHeight(*args, **kwargs): return _core.Rect_GetHeight(*args, **kwargs)
-    def SetHeight(*args, **kwargs): return _core.Rect_SetHeight(*args, **kwargs)
-    def GetPosition(*args, **kwargs): return _core.Rect_GetPosition(*args, **kwargs)
-    def SetPosition(*args, **kwargs): return _core.Rect_SetPosition(*args, **kwargs)
-    def GetSize(*args, **kwargs): return _core.Rect_GetSize(*args, **kwargs)
-    def SetSize(*args, **kwargs): return _core.Rect_SetSize(*args, **kwargs)
-    def GetLeft(*args, **kwargs): return _core.Rect_GetLeft(*args, **kwargs)
-    def GetTop(*args, **kwargs): return _core.Rect_GetTop(*args, **kwargs)
-    def GetBottom(*args, **kwargs): return _core.Rect_GetBottom(*args, **kwargs)
-    def GetRight(*args, **kwargs): return _core.Rect_GetRight(*args, **kwargs)
-    def SetLeft(*args, **kwargs): return _core.Rect_SetLeft(*args, **kwargs)
-    def SetRight(*args, **kwargs): return _core.Rect_SetRight(*args, **kwargs)
-    def SetTop(*args, **kwargs): return _core.Rect_SetTop(*args, **kwargs)
-    def SetBottom(*args, **kwargs): return _core.Rect_SetBottom(*args, **kwargs)
-    def Inflate(*args, **kwargs): return _core.Rect_Inflate(*args, **kwargs)
-    def Deflate(*args, **kwargs): return _core.Rect_Deflate(*args, **kwargs)
-    def OffsetXY(*args, **kwargs): return _core.Rect_OffsetXY(*args, **kwargs)
-    def Offset(*args, **kwargs): return _core.Rect_Offset(*args, **kwargs)
-    def Intersect(*args, **kwargs): return _core.Rect_Intersect(*args, **kwargs)
-    def __add__(*args, **kwargs): return _core.Rect___add__(*args, **kwargs)
-    def __iadd__(*args, **kwargs): return _core.Rect___iadd__(*args, **kwargs)
-    def __eq__(*args, **kwargs): return _core.Rect___eq__(*args, **kwargs)
-    def __ne__(*args, **kwargs): return _core.Rect___ne__(*args, **kwargs)
-    def InsideXY(*args, **kwargs): return _core.Rect_InsideXY(*args, **kwargs)
-    def Inside(*args, **kwargs): return _core.Rect_Inside(*args, **kwargs)
-    def Intersects(*args, **kwargs): return _core.Rect_Intersects(*args, **kwargs)
+
+    def GetX(*args, **kwargs):
+        """GetX() -> int"""
+        return _core.Rect_GetX(*args, **kwargs)
+
+    def SetX(*args, **kwargs):
+        """SetX(int x)"""
+        return _core.Rect_SetX(*args, **kwargs)
+
+    def GetY(*args, **kwargs):
+        """GetY() -> int"""
+        return _core.Rect_GetY(*args, **kwargs)
+
+    def SetY(*args, **kwargs):
+        """SetY(int y)"""
+        return _core.Rect_SetY(*args, **kwargs)
+
+    def GetWidth(*args, **kwargs):
+        """GetWidth() -> int"""
+        return _core.Rect_GetWidth(*args, **kwargs)
+
+    def SetWidth(*args, **kwargs):
+        """SetWidth(int w)"""
+        return _core.Rect_SetWidth(*args, **kwargs)
+
+    def GetHeight(*args, **kwargs):
+        """GetHeight() -> int"""
+        return _core.Rect_GetHeight(*args, **kwargs)
+
+    def SetHeight(*args, **kwargs):
+        """SetHeight(int h)"""
+        return _core.Rect_SetHeight(*args, **kwargs)
+
+    def GetPosition(*args, **kwargs):
+        """GetPosition() -> Point"""
+        return _core.Rect_GetPosition(*args, **kwargs)
+
+    def SetPosition(*args, **kwargs):
+        """SetPosition(Point p)"""
+        return _core.Rect_SetPosition(*args, **kwargs)
+
+    def GetSize(*args, **kwargs):
+        """GetSize() -> Size"""
+        return _core.Rect_GetSize(*args, **kwargs)
+
+    def SetSize(*args, **kwargs):
+        """SetSize(Size s)"""
+        return _core.Rect_SetSize(*args, **kwargs)
+
+    def GetTopLeft(*args, **kwargs):
+        """GetTopLeft() -> Point"""
+        return _core.Rect_GetTopLeft(*args, **kwargs)
+
+    def SetTopLeft(*args, **kwargs):
+        """SetTopLeft(Point p)"""
+        return _core.Rect_SetTopLeft(*args, **kwargs)
+
+    def GetBottomRight(*args, **kwargs):
+        """GetBottomRight() -> Point"""
+        return _core.Rect_GetBottomRight(*args, **kwargs)
+
+    def SetBottomRight(*args, **kwargs):
+        """SetBottomRight(Point p)"""
+        return _core.Rect_SetBottomRight(*args, **kwargs)
+
+    def GetLeft(*args, **kwargs):
+        """GetLeft() -> int"""
+        return _core.Rect_GetLeft(*args, **kwargs)
+
+    def GetTop(*args, **kwargs):
+        """GetTop() -> int"""
+        return _core.Rect_GetTop(*args, **kwargs)
+
+    def GetBottom(*args, **kwargs):
+        """GetBottom() -> int"""
+        return _core.Rect_GetBottom(*args, **kwargs)
+
+    def GetRight(*args, **kwargs):
+        """GetRight() -> int"""
+        return _core.Rect_GetRight(*args, **kwargs)
+
+    def SetLeft(*args, **kwargs):
+        """SetLeft(int left)"""
+        return _core.Rect_SetLeft(*args, **kwargs)
+
+    def SetRight(*args, **kwargs):
+        """SetRight(int right)"""
+        return _core.Rect_SetRight(*args, **kwargs)
+
+    def SetTop(*args, **kwargs):
+        """SetTop(int top)"""
+        return _core.Rect_SetTop(*args, **kwargs)
+
+    def SetBottom(*args, **kwargs):
+        """SetBottom(int bottom)"""
+        return _core.Rect_SetBottom(*args, **kwargs)
+
+    position = property(GetPosition, SetPosition)
+    size = property(GetSize, SetSize)
+    left = property(GetLeft, SetLeft)
+    right = property(GetRight, SetRight)
+    top = property(GetTop, SetTop)
+    bottom = property(GetBottom, SetBottom)
+
+    def Inflate(*args, **kwargs):
+        """
+        Inflate(int dx, int dy) -> Rect
+
+        Increase the rectangle size by dx in x direction and dy in y direction. Both
+        (or one of) parameters may be negative to decrease the rectangle size.
+        """
+        return _core.Rect_Inflate(*args, **kwargs)
+
+    def Deflate(*args, **kwargs):
+        """
+        Deflate(int dx, int dy) -> Rect
+
+        Decrease the rectangle size by dx in x direction and dy in y direction. Both
+        (or one of) parameters may be negative to increase the rectngle size. This
+        method is the opposite of Inflate.
+        """
+        return _core.Rect_Deflate(*args, **kwargs)
+
+    def OffsetXY(*args, **kwargs):
+        """
+        OffsetXY(int dx, int dy)
+
+        Moves the rectangle by the specified offset. If dx is positive, the rectangle
+        is moved to the right, if dy is positive, it is moved to the bottom, otherwise
+        it is moved to the left or top respectively.
+        """
+        return _core.Rect_OffsetXY(*args, **kwargs)
+
+    def Offset(*args, **kwargs):
+        """
+        Offset(Point pt)
+
+        Same as OffsetXY but uses dx,dy from Point
+        """
+        return _core.Rect_Offset(*args, **kwargs)
+
+    def Intersect(*args, **kwargs):
+        """
+        Intersect(Rect rect) -> Rect
+
+        Return the intersectsion of this rectangle and rect.
+        """
+        return _core.Rect_Intersect(*args, **kwargs)
+
+    def __add__(*args, **kwargs):
+        """
+        __add__(Rect rect) -> Rect
+
+        Add the properties of rect to this rectangle and return the result.
+        """
+        return _core.Rect___add__(*args, **kwargs)
+
+    def __iadd__(*args, **kwargs):
+        """
+        __iadd__(Rect rect) -> Rect
+
+        Add the properties of rect to this rectangle, updating this rectangle.
+        """
+        return _core.Rect___iadd__(*args, **kwargs)
+
+    def __eq__(*args, **kwargs):
+        """
+        __eq__(Rect rect) -> bool
+
+        Test for equality.
+        """
+        return _core.Rect___eq__(*args, **kwargs)
+
+    def __ne__(*args, **kwargs):
+        """
+        __ne__(Rect rect) -> bool
+
+        Test for inequality.
+        """
+        return _core.Rect___ne__(*args, **kwargs)
+
+    def InsideXY(*args, **kwargs):
+        """
+        InsideXY(int x, int y) -> bool
+
+        Return True if the point is (not strcitly) inside the rect.
+        """
+        return _core.Rect_InsideXY(*args, **kwargs)
+
+    def Inside(*args, **kwargs):
+        """
+        Inside(Point pt) -> bool
+
+        Return True if the point is (not strcitly) inside the rect.
+        """
+        return _core.Rect_Inside(*args, **kwargs)
+
+    def Intersects(*args, **kwargs):
+        """
+        Intersects(Rect rect) -> bool
+
+        Returns True if the rectangles have a non empty intersection.
+        """
+        return _core.Rect_Intersects(*args, **kwargs)
+
     x = property(_core.Rect_x_get, _core.Rect_x_set)
     y = property(_core.Rect_y_get, _core.Rect_y_set)
     width = property(_core.Rect_width_get, _core.Rect_width_set)
     height = property(_core.Rect_height_get, _core.Rect_height_set)
-    def Set(*args, **kwargs): return _core.Rect_Set(*args, **kwargs)
-    def asTuple(*args, **kwargs): return _core.Rect_asTuple(*args, **kwargs)
-    def __str__(self):                   return str(self.asTuple())
-    def __repr__(self):                  return 'wxRect'+str(self.asTuple())
-    def __len__(self):                   return len(self.asTuple())
-    def __getitem__(self, index):        return self.asTuple()[index]
+    def Set(*args, **kwargs):
+        """
+        Set(int x=0, int y=0, int width=0, int height=0)
+
+        Set all rectangle properties.
+        """
+        return _core.Rect_Set(*args, **kwargs)
+
+    def Get(*args, **kwargs):
+        """
+        Get() -> (x,y,width,height)
+
+        Return the rectangle properties as a tuple.
+        """
+        return _core.Rect_Get(*args, **kwargs)
+
+    asTuple = Get
+    def __str__(self):                   return str(self.Get())
+    def __repr__(self):                  return 'wx.Rect'+str(self.Get())
+    def __len__(self):                   return len(self.Get())
+    def __getitem__(self, index):        return self.Get()[index]
     def __setitem__(self, index, val):
         if index == 0: self.x = val
         elif index == 1: self.y = val
         elif index == 2: self.width = val
         elif index == 3: self.height = val
         else: raise IndexError
-    def __nonzero__(self):               return self.asTuple() != (0,0,0,0)
-    def __getinitargs__(self):           return ()
-    def __getstate__(self):              return self.asTuple()
-    def __setstate__(self, state):       self.Set(*state)
+    def __nonzero__(self):               return self.Get() != (0,0,0,0)
+    __safe_for_unpickling__ = True
+    def __reduce__(self):                return (wx.Rect, self.Get())
 
 
 class RectPtr(Rect):
@@ -840,82 +1260,194 @@ class RectPtr(Rect):
 _core.Rect_swigregister(RectPtr)
 
 def RectPP(*args, **kwargs):
+    """
+    RectPP(Point topLeft, Point bottomRight) -> Rect
+
+    Create a new Rect object from Points representing two corners.
+    """
     val = _core.new_RectPP(*args, **kwargs)
     val.thisown = 1
     return val
 
 def RectPS(*args, **kwargs):
+    """
+    RectPS(Point pos, Size size) -> Rect
+
+    Create a new Rect from a position and size.
+    """
     val = _core.new_RectPS(*args, **kwargs)
     val.thisown = 1
     return val
 
 
-IntersectRect = _core.IntersectRect
+def IntersectRect(*args, **kwargs):
+    """
+    IntersectRect(Rect r1, Rect r2) -> Rect
+
+    Calculate and return the intersection of r1 and r2.
+    """
+    return _core.IntersectRect(*args, **kwargs)
 #---------------------------------------------------------------------------
 
 class Point2D(object):
+    """wx.Point2Ds represent a point or a vector in a 2d coordinate system with floating point values."""
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxPoint2D instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     def __init__(self, *args, **kwargs):
+        """
+        __init__(double x=0.0, double y=0.0) -> Point2D
+
+        Create a w.Point2D object.
+        """
         newobj = _core.new_Point2D(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
         del newobj.thisown
-    def GetFloor(*args, **kwargs): return _core.Point2D_GetFloor(*args, **kwargs)
-    def GetRounded(*args, **kwargs): return _core.Point2D_GetRounded(*args, **kwargs)
-    def GetVectorLength(*args, **kwargs): return _core.Point2D_GetVectorLength(*args, **kwargs)
-    def GetVectorAngle(*args, **kwargs): return _core.Point2D_GetVectorAngle(*args, **kwargs)
-    def SetVectorLength(*args, **kwargs): return _core.Point2D_SetVectorLength(*args, **kwargs)
-    def SetVectorAngle(*args, **kwargs): return _core.Point2D_SetVectorAngle(*args, **kwargs)
+    def GetFloor(*args, **kwargs):
+        """
+        GetFloor() -> (x,y)
+
+        Convert to integer
+        """
+        return _core.Point2D_GetFloor(*args, **kwargs)
+
+    def GetRounded(*args, **kwargs):
+        """
+        GetRounded() -> (x,y)
+
+        Convert to integer
+        """
+        return _core.Point2D_GetRounded(*args, **kwargs)
+
+    def GetVectorLength(*args, **kwargs):
+        """GetVectorLength() -> double"""
+        return _core.Point2D_GetVectorLength(*args, **kwargs)
+
+    def GetVectorAngle(*args, **kwargs):
+        """GetVectorAngle() -> double"""
+        return _core.Point2D_GetVectorAngle(*args, **kwargs)
+
+    def SetVectorLength(*args, **kwargs):
+        """SetVectorLength(double length)"""
+        return _core.Point2D_SetVectorLength(*args, **kwargs)
+
+    def SetVectorAngle(*args, **kwargs):
+        """SetVectorAngle(double degrees)"""
+        return _core.Point2D_SetVectorAngle(*args, **kwargs)
+
     def SetPolarCoordinates(self, angle, length):
         self.SetVectorLength(length)
         self.SetVectorAngle(angle)
     def Normalize(self):
         self.SetVectorLength(1.0)
 
-    def GetDistance(*args, **kwargs): return _core.Point2D_GetDistance(*args, **kwargs)
-    def GetDistanceSquare(*args, **kwargs): return _core.Point2D_GetDistanceSquare(*args, **kwargs)
-    def GetDotProduct(*args, **kwargs): return _core.Point2D_GetDotProduct(*args, **kwargs)
-    def GetCrossProduct(*args, **kwargs): return _core.Point2D_GetCrossProduct(*args, **kwargs)
-    def __neg__(*args, **kwargs): return _core.Point2D___neg__(*args, **kwargs)
-    def __iadd__(*args, **kwargs): return _core.Point2D___iadd__(*args, **kwargs)
-    def __isub__(*args, **kwargs): return _core.Point2D___isub__(*args, **kwargs)
-    def __imul__(*args, **kwargs): return _core.Point2D___imul__(*args, **kwargs)
-    def __idiv__(*args, **kwargs): return _core.Point2D___idiv__(*args, **kwargs)
-    def __eq__(*args, **kwargs): return _core.Point2D___eq__(*args, **kwargs)
-    def __ne__(*args, **kwargs): return _core.Point2D___ne__(*args, **kwargs)
-    m_x = property(_core.Point2D_m_x_get, _core.Point2D_m_x_set)
-    m_y = property(_core.Point2D_m_y_get, _core.Point2D_m_y_set)
-    x = property(_core.Point2D_x_get, _core.Point2D_x_set)
-    y = property(_core.Point2D_y_get, _core.Point2D_y_set)
-    def Set(*args, **kwargs): return _core.Point2D_Set(*args, **kwargs)
-    def asTuple(*args, **kwargs): return _core.Point2D_asTuple(*args, **kwargs)
-    def __str__(self):                   return str(self.asTuple())
-    def __repr__(self):                  return 'wxPoint2D'+str(self.asTuple())
-    def __len__(self):                   return len(self.asTuple())
-    def __getitem__(self, index):        return self.asTuple()[index]
-    def __setitem__(self, index, val):
-        if index == 0: self.m_x = val
-        elif index == 1: self.m_yt = val
-        else: raise IndexError
-    def __nonzero__(self):               return self.asTuple() != (0.0, 0.0)
-    def __getinitargs__(self):           return ()
-    def __getstate__(self):              return self.asTuple()
-    def __setstate__(self, state):       self.Set(*state)
+    def GetDistance(*args, **kwargs):
+        """GetDistance(Point2D pt) -> double"""
+        return _core.Point2D_GetDistance(*args, **kwargs)
 
+    def GetDistanceSquare(*args, **kwargs):
+        """GetDistanceSquare(Point2D pt) -> double"""
+        return _core.Point2D_GetDistanceSquare(*args, **kwargs)
 
+    def GetDotProduct(*args, **kwargs):
+        """GetDotProduct(Point2D vec) -> double"""
+        return _core.Point2D_GetDotProduct(*args, **kwargs)
 
-class Point2DPtr(Point2D):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = Point2D
-_core.Point2D_swigregister(Point2DPtr)
+    def GetCrossProduct(*args, **kwargs):
+        """GetCrossProduct(Point2D vec) -> double"""
+        return _core.Point2D_GetCrossProduct(*args, **kwargs)
 
-def Point2DCopy(*args, **kwargs):
-    val = _core.new_Point2DCopy(*args, **kwargs)
-    val.thisown = 1
-    return val
+    def __neg__(*args, **kwargs):
+        """
+        __neg__() -> Point2D
+
+        the reflection of this point
+        """
+        return _core.Point2D___neg__(*args, **kwargs)
+
+    def __iadd__(*args, **kwargs):
+        """__iadd__(Point2D pt) -> Point2D"""
+        return _core.Point2D___iadd__(*args, **kwargs)
+
+    def __isub__(*args, **kwargs):
+        """__isub__(Point2D pt) -> Point2D"""
+        return _core.Point2D___isub__(*args, **kwargs)
+
+    def __imul__(*args, **kwargs):
+        """__imul__(Point2D pt) -> Point2D"""
+        return _core.Point2D___imul__(*args, **kwargs)
+
+    def __idiv__(*args, **kwargs):
+        """__idiv__(Point2D pt) -> Point2D"""
+        return _core.Point2D___idiv__(*args, **kwargs)
+
+    def __eq__(*args, **kwargs):
+        """
+        __eq__(Point2D pt) -> bool
+
+        Test for equality
+        """
+        return _core.Point2D___eq__(*args, **kwargs)
+
+    def __ne__(*args, **kwargs):
+        """
+        __ne__(Point2D pt) -> bool
+
+        Test for inequality
+        """
+        return _core.Point2D___ne__(*args, **kwargs)
+
+    x = property(_core.Point2D_x_get, _core.Point2D_x_set)
+    y = property(_core.Point2D_y_get, _core.Point2D_y_set)
+    def Set(*args, **kwargs):
+        """Set(double x=0, double y=0)"""
+        return _core.Point2D_Set(*args, **kwargs)
+
+    def Get(*args, **kwargs):
+        """
+        Get() -> (x,y)
+
+        Return x and y properties as a tuple.
+        """
+        return _core.Point2D_Get(*args, **kwargs)
+
+    asTuple = Get
+    def __str__(self):                   return str(self.Get())
+    def __repr__(self):                  return 'wx.Point2D'+str(self.Get())
+    def __len__(self):                   return len(self.Get())
+    def __getitem__(self, index):        return self.Get()[index]
+    def __setitem__(self, index, val):
+        if index == 0: self.x = val
+        elif index == 1: self.y = val
+        else: raise IndexError
+    def __nonzero__(self):               return self.Get() != (0.0, 0.0)
+    __safe_for_unpickling__ = True
+    def __reduce__(self):                return (wx.Point2D, self.Get())
+
+
+class Point2DPtr(Point2D):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = Point2D
+_core.Point2D_swigregister(Point2DPtr)
+
+def Point2DCopy(*args, **kwargs):
+    """
+    Point2DCopy(Point2D pt) -> Point2D
+
+    Create a w.Point2D object.
+    """
+    val = _core.new_Point2DCopy(*args, **kwargs)
+    val.thisown = 1
+    return val
 
 def Point2DFromPoint(*args, **kwargs):
+    """
+    Point2DFromPoint(Point pt) -> Point2D
+
+    Create a w.Point2D object.
+    """
     val = _core.new_Point2DFromPoint(*args, **kwargs)
     val.thisown = 1
     return val
@@ -926,29 +1458,78 @@ FromStart = _core.FromStart
 FromCurrent = _core.FromCurrent
 FromEnd = _core.FromEnd
 class InputStream(object):
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxPyInputStream instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     def __init__(self, *args, **kwargs):
+        """__init__(PyObject p) -> InputStream"""
         newobj = _core.new_InputStream(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
         del newobj.thisown
-    def close(*args, **kwargs): return _core.InputStream_close(*args, **kwargs)
-    def flush(*args, **kwargs): return _core.InputStream_flush(*args, **kwargs)
-    def eof(*args, **kwargs): return _core.InputStream_eof(*args, **kwargs)
-    def read(*args, **kwargs): return _core.InputStream_read(*args, **kwargs)
-    def readline(*args, **kwargs): return _core.InputStream_readline(*args, **kwargs)
-    def readlines(*args, **kwargs): return _core.InputStream_readlines(*args, **kwargs)
-    def seek(*args, **kwargs): return _core.InputStream_seek(*args, **kwargs)
-    def tell(*args, **kwargs): return _core.InputStream_tell(*args, **kwargs)
-    def Peek(*args, **kwargs): return _core.InputStream_Peek(*args, **kwargs)
-    def GetC(*args, **kwargs): return _core.InputStream_GetC(*args, **kwargs)
-    def LastRead(*args, **kwargs): return _core.InputStream_LastRead(*args, **kwargs)
-    def CanRead(*args, **kwargs): return _core.InputStream_CanRead(*args, **kwargs)
-    def Eof(*args, **kwargs): return _core.InputStream_Eof(*args, **kwargs)
-    def Ungetch(*args, **kwargs): return _core.InputStream_Ungetch(*args, **kwargs)
-    def SeekI(*args, **kwargs): return _core.InputStream_SeekI(*args, **kwargs)
-    def TellI(*args, **kwargs): return _core.InputStream_TellI(*args, **kwargs)
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxPyInputStream instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def close(*args, **kwargs):
+        """close()"""
+        return _core.InputStream_close(*args, **kwargs)
+
+    def flush(*args, **kwargs):
+        """flush()"""
+        return _core.InputStream_flush(*args, **kwargs)
+
+    def eof(*args, **kwargs):
+        """eof() -> bool"""
+        return _core.InputStream_eof(*args, **kwargs)
+
+    def read(*args, **kwargs):
+        """read(int size=-1) -> PyObject"""
+        return _core.InputStream_read(*args, **kwargs)
+
+    def readline(*args, **kwargs):
+        """readline(int size=-1) -> PyObject"""
+        return _core.InputStream_readline(*args, **kwargs)
+
+    def readlines(*args, **kwargs):
+        """readlines(int sizehint=-1) -> PyObject"""
+        return _core.InputStream_readlines(*args, **kwargs)
+
+    def seek(*args, **kwargs):
+        """seek(int offset, int whence=0)"""
+        return _core.InputStream_seek(*args, **kwargs)
+
+    def tell(*args, **kwargs):
+        """tell() -> int"""
+        return _core.InputStream_tell(*args, **kwargs)
+
+    def Peek(*args, **kwargs):
+        """Peek() -> char"""
+        return _core.InputStream_Peek(*args, **kwargs)
+
+    def GetC(*args, **kwargs):
+        """GetC() -> char"""
+        return _core.InputStream_GetC(*args, **kwargs)
+
+    def LastRead(*args, **kwargs):
+        """LastRead() -> size_t"""
+        return _core.InputStream_LastRead(*args, **kwargs)
+
+    def CanRead(*args, **kwargs):
+        """CanRead() -> bool"""
+        return _core.InputStream_CanRead(*args, **kwargs)
+
+    def Eof(*args, **kwargs):
+        """Eof() -> bool"""
+        return _core.InputStream_Eof(*args, **kwargs)
+
+    def Ungetch(*args, **kwargs):
+        """Ungetch(char c) -> bool"""
+        return _core.InputStream_Ungetch(*args, **kwargs)
+
+    def SeekI(*args, **kwargs):
+        """SeekI(long pos, int mode=FromStart) -> long"""
+        return _core.InputStream_SeekI(*args, **kwargs)
+
+    def TellI(*args, **kwargs):
+        """TellI() -> long"""
+        return _core.InputStream_TellI(*args, **kwargs)
+
 
 class InputStreamPtr(InputStream):
     def __init__(self, this):
@@ -956,15 +1537,17 @@ class InputStreamPtr(InputStream):
         if not hasattr(self,"thisown"): self.thisown = 0
         self.__class__ = InputStream
 _core.InputStream_swigregister(InputStreamPtr)
-cvar = _core.cvar
 DefaultPosition = cvar.DefaultPosition
 DefaultSize = cvar.DefaultSize
 
 class OutputStream(object):
-    def write(*args, **kwargs): return _core.OutputStream_write(*args, **kwargs)
     def __init__(self): raise RuntimeError, "No constructor defined"
     def __repr__(self):
         return "<%s.%s; proxy of C++ wxOutputStream instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def write(*args, **kwargs):
+        """write(PyObject obj)"""
+        return _core.OutputStream_write(*args, **kwargs)
+
 
 class OutputStreamPtr(OutputStream):
     def __init__(self, this):
@@ -976,22 +1559,43 @@ _core.OutputStream_swigregister(OutputStreamPtr)
 #---------------------------------------------------------------------------
 
 class FSFile(Object):
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxFSFile instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     def __init__(self, *args, **kwargs):
+        """
+        __init__(InputStream stream, String loc, String mimetype, String anchor, 
+            DateTime modif) -> FSFile
+        """
         newobj = _core.new_FSFile(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
         del newobj.thisown
     def __del__(self, destroy=_core.delete_FSFile):
+        """__del__()"""
         try:
             if self.thisown: destroy(self)
         except: pass
-    def GetStream(*args, **kwargs): return _core.FSFile_GetStream(*args, **kwargs)
-    def GetMimeType(*args, **kwargs): return _core.FSFile_GetMimeType(*args, **kwargs)
-    def GetLocation(*args, **kwargs): return _core.FSFile_GetLocation(*args, **kwargs)
-    def GetAnchor(*args, **kwargs): return _core.FSFile_GetAnchor(*args, **kwargs)
-    def GetModificationTime(*args, **kwargs): return _core.FSFile_GetModificationTime(*args, **kwargs)
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxFSFile instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+
+    def GetStream(*args, **kwargs):
+        """GetStream() -> InputStream"""
+        return _core.FSFile_GetStream(*args, **kwargs)
+
+    def GetMimeType(*args, **kwargs):
+        """GetMimeType() -> String"""
+        return _core.FSFile_GetMimeType(*args, **kwargs)
+
+    def GetLocation(*args, **kwargs):
+        """GetLocation() -> String"""
+        return _core.FSFile_GetLocation(*args, **kwargs)
+
+    def GetAnchor(*args, **kwargs):
+        """GetAnchor() -> String"""
+        return _core.FSFile_GetAnchor(*args, **kwargs)
+
+    def GetModificationTime(*args, **kwargs):
+        """GetModificationTime() -> DateTime"""
+        return _core.FSFile_GetModificationTime(*args, **kwargs)
+
 
 class FSFilePtr(FSFile):
     def __init__(self, this):
@@ -1013,24 +1617,56 @@ class CPPFileSystemHandlerPtr(CPPFileSystemHandler):
 _core.CPPFileSystemHandler_swigregister(CPPFileSystemHandlerPtr)
 
 class FileSystemHandler(CPPFileSystemHandler):
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxPyFileSystemHandler instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     def __init__(self, *args, **kwargs):
+        """__init__() -> FileSystemHandler"""
         newobj = _core.new_FileSystemHandler(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
         del newobj.thisown
         self._setCallbackInfo(self, FileSystemHandler)
-    def _setCallbackInfo(*args, **kwargs): return _core.FileSystemHandler__setCallbackInfo(*args, **kwargs)
-    def CanOpen(*args, **kwargs): return _core.FileSystemHandler_CanOpen(*args, **kwargs)
-    def OpenFile(*args, **kwargs): return _core.FileSystemHandler_OpenFile(*args, **kwargs)
-    def FindFirst(*args, **kwargs): return _core.FileSystemHandler_FindFirst(*args, **kwargs)
-    def FindNext(*args, **kwargs): return _core.FileSystemHandler_FindNext(*args, **kwargs)
-    def GetProtocol(*args, **kwargs): return _core.FileSystemHandler_GetProtocol(*args, **kwargs)
-    def GetLeftLocation(*args, **kwargs): return _core.FileSystemHandler_GetLeftLocation(*args, **kwargs)
-    def GetAnchor(*args, **kwargs): return _core.FileSystemHandler_GetAnchor(*args, **kwargs)
-    def GetRightLocation(*args, **kwargs): return _core.FileSystemHandler_GetRightLocation(*args, **kwargs)
-    def GetMimeTypeFromExt(*args, **kwargs): return _core.FileSystemHandler_GetMimeTypeFromExt(*args, **kwargs)
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxPyFileSystemHandler instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+
+    def _setCallbackInfo(*args, **kwargs):
+        """_setCallbackInfo(PyObject self, PyObject _class)"""
+        return _core.FileSystemHandler__setCallbackInfo(*args, **kwargs)
+
+    def CanOpen(*args, **kwargs):
+        """CanOpen(String location) -> bool"""
+        return _core.FileSystemHandler_CanOpen(*args, **kwargs)
+
+    def OpenFile(*args, **kwargs):
+        """OpenFile(FileSystem fs, String location) -> FSFile"""
+        return _core.FileSystemHandler_OpenFile(*args, **kwargs)
+
+    def FindFirst(*args, **kwargs):
+        """FindFirst(String spec, int flags=0) -> String"""
+        return _core.FileSystemHandler_FindFirst(*args, **kwargs)
+
+    def FindNext(*args, **kwargs):
+        """FindNext() -> String"""
+        return _core.FileSystemHandler_FindNext(*args, **kwargs)
+
+    def GetProtocol(*args, **kwargs):
+        """GetProtocol(String location) -> String"""
+        return _core.FileSystemHandler_GetProtocol(*args, **kwargs)
+
+    def GetLeftLocation(*args, **kwargs):
+        """GetLeftLocation(String location) -> String"""
+        return _core.FileSystemHandler_GetLeftLocation(*args, **kwargs)
+
+    def GetAnchor(*args, **kwargs):
+        """GetAnchor(String location) -> String"""
+        return _core.FileSystemHandler_GetAnchor(*args, **kwargs)
+
+    def GetRightLocation(*args, **kwargs):
+        """GetRightLocation(String location) -> String"""
+        return _core.FileSystemHandler_GetRightLocation(*args, **kwargs)
+
+    def GetMimeTypeFromExt(*args, **kwargs):
+        """GetMimeTypeFromExt(String location) -> String"""
+        return _core.FileSystemHandler_GetMimeTypeFromExt(*args, **kwargs)
+
 
 class FileSystemHandlerPtr(FileSystemHandler):
     def __init__(self, this):
@@ -1040,25 +1676,55 @@ class FileSystemHandlerPtr(FileSystemHandler):
 _core.FileSystemHandler_swigregister(FileSystemHandlerPtr)
 
 class FileSystem(Object):
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxFileSystem instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     def __init__(self, *args, **kwargs):
+        """__init__() -> FileSystem"""
         newobj = _core.new_FileSystem(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
         del newobj.thisown
     def __del__(self, destroy=_core.delete_FileSystem):
+        """__del__()"""
         try:
             if self.thisown: destroy(self)
         except: pass
-    def ChangePathTo(*args, **kwargs): return _core.FileSystem_ChangePathTo(*args, **kwargs)
-    def GetPath(*args, **kwargs): return _core.FileSystem_GetPath(*args, **kwargs)
-    def OpenFile(*args, **kwargs): return _core.FileSystem_OpenFile(*args, **kwargs)
-    def FindFirst(*args, **kwargs): return _core.FileSystem_FindFirst(*args, **kwargs)
-    def FindNext(*args, **kwargs): return _core.FileSystem_FindNext(*args, **kwargs)
-    AddHandler = staticmethod(_core.FileSystem_AddHandler)
-    CleanUpHandlers = staticmethod(_core.FileSystem_CleanUpHandlers)
-    FileNameToURL = staticmethod(_core.FileSystem_FileNameToURL)
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxFileSystem instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+
+    def ChangePathTo(*args, **kwargs):
+        """ChangePathTo(String location, bool is_dir=False)"""
+        return _core.FileSystem_ChangePathTo(*args, **kwargs)
+
+    def GetPath(*args, **kwargs):
+        """GetPath() -> String"""
+        return _core.FileSystem_GetPath(*args, **kwargs)
+
+    def OpenFile(*args, **kwargs):
+        """OpenFile(String location) -> FSFile"""
+        return _core.FileSystem_OpenFile(*args, **kwargs)
+
+    def FindFirst(*args, **kwargs):
+        """FindFirst(String spec, int flags=0) -> String"""
+        return _core.FileSystem_FindFirst(*args, **kwargs)
+
+    def FindNext(*args, **kwargs):
+        """FindNext() -> String"""
+        return _core.FileSystem_FindNext(*args, **kwargs)
+
+    def AddHandler(*args, **kwargs):
+        """AddHandler(CPPFileSystemHandler handler)"""
+        return _core.FileSystem_AddHandler(*args, **kwargs)
+
+    AddHandler = staticmethod(AddHandler)
+    def CleanUpHandlers(*args, **kwargs):
+        """CleanUpHandlers()"""
+        return _core.FileSystem_CleanUpHandlers(*args, **kwargs)
+
+    CleanUpHandlers = staticmethod(CleanUpHandlers)
+    def FileNameToURL(*args, **kwargs):
+        """FileNameToURL(String filename) -> String"""
+        return _core.FileSystem_FileNameToURL(*args, **kwargs)
+
+    FileNameToURL = staticmethod(FileNameToURL)
 
 class FileSystemPtr(FileSystem):
     def __init__(self, this):
@@ -1067,24 +1733,39 @@ class FileSystemPtr(FileSystem):
         self.__class__ = FileSystem
 _core.FileSystem_swigregister(FileSystemPtr)
 
-FileSystem_AddHandler = _core.FileSystem_AddHandler
+def FileSystem_AddHandler(*args, **kwargs):
+    """FileSystem_AddHandler(CPPFileSystemHandler handler)"""
+    return _core.FileSystem_AddHandler(*args, **kwargs)
 
-FileSystem_CleanUpHandlers = _core.FileSystem_CleanUpHandlers
+def FileSystem_CleanUpHandlers(*args, **kwargs):
+    """FileSystem_CleanUpHandlers()"""
+    return _core.FileSystem_CleanUpHandlers(*args, **kwargs)
 
-FileSystem_FileNameToURL = _core.FileSystem_FileNameToURL
+def FileSystem_FileNameToURL(*args, **kwargs):
+    """FileSystem_FileNameToURL(String filename) -> String"""
+    return _core.FileSystem_FileNameToURL(*args, **kwargs)
 
 
-FileSystem_URLToFileName = _core.FileSystem_URLToFileName
+def FileSystem_URLToFileName(*args, **kwargs):
+    """FileSystem_URLToFileName(String url) -> String"""
+    return _core.FileSystem_URLToFileName(*args, **kwargs)
 class InternetFSHandler(CPPFileSystemHandler):
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxInternetFSHandler instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     def __init__(self, *args, **kwargs):
+        """__init__() -> InternetFSHandler"""
         newobj = _core.new_InternetFSHandler(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
         del newobj.thisown
-    def CanOpen(*args, **kwargs): return _core.InternetFSHandler_CanOpen(*args, **kwargs)
-    def OpenFile(*args, **kwargs): return _core.InternetFSHandler_OpenFile(*args, **kwargs)
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxInternetFSHandler instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def CanOpen(*args, **kwargs):
+        """CanOpen(String location) -> bool"""
+        return _core.InternetFSHandler_CanOpen(*args, **kwargs)
+
+    def OpenFile(*args, **kwargs):
+        """OpenFile(FileSystem fs, String location) -> FSFile"""
+        return _core.InternetFSHandler_OpenFile(*args, **kwargs)
+
 
 class InternetFSHandlerPtr(InternetFSHandler):
     def __init__(self, this):
@@ -1094,17 +1775,30 @@ class InternetFSHandlerPtr(InternetFSHandler):
 _core.InternetFSHandler_swigregister(InternetFSHandlerPtr)
 
 class ZipFSHandler(CPPFileSystemHandler):
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxZipFSHandler instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     def __init__(self, *args, **kwargs):
+        """__init__() -> ZipFSHandler"""
         newobj = _core.new_ZipFSHandler(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
         del newobj.thisown
-    def CanOpen(*args, **kwargs): return _core.ZipFSHandler_CanOpen(*args, **kwargs)
-    def OpenFile(*args, **kwargs): return _core.ZipFSHandler_OpenFile(*args, **kwargs)
-    def FindFirst(*args, **kwargs): return _core.ZipFSHandler_FindFirst(*args, **kwargs)
-    def FindNext(*args, **kwargs): return _core.ZipFSHandler_FindNext(*args, **kwargs)
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxZipFSHandler instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def CanOpen(*args, **kwargs):
+        """CanOpen(String location) -> bool"""
+        return _core.ZipFSHandler_CanOpen(*args, **kwargs)
+
+    def OpenFile(*args, **kwargs):
+        """OpenFile(FileSystem fs, String location) -> FSFile"""
+        return _core.ZipFSHandler_OpenFile(*args, **kwargs)
+
+    def FindFirst(*args, **kwargs):
+        """FindFirst(String spec, int flags=0) -> String"""
+        return _core.ZipFSHandler_FindFirst(*args, **kwargs)
+
+    def FindNext(*args, **kwargs):
+        """FindNext() -> String"""
+        return _core.ZipFSHandler_FindNext(*args, **kwargs)
+
 
 class ZipFSHandlerPtr(ZipFSHandler):
     def __init__(self, this):
@@ -1114,11 +1808,17 @@ class ZipFSHandlerPtr(ZipFSHandler):
 _core.ZipFSHandler_swigregister(ZipFSHandlerPtr)
 
 
-__wxMemoryFSHandler_AddFile_wxImage = _core.__wxMemoryFSHandler_AddFile_wxImage
+def __wxMemoryFSHandler_AddFile_wxImage(*args, **kwargs):
+    """__wxMemoryFSHandler_AddFile_wxImage(String filename, Image image, long type)"""
+    return _core.__wxMemoryFSHandler_AddFile_wxImage(*args, **kwargs)
 
-__wxMemoryFSHandler_AddFile_wxBitmap = _core.__wxMemoryFSHandler_AddFile_wxBitmap
+def __wxMemoryFSHandler_AddFile_wxBitmap(*args, **kwargs):
+    """__wxMemoryFSHandler_AddFile_wxBitmap(String filename, Bitmap bitmap, long type)"""
+    return _core.__wxMemoryFSHandler_AddFile_wxBitmap(*args, **kwargs)
 
-__wxMemoryFSHandler_AddFile_Data = _core.__wxMemoryFSHandler_AddFile_Data
+def __wxMemoryFSHandler_AddFile_Data(*args, **kwargs):
+    """__wxMemoryFSHandler_AddFile_Data(String filename, PyObject data)"""
+    return _core.__wxMemoryFSHandler_AddFile_Data(*args, **kwargs)
 def MemoryFSHandler_AddFile(filename, a, b=''):
     if isinstance(a, wx.Image):
         __wxMemoryFSHandler_AddFile_wxImage(filename, a, b)
@@ -1129,19 +1829,36 @@ def MemoryFSHandler_AddFile(filename, a, b=''):
     else: raise TypeError, 'wx.Image, wx.Bitmap or string expected'
 
 class MemoryFSHandler(CPPFileSystemHandler):
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxMemoryFSHandler instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     def __init__(self, *args, **kwargs):
+        """__init__() -> MemoryFSHandler"""
         newobj = _core.new_MemoryFSHandler(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
         del newobj.thisown
-    RemoveFile = staticmethod(_core.MemoryFSHandler_RemoveFile)
+    def RemoveFile(*args, **kwargs):
+        """RemoveFile(String filename)"""
+        return _core.MemoryFSHandler_RemoveFile(*args, **kwargs)
+
+    RemoveFile = staticmethod(RemoveFile)
     AddFile = staticmethod(MemoryFSHandler_AddFile) 
-    def CanOpen(*args, **kwargs): return _core.MemoryFSHandler_CanOpen(*args, **kwargs)
-    def OpenFile(*args, **kwargs): return _core.MemoryFSHandler_OpenFile(*args, **kwargs)
-    def FindFirst(*args, **kwargs): return _core.MemoryFSHandler_FindFirst(*args, **kwargs)
-    def FindNext(*args, **kwargs): return _core.MemoryFSHandler_FindNext(*args, **kwargs)
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxMemoryFSHandler instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def CanOpen(*args, **kwargs):
+        """CanOpen(String location) -> bool"""
+        return _core.MemoryFSHandler_CanOpen(*args, **kwargs)
+
+    def OpenFile(*args, **kwargs):
+        """OpenFile(FileSystem fs, String location) -> FSFile"""
+        return _core.MemoryFSHandler_OpenFile(*args, **kwargs)
+
+    def FindFirst(*args, **kwargs):
+        """FindFirst(String spec, int flags=0) -> String"""
+        return _core.MemoryFSHandler_FindFirst(*args, **kwargs)
+
+    def FindNext(*args, **kwargs):
+        """FindNext() -> String"""
+        return _core.MemoryFSHandler_FindNext(*args, **kwargs)
+
 
 class MemoryFSHandlerPtr(MemoryFSHandler):
     def __init__(self, this):
@@ -1150,23 +1867,52 @@ class MemoryFSHandlerPtr(MemoryFSHandler):
         self.__class__ = MemoryFSHandler
 _core.MemoryFSHandler_swigregister(MemoryFSHandlerPtr)
 
-MemoryFSHandler_RemoveFile = _core.MemoryFSHandler_RemoveFile
+def MemoryFSHandler_RemoveFile(*args, **kwargs):
+    """MemoryFSHandler_RemoveFile(String filename)"""
+    return _core.MemoryFSHandler_RemoveFile(*args, **kwargs)
 
 #---------------------------------------------------------------------------
 
 class ImageHandler(Object):
-    def GetName(*args, **kwargs): return _core.ImageHandler_GetName(*args, **kwargs)
-    def GetExtension(*args, **kwargs): return _core.ImageHandler_GetExtension(*args, **kwargs)
-    def GetType(*args, **kwargs): return _core.ImageHandler_GetType(*args, **kwargs)
-    def GetMimeType(*args, **kwargs): return _core.ImageHandler_GetMimeType(*args, **kwargs)
-    def CanRead(*args, **kwargs): return _core.ImageHandler_CanRead(*args, **kwargs)
-    def SetName(*args, **kwargs): return _core.ImageHandler_SetName(*args, **kwargs)
-    def SetExtension(*args, **kwargs): return _core.ImageHandler_SetExtension(*args, **kwargs)
-    def SetType(*args, **kwargs): return _core.ImageHandler_SetType(*args, **kwargs)
-    def SetMimeType(*args, **kwargs): return _core.ImageHandler_SetMimeType(*args, **kwargs)
     def __init__(self): raise RuntimeError, "No constructor defined"
     def __repr__(self):
         return "<%s.%s; proxy of C++ wxImageHandler instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def GetName(*args, **kwargs):
+        """GetName() -> String"""
+        return _core.ImageHandler_GetName(*args, **kwargs)
+
+    def GetExtension(*args, **kwargs):
+        """GetExtension() -> String"""
+        return _core.ImageHandler_GetExtension(*args, **kwargs)
+
+    def GetType(*args, **kwargs):
+        """GetType() -> long"""
+        return _core.ImageHandler_GetType(*args, **kwargs)
+
+    def GetMimeType(*args, **kwargs):
+        """GetMimeType() -> String"""
+        return _core.ImageHandler_GetMimeType(*args, **kwargs)
+
+    def CanRead(*args, **kwargs):
+        """CanRead(String name) -> bool"""
+        return _core.ImageHandler_CanRead(*args, **kwargs)
+
+    def SetName(*args, **kwargs):
+        """SetName(String name)"""
+        return _core.ImageHandler_SetName(*args, **kwargs)
+
+    def SetExtension(*args, **kwargs):
+        """SetExtension(String extension)"""
+        return _core.ImageHandler_SetExtension(*args, **kwargs)
+
+    def SetType(*args, **kwargs):
+        """SetType(long type)"""
+        return _core.ImageHandler_SetType(*args, **kwargs)
+
+    def SetMimeType(*args, **kwargs):
+        """SetMimeType(String mimetype)"""
+        return _core.ImageHandler_SetMimeType(*args, **kwargs)
+
 
 class ImageHandlerPtr(ImageHandler):
     def __init__(self, this):
@@ -1176,15 +1922,33 @@ class ImageHandlerPtr(ImageHandler):
 _core.ImageHandler_swigregister(ImageHandlerPtr)
 
 class ImageHistogram(object):
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxImageHistogram instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     def __init__(self, *args, **kwargs):
+        """__init__() -> ImageHistogram"""
         newobj = _core.new_ImageHistogram(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
         del newobj.thisown
-    MakeKey = staticmethod(_core.ImageHistogram_MakeKey)
-    def FindFirstUnusedColour(*args, **kwargs): return _core.ImageHistogram_FindFirstUnusedColour(*args, **kwargs)
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxImageHistogram instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def MakeKey(*args, **kwargs):
+        """
+        MakeKey(unsigned char r, unsigned char g, unsigned char b) -> unsigned long
+
+        Get the key in the histogram for the given RGB values
+        """
+        return _core.ImageHistogram_MakeKey(*args, **kwargs)
+
+    MakeKey = staticmethod(MakeKey)
+    def FindFirstUnusedColour(*args, **kwargs):
+        """
+        FindFirstUnusedColour(int startR=1, int startG=0, int startB=0) -> (success, r, g, b)
+
+        Find first colour that is not used in the image and has higher RGB values than
+        startR, startG, startB.  Returns a tuple consisting of a success flag and rgb
+        values.
+        """
+        return _core.ImageHistogram_FindFirstUnusedColour(*args, **kwargs)
+
 
 class ImageHistogramPtr(ImageHistogram):
     def __init__(self, this):
@@ -1193,82 +1957,297 @@ class ImageHistogramPtr(ImageHistogram):
         self.__class__ = ImageHistogram
 _core.ImageHistogram_swigregister(ImageHistogramPtr)
 
-ImageHistogram_MakeKey = _core.ImageHistogram_MakeKey
+def ImageHistogram_MakeKey(*args, **kwargs):
+    """
+    ImageHistogram_MakeKey(unsigned char r, unsigned char g, unsigned char b) -> unsigned long
+
+    Get the key in the histogram for the given RGB values
+    """
+    return _core.ImageHistogram_MakeKey(*args, **kwargs)
 
 class Image(Object):
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxImage instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     def __init__(self, *args, **kwargs):
+        """__init__(String name, long type=BITMAP_TYPE_ANY, int index=-1) -> Image"""
         newobj = _core.new_Image(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
         del newobj.thisown
     def __del__(self, destroy=_core.delete_Image):
+        """__del__()"""
         try:
             if self.thisown: destroy(self)
         except: pass
-    def Create(*args, **kwargs): return _core.Image_Create(*args, **kwargs)
-    def Destroy(*args, **kwargs): return _core.Image_Destroy(*args, **kwargs)
-    def Scale(*args, **kwargs): return _core.Image_Scale(*args, **kwargs)
-    def ShrinkBy(*args, **kwargs): return _core.Image_ShrinkBy(*args, **kwargs)
-    def Rescale(*args, **kwargs): return _core.Image_Rescale(*args, **kwargs)
-    def SetRGB(*args, **kwargs): return _core.Image_SetRGB(*args, **kwargs)
-    def GetRed(*args, **kwargs): return _core.Image_GetRed(*args, **kwargs)
-    def GetGreen(*args, **kwargs): return _core.Image_GetGreen(*args, **kwargs)
-    def GetBlue(*args, **kwargs): return _core.Image_GetBlue(*args, **kwargs)
-    def SetAlpha(*args, **kwargs): return _core.Image_SetAlpha(*args, **kwargs)
-    def GetAlpha(*args, **kwargs): return _core.Image_GetAlpha(*args, **kwargs)
-    def HasAlpha(*args, **kwargs): return _core.Image_HasAlpha(*args, **kwargs)
-    def FindFirstUnusedColour(*args, **kwargs): return _core.Image_FindFirstUnusedColour(*args, **kwargs)
-    def SetMaskFromImage(*args, **kwargs): return _core.Image_SetMaskFromImage(*args, **kwargs)
-    CanRead = staticmethod(_core.Image_CanRead)
-    GetImageCount = staticmethod(_core.Image_GetImageCount)
-    def LoadFile(*args, **kwargs): return _core.Image_LoadFile(*args, **kwargs)
-    def LoadMimeFile(*args, **kwargs): return _core.Image_LoadMimeFile(*args, **kwargs)
-    def SaveFile(*args, **kwargs): return _core.Image_SaveFile(*args, **kwargs)
-    def SaveMimeFile(*args, **kwargs): return _core.Image_SaveMimeFile(*args, **kwargs)
-    CanReadStream = staticmethod(_core.Image_CanReadStream)
-    def LoadStream(*args, **kwargs): return _core.Image_LoadStream(*args, **kwargs)
-    def LoadMimeStream(*args, **kwargs): return _core.Image_LoadMimeStream(*args, **kwargs)
-    def Ok(*args, **kwargs): return _core.Image_Ok(*args, **kwargs)
-    def GetWidth(*args, **kwargs): return _core.Image_GetWidth(*args, **kwargs)
-    def GetHeight(*args, **kwargs): return _core.Image_GetHeight(*args, **kwargs)
-    def GetSubImage(*args, **kwargs): return _core.Image_GetSubImage(*args, **kwargs)
-    def Copy(*args, **kwargs): return _core.Image_Copy(*args, **kwargs)
-    def Paste(*args, **kwargs): return _core.Image_Paste(*args, **kwargs)
-    def GetData(*args, **kwargs): return _core.Image_GetData(*args, **kwargs)
-    def SetData(*args, **kwargs): return _core.Image_SetData(*args, **kwargs)
-    def GetDataBuffer(*args, **kwargs): return _core.Image_GetDataBuffer(*args, **kwargs)
-    def SetDataBuffer(*args, **kwargs): return _core.Image_SetDataBuffer(*args, **kwargs)
-    def GetAlphaData(*args, **kwargs): return _core.Image_GetAlphaData(*args, **kwargs)
-    def SetAlphaData(*args, **kwargs): return _core.Image_SetAlphaData(*args, **kwargs)
-    def GetAlphaBuffer(*args, **kwargs): return _core.Image_GetAlphaBuffer(*args, **kwargs)
-    def SetAlphaBuffer(*args, **kwargs): return _core.Image_SetAlphaBuffer(*args, **kwargs)
-    def SetMaskColour(*args, **kwargs): return _core.Image_SetMaskColour(*args, **kwargs)
-    def GetMaskRed(*args, **kwargs): return _core.Image_GetMaskRed(*args, **kwargs)
-    def GetMaskGreen(*args, **kwargs): return _core.Image_GetMaskGreen(*args, **kwargs)
-    def GetMaskBlue(*args, **kwargs): return _core.Image_GetMaskBlue(*args, **kwargs)
-    def SetMask(*args, **kwargs): return _core.Image_SetMask(*args, **kwargs)
-    def HasMask(*args, **kwargs): return _core.Image_HasMask(*args, **kwargs)
-    def Rotate(*args, **kwargs): return _core.Image_Rotate(*args, **kwargs)
-    def Rotate90(*args, **kwargs): return _core.Image_Rotate90(*args, **kwargs)
-    def Mirror(*args, **kwargs): return _core.Image_Mirror(*args, **kwargs)
-    def Replace(*args, **kwargs): return _core.Image_Replace(*args, **kwargs)
-    def ConvertToMono(*args, **kwargs): return _core.Image_ConvertToMono(*args, **kwargs)
-    def SetOption(*args, **kwargs): return _core.Image_SetOption(*args, **kwargs)
-    def SetOptionInt(*args, **kwargs): return _core.Image_SetOptionInt(*args, **kwargs)
-    def GetOption(*args, **kwargs): return _core.Image_GetOption(*args, **kwargs)
-    def GetOptionInt(*args, **kwargs): return _core.Image_GetOptionInt(*args, **kwargs)
-    def HasOption(*args, **kwargs): return _core.Image_HasOption(*args, **kwargs)
-    def CountColours(*args, **kwargs): return _core.Image_CountColours(*args, **kwargs)
-    def ComputeHistogram(*args, **kwargs): return _core.Image_ComputeHistogram(*args, **kwargs)
-    AddHandler = staticmethod(_core.Image_AddHandler)
-    InsertHandler = staticmethod(_core.Image_InsertHandler)
-    RemoveHandler = staticmethod(_core.Image_RemoveHandler)
-    GetImageExtWildcard = staticmethod(_core.Image_GetImageExtWildcard)
-    def ConvertToBitmap(*args, **kwargs): return _core.Image_ConvertToBitmap(*args, **kwargs)
-    def ConvertToMonoBitmap(*args, **kwargs): return _core.Image_ConvertToMonoBitmap(*args, **kwargs)
+
+    def Create(*args, **kwargs):
+        """Create(int width, int height)"""
+        return _core.Image_Create(*args, **kwargs)
+
+    def Destroy(*args, **kwargs):
+        """
+        Destroy()
+
+        Deletes the C++ object this Python object is a proxy for.
+        """
+        return _core.Image_Destroy(*args, **kwargs)
+
+    def Scale(*args, **kwargs):
+        """Scale(int width, int height) -> Image"""
+        return _core.Image_Scale(*args, **kwargs)
+
+    def ShrinkBy(*args, **kwargs):
+        """ShrinkBy(int xFactor, int yFactor) -> Image"""
+        return _core.Image_ShrinkBy(*args, **kwargs)
+
+    def Rescale(*args, **kwargs):
+        """Rescale(int width, int height) -> Image"""
+        return _core.Image_Rescale(*args, **kwargs)
+
+    def SetRGB(*args, **kwargs):
+        """SetRGB(int x, int y, unsigned char r, unsigned char g, unsigned char b)"""
+        return _core.Image_SetRGB(*args, **kwargs)
+
+    def GetRed(*args, **kwargs):
+        """GetRed(int x, int y) -> unsigned char"""
+        return _core.Image_GetRed(*args, **kwargs)
+
+    def GetGreen(*args, **kwargs):
+        """GetGreen(int x, int y) -> unsigned char"""
+        return _core.Image_GetGreen(*args, **kwargs)
+
+    def GetBlue(*args, **kwargs):
+        """GetBlue(int x, int y) -> unsigned char"""
+        return _core.Image_GetBlue(*args, **kwargs)
+
+    def SetAlpha(*args, **kwargs):
+        """SetAlpha(int x, int y, unsigned char alpha)"""
+        return _core.Image_SetAlpha(*args, **kwargs)
+
+    def GetAlpha(*args, **kwargs):
+        """GetAlpha(int x, int y) -> unsigned char"""
+        return _core.Image_GetAlpha(*args, **kwargs)
+
+    def HasAlpha(*args, **kwargs):
+        """HasAlpha() -> bool"""
+        return _core.Image_HasAlpha(*args, **kwargs)
+
+    def FindFirstUnusedColour(*args, **kwargs):
+        """
+        FindFirstUnusedColour(int startR=1, int startG=0, int startB=0) -> (success, r, g, b)
+
+        Find first colour that is not used in the image and has higher RGB values than
+        startR, startG, startB.  Returns a tuple consisting of a success flag and rgb
+        values.
+        """
+        return _core.Image_FindFirstUnusedColour(*args, **kwargs)
+
+    def SetMaskFromImage(*args, **kwargs):
+        """SetMaskFromImage(Image mask, byte mr, byte mg, byte mb) -> bool"""
+        return _core.Image_SetMaskFromImage(*args, **kwargs)
+
+    def CanRead(*args, **kwargs):
+        """CanRead(String name) -> bool"""
+        return _core.Image_CanRead(*args, **kwargs)
+
+    CanRead = staticmethod(CanRead)
+    def GetImageCount(*args, **kwargs):
+        """GetImageCount(String name, long type=BITMAP_TYPE_ANY) -> int"""
+        return _core.Image_GetImageCount(*args, **kwargs)
+
+    GetImageCount = staticmethod(GetImageCount)
+    def LoadFile(*args, **kwargs):
+        """LoadFile(String name, long type=BITMAP_TYPE_ANY, int index=-1) -> bool"""
+        return _core.Image_LoadFile(*args, **kwargs)
+
+    def LoadMimeFile(*args, **kwargs):
+        """LoadMimeFile(String name, String mimetype, int index=-1) -> bool"""
+        return _core.Image_LoadMimeFile(*args, **kwargs)
+
+    def SaveFile(*args, **kwargs):
+        """SaveFile(String name, int type) -> bool"""
+        return _core.Image_SaveFile(*args, **kwargs)
+
+    def SaveMimeFile(*args, **kwargs):
+        """SaveMimeFile(String name, String mimetype) -> bool"""
+        return _core.Image_SaveMimeFile(*args, **kwargs)
+
+    def CanReadStream(*args, **kwargs):
+        """CanReadStream(InputStream stream) -> bool"""
+        return _core.Image_CanReadStream(*args, **kwargs)
+
+    CanReadStream = staticmethod(CanReadStream)
+    def LoadStream(*args, **kwargs):
+        """LoadStream(InputStream stream, long type=BITMAP_TYPE_ANY, int index=-1) -> bool"""
+        return _core.Image_LoadStream(*args, **kwargs)
+
+    def LoadMimeStream(*args, **kwargs):
+        """LoadMimeStream(InputStream stream, String mimetype, int index=-1) -> bool"""
+        return _core.Image_LoadMimeStream(*args, **kwargs)
+
+    def Ok(*args, **kwargs):
+        """Ok() -> bool"""
+        return _core.Image_Ok(*args, **kwargs)
+
+    def GetWidth(*args, **kwargs):
+        """GetWidth() -> int"""
+        return _core.Image_GetWidth(*args, **kwargs)
+
+    def GetHeight(*args, **kwargs):
+        """GetHeight() -> int"""
+        return _core.Image_GetHeight(*args, **kwargs)
+
+    def GetSubImage(*args, **kwargs):
+        """GetSubImage(Rect rect) -> Image"""
+        return _core.Image_GetSubImage(*args, **kwargs)
+
+    def Copy(*args, **kwargs):
+        """Copy() -> Image"""
+        return _core.Image_Copy(*args, **kwargs)
+
+    def Paste(*args, **kwargs):
+        """Paste(Image image, int x, int y)"""
+        return _core.Image_Paste(*args, **kwargs)
+
+    def GetData(*args, **kwargs):
+        """GetData() -> PyObject"""
+        return _core.Image_GetData(*args, **kwargs)
+
+    def SetData(*args, **kwargs):
+        """SetData(PyObject data)"""
+        return _core.Image_SetData(*args, **kwargs)
+
+    def GetDataBuffer(*args, **kwargs):
+        """GetDataBuffer() -> PyObject"""
+        return _core.Image_GetDataBuffer(*args, **kwargs)
+
+    def SetDataBuffer(*args, **kwargs):
+        """SetDataBuffer(PyObject data)"""
+        return _core.Image_SetDataBuffer(*args, **kwargs)
+
+    def GetAlphaData(*args, **kwargs):
+        """GetAlphaData() -> PyObject"""
+        return _core.Image_GetAlphaData(*args, **kwargs)
+
+    def SetAlphaData(*args, **kwargs):
+        """SetAlphaData(PyObject data)"""
+        return _core.Image_SetAlphaData(*args, **kwargs)
+
+    def GetAlphaBuffer(*args, **kwargs):
+        """GetAlphaBuffer() -> PyObject"""
+        return _core.Image_GetAlphaBuffer(*args, **kwargs)
+
+    def SetAlphaBuffer(*args, **kwargs):
+        """SetAlphaBuffer(PyObject data)"""
+        return _core.Image_SetAlphaBuffer(*args, **kwargs)
+
+    def SetMaskColour(*args, **kwargs):
+        """SetMaskColour(unsigned char r, unsigned char g, unsigned char b)"""
+        return _core.Image_SetMaskColour(*args, **kwargs)
+
+    def GetMaskRed(*args, **kwargs):
+        """GetMaskRed() -> unsigned char"""
+        return _core.Image_GetMaskRed(*args, **kwargs)
+
+    def GetMaskGreen(*args, **kwargs):
+        """GetMaskGreen() -> unsigned char"""
+        return _core.Image_GetMaskGreen(*args, **kwargs)
+
+    def GetMaskBlue(*args, **kwargs):
+        """GetMaskBlue() -> unsigned char"""
+        return _core.Image_GetMaskBlue(*args, **kwargs)
+
+    def SetMask(*args, **kwargs):
+        """SetMask(bool mask=True)"""
+        return _core.Image_SetMask(*args, **kwargs)
+
+    def HasMask(*args, **kwargs):
+        """HasMask() -> bool"""
+        return _core.Image_HasMask(*args, **kwargs)
+
+    def Rotate(*args, **kwargs):
+        """
+        Rotate(double angle, Point centre_of_rotation, bool interpolating=True, 
+            Point offset_after_rotation=None) -> Image
+        """
+        return _core.Image_Rotate(*args, **kwargs)
+
+    def Rotate90(*args, **kwargs):
+        """Rotate90(bool clockwise=True) -> Image"""
+        return _core.Image_Rotate90(*args, **kwargs)
+
+    def Mirror(*args, **kwargs):
+        """Mirror(bool horizontally=True) -> Image"""
+        return _core.Image_Mirror(*args, **kwargs)
+
+    def Replace(*args, **kwargs):
+        """
+        Replace(unsigned char r1, unsigned char g1, unsigned char b1, 
+            unsigned char r2, unsigned char g2, unsigned char b2)
+        """
+        return _core.Image_Replace(*args, **kwargs)
+
+    def ConvertToMono(*args, **kwargs):
+        """ConvertToMono(unsigned char r, unsigned char g, unsigned char b) -> Image"""
+        return _core.Image_ConvertToMono(*args, **kwargs)
+
+    def SetOption(*args, **kwargs):
+        """SetOption(String name, String value)"""
+        return _core.Image_SetOption(*args, **kwargs)
+
+    def SetOptionInt(*args, **kwargs):
+        """SetOptionInt(String name, int value)"""
+        return _core.Image_SetOptionInt(*args, **kwargs)
+
+    def GetOption(*args, **kwargs):
+        """GetOption(String name) -> String"""
+        return _core.Image_GetOption(*args, **kwargs)
+
+    def GetOptionInt(*args, **kwargs):
+        """GetOptionInt(String name) -> int"""
+        return _core.Image_GetOptionInt(*args, **kwargs)
+
+    def HasOption(*args, **kwargs):
+        """HasOption(String name) -> bool"""
+        return _core.Image_HasOption(*args, **kwargs)
+
+    def CountColours(*args, **kwargs):
+        """CountColours(unsigned long stopafter=(unsigned long) -1) -> unsigned long"""
+        return _core.Image_CountColours(*args, **kwargs)
+
+    def ComputeHistogram(*args, **kwargs):
+        """ComputeHistogram(ImageHistogram h) -> unsigned long"""
+        return _core.Image_ComputeHistogram(*args, **kwargs)
+
+    def AddHandler(*args, **kwargs):
+        """AddHandler(ImageHandler handler)"""
+        return _core.Image_AddHandler(*args, **kwargs)
+
+    AddHandler = staticmethod(AddHandler)
+    def InsertHandler(*args, **kwargs):
+        """InsertHandler(ImageHandler handler)"""
+        return _core.Image_InsertHandler(*args, **kwargs)
+
+    InsertHandler = staticmethod(InsertHandler)
+    def RemoveHandler(*args, **kwargs):
+        """RemoveHandler(String name) -> bool"""
+        return _core.Image_RemoveHandler(*args, **kwargs)
+
+    RemoveHandler = staticmethod(RemoveHandler)
+    def GetImageExtWildcard(*args, **kwargs):
+        """GetImageExtWildcard() -> String"""
+        return _core.Image_GetImageExtWildcard(*args, **kwargs)
+
+    GetImageExtWildcard = staticmethod(GetImageExtWildcard)
+    def ConvertToBitmap(*args, **kwargs):
+        """ConvertToBitmap() -> Bitmap"""
+        return _core.Image_ConvertToBitmap(*args, **kwargs)
+
+    def ConvertToMonoBitmap(*args, **kwargs):
+        """ConvertToMonoBitmap(unsigned char red, unsigned char green, unsigned char blue) -> Bitmap"""
+        return _core.Image_ConvertToMonoBitmap(*args, **kwargs)
+
     def __nonzero__(self): return self.Ok() 
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxImage instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
 
 class ImagePtr(Image):
     def __init__(self, this):
@@ -1278,51 +2257,73 @@ class ImagePtr(Image):
 _core.Image_swigregister(ImagePtr)
 
 def ImageFromMime(*args, **kwargs):
+    """ImageFromMime(String name, String mimetype, int index=-1) -> Image"""
     val = _core.new_ImageFromMime(*args, **kwargs)
     val.thisown = 1
     return val
 
 def ImageFromStream(*args, **kwargs):
+    """ImageFromStream(InputStream stream, long type=BITMAP_TYPE_ANY, int index=-1) -> Image"""
     val = _core.new_ImageFromStream(*args, **kwargs)
     val.thisown = 1
     return val
 
 def ImageFromStreamMime(*args, **kwargs):
+    """ImageFromStreamMime(InputStream stream, String mimetype, int index=-1) -> Image"""
     val = _core.new_ImageFromStreamMime(*args, **kwargs)
     val.thisown = 1
     return val
 
 def EmptyImage(*args, **kwargs):
+    """EmptyImage(int width=0, int height=0, bool clear=True) -> Image"""
     val = _core.new_EmptyImage(*args, **kwargs)
     val.thisown = 1
     return val
 
 def ImageFromBitmap(*args, **kwargs):
+    """ImageFromBitmap(Bitmap bitmap) -> Image"""
     val = _core.new_ImageFromBitmap(*args, **kwargs)
     val.thisown = 1
     return val
 
 def ImageFromData(*args, **kwargs):
+    """ImageFromData(int width, int height, unsigned char data) -> Image"""
     val = _core.new_ImageFromData(*args, **kwargs)
     val.thisown = 1
     return val
 
-Image_CanRead = _core.Image_CanRead
+def Image_CanRead(*args, **kwargs):
+    """Image_CanRead(String name) -> bool"""
+    return _core.Image_CanRead(*args, **kwargs)
 
-Image_GetImageCount = _core.Image_GetImageCount
+def Image_GetImageCount(*args, **kwargs):
+    """Image_GetImageCount(String name, long type=BITMAP_TYPE_ANY) -> int"""
+    return _core.Image_GetImageCount(*args, **kwargs)
 
-Image_CanReadStream = _core.Image_CanReadStream
+def Image_CanReadStream(*args, **kwargs):
+    """Image_CanReadStream(InputStream stream) -> bool"""
+    return _core.Image_CanReadStream(*args, **kwargs)
 
-Image_AddHandler = _core.Image_AddHandler
+def Image_AddHandler(*args, **kwargs):
+    """Image_AddHandler(ImageHandler handler)"""
+    return _core.Image_AddHandler(*args, **kwargs)
 
-Image_InsertHandler = _core.Image_InsertHandler
+def Image_InsertHandler(*args, **kwargs):
+    """Image_InsertHandler(ImageHandler handler)"""
+    return _core.Image_InsertHandler(*args, **kwargs)
 
-Image_RemoveHandler = _core.Image_RemoveHandler
+def Image_RemoveHandler(*args, **kwargs):
+    """Image_RemoveHandler(String name) -> bool"""
+    return _core.Image_RemoveHandler(*args, **kwargs)
 
-Image_GetImageExtWildcard = _core.Image_GetImageExtWildcard
+def Image_GetImageExtWildcard(*args, **kwargs):
+    """Image_GetImageExtWildcard() -> String"""
+    return _core.Image_GetImageExtWildcard(*args, **kwargs)
 
 
-InitAllImageHandlers = _core.InitAllImageHandlers
+def InitAllImageHandlers(*args, **kwargs):
+    """InitAllImageHandlers()"""
+    return _core.InitAllImageHandlers(*args, **kwargs)
 IMAGE_RESOLUTION_INCHES = _core.IMAGE_RESOLUTION_INCHES
 IMAGE_RESOLUTION_CM = _core.IMAGE_RESOLUTION_CM
 BMP_24BPP = _core.BMP_24BPP
@@ -1335,13 +2336,14 @@ BMP_4BPP = _core.BMP_4BPP
 BMP_1BPP = _core.BMP_1BPP
 BMP_1BPP_BW = _core.BMP_1BPP_BW
 class BMPHandler(ImageHandler):
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxBMPHandler instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     def __init__(self, *args, **kwargs):
+        """__init__() -> BMPHandler"""
         newobj = _core.new_BMPHandler(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
         del newobj.thisown
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxBMPHandler instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
 
 class BMPHandlerPtr(BMPHandler):
     def __init__(self, this):
@@ -1357,13 +2359,14 @@ IMAGE_OPTION_RESOLUTION = cvar.IMAGE_OPTION_RESOLUTION
 IMAGE_OPTION_RESOLUTIONUNIT = cvar.IMAGE_OPTION_RESOLUTIONUNIT
 
 class ICOHandler(BMPHandler):
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxICOHandler instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     def __init__(self, *args, **kwargs):
+        """__init__() -> ICOHandler"""
         newobj = _core.new_ICOHandler(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
         del newobj.thisown
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxICOHandler instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
 
 class ICOHandlerPtr(ICOHandler):
     def __init__(self, this):
@@ -1373,13 +2376,14 @@ class ICOHandlerPtr(ICOHandler):
 _core.ICOHandler_swigregister(ICOHandlerPtr)
 
 class CURHandler(ICOHandler):
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxCURHandler instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     def __init__(self, *args, **kwargs):
+        """__init__() -> CURHandler"""
         newobj = _core.new_CURHandler(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
         del newobj.thisown
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxCURHandler instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
 
 class CURHandlerPtr(CURHandler):
     def __init__(self, this):
@@ -1389,13 +2393,14 @@ class CURHandlerPtr(CURHandler):
 _core.CURHandler_swigregister(CURHandlerPtr)
 
 class ANIHandler(CURHandler):
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxANIHandler instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     def __init__(self, *args, **kwargs):
+        """__init__() -> ANIHandler"""
         newobj = _core.new_ANIHandler(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
         del newobj.thisown
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxANIHandler instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
 
 class ANIHandlerPtr(ANIHandler):
     def __init__(self, this):
@@ -1405,13 +2410,14 @@ class ANIHandlerPtr(ANIHandler):
 _core.ANIHandler_swigregister(ANIHandlerPtr)
 
 class PNGHandler(ImageHandler):
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxPNGHandler instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     def __init__(self, *args, **kwargs):
+        """__init__() -> PNGHandler"""
         newobj = _core.new_PNGHandler(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
         del newobj.thisown
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxPNGHandler instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
 
 class PNGHandlerPtr(PNGHandler):
     def __init__(self, this):
@@ -1421,13 +2427,14 @@ class PNGHandlerPtr(PNGHandler):
 _core.PNGHandler_swigregister(PNGHandlerPtr)
 
 class GIFHandler(ImageHandler):
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxGIFHandler instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     def __init__(self, *args, **kwargs):
+        """__init__() -> GIFHandler"""
         newobj = _core.new_GIFHandler(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
         del newobj.thisown
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxGIFHandler instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
 
 class GIFHandlerPtr(GIFHandler):
     def __init__(self, this):
@@ -1437,13 +2444,14 @@ class GIFHandlerPtr(GIFHandler):
 _core.GIFHandler_swigregister(GIFHandlerPtr)
 
 class PCXHandler(ImageHandler):
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxPCXHandler instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     def __init__(self, *args, **kwargs):
+        """__init__() -> PCXHandler"""
         newobj = _core.new_PCXHandler(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
         del newobj.thisown
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxPCXHandler instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
 
 class PCXHandlerPtr(PCXHandler):
     def __init__(self, this):
@@ -1453,13 +2461,14 @@ class PCXHandlerPtr(PCXHandler):
 _core.PCXHandler_swigregister(PCXHandlerPtr)
 
 class JPEGHandler(ImageHandler):
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxJPEGHandler instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     def __init__(self, *args, **kwargs):
+        """__init__() -> JPEGHandler"""
         newobj = _core.new_JPEGHandler(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
         del newobj.thisown
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxJPEGHandler instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
 
 class JPEGHandlerPtr(JPEGHandler):
     def __init__(self, this):
@@ -1469,13 +2478,14 @@ class JPEGHandlerPtr(JPEGHandler):
 _core.JPEGHandler_swigregister(JPEGHandlerPtr)
 
 class PNMHandler(ImageHandler):
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxPNMHandler instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     def __init__(self, *args, **kwargs):
+        """__init__() -> PNMHandler"""
         newobj = _core.new_PNMHandler(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
         del newobj.thisown
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxPNMHandler instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
 
 class PNMHandlerPtr(PNMHandler):
     def __init__(self, this):
@@ -1485,13 +2495,14 @@ class PNMHandlerPtr(PNMHandler):
 _core.PNMHandler_swigregister(PNMHandlerPtr)
 
 class XPMHandler(ImageHandler):
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxXPMHandler instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     def __init__(self, *args, **kwargs):
+        """__init__() -> XPMHandler"""
         newobj = _core.new_XPMHandler(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
         del newobj.thisown
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxXPMHandler instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
 
 class XPMHandlerPtr(XPMHandler):
     def __init__(self, this):
@@ -1501,13 +2512,14 @@ class XPMHandlerPtr(XPMHandler):
 _core.XPMHandler_swigregister(XPMHandlerPtr)
 
 class TIFFHandler(ImageHandler):
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxTIFFHandler instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     def __init__(self, *args, **kwargs):
+        """__init__() -> TIFFHandler"""
         newobj = _core.new_TIFFHandler(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
         del newobj.thisown
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxTIFFHandler instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
 
 class TIFFHandlerPtr(TIFFHandler):
     def __init__(self, this):
@@ -1519,23 +2531,62 @@ _core.TIFFHandler_swigregister(TIFFHandlerPtr)
 #---------------------------------------------------------------------------
 
 class EvtHandler(Object):
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxEvtHandler instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     def __init__(self, *args, **kwargs):
+        """__init__() -> EvtHandler"""
         newobj = _core.new_EvtHandler(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
         del newobj.thisown
-    def GetNextHandler(*args, **kwargs): return _core.EvtHandler_GetNextHandler(*args, **kwargs)
-    def GetPreviousHandler(*args, **kwargs): return _core.EvtHandler_GetPreviousHandler(*args, **kwargs)
-    def SetNextHandler(*args, **kwargs): return _core.EvtHandler_SetNextHandler(*args, **kwargs)
-    def SetPreviousHandler(*args, **kwargs): return _core.EvtHandler_SetPreviousHandler(*args, **kwargs)
-    def GetEvtHandlerEnabled(*args, **kwargs): return _core.EvtHandler_GetEvtHandlerEnabled(*args, **kwargs)
-    def SetEvtHandlerEnabled(*args, **kwargs): return _core.EvtHandler_SetEvtHandlerEnabled(*args, **kwargs)
-    def ProcessEvent(*args, **kwargs): return _core.EvtHandler_ProcessEvent(*args, **kwargs)
-    def AddPendingEvent(*args, **kwargs): return _core.EvtHandler_AddPendingEvent(*args, **kwargs)
-    def ProcessPendingEvents(*args, **kwargs): return _core.EvtHandler_ProcessPendingEvents(*args, **kwargs)
-    def Connect(*args, **kwargs): return _core.EvtHandler_Connect(*args, **kwargs)
-    def Disconnect(*args, **kwargs): return _core.EvtHandler_Disconnect(*args, **kwargs)
-    def _setOORInfo(*args, **kwargs): return _core.EvtHandler__setOORInfo(*args, **kwargs)
+    def GetNextHandler(*args, **kwargs):
+        """GetNextHandler() -> EvtHandler"""
+        return _core.EvtHandler_GetNextHandler(*args, **kwargs)
+
+    def GetPreviousHandler(*args, **kwargs):
+        """GetPreviousHandler() -> EvtHandler"""
+        return _core.EvtHandler_GetPreviousHandler(*args, **kwargs)
+
+    def SetNextHandler(*args, **kwargs):
+        """SetNextHandler(EvtHandler handler)"""
+        return _core.EvtHandler_SetNextHandler(*args, **kwargs)
+
+    def SetPreviousHandler(*args, **kwargs):
+        """SetPreviousHandler(EvtHandler handler)"""
+        return _core.EvtHandler_SetPreviousHandler(*args, **kwargs)
+
+    def GetEvtHandlerEnabled(*args, **kwargs):
+        """GetEvtHandlerEnabled() -> bool"""
+        return _core.EvtHandler_GetEvtHandlerEnabled(*args, **kwargs)
+
+    def SetEvtHandlerEnabled(*args, **kwargs):
+        """SetEvtHandlerEnabled(bool enabled)"""
+        return _core.EvtHandler_SetEvtHandlerEnabled(*args, **kwargs)
+
+    def ProcessEvent(*args, **kwargs):
+        """ProcessEvent(Event event) -> bool"""
+        return _core.EvtHandler_ProcessEvent(*args, **kwargs)
+
+    def AddPendingEvent(*args, **kwargs):
+        """AddPendingEvent(Event event)"""
+        return _core.EvtHandler_AddPendingEvent(*args, **kwargs)
+
+    def ProcessPendingEvents(*args, **kwargs):
+        """ProcessPendingEvents()"""
+        return _core.EvtHandler_ProcessPendingEvents(*args, **kwargs)
+
+    def Connect(*args, **kwargs):
+        """Connect(int id, int lastId, int eventType, PyObject func)"""
+        return _core.EvtHandler_Connect(*args, **kwargs)
+
+    def Disconnect(*args, **kwargs):
+        """Disconnect(int id, int lastId=-1, wxEventType eventType=wxEVT_NULL) -> bool"""
+        return _core.EvtHandler_Disconnect(*args, **kwargs)
+
+    def _setOORInfo(*args, **kwargs):
+        """_setOORInfo(PyObject _self)"""
+        return _core.EvtHandler__setOORInfo(*args, **kwargs)
+
     def Bind(self, event, handler, source=None, id=wx.ID_ANY, id2=wx.ID_ANY):
         """
         Bind an event to an event handler.
@@ -1562,8 +2613,6 @@ class EvtHandler(Object):
         event.Bind(self, id, id2, handler)              
 
 
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxEvtHandler instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
 
 class EvtHandlerPtr(EvtHandler):
     def __init__(self, this):
@@ -1636,7 +2685,9 @@ def EVT_COMMAND_RANGE(win, id1, id2, cmd, func):
 EVENT_PROPAGATE_NONE = _core.EVENT_PROPAGATE_NONE
 EVENT_PROPAGATE_MAX = _core.EVENT_PROPAGATE_MAX
 
-NewEventType = _core.NewEventType
+def NewEventType(*args, **kwargs):
+    """NewEventType() -> wxEventType"""
+    return _core.NewEventType(*args, **kwargs)
 wxEVT_NULL = _core.wxEVT_NULL
 wxEVT_FIRST = _core.wxEVT_FIRST
 wxEVT_USER_FIRST = _core.wxEVT_USER_FIRST
@@ -1888,10 +2939,6 @@ EVT_COMMAND_SCROLL_THUMBTRACK = wx.PyEventBinder( wxEVT_SCROLL_THUMBTRACK, 1)
 EVT_COMMAND_SCROLL_THUMBRELEASE = wx.PyEventBinder( wxEVT_SCROLL_THUMBRELEASE, 1)
 EVT_COMMAND_SCROLL_ENDSCROLL = wx.PyEventBinder( wxEVT_SCROLL_ENDSCROLL, 1)
 
-EVT_SPIN_UP   = wx.PyEventBinder( wxEVT_SCROLL_LINEUP, 1)
-EVT_SPIN_DOWN = wx.PyEventBinder( wxEVT_SCROLL_LINEDOWN, 1)
-EVT_SPIN      = wx.PyEventBinder( wxEVT_SCROLL_THUMBTRACK, 1)
-
 EVT_BUTTON = wx.PyEventBinder( wxEVT_COMMAND_BUTTON_CLICKED, 1)
 EVT_CHECKBOX = wx.PyEventBinder( wxEVT_COMMAND_CHECKBOX_CLICKED, 1)
 EVT_CHOICE = wx.PyEventBinder( wxEVT_COMMAND_CHOICE_SELECTED, 1)
@@ -1934,28 +2981,75 @@ EVT_CONTEXT_MENU = wx.PyEventBinder( wxEVT_CONTEXT_MENU )
 #---------------------------------------------------------------------------
 
 class Event(Object):
+    def __init__(self): raise RuntimeError, "No constructor defined"
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     def __del__(self, destroy=_core.delete_Event):
+        """__del__()"""
         try:
             if self.thisown: destroy(self)
         except: pass
-    def SetEventType(*args, **kwargs): return _core.Event_SetEventType(*args, **kwargs)
-    def GetEventType(*args, **kwargs): return _core.Event_GetEventType(*args, **kwargs)
-    def GetEventObject(*args, **kwargs): return _core.Event_GetEventObject(*args, **kwargs)
-    def SetEventObject(*args, **kwargs): return _core.Event_SetEventObject(*args, **kwargs)
-    def GetTimestamp(*args, **kwargs): return _core.Event_GetTimestamp(*args, **kwargs)
-    def SetTimestamp(*args, **kwargs): return _core.Event_SetTimestamp(*args, **kwargs)
-    def GetId(*args, **kwargs): return _core.Event_GetId(*args, **kwargs)
-    def SetId(*args, **kwargs): return _core.Event_SetId(*args, **kwargs)
-    def IsCommandEvent(*args, **kwargs): return _core.Event_IsCommandEvent(*args, **kwargs)
-    def Skip(*args, **kwargs): return _core.Event_Skip(*args, **kwargs)
-    def GetSkipped(*args, **kwargs): return _core.Event_GetSkipped(*args, **kwargs)
-    def ShouldPropagate(*args, **kwargs): return _core.Event_ShouldPropagate(*args, **kwargs)
-    def StopPropagation(*args, **kwargs): return _core.Event_StopPropagation(*args, **kwargs)
-    def ResumePropagation(*args, **kwargs): return _core.Event_ResumePropagation(*args, **kwargs)
-    def Clone(*args, **kwargs): return _core.Event_Clone(*args, **kwargs)
-    def __init__(self): raise RuntimeError, "No constructor defined"
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+
+    def SetEventType(*args, **kwargs):
+        """SetEventType(wxEventType typ)"""
+        return _core.Event_SetEventType(*args, **kwargs)
+
+    def GetEventType(*args, **kwargs):
+        """GetEventType() -> wxEventType"""
+        return _core.Event_GetEventType(*args, **kwargs)
+
+    def GetEventObject(*args, **kwargs):
+        """GetEventObject() -> Object"""
+        return _core.Event_GetEventObject(*args, **kwargs)
+
+    def SetEventObject(*args, **kwargs):
+        """SetEventObject(Object obj)"""
+        return _core.Event_SetEventObject(*args, **kwargs)
+
+    def GetTimestamp(*args, **kwargs):
+        """GetTimestamp() -> long"""
+        return _core.Event_GetTimestamp(*args, **kwargs)
+
+    def SetTimestamp(*args, **kwargs):
+        """SetTimestamp(long ts=0)"""
+        return _core.Event_SetTimestamp(*args, **kwargs)
+
+    def GetId(*args, **kwargs):
+        """GetId() -> int"""
+        return _core.Event_GetId(*args, **kwargs)
+
+    def SetId(*args, **kwargs):
+        """SetId(int Id)"""
+        return _core.Event_SetId(*args, **kwargs)
+
+    def IsCommandEvent(*args, **kwargs):
+        """IsCommandEvent() -> bool"""
+        return _core.Event_IsCommandEvent(*args, **kwargs)
+
+    def Skip(*args, **kwargs):
+        """Skip(bool skip=True)"""
+        return _core.Event_Skip(*args, **kwargs)
+
+    def GetSkipped(*args, **kwargs):
+        """GetSkipped() -> bool"""
+        return _core.Event_GetSkipped(*args, **kwargs)
+
+    def ShouldPropagate(*args, **kwargs):
+        """ShouldPropagate() -> bool"""
+        return _core.Event_ShouldPropagate(*args, **kwargs)
+
+    def StopPropagation(*args, **kwargs):
+        """StopPropagation() -> int"""
+        return _core.Event_StopPropagation(*args, **kwargs)
+
+    def ResumePropagation(*args, **kwargs):
+        """ResumePropagation(int propagationLevel)"""
+        return _core.Event_ResumePropagation(*args, **kwargs)
+
+    def Clone(*args, **kwargs):
+        """Clone() -> Event"""
+        return _core.Event_Clone(*args, **kwargs)
+
 
 class EventPtr(Event):
     def __init__(self, this):
@@ -1967,17 +3061,20 @@ _core.Event_swigregister(EventPtr)
 #---------------------------------------------------------------------------
 
 class PropagationDisabler(object):
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxPropagationDisabler instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     def __init__(self, *args, **kwargs):
+        """__init__(Event event) -> PropagationDisabler"""
         newobj = _core.new_PropagationDisabler(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
         del newobj.thisown
     def __del__(self, destroy=_core.delete_PropagationDisabler):
+        """__del__()"""
         try:
             if self.thisown: destroy(self)
         except: pass
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxPropagationDisabler instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+
 
 class PropagationDisablerPtr(PropagationDisabler):
     def __init__(self, this):
@@ -1987,17 +3084,20 @@ class PropagationDisablerPtr(PropagationDisabler):
 _core.PropagationDisabler_swigregister(PropagationDisablerPtr)
 
 class PropagateOnce(object):
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxPropagateOnce instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     def __init__(self, *args, **kwargs):
+        """__init__(Event event) -> PropagateOnce"""
         newobj = _core.new_PropagateOnce(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
         del newobj.thisown
     def __del__(self, destroy=_core.delete_PropagateOnce):
+        """__del__()"""
         try:
             if self.thisown: destroy(self)
         except: pass
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxPropagateOnce instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+
 
 class PropagateOncePtr(PropagateOnce):
     def __init__(self, this):
@@ -2009,23 +3109,55 @@ _core.PropagateOnce_swigregister(PropagateOncePtr)
 #---------------------------------------------------------------------------
 
 class CommandEvent(Event):
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxCommandEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     def __init__(self, *args, **kwargs):
+        """__init__(wxEventType commandType=wxEVT_NULL, int winid=0) -> CommandEvent"""
         newobj = _core.new_CommandEvent(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
         del newobj.thisown
-    def GetSelection(*args, **kwargs): return _core.CommandEvent_GetSelection(*args, **kwargs)
-    def SetString(*args, **kwargs): return _core.CommandEvent_SetString(*args, **kwargs)
-    def GetString(*args, **kwargs): return _core.CommandEvent_GetString(*args, **kwargs)
-    def IsChecked(*args, **kwargs): return _core.CommandEvent_IsChecked(*args, **kwargs)
-    def IsSelection(*args, **kwargs): return _core.CommandEvent_IsSelection(*args, **kwargs)
-    def SetExtraLong(*args, **kwargs): return _core.CommandEvent_SetExtraLong(*args, **kwargs)
-    def GetExtraLong(*args, **kwargs): return _core.CommandEvent_GetExtraLong(*args, **kwargs)
-    def SetInt(*args, **kwargs): return _core.CommandEvent_SetInt(*args, **kwargs)
-    def GetInt(*args, **kwargs): return _core.CommandEvent_GetInt(*args, **kwargs)
-    def Clone(*args, **kwargs): return _core.CommandEvent_Clone(*args, **kwargs)
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxCommandEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def GetSelection(*args, **kwargs):
+        """GetSelection() -> int"""
+        return _core.CommandEvent_GetSelection(*args, **kwargs)
+
+    def SetString(*args, **kwargs):
+        """SetString(String s)"""
+        return _core.CommandEvent_SetString(*args, **kwargs)
+
+    def GetString(*args, **kwargs):
+        """GetString() -> String"""
+        return _core.CommandEvent_GetString(*args, **kwargs)
+
+    def IsChecked(*args, **kwargs):
+        """IsChecked() -> bool"""
+        return _core.CommandEvent_IsChecked(*args, **kwargs)
+
+    Checked = IsChecked 
+    def IsSelection(*args, **kwargs):
+        """IsSelection() -> bool"""
+        return _core.CommandEvent_IsSelection(*args, **kwargs)
+
+    def SetExtraLong(*args, **kwargs):
+        """SetExtraLong(long extraLong)"""
+        return _core.CommandEvent_SetExtraLong(*args, **kwargs)
+
+    def GetExtraLong(*args, **kwargs):
+        """GetExtraLong() -> long"""
+        return _core.CommandEvent_GetExtraLong(*args, **kwargs)
+
+    def SetInt(*args, **kwargs):
+        """SetInt(int i)"""
+        return _core.CommandEvent_SetInt(*args, **kwargs)
+
+    def GetInt(*args, **kwargs):
+        """GetInt() -> long"""
+        return _core.CommandEvent_GetInt(*args, **kwargs)
+
+    def Clone(*args, **kwargs):
+        """Clone() -> Event"""
+        return _core.CommandEvent_Clone(*args, **kwargs)
+
 
 class CommandEventPtr(CommandEvent):
     def __init__(self, this):
@@ -2037,16 +3169,26 @@ _core.CommandEvent_swigregister(CommandEventPtr)
 #---------------------------------------------------------------------------
 
 class NotifyEvent(CommandEvent):
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxNotifyEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     def __init__(self, *args, **kwargs):
+        """__init__(wxEventType commandType=wxEVT_NULL, int winid=0) -> NotifyEvent"""
         newobj = _core.new_NotifyEvent(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
         del newobj.thisown
-    def Veto(*args, **kwargs): return _core.NotifyEvent_Veto(*args, **kwargs)
-    def Allow(*args, **kwargs): return _core.NotifyEvent_Allow(*args, **kwargs)
-    def IsAllowed(*args, **kwargs): return _core.NotifyEvent_IsAllowed(*args, **kwargs)
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxNotifyEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def Veto(*args, **kwargs):
+        """Veto()"""
+        return _core.NotifyEvent_Veto(*args, **kwargs)
+
+    def Allow(*args, **kwargs):
+        """Allow()"""
+        return _core.NotifyEvent_Allow(*args, **kwargs)
+
+    def IsAllowed(*args, **kwargs):
+        """IsAllowed() -> bool"""
+        return _core.NotifyEvent_IsAllowed(*args, **kwargs)
+
 
 class NotifyEventPtr(NotifyEvent):
     def __init__(self, this):
@@ -2058,17 +3200,33 @@ _core.NotifyEvent_swigregister(NotifyEventPtr)
 #---------------------------------------------------------------------------
 
 class ScrollEvent(CommandEvent):
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxScrollEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     def __init__(self, *args, **kwargs):
+        """
+        __init__(wxEventType commandType=wxEVT_NULL, int winid=0, int pos=0, 
+            int orient=0) -> ScrollEvent
+        """
         newobj = _core.new_ScrollEvent(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
         del newobj.thisown
-    def GetOrientation(*args, **kwargs): return _core.ScrollEvent_GetOrientation(*args, **kwargs)
-    def GetPosition(*args, **kwargs): return _core.ScrollEvent_GetPosition(*args, **kwargs)
-    def SetOrientation(*args, **kwargs): return _core.ScrollEvent_SetOrientation(*args, **kwargs)
-    def SetPosition(*args, **kwargs): return _core.ScrollEvent_SetPosition(*args, **kwargs)
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxScrollEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def GetOrientation(*args, **kwargs):
+        """GetOrientation() -> int"""
+        return _core.ScrollEvent_GetOrientation(*args, **kwargs)
+
+    def GetPosition(*args, **kwargs):
+        """GetPosition() -> int"""
+        return _core.ScrollEvent_GetPosition(*args, **kwargs)
+
+    def SetOrientation(*args, **kwargs):
+        """SetOrientation(int orient)"""
+        return _core.ScrollEvent_SetOrientation(*args, **kwargs)
+
+    def SetPosition(*args, **kwargs):
+        """SetPosition(int pos)"""
+        return _core.ScrollEvent_SetPosition(*args, **kwargs)
+
 
 class ScrollEventPtr(ScrollEvent):
     def __init__(self, this):
@@ -2080,17 +3238,30 @@ _core.ScrollEvent_swigregister(ScrollEventPtr)
 #---------------------------------------------------------------------------
 
 class ScrollWinEvent(Event):
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxScrollWinEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     def __init__(self, *args, **kwargs):
+        """__init__(wxEventType commandType=wxEVT_NULL, int pos=0, int orient=0) -> ScrollWinEvent"""
         newobj = _core.new_ScrollWinEvent(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
         del newobj.thisown
-    def GetOrientation(*args, **kwargs): return _core.ScrollWinEvent_GetOrientation(*args, **kwargs)
-    def GetPosition(*args, **kwargs): return _core.ScrollWinEvent_GetPosition(*args, **kwargs)
-    def SetOrientation(*args, **kwargs): return _core.ScrollWinEvent_SetOrientation(*args, **kwargs)
-    def SetPosition(*args, **kwargs): return _core.ScrollWinEvent_SetPosition(*args, **kwargs)
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxScrollWinEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def GetOrientation(*args, **kwargs):
+        """GetOrientation() -> int"""
+        return _core.ScrollWinEvent_GetOrientation(*args, **kwargs)
+
+    def GetPosition(*args, **kwargs):
+        """GetPosition() -> int"""
+        return _core.ScrollWinEvent_GetPosition(*args, **kwargs)
+
+    def SetOrientation(*args, **kwargs):
+        """SetOrientation(int orient)"""
+        return _core.ScrollWinEvent_SetOrientation(*args, **kwargs)
+
+    def SetPosition(*args, **kwargs):
+        """SetPosition(int pos)"""
+        return _core.ScrollWinEvent_SetPosition(*args, **kwargs)
+
 
 class ScrollWinEventPtr(ScrollWinEvent):
     def __init__(self, this):
@@ -2107,47 +3278,166 @@ MOUSE_BTN_LEFT = _core.MOUSE_BTN_LEFT
 MOUSE_BTN_MIDDLE = _core.MOUSE_BTN_MIDDLE
 MOUSE_BTN_RIGHT = _core.MOUSE_BTN_RIGHT
 class MouseEvent(Event):
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxMouseEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     def __init__(self, *args, **kwargs):
+        """__init__(wxEventType mouseType=wxEVT_NULL) -> MouseEvent"""
         newobj = _core.new_MouseEvent(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
         del newobj.thisown
-    def IsButton(*args, **kwargs): return _core.MouseEvent_IsButton(*args, **kwargs)
-    def ButtonDown(*args, **kwargs): return _core.MouseEvent_ButtonDown(*args, **kwargs)
-    def ButtonDClick(*args, **kwargs): return _core.MouseEvent_ButtonDClick(*args, **kwargs)
-    def ButtonUp(*args, **kwargs): return _core.MouseEvent_ButtonUp(*args, **kwargs)
-    def Button(*args, **kwargs): return _core.MouseEvent_Button(*args, **kwargs)
-    def ButtonIsDown(*args, **kwargs): return _core.MouseEvent_ButtonIsDown(*args, **kwargs)
-    def GetButton(*args, **kwargs): return _core.MouseEvent_GetButton(*args, **kwargs)
-    def ControlDown(*args, **kwargs): return _core.MouseEvent_ControlDown(*args, **kwargs)
-    def MetaDown(*args, **kwargs): return _core.MouseEvent_MetaDown(*args, **kwargs)
-    def AltDown(*args, **kwargs): return _core.MouseEvent_AltDown(*args, **kwargs)
-    def ShiftDown(*args, **kwargs): return _core.MouseEvent_ShiftDown(*args, **kwargs)
-    def LeftDown(*args, **kwargs): return _core.MouseEvent_LeftDown(*args, **kwargs)
-    def MiddleDown(*args, **kwargs): return _core.MouseEvent_MiddleDown(*args, **kwargs)
-    def RightDown(*args, **kwargs): return _core.MouseEvent_RightDown(*args, **kwargs)
-    def LeftUp(*args, **kwargs): return _core.MouseEvent_LeftUp(*args, **kwargs)
-    def MiddleUp(*args, **kwargs): return _core.MouseEvent_MiddleUp(*args, **kwargs)
-    def RightUp(*args, **kwargs): return _core.MouseEvent_RightUp(*args, **kwargs)
-    def LeftDClick(*args, **kwargs): return _core.MouseEvent_LeftDClick(*args, **kwargs)
-    def MiddleDClick(*args, **kwargs): return _core.MouseEvent_MiddleDClick(*args, **kwargs)
-    def RightDClick(*args, **kwargs): return _core.MouseEvent_RightDClick(*args, **kwargs)
-    def LeftIsDown(*args, **kwargs): return _core.MouseEvent_LeftIsDown(*args, **kwargs)
-    def MiddleIsDown(*args, **kwargs): return _core.MouseEvent_MiddleIsDown(*args, **kwargs)
-    def RightIsDown(*args, **kwargs): return _core.MouseEvent_RightIsDown(*args, **kwargs)
-    def Dragging(*args, **kwargs): return _core.MouseEvent_Dragging(*args, **kwargs)
-    def Moving(*args, **kwargs): return _core.MouseEvent_Moving(*args, **kwargs)
-    def Entering(*args, **kwargs): return _core.MouseEvent_Entering(*args, **kwargs)
-    def Leaving(*args, **kwargs): return _core.MouseEvent_Leaving(*args, **kwargs)
-    def GetPosition(*args, **kwargs): return _core.MouseEvent_GetPosition(*args, **kwargs)
-    def GetPositionTuple(*args, **kwargs): return _core.MouseEvent_GetPositionTuple(*args, **kwargs)
-    def GetLogicalPosition(*args, **kwargs): return _core.MouseEvent_GetLogicalPosition(*args, **kwargs)
-    def GetX(*args, **kwargs): return _core.MouseEvent_GetX(*args, **kwargs)
-    def GetY(*args, **kwargs): return _core.MouseEvent_GetY(*args, **kwargs)
-    def GetWheelRotation(*args, **kwargs): return _core.MouseEvent_GetWheelRotation(*args, **kwargs)
-    def GetWheelDelta(*args, **kwargs): return _core.MouseEvent_GetWheelDelta(*args, **kwargs)
-    def GetLinesPerAction(*args, **kwargs): return _core.MouseEvent_GetLinesPerAction(*args, **kwargs)
-    def IsPageScroll(*args, **kwargs): return _core.MouseEvent_IsPageScroll(*args, **kwargs)
+    def IsButton(*args, **kwargs):
+        """IsButton() -> bool"""
+        return _core.MouseEvent_IsButton(*args, **kwargs)
+
+    def ButtonDown(*args, **kwargs):
+        """ButtonDown(int but=MOUSE_BTN_ANY) -> bool"""
+        return _core.MouseEvent_ButtonDown(*args, **kwargs)
+
+    def ButtonDClick(*args, **kwargs):
+        """ButtonDClick(int but=MOUSE_BTN_ANY) -> bool"""
+        return _core.MouseEvent_ButtonDClick(*args, **kwargs)
+
+    def ButtonUp(*args, **kwargs):
+        """ButtonUp(int but=MOUSE_BTN_ANY) -> bool"""
+        return _core.MouseEvent_ButtonUp(*args, **kwargs)
+
+    def Button(*args, **kwargs):
+        """Button(int but) -> bool"""
+        return _core.MouseEvent_Button(*args, **kwargs)
+
+    def ButtonIsDown(*args, **kwargs):
+        """ButtonIsDown(int but) -> bool"""
+        return _core.MouseEvent_ButtonIsDown(*args, **kwargs)
+
+    def GetButton(*args, **kwargs):
+        """GetButton() -> int"""
+        return _core.MouseEvent_GetButton(*args, **kwargs)
+
+    def ControlDown(*args, **kwargs):
+        """ControlDown() -> bool"""
+        return _core.MouseEvent_ControlDown(*args, **kwargs)
+
+    def MetaDown(*args, **kwargs):
+        """MetaDown() -> bool"""
+        return _core.MouseEvent_MetaDown(*args, **kwargs)
+
+    def AltDown(*args, **kwargs):
+        """AltDown() -> bool"""
+        return _core.MouseEvent_AltDown(*args, **kwargs)
+
+    def ShiftDown(*args, **kwargs):
+        """ShiftDown() -> bool"""
+        return _core.MouseEvent_ShiftDown(*args, **kwargs)
+
+    def LeftDown(*args, **kwargs):
+        """LeftDown() -> bool"""
+        return _core.MouseEvent_LeftDown(*args, **kwargs)
+
+    def MiddleDown(*args, **kwargs):
+        """MiddleDown() -> bool"""
+        return _core.MouseEvent_MiddleDown(*args, **kwargs)
+
+    def RightDown(*args, **kwargs):
+        """RightDown() -> bool"""
+        return _core.MouseEvent_RightDown(*args, **kwargs)
+
+    def LeftUp(*args, **kwargs):
+        """LeftUp() -> bool"""
+        return _core.MouseEvent_LeftUp(*args, **kwargs)
+
+    def MiddleUp(*args, **kwargs):
+        """MiddleUp() -> bool"""
+        return _core.MouseEvent_MiddleUp(*args, **kwargs)
+
+    def RightUp(*args, **kwargs):
+        """RightUp() -> bool"""
+        return _core.MouseEvent_RightUp(*args, **kwargs)
+
+    def LeftDClick(*args, **kwargs):
+        """LeftDClick() -> bool"""
+        return _core.MouseEvent_LeftDClick(*args, **kwargs)
+
+    def MiddleDClick(*args, **kwargs):
+        """MiddleDClick() -> bool"""
+        return _core.MouseEvent_MiddleDClick(*args, **kwargs)
+
+    def RightDClick(*args, **kwargs):
+        """RightDClick() -> bool"""
+        return _core.MouseEvent_RightDClick(*args, **kwargs)
+
+    def LeftIsDown(*args, **kwargs):
+        """LeftIsDown() -> bool"""
+        return _core.MouseEvent_LeftIsDown(*args, **kwargs)
+
+    def MiddleIsDown(*args, **kwargs):
+        """MiddleIsDown() -> bool"""
+        return _core.MouseEvent_MiddleIsDown(*args, **kwargs)
+
+    def RightIsDown(*args, **kwargs):
+        """RightIsDown() -> bool"""
+        return _core.MouseEvent_RightIsDown(*args, **kwargs)
+
+    def Dragging(*args, **kwargs):
+        """Dragging() -> bool"""
+        return _core.MouseEvent_Dragging(*args, **kwargs)
+
+    def Moving(*args, **kwargs):
+        """Moving() -> bool"""
+        return _core.MouseEvent_Moving(*args, **kwargs)
+
+    def Entering(*args, **kwargs):
+        """Entering() -> bool"""
+        return _core.MouseEvent_Entering(*args, **kwargs)
+
+    def Leaving(*args, **kwargs):
+        """Leaving() -> bool"""
+        return _core.MouseEvent_Leaving(*args, **kwargs)
+
+    def GetPosition(*args, **kwargs):
+        """
+        GetPosition() -> Point
+
+        Returns the position of the mouse in window coordinates when the event happened.
+        """
+        return _core.MouseEvent_GetPosition(*args, **kwargs)
+
+    def GetPositionTuple(*args, **kwargs):
+        """
+        GetPositionTuple() -> (x,y)
+
+        Returns the position of the mouse in window coordinates when the event happened.
+        """
+        return _core.MouseEvent_GetPositionTuple(*args, **kwargs)
+
+    def GetLogicalPosition(*args, **kwargs):
+        """GetLogicalPosition(DC dc) -> Point"""
+        return _core.MouseEvent_GetLogicalPosition(*args, **kwargs)
+
+    def GetX(*args, **kwargs):
+        """GetX() -> int"""
+        return _core.MouseEvent_GetX(*args, **kwargs)
+
+    def GetY(*args, **kwargs):
+        """GetY() -> int"""
+        return _core.MouseEvent_GetY(*args, **kwargs)
+
+    def GetWheelRotation(*args, **kwargs):
+        """GetWheelRotation() -> int"""
+        return _core.MouseEvent_GetWheelRotation(*args, **kwargs)
+
+    def GetWheelDelta(*args, **kwargs):
+        """GetWheelDelta() -> int"""
+        return _core.MouseEvent_GetWheelDelta(*args, **kwargs)
+
+    def GetLinesPerAction(*args, **kwargs):
+        """GetLinesPerAction() -> int"""
+        return _core.MouseEvent_GetLinesPerAction(*args, **kwargs)
+
+    def IsPageScroll(*args, **kwargs):
+        """IsPageScroll() -> bool"""
+        return _core.MouseEvent_IsPageScroll(*args, **kwargs)
+
     m_x = property(_core.MouseEvent_m_x_get, _core.MouseEvent_m_x_set)
     m_y = property(_core.MouseEvent_m_y_get, _core.MouseEvent_m_y_set)
     m_leftDown = property(_core.MouseEvent_m_leftDown_get, _core.MouseEvent_m_leftDown_set)
@@ -2160,8 +3450,6 @@ class MouseEvent(Event):
     m_wheelRotation = property(_core.MouseEvent_m_wheelRotation_get, _core.MouseEvent_m_wheelRotation_set)
     m_wheelDelta = property(_core.MouseEvent_m_wheelDelta_get, _core.MouseEvent_m_wheelDelta_set)
     m_linesPerAction = property(_core.MouseEvent_m_linesPerAction_get, _core.MouseEvent_m_linesPerAction_set)
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxMouseEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
 
 class MouseEventPtr(MouseEvent):
     def __init__(self, this):
@@ -2173,18 +3461,34 @@ _core.MouseEvent_swigregister(MouseEventPtr)
 #---------------------------------------------------------------------------
 
 class SetCursorEvent(Event):
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxSetCursorEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     def __init__(self, *args, **kwargs):
+        """__init__(int x=0, int y=0) -> SetCursorEvent"""
         newobj = _core.new_SetCursorEvent(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
         del newobj.thisown
-    def GetX(*args, **kwargs): return _core.SetCursorEvent_GetX(*args, **kwargs)
-    def GetY(*args, **kwargs): return _core.SetCursorEvent_GetY(*args, **kwargs)
-    def SetCursor(*args, **kwargs): return _core.SetCursorEvent_SetCursor(*args, **kwargs)
-    def GetCursor(*args, **kwargs): return _core.SetCursorEvent_GetCursor(*args, **kwargs)
-    def HasCursor(*args, **kwargs): return _core.SetCursorEvent_HasCursor(*args, **kwargs)
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxSetCursorEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def GetX(*args, **kwargs):
+        """GetX() -> int"""
+        return _core.SetCursorEvent_GetX(*args, **kwargs)
+
+    def GetY(*args, **kwargs):
+        """GetY() -> int"""
+        return _core.SetCursorEvent_GetY(*args, **kwargs)
+
+    def SetCursor(*args, **kwargs):
+        """SetCursor(Cursor cursor)"""
+        return _core.SetCursorEvent_SetCursor(*args, **kwargs)
+
+    def GetCursor(*args, **kwargs):
+        """GetCursor() -> Cursor"""
+        return _core.SetCursorEvent_GetCursor(*args, **kwargs)
+
+    def HasCursor(*args, **kwargs):
+        """HasCursor() -> bool"""
+        return _core.SetCursorEvent_HasCursor(*args, **kwargs)
+
 
 class SetCursorEventPtr(SetCursorEvent):
     def __init__(self, this):
@@ -2196,25 +3500,75 @@ _core.SetCursorEvent_swigregister(SetCursorEventPtr)
 #---------------------------------------------------------------------------
 
 class KeyEvent(Event):
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxKeyEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     def __init__(self, *args, **kwargs):
+        """__init__(wxEventType keyType=wxEVT_NULL) -> KeyEvent"""
         newobj = _core.new_KeyEvent(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
         del newobj.thisown
-    def ControlDown(*args, **kwargs): return _core.KeyEvent_ControlDown(*args, **kwargs)
-    def MetaDown(*args, **kwargs): return _core.KeyEvent_MetaDown(*args, **kwargs)
-    def AltDown(*args, **kwargs): return _core.KeyEvent_AltDown(*args, **kwargs)
-    def ShiftDown(*args, **kwargs): return _core.KeyEvent_ShiftDown(*args, **kwargs)
-    def HasModifiers(*args, **kwargs): return _core.KeyEvent_HasModifiers(*args, **kwargs)
-    def GetKeyCode(*args, **kwargs): return _core.KeyEvent_GetKeyCode(*args, **kwargs)
+    def ControlDown(*args, **kwargs):
+        """ControlDown() -> bool"""
+        return _core.KeyEvent_ControlDown(*args, **kwargs)
+
+    def MetaDown(*args, **kwargs):
+        """MetaDown() -> bool"""
+        return _core.KeyEvent_MetaDown(*args, **kwargs)
+
+    def AltDown(*args, **kwargs):
+        """AltDown() -> bool"""
+        return _core.KeyEvent_AltDown(*args, **kwargs)
+
+    def ShiftDown(*args, **kwargs):
+        """ShiftDown() -> bool"""
+        return _core.KeyEvent_ShiftDown(*args, **kwargs)
+
+    def HasModifiers(*args, **kwargs):
+        """HasModifiers() -> bool"""
+        return _core.KeyEvent_HasModifiers(*args, **kwargs)
+
+    def GetKeyCode(*args, **kwargs):
+        """GetKeyCode() -> int"""
+        return _core.KeyEvent_GetKeyCode(*args, **kwargs)
+
     KeyCode = GetKeyCode 
-    def GetUniChar(*args, **kwargs): return _core.KeyEvent_GetUniChar(*args, **kwargs)
-    def GetRawKeyCode(*args, **kwargs): return _core.KeyEvent_GetRawKeyCode(*args, **kwargs)
-    def GetRawKeyFlags(*args, **kwargs): return _core.KeyEvent_GetRawKeyFlags(*args, **kwargs)
-    def GetPosition(*args, **kwargs): return _core.KeyEvent_GetPosition(*args, **kwargs)
-    def GetPositionTuple(*args, **kwargs): return _core.KeyEvent_GetPositionTuple(*args, **kwargs)
-    def GetX(*args, **kwargs): return _core.KeyEvent_GetX(*args, **kwargs)
-    def GetY(*args, **kwargs): return _core.KeyEvent_GetY(*args, **kwargs)
+    def GetUniChar(*args, **kwargs):
+        """GetUniChar() -> int"""
+        return _core.KeyEvent_GetUniChar(*args, **kwargs)
+
+    def GetRawKeyCode(*args, **kwargs):
+        """GetRawKeyCode() -> unsigned int"""
+        return _core.KeyEvent_GetRawKeyCode(*args, **kwargs)
+
+    def GetRawKeyFlags(*args, **kwargs):
+        """GetRawKeyFlags() -> unsigned int"""
+        return _core.KeyEvent_GetRawKeyFlags(*args, **kwargs)
+
+    def GetPosition(*args, **kwargs):
+        """
+        GetPosition() -> Point
+
+        Find the position of the event.
+        """
+        return _core.KeyEvent_GetPosition(*args, **kwargs)
+
+    def GetPositionTuple(*args, **kwargs):
+        """
+        GetPositionTuple() -> (x,y)
+
+        Find the position of the event.
+        """
+        return _core.KeyEvent_GetPositionTuple(*args, **kwargs)
+
+    def GetX(*args, **kwargs):
+        """GetX() -> int"""
+        return _core.KeyEvent_GetX(*args, **kwargs)
+
+    def GetY(*args, **kwargs):
+        """GetY() -> int"""
+        return _core.KeyEvent_GetY(*args, **kwargs)
+
     m_x = property(_core.KeyEvent_m_x_get, _core.KeyEvent_m_x_set)
     m_y = property(_core.KeyEvent_m_y_get, _core.KeyEvent_m_y_set)
     m_keyCode = property(_core.KeyEvent_m_keyCode_get, _core.KeyEvent_m_keyCode_set)
@@ -2225,8 +3579,6 @@ class KeyEvent(Event):
     m_scanCode = property(_core.KeyEvent_m_scanCode_get, _core.KeyEvent_m_scanCode_set)
     m_rawCode = property(_core.KeyEvent_m_rawCode_get, _core.KeyEvent_m_rawCode_set)
     m_rawFlags = property(_core.KeyEvent_m_rawFlags_get, _core.KeyEvent_m_rawFlags_set)
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxKeyEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
 
 class KeyEventPtr(KeyEvent):
     def __init__(self, this):
@@ -2238,19 +3590,32 @@ _core.KeyEvent_swigregister(KeyEventPtr)
 #---------------------------------------------------------------------------
 
 class SizeEvent(Event):
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxSizeEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     def __init__(self, *args, **kwargs):
+        """__init__(Size sz=DefaultSize, int winid=0) -> SizeEvent"""
         newobj = _core.new_SizeEvent(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
         del newobj.thisown
-    def GetSize(*args, **kwargs): return _core.SizeEvent_GetSize(*args, **kwargs)
-    def GetRect(*args, **kwargs): return _core.SizeEvent_GetRect(*args, **kwargs)
-    def SetRect(*args, **kwargs): return _core.SizeEvent_SetRect(*args, **kwargs)
-    def SetSize(*args, **kwargs): return _core.SizeEvent_SetSize(*args, **kwargs)
+    def GetSize(*args, **kwargs):
+        """GetSize() -> Size"""
+        return _core.SizeEvent_GetSize(*args, **kwargs)
+
+    def GetRect(*args, **kwargs):
+        """GetRect() -> Rect"""
+        return _core.SizeEvent_GetRect(*args, **kwargs)
+
+    def SetRect(*args, **kwargs):
+        """SetRect(Rect rect)"""
+        return _core.SizeEvent_SetRect(*args, **kwargs)
+
+    def SetSize(*args, **kwargs):
+        """SetSize(Size size)"""
+        return _core.SizeEvent_SetSize(*args, **kwargs)
+
     m_size = property(_core.SizeEvent_m_size_get, _core.SizeEvent_m_size_set)
     m_rect = property(_core.SizeEvent_m_rect_get, _core.SizeEvent_m_rect_set)
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxSizeEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
 
 class SizeEventPtr(SizeEvent):
     def __init__(self, this):
@@ -2262,19 +3627,32 @@ _core.SizeEvent_swigregister(SizeEventPtr)
 #---------------------------------------------------------------------------
 
 class MoveEvent(Event):
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxMoveEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     def __init__(self, *args, **kwargs):
+        """__init__(Point pos=DefaultPosition, int winid=0) -> MoveEvent"""
         newobj = _core.new_MoveEvent(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
         del newobj.thisown
-    def GetPosition(*args, **kwargs): return _core.MoveEvent_GetPosition(*args, **kwargs)
-    def GetRect(*args, **kwargs): return _core.MoveEvent_GetRect(*args, **kwargs)
-    def SetRect(*args, **kwargs): return _core.MoveEvent_SetRect(*args, **kwargs)
-    def SetPosition(*args, **kwargs): return _core.MoveEvent_SetPosition(*args, **kwargs)
+    def GetPosition(*args, **kwargs):
+        """GetPosition() -> Point"""
+        return _core.MoveEvent_GetPosition(*args, **kwargs)
+
+    def GetRect(*args, **kwargs):
+        """GetRect() -> Rect"""
+        return _core.MoveEvent_GetRect(*args, **kwargs)
+
+    def SetRect(*args, **kwargs):
+        """SetRect(Rect rect)"""
+        return _core.MoveEvent_SetRect(*args, **kwargs)
+
+    def SetPosition(*args, **kwargs):
+        """SetPosition(Point pos)"""
+        return _core.MoveEvent_SetPosition(*args, **kwargs)
+
     m_pos = property(_core.MoveEvent_m_pos_get, _core.MoveEvent_m_pos_set)
     m_rect = property(_core.MoveEvent_m_rect_get, _core.MoveEvent_m_rect_set)
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxMoveEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
 
 class MoveEventPtr(MoveEvent):
     def __init__(self, this):
@@ -2286,13 +3664,14 @@ _core.MoveEvent_swigregister(MoveEventPtr)
 #---------------------------------------------------------------------------
 
 class PaintEvent(Event):
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxPaintEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     def __init__(self, *args, **kwargs):
+        """__init__(int Id=0) -> PaintEvent"""
         newobj = _core.new_PaintEvent(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
         del newobj.thisown
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxPaintEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
 
 class PaintEventPtr(PaintEvent):
     def __init__(self, this):
@@ -2302,13 +3681,14 @@ class PaintEventPtr(PaintEvent):
 _core.PaintEvent_swigregister(PaintEventPtr)
 
 class NcPaintEvent(Event):
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxNcPaintEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     def __init__(self, *args, **kwargs):
+        """__init__(int winid=0) -> NcPaintEvent"""
         newobj = _core.new_NcPaintEvent(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
         del newobj.thisown
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxNcPaintEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
 
 class NcPaintEventPtr(NcPaintEvent):
     def __init__(self, this):
@@ -2320,14 +3700,18 @@ _core.NcPaintEvent_swigregister(NcPaintEventPtr)
 #---------------------------------------------------------------------------
 
 class EraseEvent(Event):
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxEraseEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     def __init__(self, *args, **kwargs):
+        """__init__(int Id=0, DC dc=(wxDC *) NULL) -> EraseEvent"""
         newobj = _core.new_EraseEvent(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
         del newobj.thisown
-    def GetDC(*args, **kwargs): return _core.EraseEvent_GetDC(*args, **kwargs)
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxEraseEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def GetDC(*args, **kwargs):
+        """GetDC() -> DC"""
+        return _core.EraseEvent_GetDC(*args, **kwargs)
+
 
 class EraseEventPtr(EraseEvent):
     def __init__(self, this):
@@ -2339,15 +3723,22 @@ _core.EraseEvent_swigregister(EraseEventPtr)
 #---------------------------------------------------------------------------
 
 class FocusEvent(Event):
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxFocusEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     def __init__(self, *args, **kwargs):
+        """__init__(wxEventType type=wxEVT_NULL, int winid=0) -> FocusEvent"""
         newobj = _core.new_FocusEvent(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
         del newobj.thisown
-    def GetWindow(*args, **kwargs): return _core.FocusEvent_GetWindow(*args, **kwargs)
-    def SetWindow(*args, **kwargs): return _core.FocusEvent_SetWindow(*args, **kwargs)
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxFocusEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def GetWindow(*args, **kwargs):
+        """GetWindow() -> Window"""
+        return _core.FocusEvent_GetWindow(*args, **kwargs)
+
+    def SetWindow(*args, **kwargs):
+        """SetWindow(Window win)"""
+        return _core.FocusEvent_SetWindow(*args, **kwargs)
+
 
 class FocusEventPtr(FocusEvent):
     def __init__(self, this):
@@ -2359,14 +3750,18 @@ _core.FocusEvent_swigregister(FocusEventPtr)
 #---------------------------------------------------------------------------
 
 class ChildFocusEvent(CommandEvent):
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxChildFocusEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     def __init__(self, *args, **kwargs):
+        """__init__(Window win=None) -> ChildFocusEvent"""
         newobj = _core.new_ChildFocusEvent(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
         del newobj.thisown
-    def GetWindow(*args, **kwargs): return _core.ChildFocusEvent_GetWindow(*args, **kwargs)
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxChildFocusEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def GetWindow(*args, **kwargs):
+        """GetWindow() -> Window"""
+        return _core.ChildFocusEvent_GetWindow(*args, **kwargs)
+
 
 class ChildFocusEventPtr(ChildFocusEvent):
     def __init__(self, this):
@@ -2378,14 +3773,18 @@ _core.ChildFocusEvent_swigregister(ChildFocusEventPtr)
 #---------------------------------------------------------------------------
 
 class ActivateEvent(Event):
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxActivateEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     def __init__(self, *args, **kwargs):
+        """__init__(wxEventType type=wxEVT_NULL, bool active=True, int Id=0) -> ActivateEvent"""
         newobj = _core.new_ActivateEvent(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
         del newobj.thisown
-    def GetActive(*args, **kwargs): return _core.ActivateEvent_GetActive(*args, **kwargs)
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxActivateEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def GetActive(*args, **kwargs):
+        """GetActive() -> bool"""
+        return _core.ActivateEvent_GetActive(*args, **kwargs)
+
 
 class ActivateEventPtr(ActivateEvent):
     def __init__(self, this):
@@ -2397,13 +3796,14 @@ _core.ActivateEvent_swigregister(ActivateEventPtr)
 #---------------------------------------------------------------------------
 
 class InitDialogEvent(Event):
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxInitDialogEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     def __init__(self, *args, **kwargs):
+        """__init__(int Id=0) -> InitDialogEvent"""
         newobj = _core.new_InitDialogEvent(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
         del newobj.thisown
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxInitDialogEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
 
 class InitDialogEventPtr(InitDialogEvent):
     def __init__(self, this):
@@ -2415,16 +3815,26 @@ _core.InitDialogEvent_swigregister(InitDialogEventPtr)
 #---------------------------------------------------------------------------
 
 class MenuEvent(Event):
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxMenuEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     def __init__(self, *args, **kwargs):
+        """__init__(wxEventType type=wxEVT_NULL, int winid=0, Menu menu=None) -> MenuEvent"""
         newobj = _core.new_MenuEvent(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
         del newobj.thisown
-    def GetMenuId(*args, **kwargs): return _core.MenuEvent_GetMenuId(*args, **kwargs)
-    def IsPopup(*args, **kwargs): return _core.MenuEvent_IsPopup(*args, **kwargs)
-    def GetMenu(*args, **kwargs): return _core.MenuEvent_GetMenu(*args, **kwargs)
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxMenuEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def GetMenuId(*args, **kwargs):
+        """GetMenuId() -> int"""
+        return _core.MenuEvent_GetMenuId(*args, **kwargs)
+
+    def IsPopup(*args, **kwargs):
+        """IsPopup() -> bool"""
+        return _core.MenuEvent_IsPopup(*args, **kwargs)
+
+    def GetMenu(*args, **kwargs):
+        """GetMenu() -> Menu"""
+        return _core.MenuEvent_GetMenu(*args, **kwargs)
+
 
 class MenuEventPtr(MenuEvent):
     def __init__(self, this):
@@ -2436,19 +3846,38 @@ _core.MenuEvent_swigregister(MenuEventPtr)
 #---------------------------------------------------------------------------
 
 class CloseEvent(Event):
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxCloseEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     def __init__(self, *args, **kwargs):
+        """__init__(wxEventType type=wxEVT_NULL, int winid=0) -> CloseEvent"""
         newobj = _core.new_CloseEvent(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
         del newobj.thisown
-    def SetLoggingOff(*args, **kwargs): return _core.CloseEvent_SetLoggingOff(*args, **kwargs)
-    def GetLoggingOff(*args, **kwargs): return _core.CloseEvent_GetLoggingOff(*args, **kwargs)
-    def Veto(*args, **kwargs): return _core.CloseEvent_Veto(*args, **kwargs)
-    def SetCanVeto(*args, **kwargs): return _core.CloseEvent_SetCanVeto(*args, **kwargs)
-    def CanVeto(*args, **kwargs): return _core.CloseEvent_CanVeto(*args, **kwargs)
-    def GetVeto(*args, **kwargs): return _core.CloseEvent_GetVeto(*args, **kwargs)
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxCloseEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def SetLoggingOff(*args, **kwargs):
+        """SetLoggingOff(bool logOff)"""
+        return _core.CloseEvent_SetLoggingOff(*args, **kwargs)
+
+    def GetLoggingOff(*args, **kwargs):
+        """GetLoggingOff() -> bool"""
+        return _core.CloseEvent_GetLoggingOff(*args, **kwargs)
+
+    def Veto(*args, **kwargs):
+        """Veto(bool veto=True)"""
+        return _core.CloseEvent_Veto(*args, **kwargs)
+
+    def SetCanVeto(*args, **kwargs):
+        """SetCanVeto(bool canVeto)"""
+        return _core.CloseEvent_SetCanVeto(*args, **kwargs)
+
+    def CanVeto(*args, **kwargs):
+        """CanVeto() -> bool"""
+        return _core.CloseEvent_CanVeto(*args, **kwargs)
+
+    def GetVeto(*args, **kwargs):
+        """GetVeto() -> bool"""
+        return _core.CloseEvent_GetVeto(*args, **kwargs)
+
 
 class CloseEventPtr(CloseEvent):
     def __init__(self, this):
@@ -2460,15 +3889,22 @@ _core.CloseEvent_swigregister(CloseEventPtr)
 #---------------------------------------------------------------------------
 
 class ShowEvent(Event):
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxShowEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     def __init__(self, *args, **kwargs):
+        """__init__(int winid=0, bool show=False) -> ShowEvent"""
         newobj = _core.new_ShowEvent(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
         del newobj.thisown
-    def SetShow(*args, **kwargs): return _core.ShowEvent_SetShow(*args, **kwargs)
-    def GetShow(*args, **kwargs): return _core.ShowEvent_GetShow(*args, **kwargs)
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxShowEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def SetShow(*args, **kwargs):
+        """SetShow(bool show)"""
+        return _core.ShowEvent_SetShow(*args, **kwargs)
+
+    def GetShow(*args, **kwargs):
+        """GetShow() -> bool"""
+        return _core.ShowEvent_GetShow(*args, **kwargs)
+
 
 class ShowEventPtr(ShowEvent):
     def __init__(self, this):
@@ -2480,14 +3916,18 @@ _core.ShowEvent_swigregister(ShowEventPtr)
 #---------------------------------------------------------------------------
 
 class IconizeEvent(Event):
-    def __init__(self, *args, **kwargs):
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxIconizeEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__(int id=0, bool iconized=True) -> IconizeEvent"""
         newobj = _core.new_IconizeEvent(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
         del newobj.thisown
-    def Iconized(*args, **kwargs): return _core.IconizeEvent_Iconized(*args, **kwargs)
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxIconizeEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def Iconized(*args, **kwargs):
+        """Iconized() -> bool"""
+        return _core.IconizeEvent_Iconized(*args, **kwargs)
+
 
 class IconizeEventPtr(IconizeEvent):
     def __init__(self, this):
@@ -2499,13 +3939,14 @@ _core.IconizeEvent_swigregister(IconizeEventPtr)
 #---------------------------------------------------------------------------
 
 class MaximizeEvent(Event):
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxMaximizeEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     def __init__(self, *args, **kwargs):
+        """__init__(int id=0) -> MaximizeEvent"""
         newobj = _core.new_MaximizeEvent(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
         del newobj.thisown
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxMaximizeEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
 
 class MaximizeEventPtr(MaximizeEvent):
     def __init__(self, this):
@@ -2517,12 +3958,21 @@ _core.MaximizeEvent_swigregister(MaximizeEventPtr)
 #---------------------------------------------------------------------------
 
 class DropFilesEvent(Event):
-    def GetPosition(*args, **kwargs): return _core.DropFilesEvent_GetPosition(*args, **kwargs)
-    def GetNumberOfFiles(*args, **kwargs): return _core.DropFilesEvent_GetNumberOfFiles(*args, **kwargs)
-    def GetFiles(*args, **kwargs): return _core.DropFilesEvent_GetFiles(*args, **kwargs)
     def __init__(self): raise RuntimeError, "No constructor defined"
     def __repr__(self):
         return "<%s.%s; proxy of C++ wxDropFilesEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def GetPosition(*args, **kwargs):
+        """GetPosition() -> Point"""
+        return _core.DropFilesEvent_GetPosition(*args, **kwargs)
+
+    def GetNumberOfFiles(*args, **kwargs):
+        """GetNumberOfFiles() -> int"""
+        return _core.DropFilesEvent_GetNumberOfFiles(*args, **kwargs)
+
+    def GetFiles(*args, **kwargs):
+        """GetFiles() -> PyObject"""
+        return _core.DropFilesEvent_GetFiles(*args, **kwargs)
+
 
 class DropFilesEventPtr(DropFilesEvent):
     def __init__(self, this):
@@ -2536,28 +3986,80 @@ _core.DropFilesEvent_swigregister(DropFilesEventPtr)
 UPDATE_UI_PROCESS_ALL = _core.UPDATE_UI_PROCESS_ALL
 UPDATE_UI_PROCESS_SPECIFIED = _core.UPDATE_UI_PROCESS_SPECIFIED
 class UpdateUIEvent(CommandEvent):
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxUpdateUIEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     def __init__(self, *args, **kwargs):
+        """__init__(int commandId=0) -> UpdateUIEvent"""
         newobj = _core.new_UpdateUIEvent(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
         del newobj.thisown
-    def GetChecked(*args, **kwargs): return _core.UpdateUIEvent_GetChecked(*args, **kwargs)
-    def GetEnabled(*args, **kwargs): return _core.UpdateUIEvent_GetEnabled(*args, **kwargs)
-    def GetText(*args, **kwargs): return _core.UpdateUIEvent_GetText(*args, **kwargs)
-    def GetSetText(*args, **kwargs): return _core.UpdateUIEvent_GetSetText(*args, **kwargs)
-    def GetSetChecked(*args, **kwargs): return _core.UpdateUIEvent_GetSetChecked(*args, **kwargs)
-    def GetSetEnabled(*args, **kwargs): return _core.UpdateUIEvent_GetSetEnabled(*args, **kwargs)
-    def Check(*args, **kwargs): return _core.UpdateUIEvent_Check(*args, **kwargs)
-    def Enable(*args, **kwargs): return _core.UpdateUIEvent_Enable(*args, **kwargs)
-    def SetText(*args, **kwargs): return _core.UpdateUIEvent_SetText(*args, **kwargs)
-    SetUpdateInterval = staticmethod(_core.UpdateUIEvent_SetUpdateInterval)
-    GetUpdateInterval = staticmethod(_core.UpdateUIEvent_GetUpdateInterval)
-    CanUpdate = staticmethod(_core.UpdateUIEvent_CanUpdate)
-    ResetUpdateTime = staticmethod(_core.UpdateUIEvent_ResetUpdateTime)
-    SetMode = staticmethod(_core.UpdateUIEvent_SetMode)
-    GetMode = staticmethod(_core.UpdateUIEvent_GetMode)
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxUpdateUIEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def GetChecked(*args, **kwargs):
+        """GetChecked() -> bool"""
+        return _core.UpdateUIEvent_GetChecked(*args, **kwargs)
+
+    def GetEnabled(*args, **kwargs):
+        """GetEnabled() -> bool"""
+        return _core.UpdateUIEvent_GetEnabled(*args, **kwargs)
+
+    def GetText(*args, **kwargs):
+        """GetText() -> String"""
+        return _core.UpdateUIEvent_GetText(*args, **kwargs)
+
+    def GetSetText(*args, **kwargs):
+        """GetSetText() -> bool"""
+        return _core.UpdateUIEvent_GetSetText(*args, **kwargs)
+
+    def GetSetChecked(*args, **kwargs):
+        """GetSetChecked() -> bool"""
+        return _core.UpdateUIEvent_GetSetChecked(*args, **kwargs)
+
+    def GetSetEnabled(*args, **kwargs):
+        """GetSetEnabled() -> bool"""
+        return _core.UpdateUIEvent_GetSetEnabled(*args, **kwargs)
+
+    def Check(*args, **kwargs):
+        """Check(bool check)"""
+        return _core.UpdateUIEvent_Check(*args, **kwargs)
+
+    def Enable(*args, **kwargs):
+        """Enable(bool enable)"""
+        return _core.UpdateUIEvent_Enable(*args, **kwargs)
+
+    def SetText(*args, **kwargs):
+        """SetText(String text)"""
+        return _core.UpdateUIEvent_SetText(*args, **kwargs)
+
+    def SetUpdateInterval(*args, **kwargs):
+        """SetUpdateInterval(long updateInterval)"""
+        return _core.UpdateUIEvent_SetUpdateInterval(*args, **kwargs)
+
+    SetUpdateInterval = staticmethod(SetUpdateInterval)
+    def GetUpdateInterval(*args, **kwargs):
+        """GetUpdateInterval() -> long"""
+        return _core.UpdateUIEvent_GetUpdateInterval(*args, **kwargs)
+
+    GetUpdateInterval = staticmethod(GetUpdateInterval)
+    def CanUpdate(*args, **kwargs):
+        """CanUpdate(Window win) -> bool"""
+        return _core.UpdateUIEvent_CanUpdate(*args, **kwargs)
+
+    CanUpdate = staticmethod(CanUpdate)
+    def ResetUpdateTime(*args, **kwargs):
+        """ResetUpdateTime()"""
+        return _core.UpdateUIEvent_ResetUpdateTime(*args, **kwargs)
+
+    ResetUpdateTime = staticmethod(ResetUpdateTime)
+    def SetMode(*args, **kwargs):
+        """SetMode(int mode)"""
+        return _core.UpdateUIEvent_SetMode(*args, **kwargs)
+
+    SetMode = staticmethod(SetMode)
+    def GetMode(*args, **kwargs):
+        """GetMode() -> int"""
+        return _core.UpdateUIEvent_GetMode(*args, **kwargs)
+
+    GetMode = staticmethod(GetMode)
 
 class UpdateUIEventPtr(UpdateUIEvent):
     def __init__(self, this):
@@ -2566,28 +4068,41 @@ class UpdateUIEventPtr(UpdateUIEvent):
         self.__class__ = UpdateUIEvent
 _core.UpdateUIEvent_swigregister(UpdateUIEventPtr)
 
-UpdateUIEvent_SetUpdateInterval = _core.UpdateUIEvent_SetUpdateInterval
+def UpdateUIEvent_SetUpdateInterval(*args, **kwargs):
+    """UpdateUIEvent_SetUpdateInterval(long updateInterval)"""
+    return _core.UpdateUIEvent_SetUpdateInterval(*args, **kwargs)
 
-UpdateUIEvent_GetUpdateInterval = _core.UpdateUIEvent_GetUpdateInterval
+def UpdateUIEvent_GetUpdateInterval(*args, **kwargs):
+    """UpdateUIEvent_GetUpdateInterval() -> long"""
+    return _core.UpdateUIEvent_GetUpdateInterval(*args, **kwargs)
 
-UpdateUIEvent_CanUpdate = _core.UpdateUIEvent_CanUpdate
+def UpdateUIEvent_CanUpdate(*args, **kwargs):
+    """UpdateUIEvent_CanUpdate(Window win) -> bool"""
+    return _core.UpdateUIEvent_CanUpdate(*args, **kwargs)
 
-UpdateUIEvent_ResetUpdateTime = _core.UpdateUIEvent_ResetUpdateTime
+def UpdateUIEvent_ResetUpdateTime(*args, **kwargs):
+    """UpdateUIEvent_ResetUpdateTime()"""
+    return _core.UpdateUIEvent_ResetUpdateTime(*args, **kwargs)
 
-UpdateUIEvent_SetMode = _core.UpdateUIEvent_SetMode
+def UpdateUIEvent_SetMode(*args, **kwargs):
+    """UpdateUIEvent_SetMode(int mode)"""
+    return _core.UpdateUIEvent_SetMode(*args, **kwargs)
 
-UpdateUIEvent_GetMode = _core.UpdateUIEvent_GetMode
+def UpdateUIEvent_GetMode(*args, **kwargs):
+    """UpdateUIEvent_GetMode() -> int"""
+    return _core.UpdateUIEvent_GetMode(*args, **kwargs)
 
 #---------------------------------------------------------------------------
 
 class SysColourChangedEvent(Event):
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxSysColourChangedEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     def __init__(self, *args, **kwargs):
+        """__init__() -> SysColourChangedEvent"""
         newobj = _core.new_SysColourChangedEvent(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
         del newobj.thisown
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxSysColourChangedEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
 
 class SysColourChangedEventPtr(SysColourChangedEvent):
     def __init__(self, this):
@@ -2599,14 +4114,18 @@ _core.SysColourChangedEvent_swigregister(SysColourChangedEventPtr)
 #---------------------------------------------------------------------------
 
 class MouseCaptureChangedEvent(Event):
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxMouseCaptureChangedEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     def __init__(self, *args, **kwargs):
+        """__init__(int winid=0, Window gainedCapture=None) -> MouseCaptureChangedEvent"""
         newobj = _core.new_MouseCaptureChangedEvent(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
         del newobj.thisown
-    def GetCapturedWindow(*args, **kwargs): return _core.MouseCaptureChangedEvent_GetCapturedWindow(*args, **kwargs)
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxMouseCaptureChangedEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def GetCapturedWindow(*args, **kwargs):
+        """GetCapturedWindow() -> Window"""
+        return _core.MouseCaptureChangedEvent_GetCapturedWindow(*args, **kwargs)
+
 
 class MouseCaptureChangedEventPtr(MouseCaptureChangedEvent):
     def __init__(self, this):
@@ -2618,13 +4137,14 @@ _core.MouseCaptureChangedEvent_swigregister(MouseCaptureChangedEventPtr)
 #---------------------------------------------------------------------------
 
 class DisplayChangedEvent(Event):
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxDisplayChangedEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     def __init__(self, *args, **kwargs):
+        """__init__() -> DisplayChangedEvent"""
         newobj = _core.new_DisplayChangedEvent(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
         del newobj.thisown
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxDisplayChangedEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
 
 class DisplayChangedEventPtr(DisplayChangedEvent):
     def __init__(self, this):
@@ -2636,15 +4156,22 @@ _core.DisplayChangedEvent_swigregister(DisplayChangedEventPtr)
 #---------------------------------------------------------------------------
 
 class PaletteChangedEvent(Event):
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxPaletteChangedEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     def __init__(self, *args, **kwargs):
+        """__init__(int id=0) -> PaletteChangedEvent"""
         newobj = _core.new_PaletteChangedEvent(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
         del newobj.thisown
-    def SetChangedWindow(*args, **kwargs): return _core.PaletteChangedEvent_SetChangedWindow(*args, **kwargs)
-    def GetChangedWindow(*args, **kwargs): return _core.PaletteChangedEvent_GetChangedWindow(*args, **kwargs)
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxPaletteChangedEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def SetChangedWindow(*args, **kwargs):
+        """SetChangedWindow(Window win)"""
+        return _core.PaletteChangedEvent_SetChangedWindow(*args, **kwargs)
+
+    def GetChangedWindow(*args, **kwargs):
+        """GetChangedWindow() -> Window"""
+        return _core.PaletteChangedEvent_GetChangedWindow(*args, **kwargs)
+
 
 class PaletteChangedEventPtr(PaletteChangedEvent):
     def __init__(self, this):
@@ -2656,15 +4183,22 @@ _core.PaletteChangedEvent_swigregister(PaletteChangedEventPtr)
 #---------------------------------------------------------------------------
 
 class QueryNewPaletteEvent(Event):
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxQueryNewPaletteEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     def __init__(self, *args, **kwargs):
+        """__init__(int winid=0) -> QueryNewPaletteEvent"""
         newobj = _core.new_QueryNewPaletteEvent(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
         del newobj.thisown
-    def SetPaletteRealized(*args, **kwargs): return _core.QueryNewPaletteEvent_SetPaletteRealized(*args, **kwargs)
-    def GetPaletteRealized(*args, **kwargs): return _core.QueryNewPaletteEvent_GetPaletteRealized(*args, **kwargs)
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxQueryNewPaletteEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def SetPaletteRealized(*args, **kwargs):
+        """SetPaletteRealized(bool realized)"""
+        return _core.QueryNewPaletteEvent_SetPaletteRealized(*args, **kwargs)
+
+    def GetPaletteRealized(*args, **kwargs):
+        """GetPaletteRealized() -> bool"""
+        return _core.QueryNewPaletteEvent_GetPaletteRealized(*args, **kwargs)
+
 
 class QueryNewPaletteEventPtr(QueryNewPaletteEvent):
     def __init__(self, this):
@@ -2676,19 +4210,38 @@ _core.QueryNewPaletteEvent_swigregister(QueryNewPaletteEventPtr)
 #---------------------------------------------------------------------------
 
 class NavigationKeyEvent(Event):
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxNavigationKeyEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     def __init__(self, *args, **kwargs):
+        """__init__() -> NavigationKeyEvent"""
         newobj = _core.new_NavigationKeyEvent(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
         del newobj.thisown
-    def GetDirection(*args, **kwargs): return _core.NavigationKeyEvent_GetDirection(*args, **kwargs)
-    def SetDirection(*args, **kwargs): return _core.NavigationKeyEvent_SetDirection(*args, **kwargs)
-    def IsWindowChange(*args, **kwargs): return _core.NavigationKeyEvent_IsWindowChange(*args, **kwargs)
-    def SetWindowChange(*args, **kwargs): return _core.NavigationKeyEvent_SetWindowChange(*args, **kwargs)
-    def GetCurrentFocus(*args, **kwargs): return _core.NavigationKeyEvent_GetCurrentFocus(*args, **kwargs)
-    def SetCurrentFocus(*args, **kwargs): return _core.NavigationKeyEvent_SetCurrentFocus(*args, **kwargs)
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxNavigationKeyEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def GetDirection(*args, **kwargs):
+        """GetDirection() -> bool"""
+        return _core.NavigationKeyEvent_GetDirection(*args, **kwargs)
+
+    def SetDirection(*args, **kwargs):
+        """SetDirection(bool bForward)"""
+        return _core.NavigationKeyEvent_SetDirection(*args, **kwargs)
+
+    def IsWindowChange(*args, **kwargs):
+        """IsWindowChange() -> bool"""
+        return _core.NavigationKeyEvent_IsWindowChange(*args, **kwargs)
+
+    def SetWindowChange(*args, **kwargs):
+        """SetWindowChange(bool bIs)"""
+        return _core.NavigationKeyEvent_SetWindowChange(*args, **kwargs)
+
+    def GetCurrentFocus(*args, **kwargs):
+        """GetCurrentFocus() -> Window"""
+        return _core.NavigationKeyEvent_GetCurrentFocus(*args, **kwargs)
+
+    def SetCurrentFocus(*args, **kwargs):
+        """SetCurrentFocus(Window win)"""
+        return _core.NavigationKeyEvent_SetCurrentFocus(*args, **kwargs)
+
 
 class NavigationKeyEventPtr(NavigationKeyEvent):
     def __init__(self, this):
@@ -2700,14 +4253,18 @@ _core.NavigationKeyEvent_swigregister(NavigationKeyEventPtr)
 #---------------------------------------------------------------------------
 
 class WindowCreateEvent(CommandEvent):
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxWindowCreateEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     def __init__(self, *args, **kwargs):
+        """__init__(Window win=None) -> WindowCreateEvent"""
         newobj = _core.new_WindowCreateEvent(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
         del newobj.thisown
-    def GetWindow(*args, **kwargs): return _core.WindowCreateEvent_GetWindow(*args, **kwargs)
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxWindowCreateEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def GetWindow(*args, **kwargs):
+        """GetWindow() -> Window"""
+        return _core.WindowCreateEvent_GetWindow(*args, **kwargs)
+
 
 class WindowCreateEventPtr(WindowCreateEvent):
     def __init__(self, this):
@@ -2717,14 +4274,18 @@ class WindowCreateEventPtr(WindowCreateEvent):
 _core.WindowCreateEvent_swigregister(WindowCreateEventPtr)
 
 class WindowDestroyEvent(CommandEvent):
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxWindowDestroyEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     def __init__(self, *args, **kwargs):
+        """__init__(Window win=None) -> WindowDestroyEvent"""
         newobj = _core.new_WindowDestroyEvent(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
         del newobj.thisown
-    def GetWindow(*args, **kwargs): return _core.WindowDestroyEvent_GetWindow(*args, **kwargs)
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxWindowDestroyEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def GetWindow(*args, **kwargs):
+        """GetWindow() -> Window"""
+        return _core.WindowDestroyEvent_GetWindow(*args, **kwargs)
+
 
 class WindowDestroyEventPtr(WindowDestroyEvent):
     def __init__(self, this):
@@ -2736,15 +4297,22 @@ _core.WindowDestroyEvent_swigregister(WindowDestroyEventPtr)
 #---------------------------------------------------------------------------
 
 class ContextMenuEvent(CommandEvent):
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxContextMenuEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     def __init__(self, *args, **kwargs):
+        """__init__(wxEventType type=wxEVT_NULL, int winid=0, Point pt=DefaultPosition) -> ContextMenuEvent"""
         newobj = _core.new_ContextMenuEvent(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
         del newobj.thisown
-    def GetPosition(*args, **kwargs): return _core.ContextMenuEvent_GetPosition(*args, **kwargs)
-    def SetPosition(*args, **kwargs): return _core.ContextMenuEvent_SetPosition(*args, **kwargs)
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxContextMenuEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def GetPosition(*args, **kwargs):
+        """GetPosition() -> Point"""
+        return _core.ContextMenuEvent_GetPosition(*args, **kwargs)
+
+    def SetPosition(*args, **kwargs):
+        """SetPosition(Point pos)"""
+        return _core.ContextMenuEvent_SetPosition(*args, **kwargs)
+
 
 class ContextMenuEventPtr(ContextMenuEvent):
     def __init__(self, this):
@@ -2758,18 +4326,37 @@ _core.ContextMenuEvent_swigregister(ContextMenuEventPtr)
 IDLE_PROCESS_ALL = _core.IDLE_PROCESS_ALL
 IDLE_PROCESS_SPECIFIED = _core.IDLE_PROCESS_SPECIFIED
 class IdleEvent(Event):
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxIdleEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     def __init__(self, *args, **kwargs):
+        """__init__() -> IdleEvent"""
         newobj = _core.new_IdleEvent(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
         del newobj.thisown
-    def RequestMore(*args, **kwargs): return _core.IdleEvent_RequestMore(*args, **kwargs)
-    def MoreRequested(*args, **kwargs): return _core.IdleEvent_MoreRequested(*args, **kwargs)
-    SetMode = staticmethod(_core.IdleEvent_SetMode)
-    GetMode = staticmethod(_core.IdleEvent_GetMode)
-    CanSend = staticmethod(_core.IdleEvent_CanSend)
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxIdleEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def RequestMore(*args, **kwargs):
+        """RequestMore(bool needMore=True)"""
+        return _core.IdleEvent_RequestMore(*args, **kwargs)
+
+    def MoreRequested(*args, **kwargs):
+        """MoreRequested() -> bool"""
+        return _core.IdleEvent_MoreRequested(*args, **kwargs)
+
+    def SetMode(*args, **kwargs):
+        """SetMode(int mode)"""
+        return _core.IdleEvent_SetMode(*args, **kwargs)
+
+    SetMode = staticmethod(SetMode)
+    def GetMode(*args, **kwargs):
+        """GetMode() -> int"""
+        return _core.IdleEvent_GetMode(*args, **kwargs)
+
+    GetMode = staticmethod(GetMode)
+    def CanSend(*args, **kwargs):
+        """CanSend(Window win) -> bool"""
+        return _core.IdleEvent_CanSend(*args, **kwargs)
+
+    CanSend = staticmethod(CanSend)
 
 class IdleEventPtr(IdleEvent):
     def __init__(self, this):
@@ -2778,29 +4365,45 @@ class IdleEventPtr(IdleEvent):
         self.__class__ = IdleEvent
 _core.IdleEvent_swigregister(IdleEventPtr)
 
-IdleEvent_SetMode = _core.IdleEvent_SetMode
+def IdleEvent_SetMode(*args, **kwargs):
+    """IdleEvent_SetMode(int mode)"""
+    return _core.IdleEvent_SetMode(*args, **kwargs)
 
-IdleEvent_GetMode = _core.IdleEvent_GetMode
+def IdleEvent_GetMode(*args, **kwargs):
+    """IdleEvent_GetMode() -> int"""
+    return _core.IdleEvent_GetMode(*args, **kwargs)
 
-IdleEvent_CanSend = _core.IdleEvent_CanSend
+def IdleEvent_CanSend(*args, **kwargs):
+    """IdleEvent_CanSend(Window win) -> bool"""
+    return _core.IdleEvent_CanSend(*args, **kwargs)
 
 #---------------------------------------------------------------------------
 
 class PyEvent(Event):
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxPyEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     def __init__(self, *args, **kwargs):
+        """__init__(int winid=0, wxEventType commandType=wxEVT_NULL) -> PyEvent"""
         newobj = _core.new_PyEvent(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
         del newobj.thisown
         self.SetSelf(self)
+
     def __del__(self, destroy=_core.delete_PyEvent):
+        """__del__()"""
         try:
             if self.thisown: destroy(self)
         except: pass
-    def SetSelf(*args, **kwargs): return _core.PyEvent_SetSelf(*args, **kwargs)
-    def GetSelf(*args, **kwargs): return _core.PyEvent_GetSelf(*args, **kwargs)
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxPyEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+
+    def SetSelf(*args, **kwargs):
+        """SetSelf(PyObject self)"""
+        return _core.PyEvent_SetSelf(*args, **kwargs)
+
+    def GetSelf(*args, **kwargs):
+        """GetSelf() -> PyObject"""
+        return _core.PyEvent_GetSelf(*args, **kwargs)
+
 
 class PyEventPtr(PyEvent):
     def __init__(self, this):
@@ -2810,20 +4413,30 @@ class PyEventPtr(PyEvent):
 _core.PyEvent_swigregister(PyEventPtr)
 
 class PyCommandEvent(CommandEvent):
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxPyCommandEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     def __init__(self, *args, **kwargs):
+        """__init__(wxEventType commandType=wxEVT_NULL, int id=0) -> PyCommandEvent"""
         newobj = _core.new_PyCommandEvent(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
         del newobj.thisown
         self.SetSelf(self)
+
     def __del__(self, destroy=_core.delete_PyCommandEvent):
+        """__del__()"""
         try:
             if self.thisown: destroy(self)
         except: pass
-    def SetSelf(*args, **kwargs): return _core.PyCommandEvent_SetSelf(*args, **kwargs)
-    def GetSelf(*args, **kwargs): return _core.PyCommandEvent_GetSelf(*args, **kwargs)
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxPyCommandEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+
+    def SetSelf(*args, **kwargs):
+        """SetSelf(PyObject self)"""
+        return _core.PyCommandEvent_SetSelf(*args, **kwargs)
+
+    def GetSelf(*args, **kwargs):
+        """GetSelf() -> PyObject"""
+        return _core.PyCommandEvent_GetSelf(*args, **kwargs)
+
 
 class PyCommandEventPtr(PyCommandEvent):
     def __init__(self, this):
@@ -2841,261 +4454,663 @@ PYAPP_ASSERT_LOG = _core.PYAPP_ASSERT_LOG
 PRINT_WINDOWS = _core.PRINT_WINDOWS
 PRINT_POSTSCRIPT = _core.PRINT_POSTSCRIPT
 class PyApp(EvtHandler):
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxPyApp instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     def __init__(self, *args, **kwargs):
+        """
+        __init__() -> PyApp
+
+        Create a new application object, starting the bootstrap process.
+        """
         newobj = _core.new_PyApp(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
         del newobj.thisown
         self._setCallbackInfo(self, PyApp)
         self._setOORInfo(self)
+
     def __del__(self, destroy=_core.delete_PyApp):
+        """__del__()"""
         try:
             if self.thisown: destroy(self)
         except: pass
-    def _setCallbackInfo(*args, **kwargs): return _core.PyApp__setCallbackInfo(*args, **kwargs)
-    def GetAppName(*args, **kwargs): return _core.PyApp_GetAppName(*args, **kwargs)
-    def SetAppName(*args, **kwargs): return _core.PyApp_SetAppName(*args, **kwargs)
-    def GetClassName(*args, **kwargs): return _core.PyApp_GetClassName(*args, **kwargs)
-    def SetClassName(*args, **kwargs): return _core.PyApp_SetClassName(*args, **kwargs)
-    def GetVendorName(*args, **kwargs): return _core.PyApp_GetVendorName(*args, **kwargs)
-    def SetVendorName(*args, **kwargs): return _core.PyApp_SetVendorName(*args, **kwargs)
-    def GetTraits(*args, **kwargs): return _core.PyApp_GetTraits(*args, **kwargs)
-    def ProcessPendingEvents(*args, **kwargs): return _core.PyApp_ProcessPendingEvents(*args, **kwargs)
-    def Yield(*args, **kwargs): return _core.PyApp_Yield(*args, **kwargs)
-    def WakeUpIdle(*args, **kwargs): return _core.PyApp_WakeUpIdle(*args, **kwargs)
-    def MainLoop(*args, **kwargs): return _core.PyApp_MainLoop(*args, **kwargs)
-    def Exit(*args, **kwargs): return _core.PyApp_Exit(*args, **kwargs)
-    def ExitMainLoop(*args, **kwargs): return _core.PyApp_ExitMainLoop(*args, **kwargs)
-    def Pending(*args, **kwargs): return _core.PyApp_Pending(*args, **kwargs)
-    def Dispatch(*args, **kwargs): return _core.PyApp_Dispatch(*args, **kwargs)
-    def ProcessIdle(*args, **kwargs): return _core.PyApp_ProcessIdle(*args, **kwargs)
-    def SendIdleEvents(*args, **kwargs): return _core.PyApp_SendIdleEvents(*args, **kwargs)
-    def OnIdle(*args, **kwargs): return _core.PyApp_OnIdle(*args, **kwargs)
-    def IsActive(*args, **kwargs): return _core.PyApp_IsActive(*args, **kwargs)
-    def SetTopWindow(*args, **kwargs): return _core.PyApp_SetTopWindow(*args, **kwargs)
-    def GetTopWindow(*args, **kwargs): return _core.PyApp_GetTopWindow(*args, **kwargs)
-    def SetExitOnFrameDelete(*args, **kwargs): return _core.PyApp_SetExitOnFrameDelete(*args, **kwargs)
-    def GetExitOnFrameDelete(*args, **kwargs): return _core.PyApp_GetExitOnFrameDelete(*args, **kwargs)
-    def SetUseBestVisual(*args, **kwargs): return _core.PyApp_SetUseBestVisual(*args, **kwargs)
-    def GetUseBestVisual(*args, **kwargs): return _core.PyApp_GetUseBestVisual(*args, **kwargs)
-    def SetPrintMode(*args, **kwargs): return _core.PyApp_SetPrintMode(*args, **kwargs)
-    def GetPrintMode(*args, **kwargs): return _core.PyApp_GetPrintMode(*args, **kwargs)
-    def GetAssertMode(*args, **kwargs): return _core.PyApp_GetAssertMode(*args, **kwargs)
-    def SetAssertMode(*args, **kwargs): return _core.PyApp_SetAssertMode(*args, **kwargs)
-    GetMacSupportPCMenuShortcuts = staticmethod(_core.PyApp_GetMacSupportPCMenuShortcuts)
-    GetMacAboutMenuItemId = staticmethod(_core.PyApp_GetMacAboutMenuItemId)
-    GetMacPreferencesMenuItemId = staticmethod(_core.PyApp_GetMacPreferencesMenuItemId)
-    GetMacExitMenuItemId = staticmethod(_core.PyApp_GetMacExitMenuItemId)
-    GetMacHelpMenuTitleName = staticmethod(_core.PyApp_GetMacHelpMenuTitleName)
-    SetMacSupportPCMenuShortcuts = staticmethod(_core.PyApp_SetMacSupportPCMenuShortcuts)
-    SetMacAboutMenuItemId = staticmethod(_core.PyApp_SetMacAboutMenuItemId)
-    SetMacPreferencesMenuItemId = staticmethod(_core.PyApp_SetMacPreferencesMenuItemId)
-    SetMacExitMenuItemId = staticmethod(_core.PyApp_SetMacExitMenuItemId)
-    SetMacHelpMenuTitleName = staticmethod(_core.PyApp_SetMacHelpMenuTitleName)
-    def _BootstrapApp(*args, **kwargs): return _core.PyApp__BootstrapApp(*args, **kwargs)
-    GetComCtl32Version = staticmethod(_core.PyApp_GetComCtl32Version)
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxPyApp instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
 
-class PyAppPtr(PyApp):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = PyApp
-_core.PyApp_swigregister(PyAppPtr)
+    def _setCallbackInfo(*args, **kwargs):
+        """_setCallbackInfo(PyObject self, PyObject _class)"""
+        return _core.PyApp__setCallbackInfo(*args, **kwargs)
 
-PyApp_GetMacSupportPCMenuShortcuts = _core.PyApp_GetMacSupportPCMenuShortcuts
+    def GetAppName(*args, **kwargs):
+        """
+        GetAppName() -> String
 
-PyApp_GetMacAboutMenuItemId = _core.PyApp_GetMacAboutMenuItemId
+        Get the application name.
+        """
+        return _core.PyApp_GetAppName(*args, **kwargs)
 
-PyApp_GetMacPreferencesMenuItemId = _core.PyApp_GetMacPreferencesMenuItemId
+    def SetAppName(*args, **kwargs):
+        """
+        SetAppName(String name)
 
-PyApp_GetMacExitMenuItemId = _core.PyApp_GetMacExitMenuItemId
+        Set the application name. This value may be used automatically
+        by wx.Config and such.
+        """
+        return _core.PyApp_SetAppName(*args, **kwargs)
 
-PyApp_GetMacHelpMenuTitleName = _core.PyApp_GetMacHelpMenuTitleName
+    def GetClassName(*args, **kwargs):
+        """
+        GetClassName() -> String
 
-PyApp_SetMacSupportPCMenuShortcuts = _core.PyApp_SetMacSupportPCMenuShortcuts
+        Get the application's class name.
+        """
+        return _core.PyApp_GetClassName(*args, **kwargs)
 
-PyApp_SetMacAboutMenuItemId = _core.PyApp_SetMacAboutMenuItemId
+    def SetClassName(*args, **kwargs):
+        """
+        SetClassName(String name)
 
-PyApp_SetMacPreferencesMenuItemId = _core.PyApp_SetMacPreferencesMenuItemId
+        Set the application's class name. This value may be used for X-resources if
+        applicable for the platform
+        """
+        return _core.PyApp_SetClassName(*args, **kwargs)
 
-PyApp_SetMacExitMenuItemId = _core.PyApp_SetMacExitMenuItemId
+    def GetVendorName(*args, **kwargs):
+        """
+        GetVendorName() -> String
 
-PyApp_SetMacHelpMenuTitleName = _core.PyApp_SetMacHelpMenuTitleName
+        Get the application's vendor name.
+        """
+        return _core.PyApp_GetVendorName(*args, **kwargs)
 
-PyApp_GetComCtl32Version = _core.PyApp_GetComCtl32Version
+    def SetVendorName(*args, **kwargs):
+        """
+        SetVendorName(String name)
 
-#---------------------------------------------------------------------------
+        Set the application's vendor name. This value may be used automatically
+        by wx.Config and such.
+        """
+        return _core.PyApp_SetVendorName(*args, **kwargs)
 
+    def GetTraits(*args, **kwargs):
+        """
+        GetTraits() -> wxAppTraits
 
-Exit = _core.Exit
+        Create the app traits object to which we delegate for everything which either
+        should be configurable by the user (then he can change the default behaviour
+        simply by overriding CreateTraits() and returning his own traits object) or
+        which is GUI/console dependent as then wx.AppTraits allows us to abstract the
+        differences behind the common facade
+        """
+        return _core.PyApp_GetTraits(*args, **kwargs)
 
-Yield = _core.Yield
+    def ProcessPendingEvents(*args, **kwargs):
+        """
+        ProcessPendingEvents()
 
-YieldIfNeeded = _core.YieldIfNeeded
+        Process all events in the Pending Events list -- it is necessary to call this
+        function to process posted events. This happens during each event loop
+        iteration.
+        """
+        return _core.PyApp_ProcessPendingEvents(*args, **kwargs)
 
-SafeYield = _core.SafeYield
+    def Yield(*args, **kwargs):
+        """
+        Yield(bool onlyIfNeeded=False) -> bool
 
-WakeUpIdle = _core.WakeUpIdle
+        Process all currently pending events right now, instead of waiting until
+        return to the event loop.  It is an error to call Yield() recursively unless
+        the value of onlyIfNeeded is True.
 
-PostEvent = _core.PostEvent
+        WARNING: This function is dangerous as it can lead to unexpected
+                 reentrancies (i.e. when called from an event handler it
+                 may result in calling the same event handler again), use
+                 with _extreme_ care or, better, don't use at all!
 
-App_CleanUp = _core.App_CleanUp
+        """
+        return _core.PyApp_Yield(*args, **kwargs)
 
-GetApp = _core.GetApp
-#----------------------------------------------------------------------
+    def WakeUpIdle(*args, **kwargs):
+        """
+        WakeUpIdle()
 
-class PyOnDemandOutputWindow:
-    def __init__(self, title = "wxPython: stdout/stderr"):
-        self.frame  = None
-        self.title  = title
-        self.parent = None
+        Make sure that idle events are sent again
+        """
+        return _core.PyApp_WakeUpIdle(*args, **kwargs)
 
-    def SetParent(self, parent):
-        self.parent = parent
+    def MainLoop(*args, **kwargs):
+        """
+        MainLoop() -> int
 
-    def OnCloseWindow(self, event):
-        if self.frame != None:
-            self.frame.Destroy()
-        self.frame = None
-        self.text  = None
+        Execute the main GUI loop, the function returns when the loop ends.
+        """
+        return _core.PyApp_MainLoop(*args, **kwargs)
 
-    # These methods provide the file-like output behaviour.
-    def write(self, str):
-        if not wx.Thread_IsMain():
-            # Aquire the GUI mutex before making GUI calls.  Mutex is released
-            # when locker is deleted at the end of this function.
-            locker = wx.MutexGuiLocker()
-
-        if not self.frame:
-            self.frame = wx.Frame(self.parent, -1, self.title,
-                                 style=wx.DEFAULT_FRAME_STYLE | wx.NO_FULL_REPAINT_ON_RESIZE)
-            self.text  = wxTextCtrl(self.frame, -1, "",
-                                    style = wx.TE_MULTILINE | wx.TE_READONLY)
-            self.frame.SetSize((450, 300))
-            self.frame.Show(True)
-            EVT_CLOSE(self.frame, self.OnCloseWindow)
-        self.text.AppendText(str)
+    def Exit(*args, **kwargs):
+        """
+        Exit()
 
-    def close(self):
-        if self.frame != None:
-            if not wx.Thread_IsMain():
-                locker = wx.MutexGuiLocker()
-            self.frame.Close()
+        Exit the main loop thus terminating the application.
+        """
+        return _core.PyApp_Exit(*args, **kwargs)
 
+    def ExitMainLoop(*args, **kwargs):
+        """
+        ExitMainLoop()
 
-#----------------------------------------------------------------------
-# The main application class.  Derive from this and implement an OnInit
-# method that creates a frame and then calls self.SetTopWindow(frame)
+        Exit the main GUI loop during the next iteration (i.e. it does not
+        stop the program immediately!)
+        """
+        return _core.PyApp_ExitMainLoop(*args, **kwargs)
 
-_defRedirect = (wx.Platform == '__WXMSW__' or wx.Platform == '__WXMAC__')
+    def Pending(*args, **kwargs):
+        """
+        Pending() -> bool
 
-class App(wx.PyApp):
-    outputWindowClass = PyOnDemandOutputWindow
+        Returns True if there are unprocessed events in the event queue.
+        """
+        return _core.PyApp_Pending(*args, **kwargs)
 
-    def __init__(self, redirect=_defRedirect, filename=None, useBestVisual=False):
-        wx.PyApp.__init__(self)
+    def Dispatch(*args, **kwargs):
+        """
+        Dispatch() -> bool
 
-        if wx.Platform == "__WXMAC__":
-            try:
-                import MacOS
-                if not MacOS.WMAvailable():
-                    print """\
-This program needs access to the screen. Please run with 'pythonw',
-not 'python', and only when you are logged in on the main display of
-your Mac."""
-                    _sys.exit(1)
-            except:
-                pass
+        Process the first event in the event queue (blocks until an event
+        appears if there are none currently)
+        """
+        return _core.PyApp_Dispatch(*args, **kwargs)
 
-        # This has to be done before OnInit
-        self.SetUseBestVisual(useBestVisual)
+    def ProcessIdle(*args, **kwargs):
+        """
+        ProcessIdle() -> bool
 
-        # Set the default handler for SIGINT.  This fixes a problem
-        # where if Ctrl-C is pressed in the console that started this
-        # app then it will not appear to do anything, (not even send
-        # KeyboardInterrupt???)  but will later segfault on exit.  By
-        # setting the default handler then the app will exit, as
-        # expected (depending on platform.)
-        try:
-            import signal
-            signal.signal(signal.SIGINT, signal.SIG_DFL)
-        except:
-            pass
+        Called from the MainLoop when the application becomes idle and sends an
+        IdleEvent to all interested parties.  Returns True is more idle events are
+        needed, False if not.
+        """
+        return _core.PyApp_ProcessIdle(*args, **kwargs)
 
-        # Save and redirect the stdio to a window?
-        self.stdioWin = None
-        self.saveStdio = (_sys.stdout, _sys.stderr)
-        if redirect:
-            self.RedirectStdio(filename)
+    def SendIdleEvents(*args, **kwargs):
+        """
+        SendIdleEvents(Window win, IdleEvent event) -> bool
 
-        # This finishes the initialization of wxWindows and then calls
-        # the OnInit that should be present in the derived class
-        self._BootstrapApp()
+        Send idle event to window and all subwindows.  Returns True if more idle time
+        is requested.
+        """
+        return _core.PyApp_SendIdleEvents(*args, **kwargs)
 
+    def IsActive(*args, **kwargs):
+        """
+        IsActive() -> bool
 
-    def __del__(self):
-        try:
-            self.RestoreStdio()  # Just in case the MainLoop was overridden
-        except:
-            pass
+        Return True if our app has focus.
+        """
+        return _core.PyApp_IsActive(*args, **kwargs)
 
+    def SetTopWindow(*args, **kwargs):
+        """
+        SetTopWindow(Window win)
 
-    def SetTopWindow(self, frame):
-        if self.stdioWin:
-            self.stdioWin.SetParent(frame)
-        wx.PyApp.SetTopWindow(self, frame)
+        Set the "main" top level window
+        """
+        return _core.PyApp_SetTopWindow(*args, **kwargs)
 
+    def GetTopWindow(*args, **kwargs):
+        """
+        GetTopWindow() -> Window
 
-    def MainLoop(self):
-        wx.PyApp.MainLoop(self)
-        self.RestoreStdio()
+        Return the "main" top level window (if it hadn't been set previously with
+        SetTopWindow(), will return just some top level window and, if there not any,
+        will return None)
+        """
+        return _core.PyApp_GetTopWindow(*args, **kwargs)
 
+    def SetExitOnFrameDelete(*args, **kwargs):
+        """
+        SetExitOnFrameDelete(bool flag)
 
-    def RedirectStdio(self, filename):
-        if filename:
-            _sys.stdout = _sys.stderr = open(filename, 'a')
-        else:
-            self.stdioWin = self.outputWindowClass()
-            _sys.stdout = _sys.stderr = self.stdioWin
+        Control the exit behaviour: by default, the program will exit the main loop
+        (and so, usually, terminate) when the last top-level program window is
+        deleted.  Beware that if you disable this behaviour (with
+        SetExitOnFrameDelete(False)), you'll have to call ExitMainLoop() explicitly
+        from somewhere.
 
+        """
+        return _core.PyApp_SetExitOnFrameDelete(*args, **kwargs)
 
-    def RestoreStdio(self):
-        _sys.stdout, _sys.stderr = self.saveStdio
+    def GetExitOnFrameDelete(*args, **kwargs):
+        """
+        GetExitOnFrameDelete() -> bool
 
+        Get the current exit behaviour setting.
+        """
+        return _core.PyApp_GetExitOnFrameDelete(*args, **kwargs)
 
+    def SetUseBestVisual(*args, **kwargs):
+        """
+        SetUseBestVisual(bool flag)
 
-# change from wxPyApp_ to wxApp_
-App_GetMacSupportPCMenuShortcuts = _core.PyApp_GetMacSupportPCMenuShortcuts
-App_GetMacAboutMenuItemId        = _core.PyApp_GetMacAboutMenuItemId
-App_GetMacPreferencesMenuItemId  = _core.PyApp_GetMacPreferencesMenuItemId
-App_GetMacExitMenuItemId         = _core.PyApp_GetMacExitMenuItemId
-App_GetMacHelpMenuTitleName      = _core.PyApp_GetMacHelpMenuTitleName
-App_SetMacSupportPCMenuShortcuts = _core.PyApp_SetMacSupportPCMenuShortcuts
-App_SetMacAboutMenuItemId        = _core.PyApp_SetMacAboutMenuItemId
-App_SetMacPreferencesMenuItemId  = _core.PyApp_SetMacPreferencesMenuItemId
-App_SetMacExitMenuItemId         = _core.PyApp_SetMacExitMenuItemId
-App_SetMacHelpMenuTitleName      = _core.PyApp_SetMacHelpMenuTitleName
-App_GetComCtl32Version           = _core.PyApp_GetComCtl32Version
+        Set whether the app should try to use the best available visual on systems
+        where more than one is available, (Sun, SGI, XFree86 4, etc.)
+        """
+        return _core.PyApp_SetUseBestVisual(*args, **kwargs)
 
-#----------------------------------------------------------------------------
+    def GetUseBestVisual(*args, **kwargs):
+        """
+        GetUseBestVisual() -> bool
+
+        Get current UseBestVisual setting.
+        """
+        return _core.PyApp_GetUseBestVisual(*args, **kwargs)
+
+    def SetPrintMode(*args, **kwargs):
+        """SetPrintMode(int mode)"""
+        return _core.PyApp_SetPrintMode(*args, **kwargs)
+
+    def GetPrintMode(*args, **kwargs):
+        """GetPrintMode() -> int"""
+        return _core.PyApp_GetPrintMode(*args, **kwargs)
+
+    def SetAssertMode(*args, **kwargs):
+        """
+        SetAssertMode(int mode)
+
+        Set the OnAssert behaviour for debug and hybrid builds.  The following flags
+        may be or'd together:
+
+         wx.PYAPP_ASSERT_SUPPRESS         Don't do anything
+         wx.PYAPP_ASSERT_EXCEPTION        Turn it into a Python exception if possible (default)
+         wx.PYAPP_ASSERT_DIALOG           Display a message dialog
+         wx.PYAPP_ASSERT_LOG              Write the assertion info to the wx.Log
+
+        """
+        return _core.PyApp_SetAssertMode(*args, **kwargs)
+
+    def GetAssertMode(*args, **kwargs):
+        """
+        GetAssertMode() -> int
+
+        Get the current OnAssert behaviour setting.
+        """
+        return _core.PyApp_GetAssertMode(*args, **kwargs)
+
+    def GetMacSupportPCMenuShortcuts(*args, **kwargs):
+        """GetMacSupportPCMenuShortcuts() -> bool"""
+        return _core.PyApp_GetMacSupportPCMenuShortcuts(*args, **kwargs)
+
+    GetMacSupportPCMenuShortcuts = staticmethod(GetMacSupportPCMenuShortcuts)
+    def GetMacAboutMenuItemId(*args, **kwargs):
+        """GetMacAboutMenuItemId() -> long"""
+        return _core.PyApp_GetMacAboutMenuItemId(*args, **kwargs)
+
+    GetMacAboutMenuItemId = staticmethod(GetMacAboutMenuItemId)
+    def GetMacPreferencesMenuItemId(*args, **kwargs):
+        """GetMacPreferencesMenuItemId() -> long"""
+        return _core.PyApp_GetMacPreferencesMenuItemId(*args, **kwargs)
+
+    GetMacPreferencesMenuItemId = staticmethod(GetMacPreferencesMenuItemId)
+    def GetMacExitMenuItemId(*args, **kwargs):
+        """GetMacExitMenuItemId() -> long"""
+        return _core.PyApp_GetMacExitMenuItemId(*args, **kwargs)
+
+    GetMacExitMenuItemId = staticmethod(GetMacExitMenuItemId)
+    def GetMacHelpMenuTitleName(*args, **kwargs):
+        """GetMacHelpMenuTitleName() -> String"""
+        return _core.PyApp_GetMacHelpMenuTitleName(*args, **kwargs)
+
+    GetMacHelpMenuTitleName = staticmethod(GetMacHelpMenuTitleName)
+    def SetMacSupportPCMenuShortcuts(*args, **kwargs):
+        """SetMacSupportPCMenuShortcuts(bool val)"""
+        return _core.PyApp_SetMacSupportPCMenuShortcuts(*args, **kwargs)
+
+    SetMacSupportPCMenuShortcuts = staticmethod(SetMacSupportPCMenuShortcuts)
+    def SetMacAboutMenuItemId(*args, **kwargs):
+        """SetMacAboutMenuItemId(long val)"""
+        return _core.PyApp_SetMacAboutMenuItemId(*args, **kwargs)
+
+    SetMacAboutMenuItemId = staticmethod(SetMacAboutMenuItemId)
+    def SetMacPreferencesMenuItemId(*args, **kwargs):
+        """SetMacPreferencesMenuItemId(long val)"""
+        return _core.PyApp_SetMacPreferencesMenuItemId(*args, **kwargs)
+
+    SetMacPreferencesMenuItemId = staticmethod(SetMacPreferencesMenuItemId)
+    def SetMacExitMenuItemId(*args, **kwargs):
+        """SetMacExitMenuItemId(long val)"""
+        return _core.PyApp_SetMacExitMenuItemId(*args, **kwargs)
+
+    SetMacExitMenuItemId = staticmethod(SetMacExitMenuItemId)
+    def SetMacHelpMenuTitleName(*args, **kwargs):
+        """SetMacHelpMenuTitleName(String val)"""
+        return _core.PyApp_SetMacHelpMenuTitleName(*args, **kwargs)
+
+    SetMacHelpMenuTitleName = staticmethod(SetMacHelpMenuTitleName)
+    def _BootstrapApp(*args, **kwargs):
+        """
+        _BootstrapApp()
+
+        For internal use only
+        """
+        return _core.PyApp__BootstrapApp(*args, **kwargs)
+
+    def GetComCtl32Version(*args, **kwargs):
+        """
+        GetComCtl32Version() -> int
+
+        Returns 400, 470, 471 for comctl32.dll 4.00, 4.70, 4.71 or 0 if it
+        wasn't found at all.  Raises an exception on non-Windows platforms.
+        """
+        return _core.PyApp_GetComCtl32Version(*args, **kwargs)
+
+    GetComCtl32Version = staticmethod(GetComCtl32Version)
+
+class PyAppPtr(PyApp):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = PyApp
+_core.PyApp_swigregister(PyAppPtr)
+
+def PyApp_GetMacSupportPCMenuShortcuts(*args, **kwargs):
+    """PyApp_GetMacSupportPCMenuShortcuts() -> bool"""
+    return _core.PyApp_GetMacSupportPCMenuShortcuts(*args, **kwargs)
+
+def PyApp_GetMacAboutMenuItemId(*args, **kwargs):
+    """PyApp_GetMacAboutMenuItemId() -> long"""
+    return _core.PyApp_GetMacAboutMenuItemId(*args, **kwargs)
+
+def PyApp_GetMacPreferencesMenuItemId(*args, **kwargs):
+    """PyApp_GetMacPreferencesMenuItemId() -> long"""
+    return _core.PyApp_GetMacPreferencesMenuItemId(*args, **kwargs)
+
+def PyApp_GetMacExitMenuItemId(*args, **kwargs):
+    """PyApp_GetMacExitMenuItemId() -> long"""
+    return _core.PyApp_GetMacExitMenuItemId(*args, **kwargs)
+
+def PyApp_GetMacHelpMenuTitleName(*args, **kwargs):
+    """PyApp_GetMacHelpMenuTitleName() -> String"""
+    return _core.PyApp_GetMacHelpMenuTitleName(*args, **kwargs)
+
+def PyApp_SetMacSupportPCMenuShortcuts(*args, **kwargs):
+    """PyApp_SetMacSupportPCMenuShortcuts(bool val)"""
+    return _core.PyApp_SetMacSupportPCMenuShortcuts(*args, **kwargs)
+
+def PyApp_SetMacAboutMenuItemId(*args, **kwargs):
+    """PyApp_SetMacAboutMenuItemId(long val)"""
+    return _core.PyApp_SetMacAboutMenuItemId(*args, **kwargs)
+
+def PyApp_SetMacPreferencesMenuItemId(*args, **kwargs):
+    """PyApp_SetMacPreferencesMenuItemId(long val)"""
+    return _core.PyApp_SetMacPreferencesMenuItemId(*args, **kwargs)
+
+def PyApp_SetMacExitMenuItemId(*args, **kwargs):
+    """PyApp_SetMacExitMenuItemId(long val)"""
+    return _core.PyApp_SetMacExitMenuItemId(*args, **kwargs)
+
+def PyApp_SetMacHelpMenuTitleName(*args, **kwargs):
+    """PyApp_SetMacHelpMenuTitleName(String val)"""
+    return _core.PyApp_SetMacHelpMenuTitleName(*args, **kwargs)
+
+def PyApp_GetComCtl32Version(*args, **kwargs):
+    """
+    PyApp_GetComCtl32Version() -> int
+
+    Returns 400, 470, 471 for comctl32.dll 4.00, 4.70, 4.71 or 0 if it
+    wasn't found at all.  Raises an exception on non-Windows platforms.
+    """
+    return _core.PyApp_GetComCtl32Version(*args, **kwargs)
+
+#---------------------------------------------------------------------------
+
+
+def Exit(*args, **kwargs):
+    """
+    Exit()
+
+    Force an exit of the application.  Convenience for wx.GetApp().Exit()
+    """
+    return _core.Exit(*args, **kwargs)
+
+def Yield(*args, **kwargs):
+    """
+    Yield() -> bool
+
+    Yield to other apps/messages.  Convenience for wx.GetApp().Yield()
+    """
+    return _core.Yield(*args, **kwargs)
+
+def YieldIfNeeded(*args, **kwargs):
+    """
+    YieldIfNeeded() -> bool
+
+    Yield to other apps/messages.  Convenience for wx.GetApp().Yield(True)
+    """
+    return _core.YieldIfNeeded(*args, **kwargs)
+
+def SafeYield(*args, **kwargs):
+    """
+    SafeYield(Window win=None, bool onlyIfNeeded=False) -> bool
+
+    This function is similar to wx.Yield, except that it disables the user input
+    to all program windows before calling wx.Yield and re-enables it again
+    afterwards. If win is not None, this window will remain enabled, allowing the
+    implementation of some limited user interaction.
+
+    Returns the result of the call to wx.Yield.
+    """
+    return _core.SafeYield(*args, **kwargs)
+
+def WakeUpIdle(*args, **kwargs):
+    """
+    WakeUpIdle()
+
+    Cause the message queue to become empty again, so idle events will be sent.
+    """
+    return _core.WakeUpIdle(*args, **kwargs)
+
+def PostEvent(*args, **kwargs):
+    """
+    PostEvent(EvtHandler dest, Event event)
+
+    Send an event to a window or other wx.EvtHandler to be processed later.
+    """
+    return _core.PostEvent(*args, **kwargs)
+
+def App_CleanUp(*args, **kwargs):
+    """
+    App_CleanUp()
+
+    For internal use only, it is used to cleanup after wxWindows when Python shuts down.
+    """
+    return _core.App_CleanUp(*args, **kwargs)
+
+def GetApp(*args, **kwargs):
+    """
+    GetApp() -> PyApp
+
+    Return a reference to the current wx.App object.
+    """
+    return _core.GetApp(*args, **kwargs)
+#----------------------------------------------------------------------
+
+class PyOnDemandOutputWindow:
+    """
+    A class that can be used for redirecting Python's stdout and
+    stderr streams.  It will do nothing until something is wrriten to
+    the stream at which point it will create a Frame with a text area
+    and write the text there.
+    """
+    def __init__(self, title = "wxPython: stdout/stderr"):
+        self.frame  = None
+        self.title  = title
+        self.parent = None
+
+    def SetParent(self, parent):
+        """Set the window to be used as the popup Frame's parent."""
+        self.parent = parent
+
+
+    def CreateOutputWindow(self, st):
+        self.frame = wx.Frame(self.parent, -1, self.title,
+                              style=wx.DEFAULT_FRAME_STYLE | wx.NO_FULL_REPAINT_ON_RESIZE)
+        self.text  = wx.TextCtrl(self.frame, -1, "",
+                                 style = wx.TE_MULTILINE | wx.TE_READONLY)
+        self.text.AppendText(st)
+        self.frame.SetSize((450, 300))
+        self.frame.Show(True)
+        EVT_CLOSE(self.frame, self.OnCloseWindow)
+        
+
+    # These methods provide the file-like output behaviour.
+    def write(self, text):
+        """
+        Create the output window if needed and write the string to it.
+        If not called in the context of the gui thread then uses
+        CallAfter to do the work there.
+        """        
+        if self.frame is None:
+            if not wx.Thread_IsMain():
+                wx.CallAfter(self.CreateOutputWindow, text)
+            else:
+                self.CreateOutputWindow(text)
+        else:
+            if not wx.Thread_IsMain():
+                wx.CallAfter(self.text.AppendText, text)
+            else:
+                self.text.AppendText(text)
+
+
+    def close(self):
+        if self.frame is not None:
+            wx.CallAfter(self.frame.Close)
+
+
+    def OnCloseWindow(self, event):
+        if self.frame is not None:
+            self.frame.Destroy()
+        self.frame = None
+        self.text  = None
+
+#----------------------------------------------------------------------
+
+_defRedirect = (wx.Platform == '__WXMSW__' or wx.Platform == '__WXMAC__')
+
+class App(wx.PyApp):
+    """
+    The main application class.  Derive from this and implement an OnInit
+    method that creates a frame and then calls self.SetTopWindow(frame)
+    """
+    outputWindowClass = PyOnDemandOutputWindow
+
+    def __init__(self, redirect=_defRedirect, filename=None, useBestVisual=False):
+        wx.PyApp.__init__(self)
+
+        if wx.Platform == "__WXMAC__":
+            try:
+                import MacOS
+                if not MacOS.WMAvailable():
+                    print """\
+This program needs access to the screen. Please run with 'pythonw',
+not 'python', and only when you are logged in on the main display of
+your Mac."""
+                    _sys.exit(1)
+            except:
+                pass
+
+        # This has to be done before OnInit
+        self.SetUseBestVisual(useBestVisual)
+
+        # Set the default handler for SIGINT.  This fixes a problem
+        # where if Ctrl-C is pressed in the console that started this
+        # app then it will not appear to do anything, (not even send
+        # KeyboardInterrupt???)  but will later segfault on exit.  By
+        # setting the default handler then the app will exit, as
+        # expected (depending on platform.)
+        try:
+            import signal
+            signal.signal(signal.SIGINT, signal.SIG_DFL)
+        except:
+            pass
+
+        # Save and redirect the stdio to a window?
+        self.stdioWin = None
+        self.saveStdio = (_sys.stdout, _sys.stderr)
+        if redirect:
+            self.RedirectStdio(filename)
+
+        # This finishes the initialization of wxWindows and then calls
+        # the OnInit that should be present in the derived class
+        self._BootstrapApp()
+
+
+    def __del__(self):
+        try:
+            self.RestoreStdio()  # Just in case the MainLoop was overridden
+        except:
+            pass
+
+
+    def SetTopWindow(self, frame):
+        """Set the \"main\" top level window"""
+        if self.stdioWin:
+            self.stdioWin.SetParent(frame)
+        wx.PyApp.SetTopWindow(self, frame)
+
+
+    def MainLoop(self):
+        """Execute the main GUI event loop"""
+        wx.PyApp.MainLoop(self)
+        self.RestoreStdio()
+
+
+    def RedirectStdio(self, filename):
+        """Redirect sys.stdout and sys.stderr to a file or a popup window."""
+        if filename:
+            _sys.stdout = _sys.stderr = open(filename, 'a')
+        else:
+            self.stdioWin = self.outputWindowClass()
+            _sys.stdout = _sys.stderr = self.stdioWin
+
+
+    def RestoreStdio(self):
+        _sys.stdout, _sys.stderr = self.saveStdio
+
+
+
+# change from wxPyApp_ to wxApp_
+App_GetMacSupportPCMenuShortcuts = _core.PyApp_GetMacSupportPCMenuShortcuts
+App_GetMacAboutMenuItemId        = _core.PyApp_GetMacAboutMenuItemId
+App_GetMacPreferencesMenuItemId  = _core.PyApp_GetMacPreferencesMenuItemId
+App_GetMacExitMenuItemId         = _core.PyApp_GetMacExitMenuItemId
+App_GetMacHelpMenuTitleName      = _core.PyApp_GetMacHelpMenuTitleName
+App_SetMacSupportPCMenuShortcuts = _core.PyApp_SetMacSupportPCMenuShortcuts
+App_SetMacAboutMenuItemId        = _core.PyApp_SetMacAboutMenuItemId
+App_SetMacPreferencesMenuItemId  = _core.PyApp_SetMacPreferencesMenuItemId
+App_SetMacExitMenuItemId         = _core.PyApp_SetMacExitMenuItemId
+App_SetMacHelpMenuTitleName      = _core.PyApp_SetMacHelpMenuTitleName
+App_GetComCtl32Version           = _core.PyApp_GetComCtl32Version
+
+#----------------------------------------------------------------------------
 
 class PySimpleApp(wx.App):
-    def __init__(self, redirect=False, filename=None):
-        wx.App.__init__(self, redirect, filename)
+    """
+    A simple application class.  You can just create one of these and
+    then then make your top level windows later, and not have to worry
+    about OnInit."""
+
+    def __init__(self, redirect=False, filename=None, useBestVisual=False):
+        wx.App.__init__(self, redirect, filename, useBestVisual)
+        
     def OnInit(self):
         wx.InitAllImageHandlers()
         return True
 
 
+# Is anybody using this one?
 class PyWidgetTester(wx.App):
     def __init__(self, size = (250, 100)):
         self.size = size
         wx.App.__init__(self, 0)
 
     def OnInit(self):
-        self.frame = wxFrame(None, -1, "Widget Tester", pos=(0,0), size=self.size)
+        self.frame = wx.Frame(None, -1, "Widget Tester", pos=(0,0), size=self.size)
         self.SetTopWindow(self.frame)
         return True
 
@@ -3129,373 +5144,2361 @@ _sys.__wxPythonCleanup = __wxPyCleanup()
 
 #---------------------------------------------------------------------------
 
-class Window(EvtHandler):
+class AcceleratorEntry(object):
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxAcceleratorEntry instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     def __init__(self, *args, **kwargs):
-        newobj = _core.new_Window(*args, **kwargs)
+        """__init__(int flags=0, int keyCode=0, int cmd=0, MenuItem item=None) -> AcceleratorEntry"""
+        newobj = _core.new_AcceleratorEntry(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
         del newobj.thisown
-        self._setOORInfo(self)
-    def Create(*args, **kwargs): return _core.Window_Create(*args, **kwargs)
-    def Close(*args, **kwargs): return _core.Window_Close(*args, **kwargs)
-    def Destroy(*args, **kwargs): return _core.Window_Destroy(*args, **kwargs)
-    def DestroyChildren(*args, **kwargs): return _core.Window_DestroyChildren(*args, **kwargs)
-    def IsBeingDeleted(*args, **kwargs): return _core.Window_IsBeingDeleted(*args, **kwargs)
-    def SetTitle(*args, **kwargs): return _core.Window_SetTitle(*args, **kwargs)
-    def GetTitle(*args, **kwargs): return _core.Window_GetTitle(*args, **kwargs)
-    def SetLabel(*args, **kwargs): return _core.Window_SetLabel(*args, **kwargs)
-    def GetLabel(*args, **kwargs): return _core.Window_GetLabel(*args, **kwargs)
-    def SetName(*args, **kwargs): return _core.Window_SetName(*args, **kwargs)
-    def GetName(*args, **kwargs): return _core.Window_GetName(*args, **kwargs)
-    def SetId(*args, **kwargs): return _core.Window_SetId(*args, **kwargs)
-    def GetId(*args, **kwargs): return _core.Window_GetId(*args, **kwargs)
-    NewControlId = staticmethod(_core.Window_NewControlId)
-    NextControlId = staticmethod(_core.Window_NextControlId)
-    PrevControlId = staticmethod(_core.Window_PrevControlId)
-    def SetSize(*args, **kwargs): return _core.Window_SetSize(*args, **kwargs)
-    def SetDimensions(*args, **kwargs): return _core.Window_SetDimensions(*args, **kwargs)
-    def SetRect(*args, **kwargs): return _core.Window_SetRect(*args, **kwargs)
-    def SetSizeWH(*args, **kwargs): return _core.Window_SetSizeWH(*args, **kwargs)
-    def Move(*args, **kwargs): return _core.Window_Move(*args, **kwargs)
-    SetPosition = Move 
-    def MoveXY(*args, **kwargs): return _core.Window_MoveXY(*args, **kwargs)
-    def Raise(*args, **kwargs): return _core.Window_Raise(*args, **kwargs)
-    def Lower(*args, **kwargs): return _core.Window_Lower(*args, **kwargs)
-    def SetClientSize(*args, **kwargs): return _core.Window_SetClientSize(*args, **kwargs)
-    def SetClientSizeWH(*args, **kwargs): return _core.Window_SetClientSizeWH(*args, **kwargs)
-    def SetClientRect(*args, **kwargs): return _core.Window_SetClientRect(*args, **kwargs)
-    def GetPosition(*args, **kwargs): return _core.Window_GetPosition(*args, **kwargs)
-    def GetPositionTuple(*args, **kwargs): return _core.Window_GetPositionTuple(*args, **kwargs)
-    def GetSize(*args, **kwargs): return _core.Window_GetSize(*args, **kwargs)
-    def GetSizeTuple(*args, **kwargs): return _core.Window_GetSizeTuple(*args, **kwargs)
-    def GetRect(*args, **kwargs): return _core.Window_GetRect(*args, **kwargs)
-    def GetClientSize(*args, **kwargs): return _core.Window_GetClientSize(*args, **kwargs)
-    def GetClientSizeTuple(*args, **kwargs): return _core.Window_GetClientSizeTuple(*args, **kwargs)
-    def GetClientAreaOrigin(*args, **kwargs): return _core.Window_GetClientAreaOrigin(*args, **kwargs)
-    def GetClientRect(*args, **kwargs): return _core.Window_GetClientRect(*args, **kwargs)
-    def GetBestSize(*args, **kwargs): return _core.Window_GetBestSize(*args, **kwargs)
-    def GetBestSizeTuple(*args, **kwargs): return _core.Window_GetBestSizeTuple(*args, **kwargs)
-    def GetAdjustedBestSize(*args, **kwargs): return _core.Window_GetAdjustedBestSize(*args, **kwargs)
-    def Center(*args, **kwargs): return _core.Window_Center(*args, **kwargs)
-    Centre = Center 
-    def CenterOnScreen(*args, **kwargs): return _core.Window_CenterOnScreen(*args, **kwargs)
-    CentreOnScreen = CenterOnScreen 
-    def CenterOnParent(*args, **kwargs): return _core.Window_CenterOnParent(*args, **kwargs)
-    CentreOnParent = CenterOnParent 
-    def Fit(*args, **kwargs): return _core.Window_Fit(*args, **kwargs)
-    def FitInside(*args, **kwargs): return _core.Window_FitInside(*args, **kwargs)
-    def SetSizeHints(*args, **kwargs): return _core.Window_SetSizeHints(*args, **kwargs)
-    def SetVirtualSizeHints(*args, **kwargs): return _core.Window_SetVirtualSizeHints(*args, **kwargs)
-    def GetMinWidth(*args, **kwargs): return _core.Window_GetMinWidth(*args, **kwargs)
-    def GetMinHeight(*args, **kwargs): return _core.Window_GetMinHeight(*args, **kwargs)
-    def GetMaxWidth(*args, **kwargs): return _core.Window_GetMaxWidth(*args, **kwargs)
-    def GetMaxHeight(*args, **kwargs): return _core.Window_GetMaxHeight(*args, **kwargs)
-    def GetMaxSize(*args, **kwargs): return _core.Window_GetMaxSize(*args, **kwargs)
-    def SetVirtualSize(*args, **kwargs): return _core.Window_SetVirtualSize(*args, **kwargs)
-    def SetVirtualSizeWH(*args, **kwargs): return _core.Window_SetVirtualSizeWH(*args, **kwargs)
-    def GetVirtualSize(*args, **kwargs): return _core.Window_GetVirtualSize(*args, **kwargs)
-    def GetVirtualSizeTuple(*args, **kwargs): return _core.Window_GetVirtualSizeTuple(*args, **kwargs)
-    def GetBestVirtualSize(*args, **kwargs): return _core.Window_GetBestVirtualSize(*args, **kwargs)
-    def Show(*args, **kwargs): return _core.Window_Show(*args, **kwargs)
-    def Hide(*args, **kwargs): return _core.Window_Hide(*args, **kwargs)
-    def Enable(*args, **kwargs): return _core.Window_Enable(*args, **kwargs)
-    def Disable(*args, **kwargs): return _core.Window_Disable(*args, **kwargs)
-    def IsShown(*args, **kwargs): return _core.Window_IsShown(*args, **kwargs)
-    def IsEnabled(*args, **kwargs): return _core.Window_IsEnabled(*args, **kwargs)
-    def SetWindowStyleFlag(*args, **kwargs): return _core.Window_SetWindowStyleFlag(*args, **kwargs)
-    def GetWindowStyleFlag(*args, **kwargs): return _core.Window_GetWindowStyleFlag(*args, **kwargs)
-    def SetWindowStyle(*args, **kwargs): return _core.Window_SetWindowStyle(*args, **kwargs)
-    def GetWindowStyle(*args, **kwargs): return _core.Window_GetWindowStyle(*args, **kwargs)
-    def HasFlag(*args, **kwargs): return _core.Window_HasFlag(*args, **kwargs)
-    def IsRetained(*args, **kwargs): return _core.Window_IsRetained(*args, **kwargs)
-    def SetExtraStyle(*args, **kwargs): return _core.Window_SetExtraStyle(*args, **kwargs)
-    def GetExtraStyle(*args, **kwargs): return _core.Window_GetExtraStyle(*args, **kwargs)
-    def MakeModal(*args, **kwargs): return _core.Window_MakeModal(*args, **kwargs)
-    def SetThemeEnabled(*args, **kwargs): return _core.Window_SetThemeEnabled(*args, **kwargs)
-    def GetThemeEnabled(*args, **kwargs): return _core.Window_GetThemeEnabled(*args, **kwargs)
-    def ShouldInheritColours(*args, **kwargs): return _core.Window_ShouldInheritColours(*args, **kwargs)
-    def SetFocus(*args, **kwargs): return _core.Window_SetFocus(*args, **kwargs)
-    def SetFocusFromKbd(*args, **kwargs): return _core.Window_SetFocusFromKbd(*args, **kwargs)
-    FindFocus = staticmethod(_core.Window_FindFocus)
-    def AcceptsFocus(*args, **kwargs): return _core.Window_AcceptsFocus(*args, **kwargs)
-    def AcceptsFocusFromKeyboard(*args, **kwargs): return _core.Window_AcceptsFocusFromKeyboard(*args, **kwargs)
-    def GetDefaultItem(*args, **kwargs): return _core.Window_GetDefaultItem(*args, **kwargs)
-    def SetDefaultItem(*args, **kwargs): return _core.Window_SetDefaultItem(*args, **kwargs)
-    def SetTmpDefaultItem(*args, **kwargs): return _core.Window_SetTmpDefaultItem(*args, **kwargs)
-    def GetChildren(*args, **kwargs): return _core.Window_GetChildren(*args, **kwargs)
-    def GetParent(*args, **kwargs): return _core.Window_GetParent(*args, **kwargs)
-    def GetGrandParent(*args, **kwargs): return _core.Window_GetGrandParent(*args, **kwargs)
-    def IsTopLevel(*args, **kwargs): return _core.Window_IsTopLevel(*args, **kwargs)
-    def Reparent(*args, **kwargs): return _core.Window_Reparent(*args, **kwargs)
-    def AddChild(*args, **kwargs): return _core.Window_AddChild(*args, **kwargs)
-    def RemoveChild(*args, **kwargs): return _core.Window_RemoveChild(*args, **kwargs)
-    def FindWindowById(*args, **kwargs): return _core.Window_FindWindowById(*args, **kwargs)
-    def FindWindowByName(*args, **kwargs): return _core.Window_FindWindowByName(*args, **kwargs)
-    def GetEventHandler(*args, **kwargs): return _core.Window_GetEventHandler(*args, **kwargs)
-    def SetEventHandler(*args, **kwargs): return _core.Window_SetEventHandler(*args, **kwargs)
-    def PushEventHandler(*args, **kwargs): return _core.Window_PushEventHandler(*args, **kwargs)
-    def PopEventHandler(*args, **kwargs): return _core.Window_PopEventHandler(*args, **kwargs)
-    def RemoveEventHandler(*args, **kwargs): return _core.Window_RemoveEventHandler(*args, **kwargs)
-    def SetValidator(*args, **kwargs): return _core.Window_SetValidator(*args, **kwargs)
-    def GetValidator(*args, **kwargs): return _core.Window_GetValidator(*args, **kwargs)
-    def SetAcceleratorTable(*args, **kwargs): return _core.Window_SetAcceleratorTable(*args, **kwargs)
-    def GetAcceleratorTable(*args, **kwargs): return _core.Window_GetAcceleratorTable(*args, **kwargs)
-    def RegisterHotKey(*args, **kwargs): return _core.Window_RegisterHotKey(*args, **kwargs)
-    def UnregisterHotKey(*args, **kwargs): return _core.Window_UnregisterHotKey(*args, **kwargs)
-    def ConvertDialogPointToPixels(*args, **kwargs): return _core.Window_ConvertDialogPointToPixels(*args, **kwargs)
-    def ConvertDialogSizeToPixels(*args, **kwargs): return _core.Window_ConvertDialogSizeToPixels(*args, **kwargs)
-    def DLG_PNT(*args, **kwargs): return _core.Window_DLG_PNT(*args, **kwargs)
-    def DLG_SZE(*args, **kwargs): return _core.Window_DLG_SZE(*args, **kwargs)
-    def ConvertPixelPointToDialog(*args, **kwargs): return _core.Window_ConvertPixelPointToDialog(*args, **kwargs)
-    def ConvertPixelSizeToDialog(*args, **kwargs): return _core.Window_ConvertPixelSizeToDialog(*args, **kwargs)
-    def WarpPointer(*args, **kwargs): return _core.Window_WarpPointer(*args, **kwargs)
-    def CaptureMouse(*args, **kwargs): return _core.Window_CaptureMouse(*args, **kwargs)
-    def ReleaseMouse(*args, **kwargs): return _core.Window_ReleaseMouse(*args, **kwargs)
-    GetCapture = staticmethod(_core.Window_GetCapture)
-    def HasCapture(*args, **kwargs): return _core.Window_HasCapture(*args, **kwargs)
-    def Refresh(*args, **kwargs): return _core.Window_Refresh(*args, **kwargs)
-    def RefreshRect(*args, **kwargs): return _core.Window_RefreshRect(*args, **kwargs)
-    def Update(*args, **kwargs): return _core.Window_Update(*args, **kwargs)
-    def ClearBackground(*args, **kwargs): return _core.Window_ClearBackground(*args, **kwargs)
-    def Freeze(*args, **kwargs): return _core.Window_Freeze(*args, **kwargs)
-    def Thaw(*args, **kwargs): return _core.Window_Thaw(*args, **kwargs)
-    def PrepareDC(*args, **kwargs): return _core.Window_PrepareDC(*args, **kwargs)
-    def GetUpdateRegion(*args, **kwargs): return _core.Window_GetUpdateRegion(*args, **kwargs)
-    def GetUpdateClientRect(*args, **kwargs): return _core.Window_GetUpdateClientRect(*args, **kwargs)
-    def IsExposed(*args, **kwargs): return _core.Window_IsExposed(*args, **kwargs)
-    def IsExposedPoint(*args, **kwargs): return _core.Window_IsExposedPoint(*args, **kwargs)
-    def isExposedRect(*args, **kwargs): return _core.Window_isExposedRect(*args, **kwargs)
-    def SetBackgroundColour(*args, **kwargs): return _core.Window_SetBackgroundColour(*args, **kwargs)
-    def SetForegroundColour(*args, **kwargs): return _core.Window_SetForegroundColour(*args, **kwargs)
-    def GetBackgroundColour(*args, **kwargs): return _core.Window_GetBackgroundColour(*args, **kwargs)
-    def GetForegroundColour(*args, **kwargs): return _core.Window_GetForegroundColour(*args, **kwargs)
-    def SetCursor(*args, **kwargs): return _core.Window_SetCursor(*args, **kwargs)
-    def GetCursor(*args, **kwargs): return _core.Window_GetCursor(*args, **kwargs)
-    def SetFont(*args, **kwargs): return _core.Window_SetFont(*args, **kwargs)
-    def GetFont(*args, **kwargs): return _core.Window_GetFont(*args, **kwargs)
-    def SetCaret(*args, **kwargs): return _core.Window_SetCaret(*args, **kwargs)
-    def GetCaret(*args, **kwargs): return _core.Window_GetCaret(*args, **kwargs)
-    def GetCharHeight(*args, **kwargs): return _core.Window_GetCharHeight(*args, **kwargs)
-    def GetCharWidth(*args, **kwargs): return _core.Window_GetCharWidth(*args, **kwargs)
-    def GetTextExtent(*args, **kwargs): return _core.Window_GetTextExtent(*args, **kwargs)
-    def GetFullTextExtent(*args, **kwargs): return _core.Window_GetFullTextExtent(*args, **kwargs)
-    def ClientToScreenXY(*args, **kwargs): return _core.Window_ClientToScreenXY(*args, **kwargs)
-    def ScreenToClientXY(*args, **kwargs): return _core.Window_ScreenToClientXY(*args, **kwargs)
-    def ClientToScreen(*args, **kwargs): return _core.Window_ClientToScreen(*args, **kwargs)
-    def ScreenToClient(*args, **kwargs): return _core.Window_ScreenToClient(*args, **kwargs)
-    def HitTestXY(*args, **kwargs): return _core.Window_HitTestXY(*args, **kwargs)
-    def HitTest(*args, **kwargs): return _core.Window_HitTest(*args, **kwargs)
-    def GetBorderFlags(*args, **kwargs): return _core.Window_GetBorderFlags(*args, **kwargs)
-    def GetBorder(*args, **kwargs): return _core.Window_GetBorder(*args, **kwargs)
-    def UpdateWindowUI(*args, **kwargs): return _core.Window_UpdateWindowUI(*args, **kwargs)
-    def PopupMenuXY(*args, **kwargs): return _core.Window_PopupMenuXY(*args, **kwargs)
-    def PopupMenu(*args, **kwargs): return _core.Window_PopupMenu(*args, **kwargs)
-    def GetHandle(*args, **kwargs): return _core.Window_GetHandle(*args, **kwargs)
-    def HasScrollbar(*args, **kwargs): return _core.Window_HasScrollbar(*args, **kwargs)
-    def SetScrollbar(*args, **kwargs): return _core.Window_SetScrollbar(*args, **kwargs)
-    def SetScrollPos(*args, **kwargs): return _core.Window_SetScrollPos(*args, **kwargs)
-    def GetScrollPos(*args, **kwargs): return _core.Window_GetScrollPos(*args, **kwargs)
-    def GetScrollThumb(*args, **kwargs): return _core.Window_GetScrollThumb(*args, **kwargs)
-    def GetScrollRange(*args, **kwargs): return _core.Window_GetScrollRange(*args, **kwargs)
-    def ScrollWindow(*args, **kwargs): return _core.Window_ScrollWindow(*args, **kwargs)
-    def ScrollLines(*args, **kwargs): return _core.Window_ScrollLines(*args, **kwargs)
-    def ScrollPages(*args, **kwargs): return _core.Window_ScrollPages(*args, **kwargs)
-    def LineUp(*args, **kwargs): return _core.Window_LineUp(*args, **kwargs)
-    def LineDown(*args, **kwargs): return _core.Window_LineDown(*args, **kwargs)
-    def PageUp(*args, **kwargs): return _core.Window_PageUp(*args, **kwargs)
-    def PageDown(*args, **kwargs): return _core.Window_PageDown(*args, **kwargs)
-    def SetHelpText(*args, **kwargs): return _core.Window_SetHelpText(*args, **kwargs)
-    def SetHelpTextForId(*args, **kwargs): return _core.Window_SetHelpTextForId(*args, **kwargs)
-    def GetHelpText(*args, **kwargs): return _core.Window_GetHelpText(*args, **kwargs)
-    def SetToolTipString(*args, **kwargs): return _core.Window_SetToolTipString(*args, **kwargs)
-    def SetToolTip(*args, **kwargs): return _core.Window_SetToolTip(*args, **kwargs)
-    def GetToolTip(*args, **kwargs): return _core.Window_GetToolTip(*args, **kwargs)
-    def SetDropTarget(*args, **kwargs): 
-        val = _core.Window_SetDropTarget(*args, **kwargs)
-        args[1].thisown = 0
-        return val
-    def GetDropTarget(*args, **kwargs): return _core.Window_GetDropTarget(*args, **kwargs)
-    def SetConstraints(*args, **kwargs): return _core.Window_SetConstraints(*args, **kwargs)
-    def GetConstraints(*args, **kwargs): return _core.Window_GetConstraints(*args, **kwargs)
-    def SetAutoLayout(*args, **kwargs): return _core.Window_SetAutoLayout(*args, **kwargs)
-    def GetAutoLayout(*args, **kwargs): return _core.Window_GetAutoLayout(*args, **kwargs)
-    def Layout(*args, **kwargs): return _core.Window_Layout(*args, **kwargs)
-    def SetSizer(*args, **kwargs): return _core.Window_SetSizer(*args, **kwargs)
-    def SetSizerAndFit(*args, **kwargs): return _core.Window_SetSizerAndFit(*args, **kwargs)
-    def GetSizer(*args, **kwargs): return _core.Window_GetSizer(*args, **kwargs)
-    def SetContainingSizer(*args, **kwargs): return _core.Window_SetContainingSizer(*args, **kwargs)
-    def GetContainingSizer(*args, **kwargs): return _core.Window_GetContainingSizer(*args, **kwargs)
-    def PostCreate(self, pre):
-        """Phase 3 of the 2-phase create <wink!>
-           Call this method after precreating the window with the 2-phase create method."""
-        self.this = pre.this
-        self.thisown = pre.thisown
-        pre.thisown = 0
-        if hasattr(self, '_setOORInfo'):
-            self._setOORInfo(self)
-        if hasattr(self, '_setCallbackInfo'):
-            self._setCallbackInfo(self, self.__class__)
+    def __del__(self, destroy=_core.delete_AcceleratorEntry):
+        """__del__()"""
+        try:
+            if self.thisown: destroy(self)
+        except: pass
+
+    def Set(*args, **kwargs):
+        """Set(int flags, int keyCode, int cmd, MenuItem item=None)"""
+        return _core.AcceleratorEntry_Set(*args, **kwargs)
+
+    def SetMenuItem(*args, **kwargs):
+        """SetMenuItem(MenuItem item)"""
+        return _core.AcceleratorEntry_SetMenuItem(*args, **kwargs)
+
+    def GetMenuItem(*args, **kwargs):
+        """GetMenuItem() -> MenuItem"""
+        return _core.AcceleratorEntry_GetMenuItem(*args, **kwargs)
+
+    def GetFlags(*args, **kwargs):
+        """GetFlags() -> int"""
+        return _core.AcceleratorEntry_GetFlags(*args, **kwargs)
 
+    def GetKeyCode(*args, **kwargs):
+        """GetKeyCode() -> int"""
+        return _core.AcceleratorEntry_GetKeyCode(*args, **kwargs)
+
+    def GetCommand(*args, **kwargs):
+        """GetCommand() -> int"""
+        return _core.AcceleratorEntry_GetCommand(*args, **kwargs)
+
+
+class AcceleratorEntryPtr(AcceleratorEntry):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = AcceleratorEntry
+_core.AcceleratorEntry_swigregister(AcceleratorEntryPtr)
+
+class AcceleratorTable(Object):
     def __repr__(self):
-        return "<%s.%s; proxy of C++ wxWindow instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+        return "<%s.%s; proxy of C++ wxAcceleratorTable instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """
+        __init__(entries) -> AcceleratorTable
+
+        Construct an AcceleratorTable from a list of AcceleratorEntry items or
+        3-tuples (flags, keyCode, cmdID)
+        """
+        newobj = _core.new_AcceleratorTable(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+    def __del__(self, destroy=_core.delete_AcceleratorTable):
+        """__del__()"""
+        try:
+            if self.thisown: destroy(self)
+        except: pass
+
+    def Ok(*args, **kwargs):
+        """Ok() -> bool"""
+        return _core.AcceleratorTable_Ok(*args, **kwargs)
+
+
+class AcceleratorTablePtr(AcceleratorTable):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = AcceleratorTable
+_core.AcceleratorTable_swigregister(AcceleratorTablePtr)
+
+
+def GetAccelFromString(*args, **kwargs):
+    """GetAccelFromString(String label) -> AcceleratorEntry"""
+    return _core.GetAccelFromString(*args, **kwargs)
+#---------------------------------------------------------------------------
+
+class Window(EvtHandler):
+    """
+    wx.Window is the base class for all windows and represents any visible
+    object on the screen. All controls, top level windows and so on are
+    wx.Windows. Sizers and device contexts are not however, as they don't
+    appear on screen themselves.
+
+    """
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxWindow instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """
+        __init__(Window parent, int id, Point pos=DefaultPosition, Size size=DefaultSize, 
+            long style=0, String name=PanelNameStr) -> Window
+
+        Construct and show a generic Window.
+        """
+        newobj = _core.new_Window(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+        self._setOORInfo(self)
+
+    def Create(*args, **kwargs):
+        """
+        Create(Window parent, int id, Point pos=DefaultPosition, Size size=DefaultSize, 
+            long style=0, String name=PanelNameStr) -> bool
+
+        Create the GUI part of the Window for 2-phase creation mode.
+        """
+        return _core.Window_Create(*args, **kwargs)
+
+    def Close(*args, **kwargs):
+        """
+        Close(bool force=False) -> bool
+
+        This function simply generates a EVT_CLOSE event whose handler usually
+        tries to close the window. It doesn't close the window itself,
+        however.  If force is False (the default) then the window's close
+        handler will be allowed to veto the destruction of the window.
+
+        Usually Close is only used with the top level windows (wx.Frame and
+        wx.Dialog classes) as the others are not supposed to have any special
+        EVT_CLOSE logic.
+
+        The close handler should check whether the window is being deleted
+        forcibly, using wx.CloseEvent.GetForce, in which case it should
+        destroy the window using wx.Window.Destroy.
+
+        Note that calling Close does not guarantee that the window will be
+        destroyed; but it provides a way to simulate a manual close of a
+        window, which may or may not be implemented by destroying the
+        window. The default EVT_CLOSE handler for wx.Dialog does not
+        necessarily delete the dialog, since it will simply simulate an
+        wxID_CANCEL event which is handled by the appropriate button event
+        handler and may do anything at all.
+
+        To guarantee that the window will be destroyed, call wx.Window.Destroy
+        instead.
+        """
+        return _core.Window_Close(*args, **kwargs)
+
+    def Destroy(*args, **kwargs):
+        """
+        Destroy() -> bool
+
+        Destroys the window safely.  Frames and dialogs are not destroyed
+        immediately when this function is called -- they are added to a list
+        of windows to be deleted on idle time, when all the window's events
+        have been processed. This prevents problems with events being sent to
+        non-existent windows.
+
+        Returns True if the window has either been successfully deleted, or it
+        has been added to the list of windows pending real deletion.
+        """
+        return _core.Window_Destroy(*args, **kwargs)
+
+    def DestroyChildren(*args, **kwargs):
+        """
+        DestroyChildren() -> bool
+
+        Destroys all children of a window. Called automatically by the destructor.
+        """
+        return _core.Window_DestroyChildren(*args, **kwargs)
+
+    def IsBeingDeleted(*args, **kwargs):
+        """
+        IsBeingDeleted() -> bool
+
+        Is the window in the process of being deleted?
+        """
+        return _core.Window_IsBeingDeleted(*args, **kwargs)
+
+    def SetTitle(*args, **kwargs):
+        """
+        SetTitle(String title)
+
+        Sets the window's title. Applicable only to frames and dialogs.
+        """
+        return _core.Window_SetTitle(*args, **kwargs)
+
+    def GetTitle(*args, **kwargs):
+        """
+        GetTitle() -> String
+
+        Gets the window's title. Applicable only to frames and dialogs.
+        """
+        return _core.Window_GetTitle(*args, **kwargs)
+
+    def SetLabel(*args, **kwargs):
+        """
+        SetLabel(String label)
+
+        Set the text which the window shows in its label if applicable.
+        """
+        return _core.Window_SetLabel(*args, **kwargs)
+
+    def GetLabel(*args, **kwargs):
+        """
+        GetLabel() -> String
+
+        Generic way of getting a label from any window, for identification
+        purposes.  The interpretation of this function differs from class to
+        class. For frames and dialogs, the value returned is the title. For
+        buttons or static text controls, it is the button text. This function
+        can be useful for meta-programs (such as testing tools or
+        special-needs access programs) which need to identify windows by name.
+        """
+        return _core.Window_GetLabel(*args, **kwargs)
+
+    def SetName(*args, **kwargs):
+        """
+        SetName(String name)
+
+        Sets the window's name.  The window name is used for ressource setting
+        in X, it is not the same as the window title/label
+        """
+        return _core.Window_SetName(*args, **kwargs)
+
+    def GetName(*args, **kwargs):
+        """
+        GetName() -> String
+
+        Returns the window's name.  This name is not guaranteed to be unique;
+        it is up to the programmer to supply an appropriate name in the window
+        constructor or via wx.Window.SetName.
+        """
+        return _core.Window_GetName(*args, **kwargs)
+
+    def SetId(*args, **kwargs):
+        """
+        SetId(int winid)
+
+        Sets the identifier of the window.  Each window has an integer
+        identifier. If the application has not provided one, an identifier
+        will be generated. Normally, the identifier should be provided on
+        creation and should not be modified subsequently.
+        """
+        return _core.Window_SetId(*args, **kwargs)
+
+    def GetId(*args, **kwargs):
+        """
+        GetId() -> int
+
+        Returns the identifier of the window.  Each window has an integer
+        identifier. If the application has not provided one (or the default Id
+        -1 is used) then an unique identifier with a negative value will be
+        generated.
+        """
+        return _core.Window_GetId(*args, **kwargs)
+
+    def NewControlId(*args, **kwargs):
+        """
+        NewControlId() -> int
+
+        Generate a control id for the controls which were not given one.
+        """
+        return _core.Window_NewControlId(*args, **kwargs)
+
+    NewControlId = staticmethod(NewControlId)
+    def NextControlId(*args, **kwargs):
+        """
+        NextControlId(int winid) -> int
+
+        Get the id of the control following the one with the given
+        (autogenerated) id
+        """
+        return _core.Window_NextControlId(*args, **kwargs)
+
+    NextControlId = staticmethod(NextControlId)
+    def PrevControlId(*args, **kwargs):
+        """
+        PrevControlId(int winid) -> int
+
+        Get the id of the control preceding the one with the given
+        (autogenerated) id
+        """
+        return _core.Window_PrevControlId(*args, **kwargs)
+
+    PrevControlId = staticmethod(PrevControlId)
+    def SetSize(*args, **kwargs):
+        """
+        SetSize(Size size)
+
+        Sets the size of the window in pixels.
+        """
+        return _core.Window_SetSize(*args, **kwargs)
+
+    def SetDimensions(*args, **kwargs):
+        """
+        SetDimensions(int x, int y, int width, int height, int sizeFlags=SIZE_AUTO)
+
+        Sets the position and size of the window in pixels.  The sizeFlags
+        parameter indicates the interpretation of the other params if they are
+        -1.  wx.SIZE_AUTO*: a -1 indicates that a class-specific default
+        shoudl be used.  wx.SIZE_USE_EXISTING: existing dimensions should be
+        used if -1 values are supplied.  wxSIZE_ALLOW_MINUS_ONE: allow
+        dimensions of -1 and less to be interpreted as real dimensions, not
+        default values.
+        """
+        return _core.Window_SetDimensions(*args, **kwargs)
+
+    def SetRect(*args, **kwargs):
+        """
+        SetRect(Rect rect, int sizeFlags=SIZE_AUTO)
+
+        Sets the position and size of the window in pixels using a wx.Rect.
+        """
+        return _core.Window_SetRect(*args, **kwargs)
+
+    def SetSizeWH(*args, **kwargs):
+        """
+        SetSizeWH(int width, int height)
+
+        Sets the size of the window in pixels.
+        """
+        return _core.Window_SetSizeWH(*args, **kwargs)
+
+    def Move(*args, **kwargs):
+        """
+        Move(Point pt, int flags=SIZE_USE_EXISTING)
+
+        Moves the window to the given position.
+        """
+        return _core.Window_Move(*args, **kwargs)
+
+    SetPosition = Move 
+    def MoveXY(*args, **kwargs):
+        """
+        MoveXY(int x, int y, int flags=SIZE_USE_EXISTING)
+
+        Moves the window to the given position.
+        """
+        return _core.Window_MoveXY(*args, **kwargs)
+
+    def Raise(*args, **kwargs):
+        """
+        Raise()
+
+        Raises the window to the top of the window hierarchy if it is a
+        managed window (dialog or frame).
+        """
+        return _core.Window_Raise(*args, **kwargs)
+
+    def Lower(*args, **kwargs):
+        """
+        Lower()
+
+        Lowers the window to the bottom of the window hierarchy if it is a
+        managed window (dialog or frame).
+        """
+        return _core.Window_Lower(*args, **kwargs)
+
+    def SetClientSize(*args, **kwargs):
+        """
+        SetClientSize(Size size)
+
+        This sets the size of the window client area in pixels. Using this
+        function to size a window tends to be more device-independent than
+        wx.Window.SetSize, since the application need not worry about what
+        dimensions the border or title bar have when trying to fit the window
+        around panel items, for example.
+        """
+        return _core.Window_SetClientSize(*args, **kwargs)
+
+    def SetClientSizeWH(*args, **kwargs):
+        """
+        SetClientSizeWH(int width, int height)
+
+        This sets the size of the window client area in pixels. Using this
+        function to size a window tends to be more device-independent than
+        wx.Window.SetSize, since the application need not worry about what
+        dimensions the border or title bar have when trying to fit the window
+        around panel items, for example.
+        """
+        return _core.Window_SetClientSizeWH(*args, **kwargs)
+
+    def SetClientRect(*args, **kwargs):
+        """
+        SetClientRect(Rect rect)
+
+        This sets the size of the window client area in pixels. Using this
+        function to size a window tends to be more device-independent than
+        wx.Window.SetSize, since the application need not worry about what
+        dimensions the border or title bar have when trying to fit the window
+        around panel items, for example.
+        """
+        return _core.Window_SetClientRect(*args, **kwargs)
+
+    def GetPosition(*args, **kwargs):
+        """
+        GetPosition() -> Point
+
+        Get the window's position.
+        """
+        return _core.Window_GetPosition(*args, **kwargs)
+
+    def GetPositionTuple(*args, **kwargs):
+        """
+        GetPositionTuple() -> (x,y)
+
+        Get the window's position.
+        """
+        return _core.Window_GetPositionTuple(*args, **kwargs)
+
+    def GetSize(*args, **kwargs):
+        """
+        GetSize() -> Size
+
+        Get the window size.
+        """
+        return _core.Window_GetSize(*args, **kwargs)
+
+    def GetSizeTuple(*args, **kwargs):
+        """
+        GetSizeTuple() -> (width, height)
+
+        Get the window size.
+        """
+        return _core.Window_GetSizeTuple(*args, **kwargs)
+
+    def GetRect(*args, **kwargs):
+        """
+        GetRect() -> Rect
+
+        Returns the size and position of the window as a wx.Rect object.
+        """
+        return _core.Window_GetRect(*args, **kwargs)
+
+    def GetClientSize(*args, **kwargs):
+        """
+        GetClientSize() -> Size
+
+        This gets the size of the window's 'client area' in pixels. The client
+        area is the area which may be drawn on by the programmer, excluding
+        title bar, border, scrollbars, etc.
+        """
+        return _core.Window_GetClientSize(*args, **kwargs)
+
+    def GetClientSizeTuple(*args, **kwargs):
+        """
+        GetClientSizeTuple() -> (width, height)
+
+        This gets the size of the window's 'client area' in pixels. The client
+        area is the area which may be drawn on by the programmer, excluding
+        title bar, border, scrollbars, etc.
+        """
+        return _core.Window_GetClientSizeTuple(*args, **kwargs)
+
+    def GetClientAreaOrigin(*args, **kwargs):
+        """
+        GetClientAreaOrigin() -> Point
+
+        Get the origin of the client area of the window relative to the
+        window's top left corner (the client area may be shifted because of
+        the borders, scrollbars, other decorations...)
+        """
+        return _core.Window_GetClientAreaOrigin(*args, **kwargs)
+
+    def GetClientRect(*args, **kwargs):
+        """
+        GetClientRect() -> Rect
+
+        Get the client area position and size as a wx.Rect object.
+        """
+        return _core.Window_GetClientRect(*args, **kwargs)
+
+    def GetBestSize(*args, **kwargs):
+        """
+        GetBestSize() -> Size
+
+        This functions returns the best acceptable minimal size for the
+        window, if applicable. For example, for a static text control, it will be
+        the minimal size such that the control label is not truncated. For
+        windows containing subwindows (suzh aswx.Panel), the size returned
+        by this function will be the same as the size the window would have
+        had after calling Fit.
+        """
+        return _core.Window_GetBestSize(*args, **kwargs)
+
+    def GetBestSizeTuple(*args, **kwargs):
+        """
+        GetBestSizeTuple() -> (width, height)
+
+        This functions returns the best acceptable minimal size for the
+        window, if applicable. For example, for a static text control, it will be
+        the minimal size such that the control label is not truncated. For
+        windows containing subwindows (suzh aswx.Panel), the size returned
+        by this function will be the same as the size the window would have
+        had after calling Fit.
+        """
+        return _core.Window_GetBestSizeTuple(*args, **kwargs)
+
+    def GetAdjustedBestSize(*args, **kwargs):
+        """
+        GetAdjustedBestSize() -> Size
+
+        This method is similar to GetBestSize, except in one
+        thing. GetBestSize should return the minimum untruncated size of the
+        window, while this method will return the largest of BestSize and any
+        user specified minimum size. ie. it is the minimum size the window
+        should currently be drawn at, not the minimal size it can possibly
+        tolerate.
+        """
+        return _core.Window_GetAdjustedBestSize(*args, **kwargs)
+
+    def Center(*args, **kwargs):
+        """
+        Center(int direction=BOTH)
+
+        Centers the window.  The parameter specifies the direction for
+        cetering, and may be wx.HORIZONTAL, wx.VERTICAL or wx.BOTH. It may
+        also include wx.CENTER_ON_SCREEN flag if you want to center the window
+        on the entire screen and not on its parent window.  If it is a
+        top-level window and has no parent then it will always be centered
+        relative to the screen.
+        """
+        return _core.Window_Center(*args, **kwargs)
+
+    Centre = Center 
+    def CenterOnScreen(*args, **kwargs):
+        """
+        CenterOnScreen(int dir=BOTH)
+
+        Center on screen (only works for top level windows)
+        """
+        return _core.Window_CenterOnScreen(*args, **kwargs)
+
+    CentreOnScreen = CenterOnScreen 
+    def CenterOnParent(*args, **kwargs):
+        """
+        CenterOnParent(int dir=BOTH)
+
+        Center with respect to the the parent window
+        """
+        return _core.Window_CenterOnParent(*args, **kwargs)
+
+    CentreOnParent = CenterOnParent 
+    def Fit(*args, **kwargs):
+        """
+        Fit()
+
+        Sizes the window so that it fits around its subwindows. This function
+        won't do anything if there are no subwindows and will only really work
+        correctly if sizers are used for the subwindows layout. Also, if the
+        window has exactly one subwindow it is better (faster and the result
+        is more precise as Fit adds some margin to account for fuzziness of
+        its calculations) to call window.SetClientSize(child.GetSize())
+        instead of calling Fit.
+        """
+        return _core.Window_Fit(*args, **kwargs)
+
+    def FitInside(*args, **kwargs):
+        """
+        FitInside()
+
+        Similar to Fit, but sizes the interior (virtual) size of a
+        window. Mainly useful with scrolled windows to reset scrollbars after
+        sizing changes that do not trigger a size event, and/or scrolled
+        windows without an interior sizer. This function similarly won't do
+        anything if there are no subwindows.
+        """
+        return _core.Window_FitInside(*args, **kwargs)
+
+    def SetSizeHints(*args, **kwargs):
+        """
+        SetSizeHints(int minW, int minH, int maxW=-1, int maxH=-1, int incW=-1, 
+            int incH=-1)
+
+        Allows specification of minimum and maximum window sizes, and window
+        size increments. If a pair of values is not set (or set to -1), the
+        default values will be used.  If this function is called, the user
+        will not be able to size the window outside the given bounds. The
+        resizing increments are only significant under Motif or Xt.
+        """
+        return _core.Window_SetSizeHints(*args, **kwargs)
+
+    def SetVirtualSizeHints(*args, **kwargs):
+        """
+        SetVirtualSizeHints(int minW, int minH, int maxW=-1, int maxH=-1)
+
+        Allows specification of minimum and maximum virtual window sizes. If a
+        pair of values is not set (or set to -1), the default values will be
+        used.  If this function is called, the user will not be able to size
+        the virtual area of the window outside the given bounds.
+        """
+        return _core.Window_SetVirtualSizeHints(*args, **kwargs)
+
+    def GetMinWidth(*args, **kwargs):
+        """GetMinWidth() -> int"""
+        return _core.Window_GetMinWidth(*args, **kwargs)
+
+    def GetMinHeight(*args, **kwargs):
+        """GetMinHeight() -> int"""
+        return _core.Window_GetMinHeight(*args, **kwargs)
+
+    def GetMaxWidth(*args, **kwargs):
+        """GetMaxWidth() -> int"""
+        return _core.Window_GetMaxWidth(*args, **kwargs)
+
+    def GetMaxHeight(*args, **kwargs):
+        """GetMaxHeight() -> int"""
+        return _core.Window_GetMaxHeight(*args, **kwargs)
+
+    def GetMaxSize(*args, **kwargs):
+        """GetMaxSize() -> Size"""
+        return _core.Window_GetMaxSize(*args, **kwargs)
+
+    def SetVirtualSize(*args, **kwargs):
+        """
+        SetVirtualSize(Size size)
+
+        Set the the virtual size of a window in pixels.  For most windows this
+        is just the client area of the window, but for some like scrolled
+        windows it is more or less independent of the screen window size.
+        """
+        return _core.Window_SetVirtualSize(*args, **kwargs)
+
+    def SetVirtualSizeWH(*args, **kwargs):
+        """
+        SetVirtualSizeWH(int w, int h)
+
+        Set the the virtual size of a window in pixels.  For most windows this
+        is just the client area of the window, but for some like scrolled
+        windows it is more or less independent of the screen window size.
+        """
+        return _core.Window_SetVirtualSizeWH(*args, **kwargs)
+
+    def GetVirtualSize(*args, **kwargs):
+        """
+        GetVirtualSize() -> Size
+
+        Get the the virtual size of the window in pixels.  For most windows
+        this is just the client area of the window, but for some like scrolled
+        windows it is more or less independent of the screen window size.
+        """
+        return _core.Window_GetVirtualSize(*args, **kwargs)
+
+    def GetVirtualSizeTuple(*args, **kwargs):
+        """
+        GetVirtualSizeTuple() -> (width, height)
+
+        Get the the virtual size of the window in pixels.  For most windows
+        this is just the client area of the window, but for some like scrolled
+        windows it is more or less independent of the screen window size.
+        """
+        return _core.Window_GetVirtualSizeTuple(*args, **kwargs)
+
+    def GetBestVirtualSize(*args, **kwargs):
+        """
+        GetBestVirtualSize() -> Size
+
+        Return the largest of ClientSize and BestSize (as determined by a
+        sizer, interior children, or other means)
+        """
+        return _core.Window_GetBestVirtualSize(*args, **kwargs)
+
+    def Show(*args, **kwargs):
+        """
+        Show(bool show=True) -> bool
+
+        Shows or hides the window. You may need to call Raise for a top level
+        window if you want to bring it to top, although this is not needed if
+        Show is called immediately after the frame creation.  Returns True if
+        the window has been shown or hidden or False if nothing was done
+        because it already was in the requested state.
+        """
+        return _core.Window_Show(*args, **kwargs)
+
+    def Hide(*args, **kwargs):
+        """
+        Hide() -> bool
+
+        Equivalent to calling Show(False).
+        """
+        return _core.Window_Hide(*args, **kwargs)
+
+    def Enable(*args, **kwargs):
+        """
+        Enable(bool enable=True) -> bool
+
+        Enable or disable the window for user input. Note that when a parent
+        window is disabled, all of its children are disabled as well and they
+        are reenabled again when the parent is.  Returns true if the window
+        has been enabled or disabled, false if nothing was done, i.e. if the
+        window had already been in the specified state.
+        """
+        return _core.Window_Enable(*args, **kwargs)
+
+    def Disable(*args, **kwargs):
+        """
+        Disable() -> bool
+
+        Disables the window, same as Enable(false).
+        """
+        return _core.Window_Disable(*args, **kwargs)
+
+    def IsShown(*args, **kwargs):
+        """
+        IsShown() -> bool
+
+        Returns true if the window is shown, false if it has been hidden.
+        """
+        return _core.Window_IsShown(*args, **kwargs)
+
+    def IsEnabled(*args, **kwargs):
+        """
+        IsEnabled() -> bool
+
+        Returns true if the window is enabled for input, false otherwise.
+        """
+        return _core.Window_IsEnabled(*args, **kwargs)
+
+    def SetWindowStyleFlag(*args, **kwargs):
+        """
+        SetWindowStyleFlag(long style)
+
+        Sets the style of the window. Please note that some styles cannot be
+        changed after the window creation and that Refresh() might be called
+        after changing the others for the change to take place immediately.
+        """
+        return _core.Window_SetWindowStyleFlag(*args, **kwargs)
+
+    def GetWindowStyleFlag(*args, **kwargs):
+        """
+        GetWindowStyleFlag() -> long
+
+        Gets the window style that was passed to the constructor or Create
+        method.
+        """
+        return _core.Window_GetWindowStyleFlag(*args, **kwargs)
+
+    SetWindowStyle = SetWindowStyleFlag; GetWindowStyle = GetWindowStyleFlag 
+    def HasFlag(*args, **kwargs):
+        """
+        HasFlag(int flag) -> bool
+
+        Test if the given style is set for this window.
+        """
+        return _core.Window_HasFlag(*args, **kwargs)
+
+    def IsRetained(*args, **kwargs):
+        """
+        IsRetained() -> bool
+
+        Returns true if the window is retained, false otherwise.  Retained
+        windows are only available on X platforms.
+        """
+        return _core.Window_IsRetained(*args, **kwargs)
+
+    def SetExtraStyle(*args, **kwargs):
+        """
+        SetExtraStyle(long exStyle)
+
+        Sets the extra style bits for the window.  Extra styles are the less
+        often used style bits which can't be set with the constructor or with
+        SetWindowStyleFlag()
+        """
+        return _core.Window_SetExtraStyle(*args, **kwargs)
+
+    def GetExtraStyle(*args, **kwargs):
+        """
+        GetExtraStyle() -> long
+
+        Returns the extra style bits for the window.
+        """
+        return _core.Window_GetExtraStyle(*args, **kwargs)
+
+    def MakeModal(*args, **kwargs):
+        """
+        MakeModal(bool modal=True)
+
+        Disables all other windows in the application so that the user can
+        only interact with this window.  Passing False will reverse this
+        effect.
+        """
+        return _core.Window_MakeModal(*args, **kwargs)
+
+    def SetThemeEnabled(*args, **kwargs):
+        """
+        SetThemeEnabled(bool enableTheme)
+
+        This function tells a window if it should use the system's "theme"
+         code to draw the windows' background instead if its own background
+         drawing code. This will only have an effect on platforms that support
+         the notion of themes in user defined windows. One such platform is
+         GTK+ where windows can have (very colourful) backgrounds defined by a
+         user's selected theme.
+
+        Dialogs, notebook pages and the status bar have this flag set to true
+        by default so that the default look and feel is simulated best.
+        """
+        return _core.Window_SetThemeEnabled(*args, **kwargs)
+
+    def GetThemeEnabled(*args, **kwargs):
+        """
+        GetThemeEnabled() -> bool
+
+        Return the themeEnabled flag.
+        """
+        return _core.Window_GetThemeEnabled(*args, **kwargs)
+
+    def SetFocus(*args, **kwargs):
+        """
+        SetFocus()
+
+        Set's the focus to this window, allowing it to receive keyboard input.
+        """
+        return _core.Window_SetFocus(*args, **kwargs)
+
+    def SetFocusFromKbd(*args, **kwargs):
+        """
+        SetFocusFromKbd()
+
+        Set focus to this window as the result of a keyboard action.  Normally
+        only called internally.
+        """
+        return _core.Window_SetFocusFromKbd(*args, **kwargs)
+
+    def FindFocus(*args, **kwargs):
+        """
+        FindFocus() -> Window
+
+        Returns the window or control that currently has the keyboard focus,
+        or None.
+        """
+        return _core.Window_FindFocus(*args, **kwargs)
+
+    FindFocus = staticmethod(FindFocus)
+    def AcceptsFocus(*args, **kwargs):
+        """
+        AcceptsFocus() -> bool
+
+        Can this window have focus?
+        """
+        return _core.Window_AcceptsFocus(*args, **kwargs)
+
+    def AcceptsFocusFromKeyboard(*args, **kwargs):
+        """
+        AcceptsFocusFromKeyboard() -> bool
+
+        Can this window be given focus by keyboard navigation? if not, the
+        only way to give it focus (provided it accepts it at all) is to click
+        it.
+        """
+        return _core.Window_AcceptsFocusFromKeyboard(*args, **kwargs)
+
+    def GetDefaultItem(*args, **kwargs):
+        """
+        GetDefaultItem() -> Window
+
+        Get the default child of this parent, i.e. the one which is activated
+        by pressing <Enter> such as the OK button on a wx.Dialog.
+        """
+        return _core.Window_GetDefaultItem(*args, **kwargs)
+
+    def SetDefaultItem(*args, **kwargs):
+        """
+        SetDefaultItem(Window child) -> Window
+
+        Set this child as default, return the old default.
+        """
+        return _core.Window_SetDefaultItem(*args, **kwargs)
+
+    def SetTmpDefaultItem(*args, **kwargs):
+        """
+        SetTmpDefaultItem(Window win)
+
+        Set this child as temporary default
+        """
+        return _core.Window_SetTmpDefaultItem(*args, **kwargs)
+
+    def GetChildren(*args, **kwargs):
+        """
+        GetChildren() -> PyObject
+
+        Returns a list of the window's children.  NOTE: Currently this is a
+        copy of the child window list maintained by the window, so the return
+        value of this function is only valid as long as the window's children
+        do not change.
+        """
+        return _core.Window_GetChildren(*args, **kwargs)
+
+    def GetParent(*args, **kwargs):
+        """
+        GetParent() -> Window
+
+        Returns the parent window of this window, or None if there isn't one.
+        """
+        return _core.Window_GetParent(*args, **kwargs)
+
+    def GetGrandParent(*args, **kwargs):
+        """
+        GetGrandParent() -> Window
+
+        Returns the parent of the parent of this window, or None if there isn't one.
+        """
+        return _core.Window_GetGrandParent(*args, **kwargs)
+
+    def IsTopLevel(*args, **kwargs):
+        """
+        IsTopLevel() -> bool
+
+        Returns true if the given window is a top-level one. Currently all
+        frames and dialogs are always considered to be top-level windows (even
+        if they have a parent window).
+        """
+        return _core.Window_IsTopLevel(*args, **kwargs)
+
+    def Reparent(*args, **kwargs):
+        """
+        Reparent(Window newParent) -> bool
+
+        Reparents the window, i.e the window will be removed from its current
+        parent window (e.g. a non-standard toolbar in a wxFrame) and then
+        re-inserted into another. Available on Windows and GTK.  Returns True
+        if the parent was changed, False otherwise (error or newParent ==
+        oldParent)
+        """
+        return _core.Window_Reparent(*args, **kwargs)
+
+    def AddChild(*args, **kwargs):
+        """
+        AddChild(Window child)
+
+        Adds a child window. This is called automatically by window creation
+        functions so should not be required by the application programmer.
+        """
+        return _core.Window_AddChild(*args, **kwargs)
+
+    def RemoveChild(*args, **kwargs):
+        """
+        RemoveChild(Window child)
+
+        Removes a child window. This is called automatically by window
+        deletion functions so should not be required by the application
+        programmer.
+        """
+        return _core.Window_RemoveChild(*args, **kwargs)
+
+    def FindWindowById(*args, **kwargs):
+        """
+        FindWindowById(long winid) -> Window
+
+        Find a chld of this window by window ID
+        """
+        return _core.Window_FindWindowById(*args, **kwargs)
+
+    def FindWindowByName(*args, **kwargs):
+        """
+        FindWindowByName(String name) -> Window
+
+        Find a child of this window by name
+        """
+        return _core.Window_FindWindowByName(*args, **kwargs)
+
+    def GetEventHandler(*args, **kwargs):
+        """
+        GetEventHandler() -> EvtHandler
+
+        Returns the event handler for this window. By default, the window is
+        its own event handler.
+        """
+        return _core.Window_GetEventHandler(*args, **kwargs)
+
+    def SetEventHandler(*args, **kwargs):
+        """
+        SetEventHandler(EvtHandler handler)
+
+        Sets the event handler for this window.  An event handler is an object
+        that is capable of processing the events sent to a window. By default,
+        the window is its own event handler, but an application may wish to
+        substitute another, for example to allow central implementation of
+        event-handling for a variety of different window classes.
+
+        It is usually better to use wx.Window.PushEventHandler since this sets
+        up a chain of event handlers, where an event not handled by one event
+        handler is handed to the next one in the chain.
+        """
+        return _core.Window_SetEventHandler(*args, **kwargs)
+
+    def PushEventHandler(*args, **kwargs):
+        """
+        PushEventHandler(EvtHandler handler)
+
+        Pushes this event handler onto the event handler stack for the window.
+        An event handler is an object that is capable of processing the events
+        sent to a window. By default, the window is its own event handler, but
+        an application may wish to substitute another, for example to allow
+        central implementation of event-handling for a variety of different
+        window classes.
+
+        wx.Window.PushEventHandler allows an application to set up a chain of
+        event handlers, where an event not handled by one event handler is
+        handed to the next one in the chain. Use wx.Window.PopEventHandler to
+        remove the event handler.
+        """
+        return _core.Window_PushEventHandler(*args, **kwargs)
+
+    def PopEventHandler(*args, **kwargs):
+        """
+        PopEventHandler(bool deleteHandler=False) -> EvtHandler
+
+        Removes and returns the top-most event handler on the event handler
+        stack.  If deleteHandler is True then the wx.EvtHandler object will be
+        destroyed after it is popped.
+        """
+        return _core.Window_PopEventHandler(*args, **kwargs)
+
+    def RemoveEventHandler(*args, **kwargs):
+        """
+        RemoveEventHandler(EvtHandler handler) -> bool
+
+        Find the given handler in the event handler chain and remove (but
+        not delete) it from the event handler chain, return True if it was
+        found and False otherwise (this also results in an assert failure so
+        this function should only be called when the handler is supposed to
+        be there.)
+        """
+        return _core.Window_RemoveEventHandler(*args, **kwargs)
+
+    def SetValidator(*args, **kwargs):
+        """
+        SetValidator(Validator validator)
+
+        Deletes the current validator (if any) and sets the window validator,
+        having called wx.Validator.Clone to create a new validator of this
+        type.
+        """
+        return _core.Window_SetValidator(*args, **kwargs)
+
+    def GetValidator(*args, **kwargs):
+        """
+        GetValidator() -> Validator
+
+        Returns a pointer to the current validator for the window, or None if
+        there is none.
+        """
+        return _core.Window_GetValidator(*args, **kwargs)
+
+    def SetAcceleratorTable(*args, **kwargs):
+        """
+        SetAcceleratorTable(AcceleratorTable accel)
+
+        Sets the accelerator table for this window.
+        """
+        return _core.Window_SetAcceleratorTable(*args, **kwargs)
+
+    def GetAcceleratorTable(*args, **kwargs):
+        """
+        GetAcceleratorTable() -> AcceleratorTable
+
+        Gets the accelerator table for this window.
+        """
+        return _core.Window_GetAcceleratorTable(*args, **kwargs)
+
+    def RegisterHotKey(*args, **kwargs):
+        """
+        RegisterHotKey(int hotkeyId, int modifiers, int keycode) -> bool
+
+        Registers a system wide hotkey. Every time the user presses the hotkey
+        registered here, this window will receive a hotkey event. It will
+        receive the event even if the application is in the background and
+        does not have the input focus because the user is working with some
+        other application.  To bind an event handler function to this hotkey
+        use EVT_HOTKEY with an id equal to hotkeyId.  Returns True if the
+        hotkey was registered successfully.
+        """
+        return _core.Window_RegisterHotKey(*args, **kwargs)
+
+    def UnregisterHotKey(*args, **kwargs):
+        """
+        UnregisterHotKey(int hotkeyId) -> bool
+
+        Unregisters a system wide hotkey.
+        """
+        return _core.Window_UnregisterHotKey(*args, **kwargs)
+
+    def ConvertDialogPointToPixels(*args, **kwargs):
+        """
+        ConvertDialogPointToPixels(Point pt) -> Point
+
+        Converts a point or size from dialog units to pixels.  Dialog units
+        are used for maintaining a dialog's proportions even if the font
+        changes. For the x dimension, the dialog units are multiplied by the
+        average character width and then divided by 4. For the y dimension,
+        the dialog units are multiplied by the average character height and
+        then divided by 8.
+        """
+        return _core.Window_ConvertDialogPointToPixels(*args, **kwargs)
+
+    def ConvertDialogSizeToPixels(*args, **kwargs):
+        """
+        ConvertDialogSizeToPixels(Size sz) -> Size
+
+        Converts a point or size from dialog units to pixels.  Dialog units
+        are used for maintaining a dialog's proportions even if the font
+        changes. For the x dimension, the dialog units are multiplied by the
+        average character width and then divided by 4. For the y dimension,
+        the dialog units are multiplied by the average character height and
+        then divided by 8.
+        """
+        return _core.Window_ConvertDialogSizeToPixels(*args, **kwargs)
+
+    def DLG_PNT(*args, **kwargs):
+        """
+        DLG_PNT(Point pt) -> Point
+
+        Converts a point or size from dialog units to pixels.  Dialog units
+        are used for maintaining a dialog's proportions even if the font
+        changes. For the x dimension, the dialog units are multiplied by the
+        average character width and then divided by 4. For the y dimension,
+        the dialog units are multiplied by the average character height and
+        then divided by 8.
+        """
+        return _core.Window_DLG_PNT(*args, **kwargs)
+
+    def DLG_SZE(*args, **kwargs):
+        """
+        DLG_SZE(Size sz) -> Size
+
+        Converts a point or size from dialog units to pixels.  Dialog units
+        are used for maintaining a dialog's proportions even if the font
+        changes. For the x dimension, the dialog units are multiplied by the
+        average character width and then divided by 4. For the y dimension,
+        the dialog units are multiplied by the average character height and
+        then divided by 8.
+        """
+        return _core.Window_DLG_SZE(*args, **kwargs)
+
+    def ConvertPixelPointToDialog(*args, **kwargs):
+        """ConvertPixelPointToDialog(Point pt) -> Point"""
+        return _core.Window_ConvertPixelPointToDialog(*args, **kwargs)
+
+    def ConvertPixelSizeToDialog(*args, **kwargs):
+        """ConvertPixelSizeToDialog(Size sz) -> Size"""
+        return _core.Window_ConvertPixelSizeToDialog(*args, **kwargs)
+
+    def WarpPointer(*args, **kwargs):
+        """
+        WarpPointer(int x, int y)
+
+        Moves the pointer to the given position on the window.
+
+        NOTE: This function is not supported under Mac because Apple Human
+        Interface Guidelines forbid moving the mouse cursor programmatically.
+        """
+        return _core.Window_WarpPointer(*args, **kwargs)
+
+    def CaptureMouse(*args, **kwargs):
+        """
+        CaptureMouse()
+
+        Directs all mouse input to this window. Call wx.Window.ReleaseMouse to
+        release the capture.
+
+        Note that wxWindows maintains the stack of windows having captured the
+        mouse and when the mouse is released the capture returns to the window
+        which had had captured it previously and it is only really released if
+        there were no previous window. In particular, this means that you must
+        release the mouse as many times as you capture it.
+        """
+        return _core.Window_CaptureMouse(*args, **kwargs)
+
+    def ReleaseMouse(*args, **kwargs):
+        """
+        ReleaseMouse()
+
+        Releases mouse input captured with wx.Window.CaptureMouse.
+        """
+        return _core.Window_ReleaseMouse(*args, **kwargs)
+
+    def GetCapture(*args, **kwargs):
+        """
+        GetCapture() -> Window
+
+        Returns the window which currently captures the mouse or None
+        """
+        return _core.Window_GetCapture(*args, **kwargs)
+
+    GetCapture = staticmethod(GetCapture)
+    def HasCapture(*args, **kwargs):
+        """
+        HasCapture() -> bool
+
+        Returns true if this window has the current mouse capture.
+        """
+        return _core.Window_HasCapture(*args, **kwargs)
+
+    def Refresh(*args, **kwargs):
+        """
+        Refresh(bool eraseBackground=True, Rect rect=None)
+
+        Mark the specified rectangle (or the whole window) as "dirty" so it
+        will be repainted.  Causes an EVT_PAINT event to be generated and sent
+        to the window.
+        """
+        return _core.Window_Refresh(*args, **kwargs)
+
+    def RefreshRect(*args, **kwargs):
+        """
+        RefreshRect(Rect rect)
+
+        Redraws the contents of the given rectangle: the area inside it will
+        be repainted.  This is the same as Refresh but has a nicer syntax.
+        """
+        return _core.Window_RefreshRect(*args, **kwargs)
+
+    def Update(*args, **kwargs):
+        """
+        Update()
+
+        Calling this method immediately repaints the invalidated area of the
+        window instead of waiting for the EVT_PAINT event to happen, (normally
+        this would usually only happen when the flow of control returns to the
+        event loop.)  Notice that this function doesn't refresh the window and
+        does nothing if the window has been already repainted.  Use Refresh
+        first if you want to immediately redraw the window (or some portion of
+        it) unconditionally.
+        """
+        return _core.Window_Update(*args, **kwargs)
+
+    def ClearBackground(*args, **kwargs):
+        """
+        ClearBackground()
+
+        Clears the window by filling it with the current background
+        colour. Does not cause an erase background event to be generated.
+        """
+        return _core.Window_ClearBackground(*args, **kwargs)
+
+    def Freeze(*args, **kwargs):
+        """
+        Freeze()
+
+        Freezes the window or, in other words, prevents any updates from
+        taking place on screen, the window is not redrawn at all. Thaw must be
+        called to reenable window redrawing.
+
+        This method is useful for visual appearance optimization (for example,
+        it is a good idea to use it before inserting large amount of text into
+        a wxTextCtrl under wxGTK) but is not implemented on all platforms nor
+        for all controls so it is mostly just a hint to wxWindows and not a
+        mandatory directive.
+        """
+        return _core.Window_Freeze(*args, **kwargs)
+
+    def Thaw(*args, **kwargs):
+        """
+        Thaw()
+
+        Reenables window updating after a previous call to Freeze.
+        """
+        return _core.Window_Thaw(*args, **kwargs)
+
+    def PrepareDC(*args, **kwargs):
+        """
+        PrepareDC(DC dc)
+
+        Call this function to prepare the device context for drawing a
+        scrolled image. It sets the device origin according to the current
+        scroll position.
+        """
+        return _core.Window_PrepareDC(*args, **kwargs)
+
+    def GetUpdateRegion(*args, **kwargs):
+        """
+        GetUpdateRegion() -> Region
+
+        Returns the region specifying which parts of the window have been
+        damaged. Should only be called within an EVT_PAINT handler.
+        """
+        return _core.Window_GetUpdateRegion(*args, **kwargs)
+
+    def GetUpdateClientRect(*args, **kwargs):
+        """
+        GetUpdateClientRect() -> Rect
+
+        Get the update rectangle region bounding box in client coords.
+        """
+        return _core.Window_GetUpdateClientRect(*args, **kwargs)
+
+    def IsExposed(*args, **kwargs):
+        """
+        IsExposed(int x, int y, int w=1, int h=1) -> bool
+
+        Returns true if the given point or rectangle area has been exposed
+        since the last repaint. Call this in an paint event handler to
+        optimize redrawing by only redrawing those areas, which have been
+        exposed.
+        """
+        return _core.Window_IsExposed(*args, **kwargs)
+
+    def IsExposedPoint(*args, **kwargs):
+        """
+        IsExposedPoint(Point pt) -> bool
+
+        Returns true if the given point or rectangle area has been exposed
+        since the last repaint. Call this in an paint event handler to
+        optimize redrawing by only redrawing those areas, which have been
+        exposed.
+        """
+        return _core.Window_IsExposedPoint(*args, **kwargs)
+
+    def isExposedRect(*args, **kwargs):
+        """
+        isExposedRect(Rect rect) -> bool
+
+        Returns true if the given point or rectangle area has been exposed
+        since the last repaint. Call this in an paint event handler to
+        optimize redrawing by only redrawing those areas, which have been
+        exposed.
+        """
+        return _core.Window_isExposedRect(*args, **kwargs)
+
+    def SetBackgroundColour(*args, **kwargs):
+        """
+        SetBackgroundColour(Colour colour) -> 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.
+
+        Note that setting the background colour does not cause an immediate
+        refresh, so you may wish to call ClearBackground or Refresh after
+        calling this function.
+
+        Use this function with care under GTK+ as the new appearance of the
+        window might not look equally well when used with themes, i.e GTK+'s
+        ability to change its look as the user wishes with run-time loadable
+        modules.
+        """
+        return _core.Window_SetBackgroundColour(*args, **kwargs)
+
+    def SetForegroundColour(*args, **kwargs):
+        """
+        SetForegroundColour(Colour colour) -> 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 _core.Window_SetForegroundColour(*args, **kwargs)
+
+    def GetBackgroundColour(*args, **kwargs):
+        """
+        GetBackgroundColour() -> Colour
+
+        Returns the background colour of the window.
+        """
+        return _core.Window_GetBackgroundColour(*args, **kwargs)
+
+    def GetForegroundColour(*args, **kwargs):
+        """
+        GetForegroundColour() -> Colour
+
+        Returns the foreground colour of the window.  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 _core.Window_GetForegroundColour(*args, **kwargs)
+
+    def SetCursor(*args, **kwargs):
+        """
+        SetCursor(Cursor cursor) -> bool
+
+        Sets the window's cursor. Notice that the window cursor also sets it
+        for the children of the window implicitly.
+
+        The cursor may be wx.NullCursor in which case the window cursor will
+        be reset back to default.
+        """
+        return _core.Window_SetCursor(*args, **kwargs)
+
+    def GetCursor(*args, **kwargs):
+        """
+        GetCursor() -> Cursor
+
+        Return the cursor associated with this window.
+        """
+        return _core.Window_GetCursor(*args, **kwargs)
+
+    def SetFont(*args, **kwargs):
+        """
+        SetFont(Font font) -> bool
+
+        Sets the font for this window.
+        """
+        return _core.Window_SetFont(*args, **kwargs)
+
+    def GetFont(*args, **kwargs):
+        """
+        GetFont() -> Font
+
+        Returns a reference to the font for this window.
+        """
+        return _core.Window_GetFont(*args, **kwargs)
+
+    def SetCaret(*args, **kwargs):
+        """
+        SetCaret(Caret caret)
+
+        Sets the caret associated with the window.
+        """
+        return _core.Window_SetCaret(*args, **kwargs)
+
+    def GetCaret(*args, **kwargs):
+        """
+        GetCaret() -> Caret
+
+        Returns the caret associated with the window.
+        """
+        return _core.Window_GetCaret(*args, **kwargs)
+
+    def GetCharHeight(*args, **kwargs):
+        """
+        GetCharHeight() -> int
+
+        Get the (average) character size for the current font.
+        """
+        return _core.Window_GetCharHeight(*args, **kwargs)
+
+    def GetCharWidth(*args, **kwargs):
+        """
+        GetCharWidth() -> int
+
+        Get the (average) character size for the current font.
+        """
+        return _core.Window_GetCharWidth(*args, **kwargs)
+
+    def GetTextExtent(*args, **kwargs):
+        """
+        GetTextExtent(String string) -> (width, height)
+
+        Get the width and height of the text using the current font.
+        """
+        return _core.Window_GetTextExtent(*args, **kwargs)
+
+    def GetFullTextExtent(*args, **kwargs):
+        """
+        GetFullTextExtent(String string, Font font=None) ->
+           (width, height, descent, externalLeading)
+
+        Get the width, height, decent and leading of the text using the
+        current or specified font.
+        """
+        return _core.Window_GetFullTextExtent(*args, **kwargs)
+
+    def ClientToScreenXY(*args, **kwargs):
+        """
+        ClientToScreenXY(int x, int y) -> (x,y)
+
+        Converts to screen coordinates from coordinates relative to this window.
+        """
+        return _core.Window_ClientToScreenXY(*args, **kwargs)
+
+    def ScreenToClientXY(*args, **kwargs):
+        """
+        ScreenToClientXY(int x, int y) -> (x,y)
+
+        Converts from screen to client window coordinates.
+        """
+        return _core.Window_ScreenToClientXY(*args, **kwargs)
+
+    def ClientToScreen(*args, **kwargs):
+        """
+        ClientToScreen(Point pt) -> Point
+
+        Converts to screen coordinates from coordinates relative to this window.
+        """
+        return _core.Window_ClientToScreen(*args, **kwargs)
+
+    def ScreenToClient(*args, **kwargs):
+        """
+        ScreenToClient(Point pt) -> Point
+
+        Converts from screen to client window coordinates.
+        """
+        return _core.Window_ScreenToClient(*args, **kwargs)
+
+    def HitTestXY(*args, **kwargs):
+        """
+        HitTestXY(int x, int y) -> int
+
+        Test where the given (in client coords) point lies
+        """
+        return _core.Window_HitTestXY(*args, **kwargs)
+
+    def HitTest(*args, **kwargs):
+        """
+        HitTest(Point pt) -> int
+
+        Test where the given (in client coords) point lies
+        """
+        return _core.Window_HitTest(*args, **kwargs)
+
+    def GetBorder(*args):
+        """
+        GetBorder(long flags) -> int
+        GetBorder() -> int
+
+        Get border for the flags of this window
+        """
+        return _core.Window_GetBorder(*args)
+
+    def UpdateWindowUI(*args, **kwargs):
+        """
+        UpdateWindowUI(long flags=UPDATE_UI_NONE)
+
+        This function sends EVT_UPDATE_UI events to the window. The particular
+        implementation depends on the window; for example a wx.ToolBar will
+        send an update UI event for each toolbar button, and a wx.Frame will
+        send an update UI event for each menubar menu item. You can call this
+        function from your application to ensure that your UI is up-to-date at
+        a particular point in time (as far as your EVT_UPDATE_UI handlers are
+        concerned). This may be necessary if you have called
+        wx.UpdateUIEvent.SetMode or wx.UpdateUIEvent.SetUpdateInterval to
+        limit the overhead that wxWindows incurs by sending update UI events
+        in idle time.
+
+        The flags should be a bitlist of one or more of the following values:
+
+            wx.UPDATE_UI_NONE          No particular value
+            wx.UPDATE_UI_RECURSE       Call the function for descendants
+            wx.UPDATE_UI_FROMIDLE      Invoked from OnIdle
+
+        If you are calling this function from an OnIdle function, make sure
+        you pass the wx.UPDATE_UI_FROMIDLE flag, since this tells the window to
+        only update the UI elements that need to be updated in idle time. Some
+        windows update their elements only when necessary, for example when a
+        menu is about to be shown. The following is an example of how to call
+        UpdateWindowUI from an idle function.
+
+            def OnIdle(self, evt):
+                if wx.UpdateUIEvent.CanUpdate(self):
+                    self.UpdateWindowUI(wx.UPDATE_UI_FROMIDLE);
+
+        """
+        return _core.Window_UpdateWindowUI(*args, **kwargs)
+
+    def PopupMenuXY(*args, **kwargs):
+        """
+        PopupMenuXY(Menu menu, int x, int y) -> bool
+
+        Pops up the given menu at the specified coordinates, relative to this
+        window, and returns control when the user has dismissed the menu. If a
+        menu item is selected, the corresponding menu event is generated and
+        will be processed as usual.
+        """
+        return _core.Window_PopupMenuXY(*args, **kwargs)
+
+    def PopupMenu(*args, **kwargs):
+        """
+        PopupMenu(Menu menu, Point pos) -> bool
+
+        Pops up the given menu at the specified coordinates, relative to this
+        window, and returns control when the user has dismissed the menu. If a
+        menu item is selected, the corresponding menu event is generated and
+        will be processed as usual.
+        """
+        return _core.Window_PopupMenu(*args, **kwargs)
+
+    def GetHandle(*args, **kwargs):
+        """
+        GetHandle() -> long
+
+        Returns the platform-specific handle (as a long integer) of the
+        physical window.  Currently on wxMac it returns the handle of the
+        toplevel parent of the window.
+        """
+        return _core.Window_GetHandle(*args, **kwargs)
+
+    def HasScrollbar(*args, **kwargs):
+        """
+        HasScrollbar(int orient) -> bool
+
+        Does the window have the scrollbar for this orientation?
+        """
+        return _core.Window_HasScrollbar(*args, **kwargs)
+
+    def SetScrollbar(*args, **kwargs):
+        """
+        SetScrollbar(int orientation, int pos, int thumbvisible, int range, 
+            bool refresh=True)
+
+        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.
+
+            range:       The maximum position of the scrollbar.
+
+            refresh:     True to redraw the scrollbar, false otherwise.
+        """
+        return _core.Window_SetScrollbar(*args, **kwargs)
+
+    def SetScrollPos(*args, **kwargs):
+        """
+        SetScrollPos(int orientation, int pos, bool refresh=True)
+
+        Sets the position of one of the built-in scrollbars.
+        """
+        return _core.Window_SetScrollPos(*args, **kwargs)
+
+    def GetScrollPos(*args, **kwargs):
+        """
+        GetScrollPos(int orientation) -> int
+
+        Returns the built-in scrollbar position.
+        """
+        return _core.Window_GetScrollPos(*args, **kwargs)
+
+    def GetScrollThumb(*args, **kwargs):
+        """
+        GetScrollThumb(int orientation) -> int
+
+        Returns the built-in scrollbar thumb size.
+        """
+        return _core.Window_GetScrollThumb(*args, **kwargs)
+
+    def GetScrollRange(*args, **kwargs):
+        """
+        GetScrollRange(int orientation) -> int
+
+        Returns the built-in scrollbar range.
+        """
+        return _core.Window_GetScrollRange(*args, **kwargs)
+
+    def ScrollWindow(*args, **kwargs):
+        """
+        ScrollWindow(int dx, int dy, Rect rect=None)
+
+        Physically scrolls the pixels in the window and move child windows
+        accordingly.  Use this function to optimise your scrolling
+        implementations, to minimise the area that must be redrawn. Note that
+        it is rarely required to call this function from a user program.
+
+            dx:   Amount to scroll horizontally.
+
+            dy:   Amount to scroll vertically.
+
+            rect: Rectangle to invalidate. If this is None, the whole window
+                  is invalidated. If you pass a rectangle corresponding to the
+                  area of the window exposed by the scroll, your painting
+                  handler can optimize painting by checking for the
+                  invalidated region.
+        """
+        return _core.Window_ScrollWindow(*args, **kwargs)
+
+    def ScrollLines(*args, **kwargs):
+        """
+        ScrollLines(int lines) -> bool
+
+        If the platform and window class supports it, scrolls the window by
+        the given number of lines down, if lines is positive, or up if lines
+        is negative.  Returns True if the window was scrolled, False if it was
+        already on top/bottom and nothing was done.
+        """
+        return _core.Window_ScrollLines(*args, **kwargs)
+
+    def ScrollPages(*args, **kwargs):
+        """
+        ScrollPages(int pages) -> bool
+
+        If the platform and window class supports it,  scrolls the window by
+        the given number of pages down, if pages is positive, or up if pages
+        is negative.  Returns True if the window was scrolled, False if it was
+        already on top/bottom and nothing was done.
+        """
+        return _core.Window_ScrollPages(*args, **kwargs)
+
+    def LineUp(*args, **kwargs):
+        """
+        LineUp() -> bool
+
+        This is just a wrapper for ScrollLines(-1).
+        """
+        return _core.Window_LineUp(*args, **kwargs)
+
+    def LineDown(*args, **kwargs):
+        """
+        LineDown() -> bool
+
+        This is just a wrapper for ScrollLines(1).
+        """
+        return _core.Window_LineDown(*args, **kwargs)
+
+    def PageUp(*args, **kwargs):
+        """
+        PageUp() -> bool
+
+        This is just a wrapper for ScrollPages(-1).
+        """
+        return _core.Window_PageUp(*args, **kwargs)
+
+    def PageDown(*args, **kwargs):
+        """
+        PageDown() -> bool
+
+        This is just a wrapper for ScrollPages(1).
+        """
+        return _core.Window_PageDown(*args, **kwargs)
+
+    def SetHelpText(*args, **kwargs):
+        """
+        SetHelpText(String text)
+
+        Sets the help text to be used as context-sensitive help for this
+        window.  Note that the text is actually stored by the current
+        wxHelpProvider implementation, and not in the window object itself.
+        """
+        return _core.Window_SetHelpText(*args, **kwargs)
+
+    def SetHelpTextForId(*args, **kwargs):
+        """
+        SetHelpTextForId(String text)
+
+        Associate this help text with all windows with the same id as this
+        one.
+        """
+        return _core.Window_SetHelpTextForId(*args, **kwargs)
+
+    def GetHelpText(*args, **kwargs):
+        """
+        GetHelpText() -> String
+
+        Gets the help text to be used as context-sensitive help for this
+        window.  Note that the text is actually stored by the current
+        wxHelpProvider implementation, and not in the window object itself.
+        """
+        return _core.Window_GetHelpText(*args, **kwargs)
+
+    def SetToolTipString(*args, **kwargs):
+        """
+        SetToolTipString(String tip)
+
+        Attach a tooltip to the window.
+        """
+        return _core.Window_SetToolTipString(*args, **kwargs)
+
+    def SetToolTip(*args, **kwargs):
+        """
+        SetToolTip(ToolTip tip)
+
+        Attach a tooltip to the window.
+        """
+        return _core.Window_SetToolTip(*args, **kwargs)
+
+    def GetToolTip(*args, **kwargs):
+        """
+        GetToolTip() -> ToolTip
+
+        get the associated tooltip or None if none
+        """
+        return _core.Window_GetToolTip(*args, **kwargs)
+
+    def SetDropTarget(*args, **kwargs):
+        """
+        SetDropTarget(DropTarget dropTarget)
+
+        Associates a drop target with this window.  If the window already has
+        a drop target, it is deleted.
+        """
+        return _core.Window_SetDropTarget(*args, **kwargs)
+
+    def GetDropTarget(*args, **kwargs):
+        """
+        GetDropTarget() -> DropTarget
+
+        Returns the associated drop target, which may be None.
+        """
+        return _core.Window_GetDropTarget(*args, **kwargs)
+
+    def SetConstraints(*args, **kwargs):
+        """
+        SetConstraints(LayoutConstraints constraints)
+
+        Sets the window to have the given layout constraints. If an existing
+        layout constraints object is already owned by the window, it will be
+        deleted.  Pass None to disassociate and delete the window's current
+        constraints.
+
+        You must call SetAutoLayout to tell a window to use the constraints
+        automatically in its default EVT_SIZE handler; otherwise, you must
+        handle EVT_SIZE yourself and call Layout() explicitly. When setting
+        both a wx.LayoutConstraints and a wx.Sizer, only the sizer will have
+        effect.
+        """
+        return _core.Window_SetConstraints(*args, **kwargs)
+
+    def GetConstraints(*args, **kwargs):
+        """
+        GetConstraints() -> LayoutConstraints
+
+        Returns a pointer to the window's layout constraints, or None if there
+        are none.
+        """
+        return _core.Window_GetConstraints(*args, **kwargs)
+
+    def SetAutoLayout(*args, **kwargs):
+        """
+        SetAutoLayout(bool autoLayout)
+
+        Determines whether the Layout function will be called automatically
+        when the window is resized.  It is called implicitly by SetSizer but
+        if you use SetConstraints you should call it manually or otherwise the
+        window layout won't be correctly updated when its size changes.
+        """
+        return _core.Window_SetAutoLayout(*args, **kwargs)
+
+    def GetAutoLayout(*args, **kwargs):
+        """
+        GetAutoLayout() -> bool
+
+        Returns the current autoLayout setting
+        """
+        return _core.Window_GetAutoLayout(*args, **kwargs)
+
+    def Layout(*args, **kwargs):
+        """
+        Layout() -> bool
+
+        Invokes the constraint-based layout algorithm or the sizer-based
+        algorithm for this window.  See SetAutoLayout: when auto layout is on,
+        this function gets called automatically by the default EVT_SIZE
+        handler when the window is resized.
+        """
+        return _core.Window_Layout(*args, **kwargs)
+
+    def SetSizer(*args, **kwargs):
+        """
+        SetSizer(Sizer sizer, bool deleteOld=True)
+
+        Sets the window to have the given layout sizer. The window will then
+        own the object, and will take care of its deletion. If an existing
+        layout sizer object is already owned by the window, it will be deleted
+        if the deleteOld parameter is true. Note that this function will also
+        call SetAutoLayout implicitly with a True parameter if the sizer is
+        non-NoneL and False otherwise.
+        """
+        return _core.Window_SetSizer(*args, **kwargs)
+
+    def SetSizerAndFit(*args, **kwargs):
+        """
+        SetSizerAndFit(Sizer sizer, bool deleteOld=True)
+
+        The same as SetSizer, except it also sets the size hints for the
+        window based on the sizer's minimum size.
+        """
+        return _core.Window_SetSizerAndFit(*args, **kwargs)
+
+    def GetSizer(*args, **kwargs):
+        """
+        GetSizer() -> Sizer
+
+        Return the sizer associated with the window by a previous call to
+        SetSizer or None if there isn't one.
+        """
+        return _core.Window_GetSizer(*args, **kwargs)
+
+    def SetContainingSizer(*args, **kwargs):
+        """
+        SetContainingSizer(Sizer sizer)
+
+        This normally does not need to be called by application code. It is
+        called internally when a window is added to a sizer, and is used so
+        the window can remove itself from the sizer when it is destroyed.
+        """
+        return _core.Window_SetContainingSizer(*args, **kwargs)
+
+    def GetContainingSizer(*args, **kwargs):
+        """
+        GetContainingSizer() -> Sizer
+
+        Return the sizer that this window is a member of, if any, otherwise None.
+        """
+        return _core.Window_GetContainingSizer(*args, **kwargs)
+
+    def PostCreate(self, pre):
+        """
+        Phase 3 of the 2-phase create <wink!>
+        Call this method after precreating the window with the 2-phase create method.
+        """
+        self.this = pre.this
+        self.thisown = pre.thisown
+        pre.thisown = 0
+        if hasattr(self, '_setOORInfo'):
+            self._setOORInfo(self)
+        if hasattr(self, '_setCallbackInfo'):
+            self._setCallbackInfo(self, self.__class__)
+
+
+class WindowPtr(Window):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = Window
+_core.Window_swigregister(WindowPtr)
+NullAcceleratorTable = cvar.NullAcceleratorTable
+PanelNameStr = cvar.PanelNameStr
+
+def PreWindow(*args, **kwargs):
+    """
+    PreWindow() -> Window
+
+    Precreate a Window for 2-phase creation.
+    """
+    val = _core.new_PreWindow(*args, **kwargs)
+    val.thisown = 1
+    return val
+
+def Window_NewControlId(*args, **kwargs):
+    """
+    Window_NewControlId() -> int
+
+    Generate a control id for the controls which were not given one.
+    """
+    return _core.Window_NewControlId(*args, **kwargs)
+
+def Window_NextControlId(*args, **kwargs):
+    """
+    Window_NextControlId(int winid) -> int
+
+    Get the id of the control following the one with the given
+    (autogenerated) id
+    """
+    return _core.Window_NextControlId(*args, **kwargs)
+
+def Window_PrevControlId(*args, **kwargs):
+    """
+    Window_PrevControlId(int winid) -> int
+
+    Get the id of the control preceding the one with the given
+    (autogenerated) id
+    """
+    return _core.Window_PrevControlId(*args, **kwargs)
+
+def Window_FindFocus(*args, **kwargs):
+    """
+    Window_FindFocus() -> Window
+
+    Returns the window or control that currently has the keyboard focus,
+    or None.
+    """
+    return _core.Window_FindFocus(*args, **kwargs)
+
+def Window_GetCapture(*args, **kwargs):
+    """
+    Window_GetCapture() -> Window
+
+    Returns the window which currently captures the mouse or None
+    """
+    return _core.Window_GetCapture(*args, **kwargs)
+
+def DLG_PNT(win, point_or_x, y=None):
+    """
+    Convenience function for converting a Point or (x,y) in
+    dialog units to pixel units.
+    """
+    if y is None:
+        return win.ConvertDialogPointToPixels(point_or_x)
+    else:
+        return win.ConvertDialogPointToPixels(wx.Point(point_or_x, y))
+
+def DLG_SZE(win, size_width, height=None):
+    """
+    Convenience function for converting a Size or (w,h) in
+    dialog units to pixel units.
+    """
+    if height is None:
+        return win.ConvertDialogSizeToPixels(size_width)
+    else:
+        return win.ConvertDialogSizeToPixels(wx.Size(size_width, height))
+
+
+def FindWindowById(*args, **kwargs):
+    """
+    FindWindowById(long id, Window parent=None) -> Window
+
+    Find the first window in the application with the given id. If parent
+    is None, the search will start from all top-level frames and dialog
+    boxes; if non-None, the search will be limited to the given window
+    hierarchy. The search is recursive in both cases.
+    """
+    return _core.FindWindowById(*args, **kwargs)
+
+def FindWindowByName(*args, **kwargs):
+    """
+    FindWindowByName(String name, Window parent=None) -> Window
+
+    Find a window by its name (as given in a window constructor or Create
+    function call). If parent is None, the search will start from all
+    top-level frames and dialog boxes; if non-None, the search will be
+    limited to the given window hierarchy. The search is recursive in both
+    cases.
+
+    If no window with such name is found, wx.FindWindowByLabel is called.
+    """
+    return _core.FindWindowByName(*args, **kwargs)
+
+def FindWindowByLabel(*args, **kwargs):
+    """
+    FindWindowByLabel(String label, Window parent=None) -> Window
+
+    Find a window by its label. Depending on the type of window, the label
+    may be a window title or panel item label. If parent is None, the
+    search will start from all top-level frames and dialog boxes; if
+    non-None, the search will be limited to the given window
+    hierarchy. The search is recursive in both cases.
+    """
+    return _core.FindWindowByLabel(*args, **kwargs)
+
+def Window_FromHWND(*args, **kwargs):
+    """Window_FromHWND(unsigned long hWnd) -> Window"""
+    return _core.Window_FromHWND(*args, **kwargs)
+#---------------------------------------------------------------------------
+
+class Validator(EvtHandler):
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxValidator instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__() -> Validator"""
+        newobj = _core.new_Validator(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+        self._setOORInfo(self)
+
+    def Clone(*args, **kwargs):
+        """Clone() -> Validator"""
+        return _core.Validator_Clone(*args, **kwargs)
+
+    def Validate(*args, **kwargs):
+        """Validate(Window parent) -> bool"""
+        return _core.Validator_Validate(*args, **kwargs)
+
+    def TransferToWindow(*args, **kwargs):
+        """TransferToWindow() -> bool"""
+        return _core.Validator_TransferToWindow(*args, **kwargs)
+
+    def TransferFromWindow(*args, **kwargs):
+        """TransferFromWindow() -> bool"""
+        return _core.Validator_TransferFromWindow(*args, **kwargs)
+
+    def GetWindow(*args, **kwargs):
+        """GetWindow() -> Window"""
+        return _core.Validator_GetWindow(*args, **kwargs)
+
+    def SetWindow(*args, **kwargs):
+        """SetWindow(Window window)"""
+        return _core.Validator_SetWindow(*args, **kwargs)
+
+    def IsSilent(*args, **kwargs):
+        """IsSilent() -> bool"""
+        return _core.Validator_IsSilent(*args, **kwargs)
+
+    IsSilent = staticmethod(IsSilent)
+    def SetBellOnError(*args, **kwargs):
+        """SetBellOnError(int doIt=True)"""
+        return _core.Validator_SetBellOnError(*args, **kwargs)
+
+    SetBellOnError = staticmethod(SetBellOnError)
+
+class ValidatorPtr(Validator):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = Validator
+_core.Validator_swigregister(ValidatorPtr)
+
+def Validator_IsSilent(*args, **kwargs):
+    """Validator_IsSilent() -> bool"""
+    return _core.Validator_IsSilent(*args, **kwargs)
+
+def Validator_SetBellOnError(*args, **kwargs):
+    """Validator_SetBellOnError(int doIt=True)"""
+    return _core.Validator_SetBellOnError(*args, **kwargs)
+
+class PyValidator(Validator):
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxPyValidator instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__() -> PyValidator"""
+        newobj = _core.new_PyValidator(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+        
+        self._setCallbackInfo(self, PyValidator, 1)
+        self._setOORInfo(self)
+
+    def _setCallbackInfo(*args, **kwargs):
+        """_setCallbackInfo(PyObject self, PyObject _class, int incref=True)"""
+        return _core.PyValidator__setCallbackInfo(*args, **kwargs)
+
+
+class PyValidatorPtr(PyValidator):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = PyValidator
+_core.PyValidator_swigregister(PyValidatorPtr)
+
+#---------------------------------------------------------------------------
+
+class Menu(EvtHandler):
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxMenu instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__(String title=EmptyString, long style=0) -> Menu"""
+        newobj = _core.new_Menu(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+        self._setOORInfo(self)
+
+    def Append(*args, **kwargs):
+        """Append(int id, String text, String help=EmptyString, int kind=ITEM_NORMAL) -> MenuItem"""
+        return _core.Menu_Append(*args, **kwargs)
+
+    def AppendSeparator(*args, **kwargs):
+        """AppendSeparator() -> MenuItem"""
+        return _core.Menu_AppendSeparator(*args, **kwargs)
+
+    def AppendCheckItem(*args, **kwargs):
+        """AppendCheckItem(int id, String text, String help=EmptyString) -> MenuItem"""
+        return _core.Menu_AppendCheckItem(*args, **kwargs)
+
+    def AppendRadioItem(*args, **kwargs):
+        """AppendRadioItem(int id, String text, String help=EmptyString) -> MenuItem"""
+        return _core.Menu_AppendRadioItem(*args, **kwargs)
+
+    def AppendMenu(*args, **kwargs):
+        """AppendMenu(int id, String text, Menu submenu, String help=EmptyString) -> MenuItem"""
+        return _core.Menu_AppendMenu(*args, **kwargs)
+
+    def AppendItem(*args, **kwargs):
+        """AppendItem(MenuItem item) -> MenuItem"""
+        return _core.Menu_AppendItem(*args, **kwargs)
+
+    def Break(*args, **kwargs):
+        """Break()"""
+        return _core.Menu_Break(*args, **kwargs)
+
+    def InsertItem(*args, **kwargs):
+        """InsertItem(size_t pos, MenuItem item) -> MenuItem"""
+        return _core.Menu_InsertItem(*args, **kwargs)
+
+    def Insert(*args, **kwargs):
+        """
+        Insert(size_t pos, int id, String text, String help=EmptyString, 
+            int kind=ITEM_NORMAL) -> MenuItem
+        """
+        return _core.Menu_Insert(*args, **kwargs)
+
+    def InsertSeparator(*args, **kwargs):
+        """InsertSeparator(size_t pos) -> MenuItem"""
+        return _core.Menu_InsertSeparator(*args, **kwargs)
+
+    def InsertCheckItem(*args, **kwargs):
+        """InsertCheckItem(size_t pos, int id, String text, String help=EmptyString) -> MenuItem"""
+        return _core.Menu_InsertCheckItem(*args, **kwargs)
+
+    def InsertRadioItem(*args, **kwargs):
+        """InsertRadioItem(size_t pos, int id, String text, String help=EmptyString) -> MenuItem"""
+        return _core.Menu_InsertRadioItem(*args, **kwargs)
+
+    def InsertMenu(*args, **kwargs):
+        """InsertMenu(size_t pos, int id, String text, Menu submenu, String help=EmptyString) -> MenuItem"""
+        return _core.Menu_InsertMenu(*args, **kwargs)
+
+    def PrependItem(*args, **kwargs):
+        """PrependItem(MenuItem item) -> MenuItem"""
+        return _core.Menu_PrependItem(*args, **kwargs)
+
+    def Prepend(*args, **kwargs):
+        """Prepend(int id, String text, String help=EmptyString, int kind=ITEM_NORMAL) -> MenuItem"""
+        return _core.Menu_Prepend(*args, **kwargs)
+
+    def PrependSeparator(*args, **kwargs):
+        """PrependSeparator() -> MenuItem"""
+        return _core.Menu_PrependSeparator(*args, **kwargs)
+
+    def PrependCheckItem(*args, **kwargs):
+        """PrependCheckItem(int id, String text, String help=EmptyString) -> MenuItem"""
+        return _core.Menu_PrependCheckItem(*args, **kwargs)
+
+    def PrependRadioItem(*args, **kwargs):
+        """PrependRadioItem(int id, String text, String help=EmptyString) -> MenuItem"""
+        return _core.Menu_PrependRadioItem(*args, **kwargs)
+
+    def PrependMenu(*args, **kwargs):
+        """PrependMenu(int id, String text, Menu submenu, String help=EmptyString) -> MenuItem"""
+        return _core.Menu_PrependMenu(*args, **kwargs)
+
+    def Remove(*args, **kwargs):
+        """Remove(int id) -> MenuItem"""
+        return _core.Menu_Remove(*args, **kwargs)
+
+    def RemoveItem(*args, **kwargs):
+        """RemoveItem(MenuItem item) -> MenuItem"""
+        return _core.Menu_RemoveItem(*args, **kwargs)
+
+    def Delete(*args, **kwargs):
+        """Delete(int id) -> bool"""
+        return _core.Menu_Delete(*args, **kwargs)
+
+    def DeleteItem(*args, **kwargs):
+        """DeleteItem(MenuItem item) -> bool"""
+        return _core.Menu_DeleteItem(*args, **kwargs)
+
+    def Destroy(*args, **kwargs):
+        """
+        Destroy()
+
+        Deletes the C++ object this Python object is a proxy for.
+        """
+        return _core.Menu_Destroy(*args, **kwargs)
+
+    def DestroyId(*args, **kwargs):
+        """
+        DestroyId(int id) -> bool
+
+        Deletes the C++ object this Python object is a proxy for.
+        """
+        return _core.Menu_DestroyId(*args, **kwargs)
+
+    def DestroyItem(*args, **kwargs):
+        """
+        DestroyItem(MenuItem item) -> bool
+
+        Deletes the C++ object this Python object is a proxy for.
+        """
+        return _core.Menu_DestroyItem(*args, **kwargs)
+
+    def GetMenuItemCount(*args, **kwargs):
+        """GetMenuItemCount() -> size_t"""
+        return _core.Menu_GetMenuItemCount(*args, **kwargs)
+
+    def GetMenuItems(*args, **kwargs):
+        """GetMenuItems() -> PyObject"""
+        return _core.Menu_GetMenuItems(*args, **kwargs)
+
+    def FindItem(*args, **kwargs):
+        """FindItem(String item) -> int"""
+        return _core.Menu_FindItem(*args, **kwargs)
+
+    def FindItemById(*args, **kwargs):
+        """FindItemById(int id) -> MenuItem"""
+        return _core.Menu_FindItemById(*args, **kwargs)
+
+    def FindItemByPosition(*args, **kwargs):
+        """FindItemByPosition(size_t position) -> MenuItem"""
+        return _core.Menu_FindItemByPosition(*args, **kwargs)
+
+    def Enable(*args, **kwargs):
+        """Enable(int id, bool enable)"""
+        return _core.Menu_Enable(*args, **kwargs)
 
-class WindowPtr(Window):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = Window
-_core.Window_swigregister(WindowPtr)
+    def IsEnabled(*args, **kwargs):
+        """IsEnabled(int id) -> bool"""
+        return _core.Menu_IsEnabled(*args, **kwargs)
 
-def PreWindow(*args, **kwargs):
-    val = _core.new_PreWindow(*args, **kwargs)
-    val.thisown = 1
-    return val
+    def Check(*args, **kwargs):
+        """Check(int id, bool check)"""
+        return _core.Menu_Check(*args, **kwargs)
 
-Window_NewControlId = _core.Window_NewControlId
+    def IsChecked(*args, **kwargs):
+        """IsChecked(int id) -> bool"""
+        return _core.Menu_IsChecked(*args, **kwargs)
 
-Window_NextControlId = _core.Window_NextControlId
+    def SetLabel(*args, **kwargs):
+        """SetLabel(int id, String label)"""
+        return _core.Menu_SetLabel(*args, **kwargs)
 
-Window_PrevControlId = _core.Window_PrevControlId
+    def GetLabel(*args, **kwargs):
+        """GetLabel(int id) -> String"""
+        return _core.Menu_GetLabel(*args, **kwargs)
 
-Window_FindFocus = _core.Window_FindFocus
+    def SetHelpString(*args, **kwargs):
+        """SetHelpString(int id, String helpString)"""
+        return _core.Menu_SetHelpString(*args, **kwargs)
 
-Window_GetCapture = _core.Window_GetCapture
+    def GetHelpString(*args, **kwargs):
+        """GetHelpString(int id) -> String"""
+        return _core.Menu_GetHelpString(*args, **kwargs)
 
-def DLG_PNT(win, point_or_x, y=None):
-    if y is None:
-        return win.ConvertDialogPointToPixels(point_or_x)
-    else:
-        return win.ConvertDialogPointToPixels(wxPoint(point_or_x, y))
+    def SetTitle(*args, **kwargs):
+        """SetTitle(String title)"""
+        return _core.Menu_SetTitle(*args, **kwargs)
 
-def DLG_SZE(win, size_width, height=None):
-    if height is None:
-        return win.ConvertDialogSizeToPixels(size_width)
-    else:
-        return win.ConvertDialogSizeToPixels(wxSize(size_width, height))
+    def GetTitle(*args, **kwargs):
+        """GetTitle() -> String"""
+        return _core.Menu_GetTitle(*args, **kwargs)
 
+    def SetEventHandler(*args, **kwargs):
+        """SetEventHandler(EvtHandler handler)"""
+        return _core.Menu_SetEventHandler(*args, **kwargs)
 
-FindWindowById = _core.FindWindowById
+    def GetEventHandler(*args, **kwargs):
+        """GetEventHandler() -> EvtHandler"""
+        return _core.Menu_GetEventHandler(*args, **kwargs)
 
-FindWindowByName = _core.FindWindowByName
+    def SetInvokingWindow(*args, **kwargs):
+        """SetInvokingWindow(Window win)"""
+        return _core.Menu_SetInvokingWindow(*args, **kwargs)
 
-FindWindowByLabel = _core.FindWindowByLabel
+    def GetInvokingWindow(*args, **kwargs):
+        """GetInvokingWindow() -> Window"""
+        return _core.Menu_GetInvokingWindow(*args, **kwargs)
 
-Window_FromHWND = _core.Window_FromHWND
-#---------------------------------------------------------------------------
+    def GetStyle(*args, **kwargs):
+        """GetStyle() -> long"""
+        return _core.Menu_GetStyle(*args, **kwargs)
 
-class Validator(EvtHandler):
-    def __init__(self, *args, **kwargs):
-        newobj = _core.new_Validator(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
-        self._setOORInfo(self)
-    def Clone(*args, **kwargs): return _core.Validator_Clone(*args, **kwargs)
-    def Validate(*args, **kwargs): return _core.Validator_Validate(*args, **kwargs)
-    def TransferToWindow(*args, **kwargs): return _core.Validator_TransferToWindow(*args, **kwargs)
-    def TransferFromWindow(*args, **kwargs): return _core.Validator_TransferFromWindow(*args, **kwargs)
-    def GetWindow(*args, **kwargs): return _core.Validator_GetWindow(*args, **kwargs)
-    def SetWindow(*args, **kwargs): return _core.Validator_SetWindow(*args, **kwargs)
-    IsSilent = staticmethod(_core.Validator_IsSilent)
-    SetBellOnError = staticmethod(_core.Validator_SetBellOnError)
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxValidator instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def UpdateUI(*args, **kwargs):
+        """UpdateUI(EvtHandler source=None)"""
+        return _core.Menu_UpdateUI(*args, **kwargs)
 
-class ValidatorPtr(Validator):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = Validator
-_core.Validator_swigregister(ValidatorPtr)
+    def GetMenuBar(*args, **kwargs):
+        """GetMenuBar() -> MenuBar"""
+        return _core.Menu_GetMenuBar(*args, **kwargs)
 
-Validator_IsSilent = _core.Validator_IsSilent
+    def Attach(*args, **kwargs):
+        """Attach(wxMenuBarBase menubar)"""
+        return _core.Menu_Attach(*args, **kwargs)
 
-Validator_SetBellOnError = _core.Validator_SetBellOnError
+    def Detach(*args, **kwargs):
+        """Detach()"""
+        return _core.Menu_Detach(*args, **kwargs)
 
-class PyValidator(Validator):
-    def __init__(self, *args, **kwargs):
-        newobj = _core.new_PyValidator(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
-        
-        self._setCallbackInfo(self, PyValidator, 1)
-        self._setOORInfo(self)
-    def _setCallbackInfo(*args, **kwargs): return _core.PyValidator__setCallbackInfo(*args, **kwargs)
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxPyValidator instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def IsAttached(*args, **kwargs):
+        """IsAttached() -> bool"""
+        return _core.Menu_IsAttached(*args, **kwargs)
 
-class PyValidatorPtr(PyValidator):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = PyValidator
-_core.PyValidator_swigregister(PyValidatorPtr)
+    def SetParent(*args, **kwargs):
+        """SetParent(Menu parent)"""
+        return _core.Menu_SetParent(*args, **kwargs)
 
-#---------------------------------------------------------------------------
+    def GetParent(*args, **kwargs):
+        """GetParent() -> Menu"""
+        return _core.Menu_GetParent(*args, **kwargs)
 
-class Menu(EvtHandler):
-    def __init__(self, *args, **kwargs):
-        newobj = _core.new_Menu(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
-        self._setOORInfo(self)
-    def Append(*args, **kwargs): return _core.Menu_Append(*args, **kwargs)
-    def AppendSeparator(*args, **kwargs): return _core.Menu_AppendSeparator(*args, **kwargs)
-    def AppendCheckItem(*args, **kwargs): return _core.Menu_AppendCheckItem(*args, **kwargs)
-    def AppendRadioItem(*args, **kwargs): return _core.Menu_AppendRadioItem(*args, **kwargs)
-    def AppendMenu(*args, **kwargs): return _core.Menu_AppendMenu(*args, **kwargs)
-    def AppendItem(*args, **kwargs): return _core.Menu_AppendItem(*args, **kwargs)
-    def Break(*args, **kwargs): return _core.Menu_Break(*args, **kwargs)
-    def InsertItem(*args, **kwargs): return _core.Menu_InsertItem(*args, **kwargs)
-    def Insert(*args, **kwargs): return _core.Menu_Insert(*args, **kwargs)
-    def InsertSeparator(*args, **kwargs): return _core.Menu_InsertSeparator(*args, **kwargs)
-    def InsertCheckItem(*args, **kwargs): return _core.Menu_InsertCheckItem(*args, **kwargs)
-    def InsertRadioItem(*args, **kwargs): return _core.Menu_InsertRadioItem(*args, **kwargs)
-    def InsertMenu(*args, **kwargs): return _core.Menu_InsertMenu(*args, **kwargs)
-    def PrependItem(*args, **kwargs): return _core.Menu_PrependItem(*args, **kwargs)
-    def Prepend(*args, **kwargs): return _core.Menu_Prepend(*args, **kwargs)
-    def PrependSeparator(*args, **kwargs): return _core.Menu_PrependSeparator(*args, **kwargs)
-    def PrependCheckItem(*args, **kwargs): return _core.Menu_PrependCheckItem(*args, **kwargs)
-    def PrependRadioItem(*args, **kwargs): return _core.Menu_PrependRadioItem(*args, **kwargs)
-    def PrependMenu(*args, **kwargs): return _core.Menu_PrependMenu(*args, **kwargs)
-    def Remove(*args, **kwargs): return _core.Menu_Remove(*args, **kwargs)
-    def RemoveItem(*args, **kwargs): return _core.Menu_RemoveItem(*args, **kwargs)
-    def Delete(*args, **kwargs): return _core.Menu_Delete(*args, **kwargs)
-    def DeleteItem(*args, **kwargs): return _core.Menu_DeleteItem(*args, **kwargs)
-    def Destroy(*args, **kwargs): return _core.Menu_Destroy(*args, **kwargs)
-    def DestroyId(*args, **kwargs): return _core.Menu_DestroyId(*args, **kwargs)
-    def DestroyItem(*args, **kwargs): return _core.Menu_DestroyItem(*args, **kwargs)
-    def GetMenuItemCount(*args, **kwargs): return _core.Menu_GetMenuItemCount(*args, **kwargs)
-    def GetMenuItems(*args, **kwargs): return _core.Menu_GetMenuItems(*args, **kwargs)
-    def FindItem(*args, **kwargs): return _core.Menu_FindItem(*args, **kwargs)
-    def FindItemById(*args, **kwargs): return _core.Menu_FindItemById(*args, **kwargs)
-    def FindItemByPosition(*args, **kwargs): return _core.Menu_FindItemByPosition(*args, **kwargs)
-    def Enable(*args, **kwargs): return _core.Menu_Enable(*args, **kwargs)
-    def IsEnabled(*args, **kwargs): return _core.Menu_IsEnabled(*args, **kwargs)
-    def Check(*args, **kwargs): return _core.Menu_Check(*args, **kwargs)
-    def IsChecked(*args, **kwargs): return _core.Menu_IsChecked(*args, **kwargs)
-    def SetLabel(*args, **kwargs): return _core.Menu_SetLabel(*args, **kwargs)
-    def GetLabel(*args, **kwargs): return _core.Menu_GetLabel(*args, **kwargs)
-    def SetHelpString(*args, **kwargs): return _core.Menu_SetHelpString(*args, **kwargs)
-    def GetHelpString(*args, **kwargs): return _core.Menu_GetHelpString(*args, **kwargs)
-    def SetTitle(*args, **kwargs): return _core.Menu_SetTitle(*args, **kwargs)
-    def GetTitle(*args, **kwargs): return _core.Menu_GetTitle(*args, **kwargs)
-    def SetEventHandler(*args, **kwargs): return _core.Menu_SetEventHandler(*args, **kwargs)
-    def GetEventHandler(*args, **kwargs): return _core.Menu_GetEventHandler(*args, **kwargs)
-    def SetInvokingWindow(*args, **kwargs): return _core.Menu_SetInvokingWindow(*args, **kwargs)
-    def GetInvokingWindow(*args, **kwargs): return _core.Menu_GetInvokingWindow(*args, **kwargs)
-    def GetStyle(*args, **kwargs): return _core.Menu_GetStyle(*args, **kwargs)
-    def UpdateUI(*args, **kwargs): return _core.Menu_UpdateUI(*args, **kwargs)
-    def GetMenuBar(*args, **kwargs): return _core.Menu_GetMenuBar(*args, **kwargs)
-    def Attach(*args, **kwargs): return _core.Menu_Attach(*args, **kwargs)
-    def Detach(*args, **kwargs): return _core.Menu_Detach(*args, **kwargs)
-    def IsAttached(*args, **kwargs): return _core.Menu_IsAttached(*args, **kwargs)
-    def SetParent(*args, **kwargs): return _core.Menu_SetParent(*args, **kwargs)
-    def GetParent(*args, **kwargs): return _core.Menu_GetParent(*args, **kwargs)
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxMenu instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
 
 class MenuPtr(Menu):
     def __init__(self, this):
@@ -3508,39 +7511,116 @@ DefaultValidator = cvar.DefaultValidator
 #---------------------------------------------------------------------------
 
 class MenuBar(Window):
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxMenuBar instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     def __init__(self, *args, **kwargs):
+        """__init__(long style=0) -> MenuBar"""
         newobj = _core.new_MenuBar(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
         del newobj.thisown
         self._setOORInfo(self)
-    def Append(*args, **kwargs): return _core.MenuBar_Append(*args, **kwargs)
-    def Insert(*args, **kwargs): return _core.MenuBar_Insert(*args, **kwargs)
-    def GetMenuCount(*args, **kwargs): return _core.MenuBar_GetMenuCount(*args, **kwargs)
-    def GetMenu(*args, **kwargs): return _core.MenuBar_GetMenu(*args, **kwargs)
-    def Replace(*args, **kwargs): return _core.MenuBar_Replace(*args, **kwargs)
-    def Remove(*args, **kwargs): return _core.MenuBar_Remove(*args, **kwargs)
-    def EnableTop(*args, **kwargs): return _core.MenuBar_EnableTop(*args, **kwargs)
-    def IsEnabledTop(*args, **kwargs): return _core.MenuBar_IsEnabledTop(*args, **kwargs)
-    def SetLabelTop(*args, **kwargs): return _core.MenuBar_SetLabelTop(*args, **kwargs)
-    def GetLabelTop(*args, **kwargs): return _core.MenuBar_GetLabelTop(*args, **kwargs)
-    def FindMenuItem(*args, **kwargs): return _core.MenuBar_FindMenuItem(*args, **kwargs)
-    def FindItemById(*args, **kwargs): return _core.MenuBar_FindItemById(*args, **kwargs)
-    def FindMenu(*args, **kwargs): return _core.MenuBar_FindMenu(*args, **kwargs)
-    def Enable(*args, **kwargs): return _core.MenuBar_Enable(*args, **kwargs)
-    def Check(*args, **kwargs): return _core.MenuBar_Check(*args, **kwargs)
-    def IsChecked(*args, **kwargs): return _core.MenuBar_IsChecked(*args, **kwargs)
-    def IsEnabled(*args, **kwargs): return _core.MenuBar_IsEnabled(*args, **kwargs)
-    def SetLabel(*args, **kwargs): return _core.MenuBar_SetLabel(*args, **kwargs)
-    def GetLabel(*args, **kwargs): return _core.MenuBar_GetLabel(*args, **kwargs)
-    def SetHelpString(*args, **kwargs): return _core.MenuBar_SetHelpString(*args, **kwargs)
-    def GetHelpString(*args, **kwargs): return _core.MenuBar_GetHelpString(*args, **kwargs)
-    def GetFrame(*args, **kwargs): return _core.MenuBar_GetFrame(*args, **kwargs)
-    def IsAttached(*args, **kwargs): return _core.MenuBar_IsAttached(*args, **kwargs)
-    def Attach(*args, **kwargs): return _core.MenuBar_Attach(*args, **kwargs)
-    def Detach(*args, **kwargs): return _core.MenuBar_Detach(*args, **kwargs)
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxMenuBar instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+
+    def Append(*args, **kwargs):
+        """Append(Menu menu, String title) -> bool"""
+        return _core.MenuBar_Append(*args, **kwargs)
+
+    def Insert(*args, **kwargs):
+        """Insert(size_t pos, Menu menu, String title) -> bool"""
+        return _core.MenuBar_Insert(*args, **kwargs)
+
+    def GetMenuCount(*args, **kwargs):
+        """GetMenuCount() -> size_t"""
+        return _core.MenuBar_GetMenuCount(*args, **kwargs)
+
+    def GetMenu(*args, **kwargs):
+        """GetMenu(size_t pos) -> Menu"""
+        return _core.MenuBar_GetMenu(*args, **kwargs)
+
+    def Replace(*args, **kwargs):
+        """Replace(size_t pos, Menu menu, String title) -> Menu"""
+        return _core.MenuBar_Replace(*args, **kwargs)
+
+    def Remove(*args, **kwargs):
+        """Remove(size_t pos) -> Menu"""
+        return _core.MenuBar_Remove(*args, **kwargs)
+
+    def EnableTop(*args, **kwargs):
+        """EnableTop(size_t pos, bool enable)"""
+        return _core.MenuBar_EnableTop(*args, **kwargs)
+
+    def IsEnabledTop(*args, **kwargs):
+        """IsEnabledTop(size_t pos) -> bool"""
+        return _core.MenuBar_IsEnabledTop(*args, **kwargs)
+
+    def SetLabelTop(*args, **kwargs):
+        """SetLabelTop(size_t pos, String label)"""
+        return _core.MenuBar_SetLabelTop(*args, **kwargs)
+
+    def GetLabelTop(*args, **kwargs):
+        """GetLabelTop(size_t pos) -> String"""
+        return _core.MenuBar_GetLabelTop(*args, **kwargs)
+
+    def FindMenuItem(*args, **kwargs):
+        """FindMenuItem(String menu, String item) -> int"""
+        return _core.MenuBar_FindMenuItem(*args, **kwargs)
+
+    def FindItemById(*args, **kwargs):
+        """FindItemById(int id) -> MenuItem"""
+        return _core.MenuBar_FindItemById(*args, **kwargs)
+
+    def FindMenu(*args, **kwargs):
+        """FindMenu(String title) -> int"""
+        return _core.MenuBar_FindMenu(*args, **kwargs)
+
+    def Enable(*args, **kwargs):
+        """Enable(int id, bool enable)"""
+        return _core.MenuBar_Enable(*args, **kwargs)
+
+    def Check(*args, **kwargs):
+        """Check(int id, bool check)"""
+        return _core.MenuBar_Check(*args, **kwargs)
+
+    def IsChecked(*args, **kwargs):
+        """IsChecked(int id) -> bool"""
+        return _core.MenuBar_IsChecked(*args, **kwargs)
+
+    def IsEnabled(*args, **kwargs):
+        """IsEnabled(int id) -> bool"""
+        return _core.MenuBar_IsEnabled(*args, **kwargs)
+
+    def SetLabel(*args, **kwargs):
+        """SetLabel(int id, String label)"""
+        return _core.MenuBar_SetLabel(*args, **kwargs)
+
+    def GetLabel(*args, **kwargs):
+        """GetLabel(int id) -> String"""
+        return _core.MenuBar_GetLabel(*args, **kwargs)
+
+    def SetHelpString(*args, **kwargs):
+        """SetHelpString(int id, String helpString)"""
+        return _core.MenuBar_SetHelpString(*args, **kwargs)
+
+    def GetHelpString(*args, **kwargs):
+        """GetHelpString(int id) -> String"""
+        return _core.MenuBar_GetHelpString(*args, **kwargs)
+
+    def GetFrame(*args, **kwargs):
+        """GetFrame() -> wxFrame"""
+        return _core.MenuBar_GetFrame(*args, **kwargs)
+
+    def IsAttached(*args, **kwargs):
+        """IsAttached() -> bool"""
+        return _core.MenuBar_IsAttached(*args, **kwargs)
+
+    def Attach(*args, **kwargs):
+        """Attach(wxFrame frame)"""
+        return _core.MenuBar_Attach(*args, **kwargs)
+
+    def Detach(*args, **kwargs):
+        """Detach()"""
+        return _core.MenuBar_Detach(*args, **kwargs)
+
 
 class MenuBarPtr(MenuBar):
     def __init__(self, this):
@@ -3552,40 +7632,128 @@ _core.MenuBar_swigregister(MenuBarPtr)
 #---------------------------------------------------------------------------
 
 class MenuItem(Object):
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxMenuItem instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     def __init__(self, *args, **kwargs):
+        """
+        __init__(Menu parentMenu=None, int id=ID_SEPARATOR, String text=EmptyString, 
+            String help=EmptyString, int kind=ITEM_NORMAL, 
+            Menu subMenu=None) -> MenuItem
+        """
         newobj = _core.new_MenuItem(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
         del newobj.thisown
-    def GetMenu(*args, **kwargs): return _core.MenuItem_GetMenu(*args, **kwargs)
-    def SetMenu(*args, **kwargs): return _core.MenuItem_SetMenu(*args, **kwargs)
-    def SetId(*args, **kwargs): return _core.MenuItem_SetId(*args, **kwargs)
-    def GetId(*args, **kwargs): return _core.MenuItem_GetId(*args, **kwargs)
-    def IsSeparator(*args, **kwargs): return _core.MenuItem_IsSeparator(*args, **kwargs)
-    def SetText(*args, **kwargs): return _core.MenuItem_SetText(*args, **kwargs)
-    def GetLabel(*args, **kwargs): return _core.MenuItem_GetLabel(*args, **kwargs)
-    def GetText(*args, **kwargs): return _core.MenuItem_GetText(*args, **kwargs)
-    GetLabelFromText = staticmethod(_core.MenuItem_GetLabelFromText)
-    def GetKind(*args, **kwargs): return _core.MenuItem_GetKind(*args, **kwargs)
-    def SetCheckable(*args, **kwargs): return _core.MenuItem_SetCheckable(*args, **kwargs)
-    def IsCheckable(*args, **kwargs): return _core.MenuItem_IsCheckable(*args, **kwargs)
-    def IsSubMenu(*args, **kwargs): return _core.MenuItem_IsSubMenu(*args, **kwargs)
-    def SetSubMenu(*args, **kwargs): return _core.MenuItem_SetSubMenu(*args, **kwargs)
-    def GetSubMenu(*args, **kwargs): return _core.MenuItem_GetSubMenu(*args, **kwargs)
-    def Enable(*args, **kwargs): return _core.MenuItem_Enable(*args, **kwargs)
-    def IsEnabled(*args, **kwargs): return _core.MenuItem_IsEnabled(*args, **kwargs)
-    def Check(*args, **kwargs): return _core.MenuItem_Check(*args, **kwargs)
-    def IsChecked(*args, **kwargs): return _core.MenuItem_IsChecked(*args, **kwargs)
-    def Toggle(*args, **kwargs): return _core.MenuItem_Toggle(*args, **kwargs)
-    def SetHelp(*args, **kwargs): return _core.MenuItem_SetHelp(*args, **kwargs)
-    def GetHelp(*args, **kwargs): return _core.MenuItem_GetHelp(*args, **kwargs)
-    def GetAccel(*args, **kwargs): return _core.MenuItem_GetAccel(*args, **kwargs)
-    def SetAccel(*args, **kwargs): return _core.MenuItem_SetAccel(*args, **kwargs)
-    GetDefaultMarginWidth = staticmethod(_core.MenuItem_GetDefaultMarginWidth)
-    def SetBitmap(*args, **kwargs): return _core.MenuItem_SetBitmap(*args, **kwargs)
-    def GetBitmap(*args, **kwargs): return _core.MenuItem_GetBitmap(*args, **kwargs)
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxMenuItem instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def GetMenu(*args, **kwargs):
+        """GetMenu() -> Menu"""
+        return _core.MenuItem_GetMenu(*args, **kwargs)
+
+    def SetMenu(*args, **kwargs):
+        """SetMenu(Menu menu)"""
+        return _core.MenuItem_SetMenu(*args, **kwargs)
+
+    def SetId(*args, **kwargs):
+        """SetId(int id)"""
+        return _core.MenuItem_SetId(*args, **kwargs)
+
+    def GetId(*args, **kwargs):
+        """GetId() -> int"""
+        return _core.MenuItem_GetId(*args, **kwargs)
+
+    def IsSeparator(*args, **kwargs):
+        """IsSeparator() -> bool"""
+        return _core.MenuItem_IsSeparator(*args, **kwargs)
+
+    def SetText(*args, **kwargs):
+        """SetText(String str)"""
+        return _core.MenuItem_SetText(*args, **kwargs)
+
+    def GetLabel(*args, **kwargs):
+        """GetLabel() -> String"""
+        return _core.MenuItem_GetLabel(*args, **kwargs)
+
+    def GetText(*args, **kwargs):
+        """GetText() -> String"""
+        return _core.MenuItem_GetText(*args, **kwargs)
+
+    def GetLabelFromText(*args, **kwargs):
+        """GetLabelFromText(String text) -> String"""
+        return _core.MenuItem_GetLabelFromText(*args, **kwargs)
+
+    GetLabelFromText = staticmethod(GetLabelFromText)
+    def GetKind(*args, **kwargs):
+        """GetKind() -> int"""
+        return _core.MenuItem_GetKind(*args, **kwargs)
+
+    def SetCheckable(*args, **kwargs):
+        """SetCheckable(bool checkable)"""
+        return _core.MenuItem_SetCheckable(*args, **kwargs)
+
+    def IsCheckable(*args, **kwargs):
+        """IsCheckable() -> bool"""
+        return _core.MenuItem_IsCheckable(*args, **kwargs)
+
+    def IsSubMenu(*args, **kwargs):
+        """IsSubMenu() -> bool"""
+        return _core.MenuItem_IsSubMenu(*args, **kwargs)
+
+    def SetSubMenu(*args, **kwargs):
+        """SetSubMenu(Menu menu)"""
+        return _core.MenuItem_SetSubMenu(*args, **kwargs)
+
+    def GetSubMenu(*args, **kwargs):
+        """GetSubMenu() -> Menu"""
+        return _core.MenuItem_GetSubMenu(*args, **kwargs)
+
+    def Enable(*args, **kwargs):
+        """Enable(bool enable=True)"""
+        return _core.MenuItem_Enable(*args, **kwargs)
+
+    def IsEnabled(*args, **kwargs):
+        """IsEnabled() -> bool"""
+        return _core.MenuItem_IsEnabled(*args, **kwargs)
+
+    def Check(*args, **kwargs):
+        """Check(bool check=True)"""
+        return _core.MenuItem_Check(*args, **kwargs)
+
+    def IsChecked(*args, **kwargs):
+        """IsChecked() -> bool"""
+        return _core.MenuItem_IsChecked(*args, **kwargs)
+
+    def Toggle(*args, **kwargs):
+        """Toggle()"""
+        return _core.MenuItem_Toggle(*args, **kwargs)
+
+    def SetHelp(*args, **kwargs):
+        """SetHelp(String str)"""
+        return _core.MenuItem_SetHelp(*args, **kwargs)
+
+    def GetHelp(*args, **kwargs):
+        """GetHelp() -> String"""
+        return _core.MenuItem_GetHelp(*args, **kwargs)
+
+    def GetAccel(*args, **kwargs):
+        """GetAccel() -> AcceleratorEntry"""
+        return _core.MenuItem_GetAccel(*args, **kwargs)
+
+    def SetAccel(*args, **kwargs):
+        """SetAccel(AcceleratorEntry accel)"""
+        return _core.MenuItem_SetAccel(*args, **kwargs)
+
+    def GetDefaultMarginWidth(*args, **kwargs):
+        """GetDefaultMarginWidth() -> int"""
+        return _core.MenuItem_GetDefaultMarginWidth(*args, **kwargs)
+
+    GetDefaultMarginWidth = staticmethod(GetDefaultMarginWidth)
+    def SetBitmap(*args, **kwargs):
+        """SetBitmap(Bitmap bitmap)"""
+        return _core.MenuItem_SetBitmap(*args, **kwargs)
+
+    def GetBitmap(*args, **kwargs):
+        """GetBitmap() -> Bitmap"""
+        return _core.MenuItem_GetBitmap(*args, **kwargs)
+
 
 class MenuItemPtr(MenuItem):
     def __init__(self, this):
@@ -3594,25 +7762,75 @@ class MenuItemPtr(MenuItem):
         self.__class__ = MenuItem
 _core.MenuItem_swigregister(MenuItemPtr)
 
-MenuItem_GetLabelFromText = _core.MenuItem_GetLabelFromText
+def MenuItem_GetLabelFromText(*args, **kwargs):
+    """MenuItem_GetLabelFromText(String text) -> String"""
+    return _core.MenuItem_GetLabelFromText(*args, **kwargs)
 
-MenuItem_GetDefaultMarginWidth = _core.MenuItem_GetDefaultMarginWidth
+def MenuItem_GetDefaultMarginWidth(*args, **kwargs):
+    """MenuItem_GetDefaultMarginWidth() -> int"""
+    return _core.MenuItem_GetDefaultMarginWidth(*args, **kwargs)
 
 #---------------------------------------------------------------------------
 
 class Control(Window):
+    """
+    This is the base class for a control or 'widget'.
+
+    A control is generally a small window which processes user input and/or
+    displays one or more item of data.
+    """
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxControl instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     def __init__(self, *args, **kwargs):
+        """
+        __init__(Window parent, int id, Point pos=DefaultPosition, Size size=DefaultSize, 
+            long style=0, Validator validator=DefaultValidator, 
+            String name=ControlNameStr) -> Control
+
+        Create a Control.  Normally you should only call this from a
+        subclass' __init__ as a plain old wx.Control is not very useful.
+        """
         newobj = _core.new_Control(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
         del newobj.thisown
         self._setOORInfo(self)
-    def Create(*args, **kwargs): return _core.Control_Create(*args, **kwargs)
-    def Command(*args, **kwargs): return _core.Control_Command(*args, **kwargs)
-    def GetLabel(*args, **kwargs): return _core.Control_GetLabel(*args, **kwargs)
-    def SetLabel(*args, **kwargs): return _core.Control_SetLabel(*args, **kwargs)
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxControl instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+
+    def Create(*args, **kwargs):
+        """
+        Create(Window parent, int id, Point pos=DefaultPosition, Size size=DefaultSize, 
+            long style=0, Validator validator=DefaultValidator, 
+            String name=ControlNameStr) -> bool
+
+        Do the 2nd phase and create the GUI control.
+        """
+        return _core.Control_Create(*args, **kwargs)
+
+    def Command(*args, **kwargs):
+        """
+        Command(CommandEvent event)
+
+        Simulates the effect of the user issuing a command to the
+        item. See wxCommandEvent.
+        """
+        return _core.Control_Command(*args, **kwargs)
+
+    def GetLabel(*args, **kwargs):
+        """
+        GetLabel() -> String
+
+        Return a control's text.
+        """
+        return _core.Control_GetLabel(*args, **kwargs)
+
+    def SetLabel(*args, **kwargs):
+        """
+        SetLabel(String label)
+
+        Sets the item's text.
+        """
+        return _core.Control_SetLabel(*args, **kwargs)
+
 
 class ControlPtr(Control):
     def __init__(self, this):
@@ -3620,8 +7838,14 @@ class ControlPtr(Control):
         if not hasattr(self,"thisown"): self.thisown = 0
         self.__class__ = Control
 _core.Control_swigregister(ControlPtr)
+ControlNameStr = cvar.ControlNameStr
 
 def PreControl(*args, **kwargs):
+    """
+    PreControl() -> Control
+
+    Precreate a Control control for 2-phase creation
+    """
     val = _core.new_PreControl(*args, **kwargs)
     val.thisown = 1
     return val
@@ -3629,25 +7853,160 @@ def PreControl(*args, **kwargs):
 #---------------------------------------------------------------------------
 
 class ItemContainer(object):
-    def Append(*args, **kwargs): return _core.ItemContainer_Append(*args, **kwargs)
-    def AppendItems(*args, **kwargs): return _core.ItemContainer_AppendItems(*args, **kwargs)
-    def Insert(*args, **kwargs): return _core.ItemContainer_Insert(*args, **kwargs)
-    def Clear(*args, **kwargs): return _core.ItemContainer_Clear(*args, **kwargs)
-    def Delete(*args, **kwargs): return _core.ItemContainer_Delete(*args, **kwargs)
-    def GetCount(*args, **kwargs): return _core.ItemContainer_GetCount(*args, **kwargs)
-    def IsEmpty(*args, **kwargs): return _core.ItemContainer_IsEmpty(*args, **kwargs)
-    def GetString(*args, **kwargs): return _core.ItemContainer_GetString(*args, **kwargs)
-    def GetStrings(*args, **kwargs): return _core.ItemContainer_GetStrings(*args, **kwargs)
-    def SetString(*args, **kwargs): return _core.ItemContainer_SetString(*args, **kwargs)
-    def FindString(*args, **kwargs): return _core.ItemContainer_FindString(*args, **kwargs)
-    def Select(*args, **kwargs): return _core.ItemContainer_Select(*args, **kwargs)
-    def GetSelection(*args, **kwargs): return _core.ItemContainer_GetSelection(*args, **kwargs)
-    def GetStringSelection(*args, **kwargs): return _core.ItemContainer_GetStringSelection(*args, **kwargs)
-    def GetClientData(*args, **kwargs): return _core.ItemContainer_GetClientData(*args, **kwargs)
-    def SetClientData(*args, **kwargs): return _core.ItemContainer_SetClientData(*args, **kwargs)
+    """
+    wx.ItemContainer defines an interface which is implemented by all
+    controls which have string subitems, each of which may be
+    selected, such as wx.ListBox, wx.CheckListBox, wx.Choice and
+    wx.ComboBox (which implements an extended interface deriving from
+    this one)
+
+    It defines the methods for accessing the control's items and
+    although each of the derived classes implements them differently,
+    they still all conform to the same interface.
+
+    The items in a wx.ItemContainer have (non empty) string labels
+    and, optionally, client data associated with them.
+
+    """
     def __init__(self): raise RuntimeError, "No constructor defined"
     def __repr__(self):
         return "<%s.%s; proxy of C++ wxItemContainer instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def Append(*args, **kwargs):
+        """
+        Append(String item, PyObject clientData=None) -> int
+
+        Adds the item to the control, associating the given data with the
+        item if not None.  The return value is the index of the newly
+        added item which may be different from the last one if the
+        control is sorted (e.g. has wx.LB_SORT or wx.CB_SORT style).
+        """
+        return _core.ItemContainer_Append(*args, **kwargs)
+
+    def AppendItems(*args, **kwargs):
+        """
+        AppendItems(wxArrayString strings)
+
+        Apend several items at once to the control.  Notice that calling
+        this method may be much faster than appending the items one by
+        one if you need to add a lot of items.
+        """
+        return _core.ItemContainer_AppendItems(*args, **kwargs)
+
+    def Insert(*args, **kwargs):
+        """
+        Insert(String item, int pos, PyObject clientData=None) -> int
+
+        Insert an item into the control before the item at the pos index,
+        optionally associating some data object with the item.
+        """
+        return _core.ItemContainer_Insert(*args, **kwargs)
+
+    def Clear(*args, **kwargs):
+        """
+        Clear()
+
+        Removes all items from the control.
+        """
+        return _core.ItemContainer_Clear(*args, **kwargs)
+
+    def Delete(*args, **kwargs):
+        """
+        Delete(int n)
+
+        Deletes the item at the zero-based index 'n' from the control.
+        Note that it is an error (signalled by a PyAssertionError
+        exception if enabled) to remove an item with the index negative
+        or greater or equal than the number of items in the control.
+        """
+        return _core.ItemContainer_Delete(*args, **kwargs)
+
+    def GetCount(*args, **kwargs):
+        """
+        GetCount() -> int
+
+        Returns the number of items in the control.
+        """
+        return _core.ItemContainer_GetCount(*args, **kwargs)
+
+    def IsEmpty(*args, **kwargs):
+        """
+        IsEmpty() -> bool
+
+        Returns True if the control is empty or False if it has some items.
+        """
+        return _core.ItemContainer_IsEmpty(*args, **kwargs)
+
+    def GetString(*args, **kwargs):
+        """
+        GetString(int n) -> String
+
+        Returns the label of the item with the given index.
+        """
+        return _core.ItemContainer_GetString(*args, **kwargs)
+
+    def GetStrings(*args, **kwargs):
+        """GetStrings() -> wxArrayString"""
+        return _core.ItemContainer_GetStrings(*args, **kwargs)
+
+    def SetString(*args, **kwargs):
+        """
+        SetString(int n, String s)
+
+        Sets the label for the given item.
+        """
+        return _core.ItemContainer_SetString(*args, **kwargs)
+
+    def FindString(*args, **kwargs):
+        """
+        FindString(String s) -> int
+
+        Finds an item whose label matches the given string.  Returns the
+        zero-based position of the item, or wx.NOT_FOUND if the string
+        was not found.
+        """
+        return _core.ItemContainer_FindString(*args, **kwargs)
+
+    def Select(*args, **kwargs):
+        """
+        Select(int n)
+
+        Sets the item at index 'n' to be the selected item.
+        """
+        return _core.ItemContainer_Select(*args, **kwargs)
+
+    SetSelection = Select 
+    def GetSelection(*args, **kwargs):
+        """
+        GetSelection() -> int
+
+        Returns the index of the selected item or wx.NOT_FOUND if no item is selected.
+        """
+        return _core.ItemContainer_GetSelection(*args, **kwargs)
+
+    def GetStringSelection(*args, **kwargs):
+        """
+        GetStringSelection() -> String
+
+        Returns the label of the selected item or an empty string if no item is selected.
+        """
+        return _core.ItemContainer_GetStringSelection(*args, **kwargs)
+
+    def GetClientData(*args, **kwargs):
+        """
+        GetClientData(int n) -> PyObject
+
+        Returns the client data associated with the given item, (if any.)
+        """
+        return _core.ItemContainer_GetClientData(*args, **kwargs)
+
+    def SetClientData(*args, **kwargs):
+        """
+        SetClientData(int n, PyObject clientData)
+
+        Associate the given client data with the item at position n.
+        """
+        return _core.ItemContainer_SetClientData(*args, **kwargs)
+
 
 class ItemContainerPtr(ItemContainer):
     def __init__(self, this):
@@ -3659,6 +8018,11 @@ _core.ItemContainer_swigregister(ItemContainerPtr)
 #---------------------------------------------------------------------------
 
 class ControlWithItems(Control,ItemContainer):
+    """
+    wx.ControlWithItems combines the wx.ItemContainer class with the
+    wx.Control class, and is used for the base class of various
+    controls that have items.
+    """
     def __init__(self): raise RuntimeError, "No constructor defined"
     def __repr__(self):
         return "<%s.%s; proxy of C++ wxControlWithItems instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
@@ -3673,43 +8037,134 @@ _core.ControlWithItems_swigregister(ControlWithItemsPtr)
 #---------------------------------------------------------------------------
 
 class SizerItem(Object):
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxSizerItem instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     def __init__(self, *args, **kwargs):
+        """__init__() -> SizerItem"""
         newobj = _core.new_SizerItem(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
         del newobj.thisown
-    def DeleteWindows(*args, **kwargs): return _core.SizerItem_DeleteWindows(*args, **kwargs)
-    def DetachSizer(*args, **kwargs): return _core.SizerItem_DetachSizer(*args, **kwargs)
-    def GetSize(*args, **kwargs): return _core.SizerItem_GetSize(*args, **kwargs)
-    def CalcMin(*args, **kwargs): return _core.SizerItem_CalcMin(*args, **kwargs)
-    def SetDimension(*args, **kwargs): return _core.SizerItem_SetDimension(*args, **kwargs)
-    def GetMinSize(*args, **kwargs): return _core.SizerItem_GetMinSize(*args, **kwargs)
-    def SetInitSize(*args, **kwargs): return _core.SizerItem_SetInitSize(*args, **kwargs)
-    def SetRatioWH(*args, **kwargs): return _core.SizerItem_SetRatioWH(*args, **kwargs)
-    def SetRatioSize(*args, **kwargs): return _core.SizerItem_SetRatioSize(*args, **kwargs)
-    def SetRatio(*args, **kwargs): return _core.SizerItem_SetRatio(*args, **kwargs)
-    def GetRatio(*args, **kwargs): return _core.SizerItem_GetRatio(*args, **kwargs)
-    def IsWindow(*args, **kwargs): return _core.SizerItem_IsWindow(*args, **kwargs)
-    def IsSizer(*args, **kwargs): return _core.SizerItem_IsSizer(*args, **kwargs)
-    def IsSpacer(*args, **kwargs): return _core.SizerItem_IsSpacer(*args, **kwargs)
-    def SetProportion(*args, **kwargs): return _core.SizerItem_SetProportion(*args, **kwargs)
-    def GetProportion(*args, **kwargs): return _core.SizerItem_GetProportion(*args, **kwargs)
-    def SetFlag(*args, **kwargs): return _core.SizerItem_SetFlag(*args, **kwargs)
-    def GetFlag(*args, **kwargs): return _core.SizerItem_GetFlag(*args, **kwargs)
-    def SetBorder(*args, **kwargs): return _core.SizerItem_SetBorder(*args, **kwargs)
-    def GetBorder(*args, **kwargs): return _core.SizerItem_GetBorder(*args, **kwargs)
-    def GetWindow(*args, **kwargs): return _core.SizerItem_GetWindow(*args, **kwargs)
-    def SetWindow(*args, **kwargs): return _core.SizerItem_SetWindow(*args, **kwargs)
-    def GetSizer(*args, **kwargs): return _core.SizerItem_GetSizer(*args, **kwargs)
-    def SetSizer(*args, **kwargs): return _core.SizerItem_SetSizer(*args, **kwargs)
-    def GetSpacer(*args, **kwargs): return _core.SizerItem_GetSpacer(*args, **kwargs)
-    def SetSpacer(*args, **kwargs): return _core.SizerItem_SetSpacer(*args, **kwargs)
-    def Show(*args, **kwargs): return _core.SizerItem_Show(*args, **kwargs)
-    def IsShown(*args, **kwargs): return _core.SizerItem_IsShown(*args, **kwargs)
-    def GetPosition(*args, **kwargs): return _core.SizerItem_GetPosition(*args, **kwargs)
-    def GetUserData(*args, **kwargs): return _core.SizerItem_GetUserData(*args, **kwargs)
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxSizerItem instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def DeleteWindows(*args, **kwargs):
+        """DeleteWindows()"""
+        return _core.SizerItem_DeleteWindows(*args, **kwargs)
+
+    def DetachSizer(*args, **kwargs):
+        """DetachSizer()"""
+        return _core.SizerItem_DetachSizer(*args, **kwargs)
+
+    def GetSize(*args, **kwargs):
+        """GetSize() -> Size"""
+        return _core.SizerItem_GetSize(*args, **kwargs)
+
+    def CalcMin(*args, **kwargs):
+        """CalcMin() -> Size"""
+        return _core.SizerItem_CalcMin(*args, **kwargs)
+
+    def SetDimension(*args, **kwargs):
+        """SetDimension(Point pos, Size size)"""
+        return _core.SizerItem_SetDimension(*args, **kwargs)
+
+    def GetMinSize(*args, **kwargs):
+        """GetMinSize() -> Size"""
+        return _core.SizerItem_GetMinSize(*args, **kwargs)
+
+    def SetInitSize(*args, **kwargs):
+        """SetInitSize(int x, int y)"""
+        return _core.SizerItem_SetInitSize(*args, **kwargs)
+
+    def SetRatioWH(*args, **kwargs):
+        """SetRatioWH(int width, int height)"""
+        return _core.SizerItem_SetRatioWH(*args, **kwargs)
+
+    def SetRatioSize(*args, **kwargs):
+        """SetRatioSize(Size size)"""
+        return _core.SizerItem_SetRatioSize(*args, **kwargs)
+
+    def SetRatio(*args, **kwargs):
+        """SetRatio(float ratio)"""
+        return _core.SizerItem_SetRatio(*args, **kwargs)
+
+    def GetRatio(*args, **kwargs):
+        """GetRatio() -> float"""
+        return _core.SizerItem_GetRatio(*args, **kwargs)
+
+    def IsWindow(*args, **kwargs):
+        """IsWindow() -> bool"""
+        return _core.SizerItem_IsWindow(*args, **kwargs)
+
+    def IsSizer(*args, **kwargs):
+        """IsSizer() -> bool"""
+        return _core.SizerItem_IsSizer(*args, **kwargs)
+
+    def IsSpacer(*args, **kwargs):
+        """IsSpacer() -> bool"""
+        return _core.SizerItem_IsSpacer(*args, **kwargs)
+
+    def SetProportion(*args, **kwargs):
+        """SetProportion(int proportion)"""
+        return _core.SizerItem_SetProportion(*args, **kwargs)
+
+    def GetProportion(*args, **kwargs):
+        """GetProportion() -> int"""
+        return _core.SizerItem_GetProportion(*args, **kwargs)
+
+    def SetFlag(*args, **kwargs):
+        """SetFlag(int flag)"""
+        return _core.SizerItem_SetFlag(*args, **kwargs)
+
+    def GetFlag(*args, **kwargs):
+        """GetFlag() -> int"""
+        return _core.SizerItem_GetFlag(*args, **kwargs)
+
+    def SetBorder(*args, **kwargs):
+        """SetBorder(int border)"""
+        return _core.SizerItem_SetBorder(*args, **kwargs)
+
+    def GetBorder(*args, **kwargs):
+        """GetBorder() -> int"""
+        return _core.SizerItem_GetBorder(*args, **kwargs)
+
+    def GetWindow(*args, **kwargs):
+        """GetWindow() -> Window"""
+        return _core.SizerItem_GetWindow(*args, **kwargs)
+
+    def SetWindow(*args, **kwargs):
+        """SetWindow(Window window)"""
+        return _core.SizerItem_SetWindow(*args, **kwargs)
+
+    def GetSizer(*args, **kwargs):
+        """GetSizer() -> Sizer"""
+        return _core.SizerItem_GetSizer(*args, **kwargs)
+
+    def SetSizer(*args, **kwargs):
+        """SetSizer(Sizer sizer)"""
+        return _core.SizerItem_SetSizer(*args, **kwargs)
+
+    def GetSpacer(*args, **kwargs):
+        """GetSpacer() -> Size"""
+        return _core.SizerItem_GetSpacer(*args, **kwargs)
+
+    def SetSpacer(*args, **kwargs):
+        """SetSpacer(Size size)"""
+        return _core.SizerItem_SetSpacer(*args, **kwargs)
+
+    def Show(*args, **kwargs):
+        """Show(bool show)"""
+        return _core.SizerItem_Show(*args, **kwargs)
+
+    def IsShown(*args, **kwargs):
+        """IsShown() -> bool"""
+        return _core.SizerItem_IsShown(*args, **kwargs)
+
+    def GetPosition(*args, **kwargs):
+        """GetPosition() -> Point"""
+        return _core.SizerItem_GetPosition(*args, **kwargs)
+
+    def GetUserData(*args, **kwargs):
+        """GetUserData() -> PyObject"""
+        return _core.SizerItem_GetUserData(*args, **kwargs)
+
 
 class SizerItemPtr(SizerItem):
     def __init__(self, this):
@@ -3719,37 +8174,88 @@ class SizerItemPtr(SizerItem):
 _core.SizerItem_swigregister(SizerItemPtr)
 
 def SizerItemSpacer(*args, **kwargs):
+    """
+    SizerItemSpacer(int width, int height, int proportion, int flag, int border, 
+        Object userData) -> SizerItem
+    """
     val = _core.new_SizerItemSpacer(*args, **kwargs)
     val.thisown = 1
     return val
 
 def SizerItemWindow(*args, **kwargs):
+    """
+    SizerItemWindow(Window window, int proportion, int flag, int border, 
+        Object userData) -> SizerItem
+    """
     val = _core.new_SizerItemWindow(*args, **kwargs)
     val.thisown = 1
     return val
 
 def SizerItemSizer(*args, **kwargs):
+    """
+    SizerItemSizer(Sizer sizer, int proportion, int flag, int border, 
+        Object userData) -> SizerItem
+    """
     val = _core.new_SizerItemSizer(*args, **kwargs)
     val.thisown = 1
     return val
 
 class Sizer(Object):
-    def _setOORInfo(*args, **kwargs): return _core.Sizer__setOORInfo(*args, **kwargs)
-    def Add(*args, **kwargs): return _core.Sizer_Add(*args, **kwargs)
-    def Insert(*args, **kwargs): return _core.Sizer_Insert(*args, **kwargs)
-    def Prepend(*args, **kwargs): return _core.Sizer_Prepend(*args, **kwargs)
-    def Remove(*args, **kwargs): return _core.Sizer_Remove(*args, **kwargs)
-    def _SetItemMinSize(*args, **kwargs): return _core.Sizer__SetItemMinSize(*args, **kwargs)
-    def AddItem(*args, **kwargs): return _core.Sizer_AddItem(*args, **kwargs)
-    def InsertItem(*args, **kwargs): return _core.Sizer_InsertItem(*args, **kwargs)
-    def PrependItem(*args, **kwargs): return _core.Sizer_PrependItem(*args, **kwargs)
+    def __init__(self): raise RuntimeError, "No constructor defined"
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxSizer instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def _setOORInfo(*args, **kwargs):
+        """_setOORInfo(PyObject _self)"""
+        return _core.Sizer__setOORInfo(*args, **kwargs)
+
+    def Add(*args, **kwargs):
+        """
+        Add(PyObject item, int proportion=0, int flag=0, int border=0, 
+            PyObject userData=None)
+        """
+        return _core.Sizer_Add(*args, **kwargs)
+
+    def Insert(*args, **kwargs):
+        """
+        Insert(int before, PyObject item, int proportion=0, int flag=0, 
+            int border=0, PyObject userData=None)
+        """
+        return _core.Sizer_Insert(*args, **kwargs)
+
+    def Prepend(*args, **kwargs):
+        """
+        Prepend(PyObject item, int proportion=0, int flag=0, int border=0, 
+            PyObject userData=None)
+        """
+        return _core.Sizer_Prepend(*args, **kwargs)
+
+    def Remove(*args, **kwargs):
+        """Remove(PyObject item) -> bool"""
+        return _core.Sizer_Remove(*args, **kwargs)
+
+    def _SetItemMinSize(*args, **kwargs):
+        """_SetItemMinSize(PyObject item, Size size)"""
+        return _core.Sizer__SetItemMinSize(*args, **kwargs)
+
+    def AddItem(*args, **kwargs):
+        """AddItem(SizerItem item)"""
+        return _core.Sizer_AddItem(*args, **kwargs)
+
+    def InsertItem(*args, **kwargs):
+        """InsertItem(size_t index, SizerItem item)"""
+        return _core.Sizer_InsertItem(*args, **kwargs)
+
+    def PrependItem(*args, **kwargs):
+        """PrependItem(SizerItem item)"""
+        return _core.Sizer_PrependItem(*args, **kwargs)
+
     def AddMany(self, widgets):
         for childinfo in widgets:
-            if type(childinfo) != type(()):
+            if type(childinfo) != type(()) or (len(childinfo) == 2 and type(childinfo[0]) == type(1)):
                 childinfo = (childinfo, )
             self.Add(*childinfo)
 
-
+    # for backwards compatibility only, please do not use in new code
     AddWindow = AddSizer = AddSpacer = Add
     PrependWindow = PrependSizer = PrependSpacer = Prepend
     InsertWindow = InsertSizer = InsertSpacer = Insert
@@ -3762,11 +8268,26 @@ class Sizer(Object):
         else:
             return self._SetItemMinSize(item, args[0])
 
-    def SetDimension(*args, **kwargs): return _core.Sizer_SetDimension(*args, **kwargs)
-    def SetMinSize(*args, **kwargs): return _core.Sizer_SetMinSize(*args, **kwargs)
-    def GetSize(*args, **kwargs): return _core.Sizer_GetSize(*args, **kwargs)
-    def GetPosition(*args, **kwargs): return _core.Sizer_GetPosition(*args, **kwargs)
-    def GetMinSize(*args, **kwargs): return _core.Sizer_GetMinSize(*args, **kwargs)
+    def SetDimension(*args, **kwargs):
+        """SetDimension(int x, int y, int width, int height)"""
+        return _core.Sizer_SetDimension(*args, **kwargs)
+
+    def SetMinSize(*args, **kwargs):
+        """SetMinSize(Size size)"""
+        return _core.Sizer_SetMinSize(*args, **kwargs)
+
+    def GetSize(*args, **kwargs):
+        """GetSize() -> Size"""
+        return _core.Sizer_GetSize(*args, **kwargs)
+
+    def GetPosition(*args, **kwargs):
+        """GetPosition() -> Point"""
+        return _core.Sizer_GetPosition(*args, **kwargs)
+
+    def GetMinSize(*args, **kwargs):
+        """GetMinSize() -> Size"""
+        return _core.Sizer_GetMinSize(*args, **kwargs)
+
     def GetSizeTuple(self):
         return self.GetSize().asTuple()
     def GetPositionTuple(self):
@@ -3774,23 +8295,62 @@ class Sizer(Object):
     def GetMinSizeTuple(self):
         return self.GetMinSize().asTuple()
 
-    def RecalcSizes(*args, **kwargs): return _core.Sizer_RecalcSizes(*args, **kwargs)
-    def CalcMin(*args, **kwargs): return _core.Sizer_CalcMin(*args, **kwargs)
-    def Layout(*args, **kwargs): return _core.Sizer_Layout(*args, **kwargs)
-    def Fit(*args, **kwargs): return _core.Sizer_Fit(*args, **kwargs)
-    def FitInside(*args, **kwargs): return _core.Sizer_FitInside(*args, **kwargs)
-    def SetSizeHints(*args, **kwargs): return _core.Sizer_SetSizeHints(*args, **kwargs)
-    def SetVirtualSizeHints(*args, **kwargs): return _core.Sizer_SetVirtualSizeHints(*args, **kwargs)
-    def Clear(*args, **kwargs): return _core.Sizer_Clear(*args, **kwargs)
-    def DeleteWindows(*args, **kwargs): return _core.Sizer_DeleteWindows(*args, **kwargs)
-    def GetChildren(*args, **kwargs): return _core.Sizer_GetChildren(*args, **kwargs)
-    def Show(*args, **kwargs): return _core.Sizer_Show(*args, **kwargs)
-    def Hide(*args, **kwargs): return _core.Sizer_Hide(*args, **kwargs)
-    def IsShown(*args, **kwargs): return _core.Sizer_IsShown(*args, **kwargs)
-    def ShowItems(*args, **kwargs): return _core.Sizer_ShowItems(*args, **kwargs)
-    def __init__(self): raise RuntimeError, "No constructor defined"
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxSizer instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def RecalcSizes(*args, **kwargs):
+        """RecalcSizes()"""
+        return _core.Sizer_RecalcSizes(*args, **kwargs)
+
+    def CalcMin(*args, **kwargs):
+        """CalcMin() -> Size"""
+        return _core.Sizer_CalcMin(*args, **kwargs)
+
+    def Layout(*args, **kwargs):
+        """Layout()"""
+        return _core.Sizer_Layout(*args, **kwargs)
+
+    def Fit(*args, **kwargs):
+        """Fit(Window window) -> Size"""
+        return _core.Sizer_Fit(*args, **kwargs)
+
+    def FitInside(*args, **kwargs):
+        """FitInside(Window window)"""
+        return _core.Sizer_FitInside(*args, **kwargs)
+
+    def SetSizeHints(*args, **kwargs):
+        """SetSizeHints(Window window)"""
+        return _core.Sizer_SetSizeHints(*args, **kwargs)
+
+    def SetVirtualSizeHints(*args, **kwargs):
+        """SetVirtualSizeHints(Window window)"""
+        return _core.Sizer_SetVirtualSizeHints(*args, **kwargs)
+
+    def Clear(*args, **kwargs):
+        """Clear(bool delete_windows=False)"""
+        return _core.Sizer_Clear(*args, **kwargs)
+
+    def DeleteWindows(*args, **kwargs):
+        """DeleteWindows()"""
+        return _core.Sizer_DeleteWindows(*args, **kwargs)
+
+    def GetChildren(*args, **kwargs):
+        """GetChildren() -> PyObject"""
+        return _core.Sizer_GetChildren(*args, **kwargs)
+
+    def Show(*args, **kwargs):
+        """Show(PyObject item, bool show=True)"""
+        return _core.Sizer_Show(*args, **kwargs)
+
+    def Hide(*args, **kwargs):
+        """Hide(PyObject item)"""
+        return _core.Sizer_Hide(*args, **kwargs)
+
+    def IsShown(*args, **kwargs):
+        """IsShown(PyObject item) -> bool"""
+        return _core.Sizer_IsShown(*args, **kwargs)
+
+    def ShowItems(*args, **kwargs):
+        """ShowItems(bool show)"""
+        return _core.Sizer_ShowItems(*args, **kwargs)
+
 
 class SizerPtr(Sizer):
     def __init__(self, this):
@@ -3800,15 +8360,20 @@ class SizerPtr(Sizer):
 _core.Sizer_swigregister(SizerPtr)
 
 class PySizer(Sizer):
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxPySizer instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     def __init__(self, *args, **kwargs):
+        """__init__() -> PySizer"""
         newobj = _core.new_PySizer(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
         del newobj.thisown
         self._setCallbackInfo(self, PySizer);self._setOORInfo(self)
-    def _setCallbackInfo(*args, **kwargs): return _core.PySizer__setCallbackInfo(*args, **kwargs)
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxPySizer instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+
+    def _setCallbackInfo(*args, **kwargs):
+        """_setCallbackInfo(PyObject self, PyObject _class)"""
+        return _core.PySizer__setCallbackInfo(*args, **kwargs)
+
 
 class PySizerPtr(PySizer):
     def __init__(self, this):
@@ -3820,18 +8385,32 @@ _core.PySizer_swigregister(PySizerPtr)
 #---------------------------------------------------------------------------
 
 class BoxSizer(Sizer):
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxBoxSizer instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     def __init__(self, *args, **kwargs):
+        """__init__(int orient=HORIZONTAL) -> BoxSizer"""
         newobj = _core.new_BoxSizer(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
         del newobj.thisown
         self._setOORInfo(self)
-    def GetOrientation(*args, **kwargs): return _core.BoxSizer_GetOrientation(*args, **kwargs)
-    def SetOrientation(*args, **kwargs): return _core.BoxSizer_SetOrientation(*args, **kwargs)
-    def RecalcSizes(*args, **kwargs): return _core.BoxSizer_RecalcSizes(*args, **kwargs)
-    def CalcMin(*args, **kwargs): return _core.BoxSizer_CalcMin(*args, **kwargs)
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxBoxSizer instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+
+    def GetOrientation(*args, **kwargs):
+        """GetOrientation() -> int"""
+        return _core.BoxSizer_GetOrientation(*args, **kwargs)
+
+    def SetOrientation(*args, **kwargs):
+        """SetOrientation(int orient)"""
+        return _core.BoxSizer_SetOrientation(*args, **kwargs)
+
+    def RecalcSizes(*args, **kwargs):
+        """RecalcSizes()"""
+        return _core.BoxSizer_RecalcSizes(*args, **kwargs)
+
+    def CalcMin(*args, **kwargs):
+        """CalcMin() -> Size"""
+        return _core.BoxSizer_CalcMin(*args, **kwargs)
+
 
 class BoxSizerPtr(BoxSizer):
     def __init__(self, this):
@@ -3843,17 +8422,28 @@ _core.BoxSizer_swigregister(BoxSizerPtr)
 #---------------------------------------------------------------------------
 
 class StaticBoxSizer(BoxSizer):
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxStaticBoxSizer instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     def __init__(self, *args, **kwargs):
+        """__init__(wxStaticBox box, int orient=HORIZONTAL) -> StaticBoxSizer"""
         newobj = _core.new_StaticBoxSizer(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
         del newobj.thisown
         self._setOORInfo(self)
-    def GetStaticBox(*args, **kwargs): return _core.StaticBoxSizer_GetStaticBox(*args, **kwargs)
-    def RecalcSizes(*args, **kwargs): return _core.StaticBoxSizer_RecalcSizes(*args, **kwargs)
-    def CalcMin(*args, **kwargs): return _core.StaticBoxSizer_CalcMin(*args, **kwargs)
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxStaticBoxSizer instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+
+    def GetStaticBox(*args, **kwargs):
+        """GetStaticBox() -> wxStaticBox"""
+        return _core.StaticBoxSizer_GetStaticBox(*args, **kwargs)
+
+    def RecalcSizes(*args, **kwargs):
+        """RecalcSizes()"""
+        return _core.StaticBoxSizer_RecalcSizes(*args, **kwargs)
+
+    def CalcMin(*args, **kwargs):
+        """CalcMin() -> Size"""
+        return _core.StaticBoxSizer_CalcMin(*args, **kwargs)
+
 
 class StaticBoxSizerPtr(StaticBoxSizer):
     def __init__(self, this):
@@ -3865,24 +8455,56 @@ _core.StaticBoxSizer_swigregister(StaticBoxSizerPtr)
 #---------------------------------------------------------------------------
 
 class GridSizer(Sizer):
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxGridSizer instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     def __init__(self, *args, **kwargs):
+        """__init__(int rows=1, int cols=0, int vgap=0, int hgap=0) -> GridSizer"""
         newobj = _core.new_GridSizer(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
         del newobj.thisown
         self._setOORInfo(self)
-    def RecalcSizes(*args, **kwargs): return _core.GridSizer_RecalcSizes(*args, **kwargs)
-    def CalcMin(*args, **kwargs): return _core.GridSizer_CalcMin(*args, **kwargs)
-    def SetCols(*args, **kwargs): return _core.GridSizer_SetCols(*args, **kwargs)
-    def SetRows(*args, **kwargs): return _core.GridSizer_SetRows(*args, **kwargs)
-    def SetVGap(*args, **kwargs): return _core.GridSizer_SetVGap(*args, **kwargs)
-    def SetHGap(*args, **kwargs): return _core.GridSizer_SetHGap(*args, **kwargs)
-    def GetCols(*args, **kwargs): return _core.GridSizer_GetCols(*args, **kwargs)
-    def GetRows(*args, **kwargs): return _core.GridSizer_GetRows(*args, **kwargs)
-    def GetVGap(*args, **kwargs): return _core.GridSizer_GetVGap(*args, **kwargs)
-    def GetHGap(*args, **kwargs): return _core.GridSizer_GetHGap(*args, **kwargs)
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxGridSizer instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+
+    def RecalcSizes(*args, **kwargs):
+        """RecalcSizes()"""
+        return _core.GridSizer_RecalcSizes(*args, **kwargs)
+
+    def CalcMin(*args, **kwargs):
+        """CalcMin() -> Size"""
+        return _core.GridSizer_CalcMin(*args, **kwargs)
+
+    def SetCols(*args, **kwargs):
+        """SetCols(int cols)"""
+        return _core.GridSizer_SetCols(*args, **kwargs)
+
+    def SetRows(*args, **kwargs):
+        """SetRows(int rows)"""
+        return _core.GridSizer_SetRows(*args, **kwargs)
+
+    def SetVGap(*args, **kwargs):
+        """SetVGap(int gap)"""
+        return _core.GridSizer_SetVGap(*args, **kwargs)
+
+    def SetHGap(*args, **kwargs):
+        """SetHGap(int gap)"""
+        return _core.GridSizer_SetHGap(*args, **kwargs)
+
+    def GetCols(*args, **kwargs):
+        """GetCols() -> int"""
+        return _core.GridSizer_GetCols(*args, **kwargs)
+
+    def GetRows(*args, **kwargs):
+        """GetRows() -> int"""
+        return _core.GridSizer_GetRows(*args, **kwargs)
+
+    def GetVGap(*args, **kwargs):
+        """GetVGap() -> int"""
+        return _core.GridSizer_GetVGap(*args, **kwargs)
+
+    def GetHGap(*args, **kwargs):
+        """GetHGap() -> int"""
+        return _core.GridSizer_GetHGap(*args, **kwargs)
+
 
 class GridSizerPtr(GridSizer):
     def __init__(self, this):
@@ -3897,24 +8519,64 @@ FLEX_GROWMODE_NONE = _core.FLEX_GROWMODE_NONE
 FLEX_GROWMODE_SPECIFIED = _core.FLEX_GROWMODE_SPECIFIED
 FLEX_GROWMODE_ALL = _core.FLEX_GROWMODE_ALL
 class FlexGridSizer(GridSizer):
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxFlexGridSizer instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     def __init__(self, *args, **kwargs):
+        """__init__(int rows=1, int cols=0, int vgap=0, int hgap=0) -> FlexGridSizer"""
         newobj = _core.new_FlexGridSizer(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
         del newobj.thisown
         self._setOORInfo(self)
-    def RecalcSizes(*args, **kwargs): return _core.FlexGridSizer_RecalcSizes(*args, **kwargs)
-    def CalcMin(*args, **kwargs): return _core.FlexGridSizer_CalcMin(*args, **kwargs)
-    def AddGrowableRow(*args, **kwargs): return _core.FlexGridSizer_AddGrowableRow(*args, **kwargs)
-    def RemoveGrowableRow(*args, **kwargs): return _core.FlexGridSizer_RemoveGrowableRow(*args, **kwargs)
-    def AddGrowableCol(*args, **kwargs): return _core.FlexGridSizer_AddGrowableCol(*args, **kwargs)
-    def RemoveGrowableCol(*args, **kwargs): return _core.FlexGridSizer_RemoveGrowableCol(*args, **kwargs)
-    def SetFlexibleDirection(*args, **kwargs): return _core.FlexGridSizer_SetFlexibleDirection(*args, **kwargs)
-    def GetFlexibleDirection(*args, **kwargs): return _core.FlexGridSizer_GetFlexibleDirection(*args, **kwargs)
-    def SetNonFlexibleGrowMode(*args, **kwargs): return _core.FlexGridSizer_SetNonFlexibleGrowMode(*args, **kwargs)
-    def GetNonFlexibleGrowMode(*args, **kwargs): return _core.FlexGridSizer_GetNonFlexibleGrowMode(*args, **kwargs)
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxFlexGridSizer instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+
+    def RecalcSizes(*args, **kwargs):
+        """RecalcSizes()"""
+        return _core.FlexGridSizer_RecalcSizes(*args, **kwargs)
+
+    def CalcMin(*args, **kwargs):
+        """CalcMin() -> Size"""
+        return _core.FlexGridSizer_CalcMin(*args, **kwargs)
+
+    def AddGrowableRow(*args, **kwargs):
+        """AddGrowableRow(size_t idx, int proportion=0)"""
+        return _core.FlexGridSizer_AddGrowableRow(*args, **kwargs)
+
+    def RemoveGrowableRow(*args, **kwargs):
+        """RemoveGrowableRow(size_t idx)"""
+        return _core.FlexGridSizer_RemoveGrowableRow(*args, **kwargs)
+
+    def AddGrowableCol(*args, **kwargs):
+        """AddGrowableCol(size_t idx, int proportion=0)"""
+        return _core.FlexGridSizer_AddGrowableCol(*args, **kwargs)
+
+    def RemoveGrowableCol(*args, **kwargs):
+        """RemoveGrowableCol(size_t idx)"""
+        return _core.FlexGridSizer_RemoveGrowableCol(*args, **kwargs)
+
+    def SetFlexibleDirection(*args, **kwargs):
+        """SetFlexibleDirection(int direction)"""
+        return _core.FlexGridSizer_SetFlexibleDirection(*args, **kwargs)
+
+    def GetFlexibleDirection(*args, **kwargs):
+        """GetFlexibleDirection() -> int"""
+        return _core.FlexGridSizer_GetFlexibleDirection(*args, **kwargs)
+
+    def SetNonFlexibleGrowMode(*args, **kwargs):
+        """SetNonFlexibleGrowMode(int mode)"""
+        return _core.FlexGridSizer_SetNonFlexibleGrowMode(*args, **kwargs)
+
+    def GetNonFlexibleGrowMode(*args, **kwargs):
+        """GetNonFlexibleGrowMode() -> int"""
+        return _core.FlexGridSizer_GetNonFlexibleGrowMode(*args, **kwargs)
+
+    def GetRowHeights(*args, **kwargs):
+        """GetRowHeights() -> wxArrayInt"""
+        return _core.FlexGridSizer_GetRowHeights(*args, **kwargs)
+
+    def GetColWidths(*args, **kwargs):
+        """GetColWidths() -> wxArrayInt"""
+        return _core.FlexGridSizer_GetColWidths(*args, **kwargs)
+
 
 class FlexGridSizerPtr(FlexGridSizer):
     def __init__(self, this):
@@ -3926,30 +8588,58 @@ _core.FlexGridSizer_swigregister(FlexGridSizerPtr)
 #---------------------------------------------------------------------------
 
 class GBPosition(object):
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxGBPosition instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     def __init__(self, *args, **kwargs):
+        """__init__(int row=0, int col=0) -> GBPosition"""
         newobj = _core.new_GBPosition(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
         del newobj.thisown
-    def GetRow(*args, **kwargs): return _core.GBPosition_GetRow(*args, **kwargs)
-    def GetCol(*args, **kwargs): return _core.GBPosition_GetCol(*args, **kwargs)
-    def SetRow(*args, **kwargs): return _core.GBPosition_SetRow(*args, **kwargs)
-    def SetCol(*args, **kwargs): return _core.GBPosition_SetCol(*args, **kwargs)
-    def __eq__(*args, **kwargs): return _core.GBPosition___eq__(*args, **kwargs)
-    def __ne__(*args, **kwargs): return _core.GBPosition___ne__(*args, **kwargs)
-    def asTuple(*args, **kwargs): return _core.GBPosition_asTuple(*args, **kwargs)
-    def __str__(self):                   return str(self.asTuple())
-    def __repr__(self):                  return 'wxGBPosition'+str(self.asTuple())
-    def __len__(self):                   return len(self.asTuple())
-    def __getitem__(self, index):        return self.asTuple()[index]
+    def GetRow(*args, **kwargs):
+        """GetRow() -> int"""
+        return _core.GBPosition_GetRow(*args, **kwargs)
+
+    def GetCol(*args, **kwargs):
+        """GetCol() -> int"""
+        return _core.GBPosition_GetCol(*args, **kwargs)
+
+    def SetRow(*args, **kwargs):
+        """SetRow(int row)"""
+        return _core.GBPosition_SetRow(*args, **kwargs)
+
+    def SetCol(*args, **kwargs):
+        """SetCol(int col)"""
+        return _core.GBPosition_SetCol(*args, **kwargs)
+
+    def __eq__(*args, **kwargs):
+        """__eq__(GBPosition other) -> bool"""
+        return _core.GBPosition___eq__(*args, **kwargs)
+
+    def __ne__(*args, **kwargs):
+        """__ne__(GBPosition other) -> bool"""
+        return _core.GBPosition___ne__(*args, **kwargs)
+
+    def Set(*args, **kwargs):
+        """Set(int row=0, int col=0)"""
+        return _core.GBPosition_Set(*args, **kwargs)
+
+    def Get(*args, **kwargs):
+        """Get() -> PyObject"""
+        return _core.GBPosition_Get(*args, **kwargs)
+
+    asTuple = Get
+    def __str__(self):                   return str(self.Get())
+    def __repr__(self):                  return 'wx.GBPosition'+str(self.Get())
+    def __len__(self):                   return len(self.Get())
+    def __getitem__(self, index):        return self.Get()[index]
     def __setitem__(self, index, val):
         if index == 0: self.SetRow(val)
         elif index == 1: self.SetCol(val)
         else: raise IndexError
-    def __nonzero__(self):               return self.asTuple() != (0,0)
-    def __getinitargs__(self):           return ()
-    def __getstate__(self):              return self.asTuple()
-    def __setstate__(self, state):       self.Set(*state)
+    def __nonzero__(self):               return self.Get() != (0,0)
+    __safe_for_unpickling__ = True
+    def __reduce__(self):                return (wx.GBPosition, self.Get())
 
     row = property(GetRow, SetRow)
     col = property(GetCol, SetCol)
@@ -3963,30 +8653,58 @@ class GBPositionPtr(GBPosition):
 _core.GBPosition_swigregister(GBPositionPtr)
 
 class GBSpan(object):
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxGBSpan instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     def __init__(self, *args, **kwargs):
+        """__init__(int rowspan=1, int colspan=1) -> GBSpan"""
         newobj = _core.new_GBSpan(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
         del newobj.thisown
-    def GetRowspan(*args, **kwargs): return _core.GBSpan_GetRowspan(*args, **kwargs)
-    def GetColspan(*args, **kwargs): return _core.GBSpan_GetColspan(*args, **kwargs)
-    def SetRowspan(*args, **kwargs): return _core.GBSpan_SetRowspan(*args, **kwargs)
-    def SetColspan(*args, **kwargs): return _core.GBSpan_SetColspan(*args, **kwargs)
-    def __eq__(*args, **kwargs): return _core.GBSpan___eq__(*args, **kwargs)
-    def __ne__(*args, **kwargs): return _core.GBSpan___ne__(*args, **kwargs)
-    def asTuple(*args, **kwargs): return _core.GBSpan_asTuple(*args, **kwargs)
-    def __str__(self):                   return str(self.asTuple())
-    def __repr__(self):                  return 'wxGBSpan'+str(self.asTuple())
-    def __len__(self):                   return len(self.asTuple())
-    def __getitem__(self, index):        return self.asTuple()[index]
+    def GetRowspan(*args, **kwargs):
+        """GetRowspan() -> int"""
+        return _core.GBSpan_GetRowspan(*args, **kwargs)
+
+    def GetColspan(*args, **kwargs):
+        """GetColspan() -> int"""
+        return _core.GBSpan_GetColspan(*args, **kwargs)
+
+    def SetRowspan(*args, **kwargs):
+        """SetRowspan(int rowspan)"""
+        return _core.GBSpan_SetRowspan(*args, **kwargs)
+
+    def SetColspan(*args, **kwargs):
+        """SetColspan(int colspan)"""
+        return _core.GBSpan_SetColspan(*args, **kwargs)
+
+    def __eq__(*args, **kwargs):
+        """__eq__(GBSpan other) -> bool"""
+        return _core.GBSpan___eq__(*args, **kwargs)
+
+    def __ne__(*args, **kwargs):
+        """__ne__(GBSpan other) -> bool"""
+        return _core.GBSpan___ne__(*args, **kwargs)
+
+    def Set(*args, **kwargs):
+        """Set(int rowspan=1, int colspan=1)"""
+        return _core.GBSpan_Set(*args, **kwargs)
+
+    def Get(*args, **kwargs):
+        """Get() -> PyObject"""
+        return _core.GBSpan_Get(*args, **kwargs)
+
+    asTuple = Get
+    def __str__(self):                   return str(self.Get())
+    def __repr__(self):                  return 'wx.GBSpan'+str(self.Get())
+    def __len__(self):                   return len(self.Get())
+    def __getitem__(self, index):        return self.Get()[index]
     def __setitem__(self, index, val):
         if index == 0: self.SetRowspan(val)
         elif index == 1: self.SetColspan(val)
         else: raise IndexError
-    def __nonzero__(self):               return self.asTuple() != (0,0)
-    def __getinitargs__(self):           return ()
-    def __getstate__(self):              return self.asTuple()
-    def __setstate__(self, state):       self.Set(*state)
+    def __nonzero__(self):               return self.Get() != (0,0)
+    __safe_for_unpickling__ = True
+    def __reduce__(self):                return (wx.GBSpan, self.Get())
 
     rowspan = property(GetRowspan, SetRowspan)
     colspan = property(GetColspan, SetColspan)
@@ -4000,23 +8718,51 @@ class GBSpanPtr(GBSpan):
 _core.GBSpan_swigregister(GBSpanPtr)
 
 class GBSizerItem(SizerItem):
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxGBSizerItem instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     def __init__(self, *args, **kwargs):
+        """__init__() -> GBSizerItem"""
         newobj = _core.new_GBSizerItem(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
         del newobj.thisown
-    def GetPos(*args, **kwargs): return _core.GBSizerItem_GetPos(*args, **kwargs)
-    def GetPosTuple(self): return self.GetPos().asTuple() 
-    def GetSpan(*args, **kwargs): return _core.GBSizerItem_GetSpan(*args, **kwargs)
-    def GetSpanTuple(self): return self.GetSpan().asTuple() 
-    def SetPos(*args, **kwargs): return _core.GBSizerItem_SetPos(*args, **kwargs)
-    def SetSpan(*args, **kwargs): return _core.GBSizerItem_SetSpan(*args, **kwargs)
-    def Intersects(*args): return _core.GBSizerItem_Intersects(*args)
-    def GetEndPos(*args, **kwargs): return _core.GBSizerItem_GetEndPos(*args, **kwargs)
-    def GetGBSizer(*args, **kwargs): return _core.GBSizerItem_GetGBSizer(*args, **kwargs)
-    def SetGBSizer(*args, **kwargs): return _core.GBSizerItem_SetGBSizer(*args, **kwargs)
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxGBSizerItem instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def GetPos(*args, **kwargs):
+        """GetPos() -> GBPosition"""
+        return _core.GBSizerItem_GetPos(*args, **kwargs)
+
+    def GetPosTuple(self): return self.GetPos().Get() 
+    def GetSpan(*args, **kwargs):
+        """GetSpan() -> GBSpan"""
+        return _core.GBSizerItem_GetSpan(*args, **kwargs)
+
+    def GetSpanTuple(self): return self.GetSpan().Get() 
+    def SetPos(*args, **kwargs):
+        """SetPos(GBPosition pos) -> bool"""
+        return _core.GBSizerItem_SetPos(*args, **kwargs)
+
+    def SetSpan(*args, **kwargs):
+        """SetSpan(GBSpan span) -> bool"""
+        return _core.GBSizerItem_SetSpan(*args, **kwargs)
+
+    def Intersects(*args):
+        """
+        Intersects(GBSizerItem other) -> bool
+        Intersects(GBPosition pos, GBSpan span) -> bool
+        """
+        return _core.GBSizerItem_Intersects(*args)
+
+    def GetEndPos(*args, **kwargs):
+        """GetEndPos(int row, int col)"""
+        return _core.GBSizerItem_GetEndPos(*args, **kwargs)
+
+    def GetGBSizer(*args, **kwargs):
+        """GetGBSizer() -> GridBagSizer"""
+        return _core.GBSizerItem_GetGBSizer(*args, **kwargs)
+
+    def SetGBSizer(*args, **kwargs):
+        """SetGBSizer(GridBagSizer sizer)"""
+        return _core.GBSizerItem_SetGBSizer(*args, **kwargs)
+
 
 class GBSizerItemPtr(GBSizerItem):
     def __init__(self, this):
@@ -4027,42 +8773,126 @@ _core.GBSizerItem_swigregister(GBSizerItemPtr)
 DefaultSpan = cvar.DefaultSpan
 
 def GBSizerItemWindow(*args, **kwargs):
+    """
+    GBSizerItemWindow(Window window, GBPosition pos, GBSpan span, int flag, 
+        int border, Object userData) -> GBSizerItem
+    """
     val = _core.new_GBSizerItemWindow(*args, **kwargs)
     val.thisown = 1
     return val
 
 def GBSizerItemSizer(*args, **kwargs):
+    """
+    GBSizerItemSizer(Sizer sizer, GBPosition pos, GBSpan span, int flag, 
+        int border, Object userData) -> GBSizerItem
+    """
     val = _core.new_GBSizerItemSizer(*args, **kwargs)
     val.thisown = 1
     return val
 
 def GBSizerItemSpacer(*args, **kwargs):
+    """
+    GBSizerItemSpacer(int width, int height, GBPosition pos, GBSpan span, 
+        int flag, int border, Object userData) -> GBSizerItem
+    """
     val = _core.new_GBSizerItemSpacer(*args, **kwargs)
     val.thisown = 1
     return val
 
 class GridBagSizer(FlexGridSizer):
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxGridBagSizer instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     def __init__(self, *args, **kwargs):
+        """__init__(int vgap=0, int hgap=0) -> GridBagSizer"""
         newobj = _core.new_GridBagSizer(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
         del newobj.thisown
-    def Add(*args, **kwargs): return _core.GridBagSizer_Add(*args, **kwargs)
-    def AddItem(*args, **kwargs): return _core.GridBagSizer_AddItem(*args, **kwargs)
-    def GetEmptyCellSize(*args, **kwargs): return _core.GridBagSizer_GetEmptyCellSize(*args, **kwargs)
-    def SetEmptyCellSize(*args, **kwargs): return _core.GridBagSizer_SetEmptyCellSize(*args, **kwargs)
-    def GetItemPosition(*args): return _core.GridBagSizer_GetItemPosition(*args)
-    def SetItemPosition(*args): return _core.GridBagSizer_SetItemPosition(*args)
-    def GetItemSpan(*args): return _core.GridBagSizer_GetItemSpan(*args)
-    def SetItemSpan(*args): return _core.GridBagSizer_SetItemSpan(*args)
-    def FindItem(*args): return _core.GridBagSizer_FindItem(*args)
-    def FindItemAtPosition(*args, **kwargs): return _core.GridBagSizer_FindItemAtPosition(*args, **kwargs)
-    def FindItemWithData(*args, **kwargs): return _core.GridBagSizer_FindItemWithData(*args, **kwargs)
-    def RecalcSizes(*args, **kwargs): return _core.GridBagSizer_RecalcSizes(*args, **kwargs)
-    def CalcMin(*args, **kwargs): return _core.GridBagSizer_CalcMin(*args, **kwargs)
-    def CheckForIntersection(*args): return _core.GridBagSizer_CheckForIntersection(*args)
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxGridBagSizer instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def Add(*args, **kwargs):
+        """
+        Add(PyObject item, GBPosition pos, GBSpan span=DefaultSpan, 
+            int flag=0, int border=0, PyObject userData=None) -> bool
+        """
+        return _core.GridBagSizer_Add(*args, **kwargs)
+
+    def AddItem(*args, **kwargs):
+        """AddItem(GBSizerItem item) -> bool"""
+        return _core.GridBagSizer_AddItem(*args, **kwargs)
+
+    def GetEmptyCellSize(*args, **kwargs):
+        """GetEmptyCellSize() -> Size"""
+        return _core.GridBagSizer_GetEmptyCellSize(*args, **kwargs)
+
+    def SetEmptyCellSize(*args, **kwargs):
+        """SetEmptyCellSize(Size sz)"""
+        return _core.GridBagSizer_SetEmptyCellSize(*args, **kwargs)
+
+    def GetItemPosition(*args):
+        """
+        GetItemPosition(Window window) -> GBPosition
+        GetItemPosition(Sizer sizer) -> GBPosition
+        GetItemPosition(size_t index) -> GBPosition
+        """
+        return _core.GridBagSizer_GetItemPosition(*args)
+
+    def SetItemPosition(*args):
+        """
+        SetItemPosition(Window window, GBPosition pos) -> bool
+        SetItemPosition(Sizer sizer, GBPosition pos) -> bool
+        SetItemPosition(size_t index, GBPosition pos) -> bool
+        """
+        return _core.GridBagSizer_SetItemPosition(*args)
+
+    def GetItemSpan(*args):
+        """
+        GetItemSpan(Window window) -> GBSpan
+        GetItemSpan(Sizer sizer) -> GBSpan
+        GetItemSpan(size_t index) -> GBSpan
+        """
+        return _core.GridBagSizer_GetItemSpan(*args)
+
+    def SetItemSpan(*args):
+        """
+        SetItemSpan(Window window, GBSpan span) -> bool
+        SetItemSpan(Sizer sizer, GBSpan span) -> bool
+        SetItemSpan(size_t index, GBSpan span) -> bool
+        """
+        return _core.GridBagSizer_SetItemSpan(*args)
+
+    def FindItem(*args):
+        """
+        FindItem(Window window) -> GBSizerItem
+        FindItem(Sizer sizer) -> GBSizerItem
+        """
+        return _core.GridBagSizer_FindItem(*args)
+
+    def FindItemAtPosition(*args, **kwargs):
+        """FindItemAtPosition(GBPosition pos) -> GBSizerItem"""
+        return _core.GridBagSizer_FindItemAtPosition(*args, **kwargs)
+
+    def FindItemAtPoint(*args, **kwargs):
+        """FindItemAtPoint(Point pt) -> GBSizerItem"""
+        return _core.GridBagSizer_FindItemAtPoint(*args, **kwargs)
+
+    def FindItemWithData(*args, **kwargs):
+        """FindItemWithData(Object userData) -> GBSizerItem"""
+        return _core.GridBagSizer_FindItemWithData(*args, **kwargs)
+
+    def RecalcSizes(*args, **kwargs):
+        """RecalcSizes()"""
+        return _core.GridBagSizer_RecalcSizes(*args, **kwargs)
+
+    def CalcMin(*args, **kwargs):
+        """CalcMin() -> Size"""
+        return _core.GridBagSizer_CalcMin(*args, **kwargs)
+
+    def CheckForIntersection(*args):
+        """
+        CheckForIntersection(GBSizerItem item, GBSizerItem excludeItem=None) -> bool
+        CheckForIntersection(GBPosition pos, GBSpan span, GBSizerItem excludeItem=None) -> bool
+        """
+        return _core.GridBagSizer_CheckForIntersection(*args)
+
 
 class GridBagSizerPtr(GridBagSizer):
     def __init__(self, this):
@@ -4093,35 +8923,207 @@ RightOf = _core.RightOf
 SameAs = _core.SameAs
 Absolute = _core.Absolute
 class IndividualLayoutConstraint(Object):
-    def Set(*args, **kwargs): return _core.IndividualLayoutConstraint_Set(*args, **kwargs)
-    def LeftOf(*args, **kwargs): return _core.IndividualLayoutConstraint_LeftOf(*args, **kwargs)
-    def RightOf(*args, **kwargs): return _core.IndividualLayoutConstraint_RightOf(*args, **kwargs)
-    def Above(*args, **kwargs): return _core.IndividualLayoutConstraint_Above(*args, **kwargs)
-    def Below(*args, **kwargs): return _core.IndividualLayoutConstraint_Below(*args, **kwargs)
-    def SameAs(*args, **kwargs): return _core.IndividualLayoutConstraint_SameAs(*args, **kwargs)
-    def PercentOf(*args, **kwargs): return _core.IndividualLayoutConstraint_PercentOf(*args, **kwargs)
-    def Absolute(*args, **kwargs): return _core.IndividualLayoutConstraint_Absolute(*args, **kwargs)
-    def Unconstrained(*args, **kwargs): return _core.IndividualLayoutConstraint_Unconstrained(*args, **kwargs)
-    def AsIs(*args, **kwargs): return _core.IndividualLayoutConstraint_AsIs(*args, **kwargs)
-    def GetOtherWindow(*args, **kwargs): return _core.IndividualLayoutConstraint_GetOtherWindow(*args, **kwargs)
-    def GetMyEdge(*args, **kwargs): return _core.IndividualLayoutConstraint_GetMyEdge(*args, **kwargs)
-    def SetEdge(*args, **kwargs): return _core.IndividualLayoutConstraint_SetEdge(*args, **kwargs)
-    def SetValue(*args, **kwargs): return _core.IndividualLayoutConstraint_SetValue(*args, **kwargs)
-    def GetMargin(*args, **kwargs): return _core.IndividualLayoutConstraint_GetMargin(*args, **kwargs)
-    def SetMargin(*args, **kwargs): return _core.IndividualLayoutConstraint_SetMargin(*args, **kwargs)
-    def GetValue(*args, **kwargs): return _core.IndividualLayoutConstraint_GetValue(*args, **kwargs)
-    def GetPercent(*args, **kwargs): return _core.IndividualLayoutConstraint_GetPercent(*args, **kwargs)
-    def GetOtherEdge(*args, **kwargs): return _core.IndividualLayoutConstraint_GetOtherEdge(*args, **kwargs)
-    def GetDone(*args, **kwargs): return _core.IndividualLayoutConstraint_GetDone(*args, **kwargs)
-    def SetDone(*args, **kwargs): return _core.IndividualLayoutConstraint_SetDone(*args, **kwargs)
-    def GetRelationship(*args, **kwargs): return _core.IndividualLayoutConstraint_GetRelationship(*args, **kwargs)
-    def SetRelationship(*args, **kwargs): return _core.IndividualLayoutConstraint_SetRelationship(*args, **kwargs)
-    def ResetIfWin(*args, **kwargs): return _core.IndividualLayoutConstraint_ResetIfWin(*args, **kwargs)
-    def SatisfyConstraint(*args, **kwargs): return _core.IndividualLayoutConstraint_SatisfyConstraint(*args, **kwargs)
-    def GetEdge(*args, **kwargs): return _core.IndividualLayoutConstraint_GetEdge(*args, **kwargs)
+    """
+    Objects of this class are stored in the wx.LayoutConstraint class as one of
+    eight possible constraints that a window can be involved in.  You will never
+    need to create an instance of wx.IndividualLayoutConstraint, rather you should
+    use create a wx.LayoutContstraints instance and use the individual contstraints
+    that it contains.
+
+    Constraints are initially set to have the relationship wx.Unconstrained, which
+    means that their values should be calculated by looking at known constraints.
+
+    The Edge specifies the type of edge or dimension of a window.
+
+     Edges
+
+        wx.Left        The left edge.
+        wx.Top         The top edge.
+        wx.Right       The right edge.
+        wx.Bottom      The bottom edge.
+        wx.CentreX     The x-coordinate of the centre of the window.
+        wx.CentreY     The y-coordinate of the centre of the window. 
+
+
+    The Relationship specifies the relationship that this edge or dimension has
+    with another specified edge or dimension. Normally, the user doesn't use these
+    directly because functions such as Below and RightOf are a convenience for
+    using the more general Set function.
+
+     Relationships
+
+        wx.Unconstrained       The edge or dimension is unconstrained
+                            (the default for edges.)
+        wx.AsIs                The edge or dimension is to be taken from the current
+                            window position or size (the default for dimensions.)
+        wx.Above               The edge should be above another edge.
+        wx.Below               The edge should be below another edge.
+        wx.LeftOf              The edge should be to the left of another edge.
+        wx.RightOf             The edge should be to the right of another edge.
+        wx.SameAs              The edge or dimension should be the same as another edge
+                            or dimension.
+        wx.PercentOf   The edge or dimension should be a percentage of another
+                            edge or dimension.
+        wx.Absolute    The edge or dimension should be a given absolute value.
+
+
+    """
     def __init__(self): raise RuntimeError, "No constructor defined"
     def __repr__(self):
         return "<%s.%s; proxy of C++ wxIndividualLayoutConstraint instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def Set(*args, **kwargs):
+        """Set(int rel, Window otherW, int otherE, int val=0, int marg=wxLAYOUT_DEFAULT_MARGIN)"""
+        return _core.IndividualLayoutConstraint_Set(*args, **kwargs)
+
+    def LeftOf(*args, **kwargs):
+        """
+        LeftOf(Window sibling, int marg=0)
+
+        Sibling relationship
+        """
+        return _core.IndividualLayoutConstraint_LeftOf(*args, **kwargs)
+
+    def RightOf(*args, **kwargs):
+        """
+        RightOf(Window sibling, int marg=0)
+
+        Sibling relationship
+        """
+        return _core.IndividualLayoutConstraint_RightOf(*args, **kwargs)
+
+    def Above(*args, **kwargs):
+        """
+        Above(Window sibling, int marg=0)
+
+        Sibling relationship
+        """
+        return _core.IndividualLayoutConstraint_Above(*args, **kwargs)
+
+    def Below(*args, **kwargs):
+        """
+        Below(Window sibling, int marg=0)
+
+        Sibling relationship
+        """
+        return _core.IndividualLayoutConstraint_Below(*args, **kwargs)
+
+    def SameAs(*args, **kwargs):
+        """
+        SameAs(Window otherW, int edge, int marg=0)
+
+        'Same edge' alignment
+        """
+        return _core.IndividualLayoutConstraint_SameAs(*args, **kwargs)
+
+    def PercentOf(*args, **kwargs):
+        """
+        PercentOf(Window otherW, int wh, int per)
+
+        The edge is a percentage of the other window's edge
+        """
+        return _core.IndividualLayoutConstraint_PercentOf(*args, **kwargs)
+
+    def Absolute(*args, **kwargs):
+        """
+        Absolute(int val)
+
+        Edge has absolute value
+        """
+        return _core.IndividualLayoutConstraint_Absolute(*args, **kwargs)
+
+    def Unconstrained(*args, **kwargs):
+        """
+        Unconstrained()
+
+        Dimension is unconstrained
+        """
+        return _core.IndividualLayoutConstraint_Unconstrained(*args, **kwargs)
+
+    def AsIs(*args, **kwargs):
+        """
+        AsIs()
+
+        Dimension is 'as is' (use current size settings)
+        """
+        return _core.IndividualLayoutConstraint_AsIs(*args, **kwargs)
+
+    def GetOtherWindow(*args, **kwargs):
+        """GetOtherWindow() -> Window"""
+        return _core.IndividualLayoutConstraint_GetOtherWindow(*args, **kwargs)
+
+    def GetMyEdge(*args, **kwargs):
+        """GetMyEdge() -> int"""
+        return _core.IndividualLayoutConstraint_GetMyEdge(*args, **kwargs)
+
+    def SetEdge(*args, **kwargs):
+        """SetEdge(int which)"""
+        return _core.IndividualLayoutConstraint_SetEdge(*args, **kwargs)
+
+    def SetValue(*args, **kwargs):
+        """SetValue(int v)"""
+        return _core.IndividualLayoutConstraint_SetValue(*args, **kwargs)
+
+    def GetMargin(*args, **kwargs):
+        """GetMargin() -> int"""
+        return _core.IndividualLayoutConstraint_GetMargin(*args, **kwargs)
+
+    def SetMargin(*args, **kwargs):
+        """SetMargin(int m)"""
+        return _core.IndividualLayoutConstraint_SetMargin(*args, **kwargs)
+
+    def GetValue(*args, **kwargs):
+        """GetValue() -> int"""
+        return _core.IndividualLayoutConstraint_GetValue(*args, **kwargs)
+
+    def GetPercent(*args, **kwargs):
+        """GetPercent() -> int"""
+        return _core.IndividualLayoutConstraint_GetPercent(*args, **kwargs)
+
+    def GetOtherEdge(*args, **kwargs):
+        """GetOtherEdge() -> int"""
+        return _core.IndividualLayoutConstraint_GetOtherEdge(*args, **kwargs)
+
+    def GetDone(*args, **kwargs):
+        """GetDone() -> bool"""
+        return _core.IndividualLayoutConstraint_GetDone(*args, **kwargs)
+
+    def SetDone(*args, **kwargs):
+        """SetDone(bool d)"""
+        return _core.IndividualLayoutConstraint_SetDone(*args, **kwargs)
+
+    def GetRelationship(*args, **kwargs):
+        """GetRelationship() -> int"""
+        return _core.IndividualLayoutConstraint_GetRelationship(*args, **kwargs)
+
+    def SetRelationship(*args, **kwargs):
+        """SetRelationship(int r)"""
+        return _core.IndividualLayoutConstraint_SetRelationship(*args, **kwargs)
+
+    def ResetIfWin(*args, **kwargs):
+        """
+        ResetIfWin(Window otherW) -> bool
+
+        Reset constraint if it mentions otherWin
+        """
+        return _core.IndividualLayoutConstraint_ResetIfWin(*args, **kwargs)
+
+    def SatisfyConstraint(*args, **kwargs):
+        """
+        SatisfyConstraint(LayoutConstraints constraints, Window win) -> bool
+
+        Try to satisfy constraint
+        """
+        return _core.IndividualLayoutConstraint_SatisfyConstraint(*args, **kwargs)
+
+    def GetEdge(*args, **kwargs):
+        """
+        GetEdge(int which, Window thisWin, Window other) -> int
+
+        Get the value of this edge or dimension, or if this
+        is not determinable, -1.
+        """
+        return _core.IndividualLayoutConstraint_GetEdge(*args, **kwargs)
+
 
 class IndividualLayoutConstraintPtr(IndividualLayoutConstraint):
     def __init__(self, this):
@@ -4131,6 +9133,35 @@ class IndividualLayoutConstraintPtr(IndividualLayoutConstraint):
 _core.IndividualLayoutConstraint_swigregister(IndividualLayoutConstraintPtr)
 
 class LayoutConstraints(Object):
+    """
+    Note: constraints are now deprecated and you should use sizers instead.
+
+    Objects of this class can be associated with a window to define its layout
+    constraints, with respect to siblings or its parent.
+
+    The class consists of the following eight constraints of class
+    wx.IndividualLayoutConstraint, some or all of which should be accessed
+    directly to set the appropriate constraints.
+
+        * left: represents the left hand edge of the window
+        * right: represents the right hand edge of the window
+        * top: represents the top edge of the window
+        * bottom: represents the bottom edge of the window
+        * width: represents the width of the window
+        * height: represents the height of the window
+        * centreX: represents the horizontal centre point of the window
+        * centreY: represents the vertical centre point of the window 
+
+    Most constraints are initially set to have the relationship wxUnconstrained,
+    which means that their values should be calculated by looking at known
+    constraints. The exceptions are width and height, which are set to wxAsIs to
+    ensure that if the user does not specify a constraint, the existing width and
+    height will be used, to be compatible with panel items which often have take a
+    default size. If the constraint is wxAsIs, the dimension will not be changed.
+
+    """
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxLayoutConstraints instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     left = property(_core.LayoutConstraints_left_get)
     top = property(_core.LayoutConstraints_top_get)
     right = property(_core.LayoutConstraints_right_get)
@@ -4140,14 +9171,19 @@ class LayoutConstraints(Object):
     centreX = property(_core.LayoutConstraints_centreX_get)
     centreY = property(_core.LayoutConstraints_centreY_get)
     def __init__(self, *args, **kwargs):
+        """__init__() -> LayoutConstraints"""
         newobj = _core.new_LayoutConstraints(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
         del newobj.thisown
-    def SatisfyConstraints(*args, **kwargs): return _core.LayoutConstraints_SatisfyConstraints(*args, **kwargs)
-    def AreSatisfied(*args, **kwargs): return _core.LayoutConstraints_AreSatisfied(*args, **kwargs)
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxLayoutConstraints instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def SatisfyConstraints(*args, **kwargs):
+        """SatisfyConstraints(Window win) -> (areSatisfied, noChanges)"""
+        return _core.LayoutConstraints_SatisfyConstraints(*args, **kwargs)
+
+    def AreSatisfied(*args, **kwargs):
+        """AreSatisfied() -> bool"""
+        return _core.LayoutConstraints_AreSatisfied(*args, **kwargs)
+
 
 class LayoutConstraintsPtr(LayoutConstraints):
     def __init__(self, this):
@@ -4158,16 +9194,13 @@ _core.LayoutConstraints_swigregister(LayoutConstraintsPtr)
 
 #----------------------------------------------------------------------------
 
-# Use Python's bool constants if available, make aliases if not
+# Use Python's bool constants if available, make some if not
 try:
     True
 except NameError:
-    True = 1==1
-    False = 1==0
+    __builtins__.True = 1==1
+    __builtins__.False = 1==0
 
-# Backwards compaatibility
-TRUE  = true  = True
-FALSE = false = False
 
 
 # workarounds for bad wxRTTI names
@@ -4194,7 +9227,6 @@ if RELEASE_VERSION != _core.RELEASE_VERSION:
 class PyDeadObjectError(AttributeError):
     pass
 
-
 class _wxPyDeadObject(object):
     """
     Instances of wx objects that are OOR capable will have their __class__
@@ -4204,15 +9236,46 @@ class _wxPyDeadObject(object):
     reprStr = "wxPython wrapper for DELETED %s object! (The C++ object no longer exists.)"
     attrStr = "The C++ part of the %s object has been deleted, attribute access no longer allowed."
 
-    def __repr__( self ):
+    def __repr__(self):
         if not hasattr(self, "_name"):
             self._name = "[unknown]"
         return self.reprStr % self._name
 
-    def __getattr__( self, *args ):
+    def __getattr__(self, *args):
         if not hasattr(self, "_name"):
             self._name = "[unknown]"
-        raise PyDeadObjectError( self.attrStr % self._name )
+        raise PyDeadObjectError(self.attrStr % self._name)
+
+    def __nonzero__(self):
+        return 0
+
+
+
+class PyUnbornObjectError(AttributeError):
+    pass
+
+class _wxPyUnbornObject(object):
+    """
+    Some stock objects are created when the wx.core module is
+    imported, but their C++ instance is not created until the wx.App
+    object is created and initialized.  These object instances will
+    temporarily have their __class__ changed to this class so an
+    exception will be raised if they are used before the C++ instance
+    is ready.
+    """
+
+    reprStr = "wxPython wrapper for UNBORN object! (The C++ object is not initialized yet.)"
+    attrStr = "The C++ part of this object has not been initialized, attribute access not allowed."
+
+    def __repr__(self):
+        #if not hasattr(self, "_name"):
+        #    self._name = "[unknown]"
+        return self.reprStr #% self._name
+
+    def __getattr__(self, *args):
+        #if not hasattr(self, "_name"):
+        #    self._name = "[unknown]"
+        raise PyUnbornObjectError(self.attrStr) # % self._name )
 
     def __nonzero__(self):
         return 0
@@ -4347,6 +9410,11 @@ from windows import *
 from controls import *
 from misc import *
 
+
+# Fixup the stock objects since they can't be used yet.  (They will be
+# restored in wx.PyApp.OnInit.)
+_core._wxPyFixStockObjects()
+
 #----------------------------------------------------------------------------
 #----------------------------------------------------------------------------