]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/msw/_core.py
Fix shift and other keys with wxGetKeyState on mac
[wxWidgets.git] / wxPython / src / msw / _core.py
index f3eef317dd2cfba2e8feb6984d80f941d88a013d..957f027f68d517b317eec44bd86f0349dd3d69b3 100644 (file)
@@ -3,6 +3,47 @@
 
 import _core_
 
+def _swig_setattr_nondynamic(self,class_type,name,value,static=1):
+    if (name == "this"):
+        if isinstance(value, class_type):
+            self.__dict__[name] = value.this
+            if hasattr(value,"thisown"): self.__dict__["thisown"] = value.thisown
+            del value.thisown
+            return
+    method = class_type.__swig_setmethods__.get(name,None)
+    if method: return method(self,value)
+    if (not static) or hasattr(self,name) or (name == "thisown"):
+        self.__dict__[name] = value
+    else:
+        raise AttributeError("You cannot add attributes to %s" % self)
+
+def _swig_setattr(self,class_type,name,value):
+    return _swig_setattr_nondynamic(self,class_type,name,value,0)
+
+def _swig_getattr(self,class_type,name):
+    method = class_type.__swig_getmethods__.get(name,None)
+    if method: return method(self)
+    raise AttributeError,name
+
+import types
+try:
+    _object = types.ObjectType
+    _newclass = 1
+except AttributeError:
+    class _object : pass
+    _newclass = 0
+del types
+
+
+def _swig_setattr_nondynamic_method(set):
+    def set_attr(self,name,value):
+        if hasattr(self,name) or (name in ("this", "thisown")):
+            set(self,name,value)
+        else:
+            raise AttributeError("You cannot add attributes to %s" % self)
+    return set_attr
+
+
 #// Give a reference to the dictionary of this module to the C++ extension
 #// code.
 _core_._wxPySetDictionary(vars())
@@ -44,17 +85,14 @@ SIMPLE_BORDER = _core_.SIMPLE_BORDER
 STATIC_BORDER = _core_.STATIC_BORDER
 TRANSPARENT_WINDOW = _core_.TRANSPARENT_WINDOW
 NO_BORDER = _core_.NO_BORDER
+DEFAULT_CONTROL_BORDER = _core_.DEFAULT_CONTROL_BORDER
+DEFAULT_STATUSBAR_STYLE = _core_.DEFAULT_STATUSBAR_STYLE
 TAB_TRAVERSAL = _core_.TAB_TRAVERSAL
 WANTS_CHARS = _core_.WANTS_CHARS
 POPUP_WINDOW = _core_.POPUP_WINDOW
 CENTER_FRAME = _core_.CENTER_FRAME
 CENTRE_ON_SCREEN = _core_.CENTRE_ON_SCREEN
 CENTER_ON_SCREEN = _core_.CENTER_ON_SCREEN
-ED_CLIENT_MARGIN = _core_.ED_CLIENT_MARGIN
-ED_BUTTONS_BOTTOM = _core_.ED_BUTTONS_BOTTOM
-ED_BUTTONS_RIGHT = _core_.ED_BUTTONS_RIGHT
-ED_STATIC_LINE = _core_.ED_STATIC_LINE
-EXT_DIALOG_STYLE = _core_.EXT_DIALOG_STYLE
 CLIP_CHILDREN = _core_.CLIP_CHILDREN
 CLIP_SIBLINGS = _core_.CLIP_SIBLINGS
 ALWAYS_SHOW_SB = _core_.ALWAYS_SHOW_SB
@@ -80,20 +118,12 @@ RA_HORIZONTAL = _core_.RA_HORIZONTAL
 RA_VERTICAL = _core_.RA_VERTICAL
 RA_SPECIFY_ROWS = _core_.RA_SPECIFY_ROWS
 RA_SPECIFY_COLS = _core_.RA_SPECIFY_COLS
+RA_USE_CHECKBOX = _core_.RA_USE_CHECKBOX
 RB_GROUP = _core_.RB_GROUP
 RB_SINGLE = _core_.RB_SINGLE
-SL_HORIZONTAL = _core_.SL_HORIZONTAL
-SL_VERTICAL = _core_.SL_VERTICAL
-SL_AUTOTICKS = _core_.SL_AUTOTICKS
-SL_LABELS = _core_.SL_LABELS
-SL_LEFT = _core_.SL_LEFT
-SL_TOP = _core_.SL_TOP
-SL_RIGHT = _core_.SL_RIGHT
-SL_BOTTOM = _core_.SL_BOTTOM
-SL_BOTH = _core_.SL_BOTH
-SL_SELRANGE = _core_.SL_SELRANGE
 SB_HORIZONTAL = _core_.SB_HORIZONTAL
 SB_VERTICAL = _core_.SB_VERTICAL
+RB_USE_CHECKBOX = _core_.RB_USE_CHECKBOX
 ST_SIZEGRIP = _core_.ST_SIZEGRIP
 ST_NO_AUTORESIZE = _core_.ST_NO_AUTORESIZE
 FLOOD_SURFACE = _core_.FLOOD_SURFACE
@@ -247,6 +277,8 @@ PD_CAN_ABORT = _core_.PD_CAN_ABORT
 PD_ELAPSED_TIME = _core_.PD_ELAPSED_TIME
 PD_ESTIMATED_TIME = _core_.PD_ESTIMATED_TIME
 PD_REMAINING_TIME = _core_.PD_REMAINING_TIME
+PD_SMOOTH = _core_.PD_SMOOTH
+PD_CAN_SKIP = _core_.PD_CAN_SKIP
 DD_NEW_DIR_BUTTON = _core_.DD_NEW_DIR_BUTTON
 DD_DEFAULT_STYLE = _core_.DD_DEFAULT_STYLE
 MENU_TEAROFF = _core_.MENU_TEAROFF
@@ -474,6 +506,27 @@ WXK_NUMPAD_DIVIDE = _core_.WXK_NUMPAD_DIVIDE
 WXK_WINDOWS_LEFT = _core_.WXK_WINDOWS_LEFT
 WXK_WINDOWS_RIGHT = _core_.WXK_WINDOWS_RIGHT
 WXK_WINDOWS_MENU = _core_.WXK_WINDOWS_MENU
+WXK_COMMAND = _core_.WXK_COMMAND
+WXK_SPECIAL1 = _core_.WXK_SPECIAL1
+WXK_SPECIAL2 = _core_.WXK_SPECIAL2
+WXK_SPECIAL3 = _core_.WXK_SPECIAL3
+WXK_SPECIAL4 = _core_.WXK_SPECIAL4
+WXK_SPECIAL5 = _core_.WXK_SPECIAL5
+WXK_SPECIAL6 = _core_.WXK_SPECIAL6
+WXK_SPECIAL7 = _core_.WXK_SPECIAL7
+WXK_SPECIAL8 = _core_.WXK_SPECIAL8
+WXK_SPECIAL9 = _core_.WXK_SPECIAL9
+WXK_SPECIAL10 = _core_.WXK_SPECIAL10
+WXK_SPECIAL11 = _core_.WXK_SPECIAL11
+WXK_SPECIAL12 = _core_.WXK_SPECIAL12
+WXK_SPECIAL13 = _core_.WXK_SPECIAL13
+WXK_SPECIAL14 = _core_.WXK_SPECIAL14
+WXK_SPECIAL15 = _core_.WXK_SPECIAL15
+WXK_SPECIAL16 = _core_.WXK_SPECIAL16
+WXK_SPECIAL17 = _core_.WXK_SPECIAL17
+WXK_SPECIAL18 = _core_.WXK_SPECIAL18
+WXK_SPECIAL19 = _core_.WXK_SPECIAL19
+WXK_SPECIAL20 = _core_.WXK_SPECIAL20
 PAPER_NONE = _core_.PAPER_NONE
 PAPER_LETTER = _core_.PAPER_LETTER
 PAPER_LEGAL = _core_.PAPER_LEGAL
@@ -671,9 +724,9 @@ 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.
+    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,)
@@ -1100,6 +1153,10 @@ class Rect(object):
         """SetSize(self, Size s)"""
         return _core_.Rect_SetSize(*args, **kwargs)
 
+    def IsEmpty(*args, **kwargs):
+        """IsEmpty(self) -> bool"""
+        return _core_.Rect_IsEmpty(*args, **kwargs)
+
     def GetTopLeft(*args, **kwargs):
         """GetTopLeft(self) -> Point"""
         return _core_.Rect_GetTopLeft(*args, **kwargs)
@@ -1159,9 +1216,24 @@ class Rect(object):
         """
         Inflate(self, 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.
+        Increases the size of the rectangle.
+
+        The left border is moved farther left and the right border is moved
+        farther right by ``dx``. The upper border is moved farther up and the
+        bottom border is moved farther down by ``dy``. (Note the the width and
+        height of the rectangle thus change by ``2*dx`` and ``2*dy``,
+        respectively.) If one or both of ``dx`` and ``dy`` are negative, the
+        opposite happens: the rectangle size decreases in the respective
+        direction.
+
+        The change is made to the rectangle inplace, if instead you need a
+        copy that is inflated, preserving the original then make the copy
+        first::
+
+            copy = wx.Rect(*original)
+            copy.Inflate(10,15)
+
+
         """
         return _core_.Rect_Inflate(*args, **kwargs)
 
@@ -1169,9 +1241,9 @@ class Rect(object):
         """
         Deflate(self, 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.
+        Decrease the rectangle size. This method is the opposite of `Inflate`
+        in that Deflate(a,b) is equivalent to Inflate(-a,-b).  Please refer to
+        `Inflate` for a full description.
         """
         return _core_.Rect_Deflate(*args, **kwargs)
 
@@ -1520,6 +1592,7 @@ FromStart = _core_.FromStart
 FromCurrent = _core_.FromCurrent
 FromEnd = _core_.FromEnd
 class InputStream(object):
+    """Proxy of C++ InputStream class"""
     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):
@@ -1609,6 +1682,7 @@ DefaultPosition = cvar.DefaultPosition
 DefaultSize = cvar.DefaultSize
 
 class OutputStream(object):
+    """Proxy of C++ OutputStream class"""
     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,)
@@ -1627,6 +1701,7 @@ _core_.OutputStream_swigregister(OutputStreamPtr)
 #---------------------------------------------------------------------------
 
 class FSFile(Object):
+    """Proxy of C++ FSFile class"""
     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):
@@ -1638,7 +1713,7 @@ class FSFile(Object):
         self.this = newobj.this
         self.thisown = 1
         del newobj.thisown
-        self.thisown = 0   # It will normally be deleted by the user of the wxFileSystem
+        self.thisown = 0   # It will normally be deleted by the user of the wx.FileSystem
 
     def __del__(self, destroy=_core_.delete_FSFile):
         """__del__(self)"""
@@ -1675,6 +1750,7 @@ class FSFilePtr(FSFile):
 _core_.FSFile_swigregister(FSFilePtr)
 
 class CPPFileSystemHandler(object):
+    """Proxy of C++ CPPFileSystemHandler class"""
     def __init__(self): raise RuntimeError, "No constructor defined"
     def __repr__(self):
         return "<%s.%s; proxy of C++ wxFileSystemHandler instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
@@ -1687,6 +1763,7 @@ class CPPFileSystemHandlerPtr(CPPFileSystemHandler):
 _core_.CPPFileSystemHandler_swigregister(CPPFileSystemHandlerPtr)
 
 class FileSystemHandler(CPPFileSystemHandler):
+    """Proxy of C++ FileSystemHandler class"""
     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):
@@ -1746,6 +1823,7 @@ class FileSystemHandlerPtr(FileSystemHandler):
 _core_.FileSystemHandler_swigregister(FileSystemHandlerPtr)
 
 class FileSystem(Object):
+    """Proxy of C++ FileSystem class"""
     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):
@@ -1825,6 +1903,7 @@ def FileSystem_URLToFileName(*args, **kwargs):
     return _core_.FileSystem_URLToFileName(*args, **kwargs)
 
 class InternetFSHandler(CPPFileSystemHandler):
+    """Proxy of C++ InternetFSHandler class"""
     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):
@@ -1850,6 +1929,7 @@ class InternetFSHandlerPtr(InternetFSHandler):
 _core_.InternetFSHandler_swigregister(InternetFSHandlerPtr)
 
 class ZipFSHandler(CPPFileSystemHandler):
+    """Proxy of C++ ZipFSHandler class"""
     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):
@@ -1912,6 +1992,7 @@ def MemoryFSHandler_AddFile(filename, dataItem, imgType=-1):
         raise TypeError, 'wx.Image, wx.Bitmap or string expected'
 
 class MemoryFSHandler(CPPFileSystemHandler):
+    """Proxy of C++ MemoryFSHandler class"""
     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):
@@ -1954,9 +2035,17 @@ def MemoryFSHandler_RemoveFile(*args, **kwargs):
     """MemoryFSHandler_RemoveFile(String filename)"""
     return _core_.MemoryFSHandler_RemoveFile(*args, **kwargs)
 
+IMAGE_ALPHA_TRANSPARENT = _core_.IMAGE_ALPHA_TRANSPARENT
+IMAGE_ALPHA_THRESHOLD = _core_.IMAGE_ALPHA_THRESHOLD
+IMAGE_ALPHA_OPAQUE = _core_.IMAGE_ALPHA_OPAQUE
 #---------------------------------------------------------------------------
 
 class ImageHandler(Object):
+    """
+    This is the base class for implementing image file loading/saving, and
+    image creation from data. It is used within `wx.Image` and is not
+    normally seen by the application.
+    """
     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,)
@@ -2005,6 +2094,7 @@ class ImageHandlerPtr(ImageHandler):
 _core_.ImageHandler_swigregister(ImageHandlerPtr)
 
 class ImageHistogram(object):
+    """Proxy of C++ ImageHistogram class"""
     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):
@@ -2032,6 +2122,31 @@ class ImageHistogram(object):
         """
         return _core_.ImageHistogram_FindFirstUnusedColour(*args, **kwargs)
 
+    def GetCount(*args, **kwargs):
+        """
+        GetCount(self, unsigned long key) -> unsigned long
+
+        Returns the pixel count for the given key.  Use `MakeKey` to create a
+        key value from a RGB tripple.
+        """
+        return _core_.ImageHistogram_GetCount(*args, **kwargs)
+
+    def GetCountRGB(*args, **kwargs):
+        """
+        GetCountRGB(self, unsigned char r, unsigned char g, unsigned char b) -> unsigned long
+
+        Returns the pixel count for the given RGB values.
+        """
+        return _core_.ImageHistogram_GetCountRGB(*args, **kwargs)
+
+    def GetCountColour(*args, **kwargs):
+        """
+        GetCountColour(self, Colour colour) -> unsigned long
+
+        Returns the pixel count for the given `wx.Colour` value.
+        """
+        return _core_.ImageHistogram_GetCountColour(*args, **kwargs)
+
 
 class ImageHistogramPtr(ImageHistogram):
     def __init__(self, this):
@@ -2049,6 +2164,7 @@ def ImageHistogram_MakeKey(*args, **kwargs):
     return _core_.ImageHistogram_MakeKey(*args, **kwargs)
 
 class Image(Object):
+    """Proxy of C++ Image class"""
     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):
@@ -2087,10 +2203,18 @@ class Image(Object):
         """Rescale(self, int width, int height) -> Image"""
         return _core_.Image_Rescale(*args, **kwargs)
 
+    def Resize(*args, **kwargs):
+        """Resize(self, Size size, Point pos, int r=-1, int g=-1, int b=-1) -> Image"""
+        return _core_.Image_Resize(*args, **kwargs)
+
     def SetRGB(*args, **kwargs):
         """SetRGB(self, int x, int y, unsigned char r, unsigned char g, unsigned char b)"""
         return _core_.Image_SetRGB(*args, **kwargs)
 
+    def SetRGBRect(*args, **kwargs):
+        """SetRGBRect(self, Rect rect, unsigned char r, unsigned char g, unsigned char b)"""
+        return _core_.Image_SetRGBRect(*args, **kwargs)
+
     def GetRed(*args, **kwargs):
         """GetRed(self, int x, int y) -> unsigned char"""
         return _core_.Image_GetRed(*args, **kwargs)
@@ -2115,6 +2239,26 @@ class Image(Object):
         """HasAlpha(self) -> bool"""
         return _core_.Image_HasAlpha(*args, **kwargs)
 
+    def InitAlpha(*args, **kwargs):
+        """
+        InitAlpha(self)
+
+        Initializes the image alpha channel data. It is an error to call it if
+        the image already has alpha data. If it doesn't, alpha data will be by
+        default initialized to all pixels being fully opaque. But if the image
+        has a a mask colour, all mask pixels will be completely transparent.
+        """
+        return _core_.Image_InitAlpha(*args, **kwargs)
+
+    def IsTransparent(*args, **kwargs):
+        """
+        IsTransparent(self, int x, int y, unsigned char threshold=IMAGE_ALPHA_THRESHOLD) -> bool
+
+        Returns True if this pixel is masked or has an alpha value less than
+        the spcified threshold.
+        """
+        return _core_.Image_IsTransparent(*args, **kwargs)
+
     def FindFirstUnusedColour(*args, **kwargs):
         """
         FindFirstUnusedColour(int startR=1, int startG=0, int startB=0) -> (success, r, g, b)
@@ -2127,7 +2271,7 @@ class Image(Object):
 
     def ConvertAlphaToMask(*args, **kwargs):
         """
-        ConvertAlphaToMask(self, byte threshold=128) -> bool
+        ConvertAlphaToMask(self, byte threshold=IMAGE_ALPHA_THRESHOLD) -> bool
 
         If the image has alpha channel, this method converts it to mask. All pixels
         with alpha value less than ``threshold`` are replaced with mask colour and the
@@ -2216,6 +2360,10 @@ class Image(Object):
         """GetSubImage(self, Rect rect) -> Image"""
         return _core_.Image_GetSubImage(*args, **kwargs)
 
+    def Size(*args, **kwargs):
+        """Size(self, Size size, Point pos, int r=-1, int g=-1, int b=-1) -> Image"""
+        return _core_.Image_Size(*args, **kwargs)
+
     def Copy(*args, **kwargs):
         """Copy(self) -> Image"""
         return _core_.Image_Copy(*args, **kwargs)
@@ -2225,27 +2373,58 @@ class Image(Object):
         return _core_.Image_Paste(*args, **kwargs)
 
     def GetData(*args, **kwargs):
-        """GetData(self) -> PyObject"""
+        """
+        GetData(self) -> PyObject
+
+        Returns a string containing a copy of the RGB bytes of the image.
+        """
         return _core_.Image_GetData(*args, **kwargs)
 
     def SetData(*args, **kwargs):
-        """SetData(self, PyObject data)"""
+        """
+        SetData(self, buffer data)
+
+        Resets the Image's RGB data from a buffer of RGB bytes.  Accepts
+        either a string or a buffer object holding the data and the length of
+        the data must be width*height*3.
+        """
         return _core_.Image_SetData(*args, **kwargs)
 
     def GetDataBuffer(*args, **kwargs):
-        """GetDataBuffer(self) -> PyObject"""
+        """
+        GetDataBuffer(self) -> PyObject
+
+        Returns a writable Python buffer object that is pointing at the RGB
+        image data buffer inside the wx.Image.
+        """
         return _core_.Image_GetDataBuffer(*args, **kwargs)
 
     def SetDataBuffer(*args, **kwargs):
-        """SetDataBuffer(self, PyObject data)"""
+        """
+        SetDataBuffer(self, buffer data)
+
+        Sets the internal image data pointer to point at a Python buffer
+        object.  This can save a copy of the data but you must ensure that the
+        buffer object lives longer than the wx.Image does.
+        """
         return _core_.Image_SetDataBuffer(*args, **kwargs)
 
     def GetAlphaData(*args, **kwargs):
-        """GetAlphaData(self) -> PyObject"""
+        """
+        GetAlphaData(self) -> PyObject
+
+        Returns a string containing a copy of the alpha bytes of the image.
+        """
         return _core_.Image_GetAlphaData(*args, **kwargs)
 
     def SetAlphaData(*args, **kwargs):
-        """SetAlphaData(self, PyObject data)"""
+        """
+        SetAlphaData(self, buffer alpha)
+
+        Resets the Image's alpha data from a buffer of bytes.  Accepts either
+        a string or a buffer object holding the data and the length of the
+        data must be width*height.
+        """
         return _core_.Image_SetAlphaData(*args, **kwargs)
 
     def GetAlphaBuffer(*args, **kwargs):
@@ -2253,13 +2432,21 @@ class Image(Object):
         return _core_.Image_GetAlphaBuffer(*args, **kwargs)
 
     def SetAlphaBuffer(*args, **kwargs):
-        """SetAlphaBuffer(self, PyObject data)"""
+        """SetAlphaBuffer(self, buffer alpha)"""
         return _core_.Image_SetAlphaBuffer(*args, **kwargs)
 
     def SetMaskColour(*args, **kwargs):
         """SetMaskColour(self, unsigned char r, unsigned char g, unsigned char b)"""
         return _core_.Image_SetMaskColour(*args, **kwargs)
 
+    def GetOrFindMaskColour(*args, **kwargs):
+        """
+        GetOrFindMaskColour() -> (r,g,b)
+
+        Get the current mask colour or find a suitable colour.
+        """
+        return _core_.Image_GetOrFindMaskColour(*args, **kwargs)
+
     def GetMaskRed(*args, **kwargs):
         """GetMaskRed(self) -> unsigned char"""
         return _core_.Image_GetMaskRed(*args, **kwargs)
@@ -2390,25 +2577,46 @@ def ImageFromStreamMime(*args, **kwargs):
     return val
 
 def EmptyImage(*args, **kwargs):
-    """EmptyImage(int width=0, int height=0, bool clear=True) -> Image"""
+    """
+    EmptyImage(int width=0, int height=0, bool clear=True) -> Image
+
+    Construct an empty image of a given size, optionally setting all
+    pixels to black.
+    """
     val = _core_.new_EmptyImage(*args, **kwargs)
     val.thisown = 1
     return val
 
 def ImageFromBitmap(*args, **kwargs):
-    """ImageFromBitmap(Bitmap bitmap) -> Image"""
+    """
+    ImageFromBitmap(Bitmap bitmap) -> Image
+
+    Construct an Image from a `wx.Bitmap`.
+    """
     val = _core_.new_ImageFromBitmap(*args, **kwargs)
     val.thisown = 1
     return val
 
 def ImageFromData(*args, **kwargs):
-    """ImageFromData(int width, int height, unsigned char data) -> Image"""
+    """
+    ImageFromData(int width, int height, buffer data) -> Image
+
+    Construct an Image from a buffer of RGB bytes.  Accepts either a
+    string or a buffer object holding the data and the length of the data
+    must be width*height*3.
+    """
     val = _core_.new_ImageFromData(*args, **kwargs)
     val.thisown = 1
     return val
 
 def ImageFromDataWithAlpha(*args, **kwargs):
-    """ImageFromDataWithAlpha(int width, int height, unsigned char data, unsigned char alpha) -> Image"""
+    """
+    ImageFromDataWithAlpha(int width, int height, buffer data, buffer alpha) -> Image
+
+    Construct an Image from a buffer of RGB bytes with an Alpha channel.
+    Accepts either a string or a buffer object holding the data and the
+    length of the data must be width*height*3.
+    """
     val = _core_.new_ImageFromDataWithAlpha(*args, **kwargs)
     val.thisown = 1
     return val
@@ -2450,6 +2658,9 @@ def InitAllImageHandlers():
 
 IMAGE_RESOLUTION_INCHES = _core_.IMAGE_RESOLUTION_INCHES
 IMAGE_RESOLUTION_CM = _core_.IMAGE_RESOLUTION_CM
+PNG_TYPE_COLOUR = _core_.PNG_TYPE_COLOUR
+PNG_TYPE_GREY = _core_.PNG_TYPE_GREY
+PNG_TYPE_GREY_RED = _core_.PNG_TYPE_GREY_RED
 BMP_24BPP = _core_.BMP_24BPP
 BMP_8BPP = _core_.BMP_8BPP
 BMP_8BPP_GREY = _core_.BMP_8BPP_GREY
@@ -2460,10 +2671,15 @@ BMP_4BPP = _core_.BMP_4BPP
 BMP_1BPP = _core_.BMP_1BPP
 BMP_1BPP_BW = _core_.BMP_1BPP_BW
 class BMPHandler(ImageHandler):
+    """A `wx.ImageHandler` for \*.bmp bitmap files."""
     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__(self) -> BMPHandler"""
+        """
+        __init__(self) -> BMPHandler
+
+        A `wx.ImageHandler` for \*.bmp bitmap files.
+        """
         newobj = _core_.new_BMPHandler(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
@@ -2476,17 +2692,32 @@ class BMPHandlerPtr(BMPHandler):
         self.__class__ = BMPHandler
 _core_.BMPHandler_swigregister(BMPHandlerPtr)
 NullImage = cvar.NullImage
+IMAGE_OPTION_FILENAME = cvar.IMAGE_OPTION_FILENAME
 IMAGE_OPTION_BMP_FORMAT = cvar.IMAGE_OPTION_BMP_FORMAT
 IMAGE_OPTION_CUR_HOTSPOT_X = cvar.IMAGE_OPTION_CUR_HOTSPOT_X
 IMAGE_OPTION_CUR_HOTSPOT_Y = cvar.IMAGE_OPTION_CUR_HOTSPOT_Y
 IMAGE_OPTION_RESOLUTION = cvar.IMAGE_OPTION_RESOLUTION
+IMAGE_OPTION_RESOLUTIONX = cvar.IMAGE_OPTION_RESOLUTIONX
+IMAGE_OPTION_RESOLUTIONY = cvar.IMAGE_OPTION_RESOLUTIONY
 IMAGE_OPTION_RESOLUTIONUNIT = cvar.IMAGE_OPTION_RESOLUTIONUNIT
+IMAGE_OPTION_QUALITY = cvar.IMAGE_OPTION_QUALITY
+IMAGE_OPTION_BITSPERSAMPLE = cvar.IMAGE_OPTION_BITSPERSAMPLE
+IMAGE_OPTION_SAMPLESPERPIXEL = cvar.IMAGE_OPTION_SAMPLESPERPIXEL
+IMAGE_OPTION_COMPRESSION = cvar.IMAGE_OPTION_COMPRESSION
+IMAGE_OPTION_IMAGEDESCRIPTOR = cvar.IMAGE_OPTION_IMAGEDESCRIPTOR
+IMAGE_OPTION_PNG_FORMAT = cvar.IMAGE_OPTION_PNG_FORMAT
+IMAGE_OPTION_PNG_BITDEPTH = cvar.IMAGE_OPTION_PNG_BITDEPTH
 
 class ICOHandler(BMPHandler):
+    """A `wx.ImageHandler` for \*.ico icon files."""
     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__(self) -> ICOHandler"""
+        """
+        __init__(self) -> ICOHandler
+
+        A `wx.ImageHandler` for \*.ico icon files.
+        """
         newobj = _core_.new_ICOHandler(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
@@ -2500,10 +2731,15 @@ class ICOHandlerPtr(ICOHandler):
 _core_.ICOHandler_swigregister(ICOHandlerPtr)
 
 class CURHandler(ICOHandler):
+    """A `wx.ImageHandler` for \*.cur cursor files."""
     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__(self) -> CURHandler"""
+        """
+        __init__(self) -> CURHandler
+
+        A `wx.ImageHandler` for \*.cur cursor files.
+        """
         newobj = _core_.new_CURHandler(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
@@ -2517,10 +2753,15 @@ class CURHandlerPtr(CURHandler):
 _core_.CURHandler_swigregister(CURHandlerPtr)
 
 class ANIHandler(CURHandler):
+    """A `wx.ImageHandler` for \*.ani animated cursor files."""
     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__(self) -> ANIHandler"""
+        """
+        __init__(self) -> ANIHandler
+
+        A `wx.ImageHandler` for \*.ani animated cursor files.
+        """
         newobj = _core_.new_ANIHandler(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
@@ -2534,10 +2775,15 @@ class ANIHandlerPtr(ANIHandler):
 _core_.ANIHandler_swigregister(ANIHandlerPtr)
 
 class PNGHandler(ImageHandler):
+    """A `wx.ImageHandler` for PNG image files."""
     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__(self) -> PNGHandler"""
+        """
+        __init__(self) -> PNGHandler
+
+        A `wx.ImageHandler` for PNG image files.
+        """
         newobj = _core_.new_PNGHandler(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
@@ -2551,10 +2797,15 @@ class PNGHandlerPtr(PNGHandler):
 _core_.PNGHandler_swigregister(PNGHandlerPtr)
 
 class GIFHandler(ImageHandler):
+    """A `wx.ImageHandler` for GIF image files."""
     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__(self) -> GIFHandler"""
+        """
+        __init__(self) -> GIFHandler
+
+        A `wx.ImageHandler` for GIF image files.
+        """
         newobj = _core_.new_GIFHandler(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
@@ -2568,10 +2819,15 @@ class GIFHandlerPtr(GIFHandler):
 _core_.GIFHandler_swigregister(GIFHandlerPtr)
 
 class PCXHandler(ImageHandler):
+    """A `wx.ImageHandler` for PCX imager files."""
     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__(self) -> PCXHandler"""
+        """
+        __init__(self) -> PCXHandler
+
+        A `wx.ImageHandler` for PCX imager files.
+        """
         newobj = _core_.new_PCXHandler(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
@@ -2585,10 +2841,15 @@ class PCXHandlerPtr(PCXHandler):
 _core_.PCXHandler_swigregister(PCXHandlerPtr)
 
 class JPEGHandler(ImageHandler):
+    """A `wx.ImageHandler` for JPEG/JPG image files."""
     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__(self) -> JPEGHandler"""
+        """
+        __init__(self) -> JPEGHandler
+
+        A `wx.ImageHandler` for JPEG/JPG image files.
+        """
         newobj = _core_.new_JPEGHandler(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
@@ -2602,10 +2863,15 @@ class JPEGHandlerPtr(JPEGHandler):
 _core_.JPEGHandler_swigregister(JPEGHandlerPtr)
 
 class PNMHandler(ImageHandler):
+    """A `wx.ImageHandler` for PNM image files."""
     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__(self) -> PNMHandler"""
+        """
+        __init__(self) -> PNMHandler
+
+        A `wx.ImageHandler` for PNM image files.
+        """
         newobj = _core_.new_PNMHandler(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
@@ -2619,10 +2885,15 @@ class PNMHandlerPtr(PNMHandler):
 _core_.PNMHandler_swigregister(PNMHandlerPtr)
 
 class XPMHandler(ImageHandler):
+    """A `wx.ImageHandler` for XPM image."""
     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__(self) -> XPMHandler"""
+        """
+        __init__(self) -> XPMHandler
+
+        A `wx.ImageHandler` for XPM image.
+        """
         newobj = _core_.new_XPMHandler(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
@@ -2636,10 +2907,15 @@ class XPMHandlerPtr(XPMHandler):
 _core_.XPMHandler_swigregister(XPMHandlerPtr)
 
 class TIFFHandler(ImageHandler):
+    """A `wx.ImageHandler` for TIFF image files."""
     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__(self) -> TIFFHandler"""
+        """
+        __init__(self) -> TIFFHandler
+
+        A `wx.ImageHandler` for TIFF image files.
+        """
         newobj = _core_.new_TIFFHandler(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
@@ -2691,6 +2967,7 @@ def Quantize_Quantize(*args, **kwargs):
 #---------------------------------------------------------------------------
 
 class EvtHandler(Object):
+    """Proxy of C++ EvtHandler class"""
     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):
@@ -2744,7 +3021,7 @@ class EvtHandler(Object):
         return _core_.EvtHandler_Disconnect(*args, **kwargs)
 
     def _setOORInfo(*args, **kwargs):
-        """_setOORInfo(self, PyObject _self)"""
+        """_setOORInfo(self, PyObject _self, bool incref=True)"""
         return _core_.EvtHandler__setOORInfo(*args, **kwargs)
 
     def Bind(self, event, handler, source=None, id=wx.ID_ANY, id2=wx.ID_ANY):
@@ -2976,6 +3253,7 @@ wxEVT_IDLE = _core_.wxEVT_IDLE
 wxEVT_UPDATE_UI = _core_.wxEVT_UPDATE_UI
 wxEVT_SIZING = _core_.wxEVT_SIZING
 wxEVT_MOVING = _core_.wxEVT_MOVING
+wxEVT_HIBERNATE = _core_.wxEVT_HIBERNATE
 wxEVT_COMMAND_LEFT_CLICK = _core_.wxEVT_COMMAND_LEFT_CLICK
 wxEVT_COMMAND_LEFT_DCLICK = _core_.wxEVT_COMMAND_LEFT_DCLICK
 wxEVT_COMMAND_RIGHT_CLICK = _core_.wxEVT_COMMAND_RIGHT_CLICK
@@ -3009,6 +3287,7 @@ EVT_KILL_FOCUS = wx.PyEventBinder( wxEVT_KILL_FOCUS )
 EVT_CHILD_FOCUS = wx.PyEventBinder( wxEVT_CHILD_FOCUS )
 EVT_ACTIVATE = wx.PyEventBinder( wxEVT_ACTIVATE )
 EVT_ACTIVATE_APP = wx.PyEventBinder( wxEVT_ACTIVATE_APP )
+EVT_HIBERNATE = wx.PyEventBinder( wxEVT_HIBERNATE )     
 EVT_END_SESSION = wx.PyEventBinder( wxEVT_END_SESSION )
 EVT_QUERY_END_SESSION = wx.PyEventBinder( wxEVT_QUERY_END_SESSION )
 EVT_DROP_FILES = wx.PyEventBinder( wxEVT_DROP_FILES )
@@ -3076,7 +3355,7 @@ EVT_SCROLLWIN_PAGEDOWN = wx.PyEventBinder( wxEVT_SCROLLWIN_PAGEDOWN )
 EVT_SCROLLWIN_THUMBTRACK = wx.PyEventBinder( wxEVT_SCROLLWIN_THUMBTRACK )
 EVT_SCROLLWIN_THUMBRELEASE = wx.PyEventBinder( wxEVT_SCROLLWIN_THUMBRELEASE )
 
-# Scrolling from wxSlider and wxScrollBar
+# Scrolling from wx.Slider and wx.ScrollBar
 EVT_SCROLL = wx.PyEventBinder([ wxEVT_SCROLL_TOP, 
                                wxEVT_SCROLL_BOTTOM, 
                                wxEVT_SCROLL_LINEUP, 
@@ -3098,7 +3377,7 @@ EVT_SCROLL_THUMBTRACK = wx.PyEventBinder( wxEVT_SCROLL_THUMBTRACK )
 EVT_SCROLL_THUMBRELEASE = wx.PyEventBinder( wxEVT_SCROLL_THUMBRELEASE )
 EVT_SCROLL_ENDSCROLL = wx.PyEventBinder( wxEVT_SCROLL_ENDSCROLL )
 
-# Scrolling from wxSlider and wxScrollBar, with an id
+# Scrolling from wx.Slider and wx.ScrollBar, with an id
 EVT_COMMAND_SCROLL = wx.PyEventBinder([ wxEVT_SCROLL_TOP, 
                                        wxEVT_SCROLL_BOTTOM, 
                                        wxEVT_SCROLL_LINEUP, 
@@ -3162,6 +3441,11 @@ EVT_CONTEXT_MENU = wx.PyEventBinder( wxEVT_CONTEXT_MENU )
 #---------------------------------------------------------------------------
 
 class Event(Object):
+    """
+    An event is a structure holding information about an event passed to a
+    callback or member function. wx.Event is an abstract base class for
+    other event classes
+    """
     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,)
@@ -3172,19 +3456,38 @@ class Event(Object):
         except: pass
 
     def SetEventType(*args, **kwargs):
-        """SetEventType(self, wxEventType typ)"""
+        """
+        SetEventType(self, wxEventType typ)
+
+        Sets the specific type of the event.
+        """
         return _core_.Event_SetEventType(*args, **kwargs)
 
     def GetEventType(*args, **kwargs):
-        """GetEventType(self) -> wxEventType"""
+        """
+        GetEventType(self) -> wxEventType
+
+        Returns the identifier of the given event type, such as
+        ``wxEVT_COMMAND_BUTTON_CLICKED``.
+        """
         return _core_.Event_GetEventType(*args, **kwargs)
 
     def GetEventObject(*args, **kwargs):
-        """GetEventObject(self) -> Object"""
+        """
+        GetEventObject(self) -> Object
+
+        Returns the object (usually a window) associated with the event, if
+        any.
+        """
         return _core_.Event_GetEventObject(*args, **kwargs)
 
     def SetEventObject(*args, **kwargs):
-        """SetEventObject(self, Object obj)"""
+        """
+        SetEventObject(self, Object obj)
+
+        Sets the originating object, or in other words, obj is normally the
+        object that is sending the event.
+        """
         return _core_.Event_SetEventObject(*args, **kwargs)
 
     def GetTimestamp(*args, **kwargs):
@@ -3196,35 +3499,85 @@ class Event(Object):
         return _core_.Event_SetTimestamp(*args, **kwargs)
 
     def GetId(*args, **kwargs):
-        """GetId(self) -> int"""
+        """
+        GetId(self) -> int
+
+        Returns the identifier associated with this event, such as a button
+        command id.
+        """
         return _core_.Event_GetId(*args, **kwargs)
 
     def SetId(*args, **kwargs):
-        """SetId(self, int Id)"""
+        """
+        SetId(self, int Id)
+
+        Set's the ID for the event.  This is usually the ID of the window that
+        is sending the event, but it can also be a command id from a menu
+        item, etc.
+        """
         return _core_.Event_SetId(*args, **kwargs)
 
     def IsCommandEvent(*args, **kwargs):
-        """IsCommandEvent(self) -> bool"""
+        """
+        IsCommandEvent(self) -> bool
+
+        Returns true if the event is or is derived from `wx.CommandEvent` else
+        it returns false. Note: Exists only for optimization purposes.
+        """
         return _core_.Event_IsCommandEvent(*args, **kwargs)
 
     def Skip(*args, **kwargs):
-        """Skip(self, bool skip=True)"""
+        """
+        Skip(self, bool skip=True)
+
+        Called by an event handler, it controls whether additional event
+        handlers bound to this event will be called after the current event
+        handler returns.  Skip(false) (the default setting) will prevent
+        additional event handlers from being called and control will be
+        returned to the sender of the event immediately after the current
+        handler has finished.  Skip(True) will cause the event processing
+        system to continue searching for a handler function for this event.
+
+        """
         return _core_.Event_Skip(*args, **kwargs)
 
     def GetSkipped(*args, **kwargs):
-        """GetSkipped(self) -> bool"""
+        """
+        GetSkipped(self) -> bool
+
+        Returns true if the event handler should be skipped, false otherwise.
+        :see: `Skip`
+        """
         return _core_.Event_GetSkipped(*args, **kwargs)
 
     def ShouldPropagate(*args, **kwargs):
-        """ShouldPropagate(self) -> bool"""
+        """
+        ShouldPropagate(self) -> bool
+
+        Test if this event should be propagated to the parent window or not,
+        i.e. if the propagation level is currently greater than 0.
+        """
         return _core_.Event_ShouldPropagate(*args, **kwargs)
 
     def StopPropagation(*args, **kwargs):
-        """StopPropagation(self) -> int"""
+        """
+        StopPropagation(self) -> int
+
+        Stop the event from propagating to its parent window.  Returns the old
+        propagation level value which may be later passed to
+        `ResumePropagation` to allow propagating the event again.
+        """
         return _core_.Event_StopPropagation(*args, **kwargs)
 
     def ResumePropagation(*args, **kwargs):
-        """ResumePropagation(self, int propagationLevel)"""
+        """
+        ResumePropagation(self, int propagationLevel)
+
+        Resume the event propagation by restoring the propagation level.  (For
+        example, you can use the value returned by an earlier call to
+        `StopPropagation`.)
+
+        """
         return _core_.Event_ResumePropagation(*args, **kwargs)
 
     def Clone(*args, **kwargs):
@@ -3242,10 +3595,21 @@ _core_.Event_swigregister(EventPtr)
 #---------------------------------------------------------------------------
 
 class PropagationDisabler(object):
+    """
+    Helper class to temporarily change an event not to propagate.  Simply
+    create an instance of this class and then whe it is destroyed the
+    propogation of the event will be restored.
+    """
     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__(self, Event event) -> PropagationDisabler"""
+        """
+        __init__(self, Event event) -> PropagationDisabler
+
+        Helper class to temporarily change an event not to propagate.  Simply
+        create an instance of this class and then whe it is destroyed the
+        propogation of the event will be restored.
+        """
         newobj = _core_.new_PropagationDisabler(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
@@ -3265,10 +3629,21 @@ class PropagationDisablerPtr(PropagationDisabler):
 _core_.PropagationDisabler_swigregister(PropagationDisablerPtr)
 
 class PropagateOnce(object):
+    """
+    A helper class that will temporarily lower propagation level of an
+    event.  Simply create an instance of this class and then whe it is
+    destroyed the propogation of the event will be restored.
+    """
     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__(self, Event event) -> PropagateOnce"""
+        """
+        __init__(self, Event event) -> PropagateOnce
+
+        A helper class that will temporarily lower propagation level of an
+        event.  Simply create an instance of this class and then whe it is
+        destroyed the propogation of the event will be restored.
+        """
         newobj = _core_.new_PropagateOnce(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
@@ -3290,16 +3665,32 @@ _core_.PropagateOnce_swigregister(PropagateOncePtr)
 #---------------------------------------------------------------------------
 
 class CommandEvent(Event):
+    """
+    This event class contains information about command events, which
+    originate from a variety of simple controls, as well as menus and
+    toolbars.
+    """
     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__(self, wxEventType commandType=wxEVT_NULL, int winid=0) -> CommandEvent"""
+        """
+        __init__(self, wxEventType commandType=wxEVT_NULL, int winid=0) -> CommandEvent
+
+        This event class contains information about command events, which
+        originate from a variety of simple controls, as well as menus and
+        toolbars.
+        """
         newobj = _core_.new_CommandEvent(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
         del newobj.thisown
     def GetSelection(*args, **kwargs):
-        """GetSelection(self) -> int"""
+        """
+        GetSelection(self) -> int
+
+        Returns item index for a listbox or choice selection event (not valid
+        for a deselection).
+        """
         return _core_.CommandEvent_GetSelection(*args, **kwargs)
 
     def SetString(*args, **kwargs):
@@ -3307,16 +3698,34 @@ class CommandEvent(Event):
         return _core_.CommandEvent_SetString(*args, **kwargs)
 
     def GetString(*args, **kwargs):
-        """GetString(self) -> String"""
+        """
+        GetString(self) -> String
+
+        Returns item string for a listbox or choice selection event (not valid
+        for a deselection).
+        """
         return _core_.CommandEvent_GetString(*args, **kwargs)
 
     def IsChecked(*args, **kwargs):
-        """IsChecked(self) -> bool"""
+        """
+        IsChecked(self) -> bool
+
+        This method can be used with checkbox and menu events: for the
+        checkboxes, the method returns true for a selection event and false
+        for a deselection one. For the menu events, this method indicates if
+        the menu item just has become checked or unchecked (and thus only
+        makes sense for checkable menu items).
+        """
         return _core_.CommandEvent_IsChecked(*args, **kwargs)
 
     Checked = IsChecked 
     def IsSelection(*args, **kwargs):
-        """IsSelection(self) -> bool"""
+        """
+        IsSelection(self) -> bool
+
+        For a listbox or similar event, returns true if it is a selection,
+        false if it is a deselection.
+        """
         return _core_.CommandEvent_IsSelection(*args, **kwargs)
 
     def SetExtraLong(*args, **kwargs):
@@ -3324,7 +3733,15 @@ class CommandEvent(Event):
         return _core_.CommandEvent_SetExtraLong(*args, **kwargs)
 
     def GetExtraLong(*args, **kwargs):
-        """GetExtraLong(self) -> long"""
+        """
+        GetExtraLong(self) -> long
+
+        Returns extra information dependant on the event objects type. If the event
+        comes from a listbox selection, it is a boolean determining whether the event
+        was a selection (true) or a deselection (false). A listbox deselection only
+        occurs for multiple-selection boxes, and in this case the index and string
+        values are indeterminate and the listbox must be examined by the application.
+        """
         return _core_.CommandEvent_GetExtraLong(*args, **kwargs)
 
     def SetInt(*args, **kwargs):
@@ -3332,7 +3749,13 @@ class CommandEvent(Event):
         return _core_.CommandEvent_SetInt(*args, **kwargs)
 
     def GetInt(*args, **kwargs):
-        """GetInt(self) -> long"""
+        """
+        GetInt(self) -> long
+
+        Returns the integer identifier corresponding to a listbox, choice or radiobox
+        selection (only if the event was a selection, not a deselection), or a boolean
+        value representing the value of a checkbox.
+        """
         return _core_.CommandEvent_GetInt(*args, **kwargs)
 
     def Clone(*args, **kwargs):
@@ -3350,24 +3773,57 @@ _core_.CommandEvent_swigregister(CommandEventPtr)
 #---------------------------------------------------------------------------
 
 class NotifyEvent(CommandEvent):
+    """
+    An instance of this class (or one of its derived classes) is sent from
+    a control when the control's state is being changed and the control
+    allows that change to be prevented from happening.  The event handler
+    can call `Veto` or `Allow` to tell the control what to do.
+    """
     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__(self, wxEventType commandType=wxEVT_NULL, int winid=0) -> NotifyEvent"""
+        """
+        __init__(self, wxEventType commandType=wxEVT_NULL, int winid=0) -> NotifyEvent
+
+        An instance of this class (or one of its derived classes) is sent from
+        a control when the control's state is being changed and the control
+        allows that change to be prevented from happening.  The event handler
+        can call `Veto` or `Allow` to tell the control what to do.
+        """
         newobj = _core_.new_NotifyEvent(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
         del newobj.thisown
     def Veto(*args, **kwargs):
-        """Veto(self)"""
+        """
+        Veto(self)
+
+        Prevents the change announced by this event from happening.
+
+        It is in general a good idea to notify the user about the reasons for
+        vetoing the change because otherwise the applications behaviour (which
+        just refuses to do what the user wants) might be quite surprising.
+        """
         return _core_.NotifyEvent_Veto(*args, **kwargs)
 
     def Allow(*args, **kwargs):
-        """Allow(self)"""
+        """
+        Allow(self)
+
+        This is the opposite of `Veto`: it explicitly allows the event to be
+        processed. For most events it is not necessary to call this method as
+        the events are allowed anyhow but some are forbidden by default (this
+        will be mentioned in the corresponding event description).
+        """
         return _core_.NotifyEvent_Allow(*args, **kwargs)
 
     def IsAllowed(*args, **kwargs):
-        """IsAllowed(self) -> bool"""
+        """
+        IsAllowed(self) -> bool
+
+        Returns true if the change is allowed (`Veto` hasn't been called) or
+        false otherwise (if it was).
+        """
         return _core_.NotifyEvent_IsAllowed(*args, **kwargs)
 
 
@@ -3381,6 +3837,12 @@ _core_.NotifyEvent_swigregister(NotifyEventPtr)
 #---------------------------------------------------------------------------
 
 class ScrollEvent(CommandEvent):
+    """
+    A scroll event holds information about events sent from stand-alone
+    scrollbars and sliders. Note that scrolled windows do not send
+    instnaces of this event class, but send the `wx.ScrollWinEvent`
+    instead.
+    """
     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):
@@ -3393,11 +3855,20 @@ class ScrollEvent(CommandEvent):
         self.thisown = 1
         del newobj.thisown
     def GetOrientation(*args, **kwargs):
-        """GetOrientation(self) -> int"""
+        """
+        GetOrientation(self) -> int
+
+        Returns wx.HORIZONTAL or wx.VERTICAL, depending on the orientation of
+        the scrollbar.
+        """
         return _core_.ScrollEvent_GetOrientation(*args, **kwargs)
 
     def GetPosition(*args, **kwargs):
-        """GetPosition(self) -> int"""
+        """
+        GetPosition(self) -> int
+
+        Returns the position of the scrollbar.
+        """
         return _core_.ScrollEvent_GetPosition(*args, **kwargs)
 
     def SetOrientation(*args, **kwargs):
@@ -3419,20 +3890,40 @@ _core_.ScrollEvent_swigregister(ScrollEventPtr)
 #---------------------------------------------------------------------------
 
 class ScrollWinEvent(Event):
+    """
+    A wx.ScrollWinEvent holds information about scrolling and is sent from
+    scrolling windows.
+    """
     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__(self, wxEventType commandType=wxEVT_NULL, int pos=0, int orient=0) -> ScrollWinEvent"""
+        """
+        __init__(self, wxEventType commandType=wxEVT_NULL, int pos=0, int orient=0) -> ScrollWinEvent
+
+        A wx.ScrollWinEvent holds information about scrolling and is sent from
+        scrolling windows.
+        """
         newobj = _core_.new_ScrollWinEvent(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
         del newobj.thisown
     def GetOrientation(*args, **kwargs):
-        """GetOrientation(self) -> int"""
+        """
+        GetOrientation(self) -> int
+
+        Returns wx.HORIZONTAL or wx.VERTICAL, depending on the orientation of
+        the scrollbar.
+        """
         return _core_.ScrollWinEvent_GetOrientation(*args, **kwargs)
 
     def GetPosition(*args, **kwargs):
-        """GetPosition(self) -> int"""
+        """
+        GetPosition(self) -> int
+
+        Returns the position of the scrollbar for the thumb track and release
+        events. Note that this field can't be used for the other events, you
+        need to query the window itself for the current position in that case.
+        """
         return _core_.ScrollWinEvent_GetPosition(*args, **kwargs)
 
     def SetOrientation(*args, **kwargs):
@@ -3459,32 +3950,108 @@ MOUSE_BTN_LEFT = _core_.MOUSE_BTN_LEFT
 MOUSE_BTN_MIDDLE = _core_.MOUSE_BTN_MIDDLE
 MOUSE_BTN_RIGHT = _core_.MOUSE_BTN_RIGHT
 class MouseEvent(Event):
+    """
+    This event class contains information about the events generated by
+    the mouse: they include mouse buttons press and release events and
+    mouse move events.
+
+    All mouse events involving the buttons use ``wx.MOUSE_BTN_LEFT`` for
+    the left mouse button, ``wx.MOUSE_BTN_MIDDLE`` for the middle one and
+    ``wx.MOUSE_BTN_RIGHT`` for the right one. Note that not all mice have
+    a middle button so a portable application should avoid relying on the
+    events from it.
+
+    Note the difference between methods like `LeftDown` and `LeftIsDown`:
+    the former returns true when the event corresponds to the left mouse
+    button click while the latter returns true if the left mouse button is
+    currently being pressed. For example, when the user is dragging the
+    mouse you can use `LeftIsDown` to test whether the left mouse button
+    is (still) depressed. Also, by convention, if `LeftDown` returns true,
+    `LeftIsDown` will also return true in wxWidgets whatever the
+    underlying GUI behaviour is (which is platform-dependent). The same
+    applies, of course, to other mouse buttons as well.
+    """
     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__(self, wxEventType mouseType=wxEVT_NULL) -> MouseEvent"""
+        """
+        __init__(self, wxEventType mouseType=wxEVT_NULL) -> MouseEvent
+
+        Constructs a wx.MouseEvent.  Valid event types are:
+
+            * wxEVT_ENTER_WINDOW
+            * wxEVT_LEAVE_WINDOW
+            * wxEVT_LEFT_DOWN
+            * wxEVT_LEFT_UP
+            * wxEVT_LEFT_DCLICK
+            * wxEVT_MIDDLE_DOWN
+            * wxEVT_MIDDLE_UP
+            * wxEVT_MIDDLE_DCLICK
+            * wxEVT_RIGHT_DOWN
+            * wxEVT_RIGHT_UP
+            * wxEVT_RIGHT_DCLICK
+            * wxEVT_MOTION
+            * wxEVT_MOUSEWHEEL 
+        """
         newobj = _core_.new_MouseEvent(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
         del newobj.thisown
     def IsButton(*args, **kwargs):
-        """IsButton(self) -> bool"""
+        """
+        IsButton(self) -> bool
+
+        Returns true if the event was a mouse button event (not necessarily a
+        button down event - that may be tested using `ButtonDown`).
+        """
         return _core_.MouseEvent_IsButton(*args, **kwargs)
 
     def ButtonDown(*args, **kwargs):
-        """ButtonDown(self, int but=MOUSE_BTN_ANY) -> bool"""
+        """
+        ButtonDown(self, int but=MOUSE_BTN_ANY) -> bool
+
+        If the argument is omitted, this returns true if the event was any mouse
+        button down event. Otherwise the argument specifies which button-down
+        event shold be checked for (see `Button` for the possible values).
+        """
         return _core_.MouseEvent_ButtonDown(*args, **kwargs)
 
     def ButtonDClick(*args, **kwargs):
-        """ButtonDClick(self, int but=MOUSE_BTN_ANY) -> bool"""
+        """
+        ButtonDClick(self, int but=MOUSE_BTN_ANY) -> bool
+
+        If the argument is omitted, this returns true if the event was any
+        mouse double click event. Otherwise the argument specifies which
+        double click event to check for (see `Button` for the possible
+        values).
+        """
         return _core_.MouseEvent_ButtonDClick(*args, **kwargs)
 
     def ButtonUp(*args, **kwargs):
-        """ButtonUp(self, int but=MOUSE_BTN_ANY) -> bool"""
+        """
+        ButtonUp(self, int but=MOUSE_BTN_ANY) -> bool
+
+        If the argument is omitted, this returns true if the event was any
+        mouse button up event. Otherwise the argument specifies which
+        button up event to check for (see `Button` for the possible values).
+        """
         return _core_.MouseEvent_ButtonUp(*args, **kwargs)
 
     def Button(*args, **kwargs):
-        """Button(self, int but) -> bool"""
+        """
+        Button(self, int button) -> bool
+
+        Returns true if the identified mouse button is changing state. Valid
+        values of button are:
+
+             ====================      =====================================
+             wx.MOUSE_BTN_LEFT         check if left button was pressed
+             wx.MOUSE_BTN_MIDDLE       check if middle button was pressed
+             wx.MOUSE_BTN_RIGHT        check if right button was pressed
+             wx.MOUSE_BTN_ANY          check if any button was pressed
+             ====================      =====================================
+
+        """
         return _core_.MouseEvent_Button(*args, **kwargs)
 
     def ButtonIsDown(*args, **kwargs):
@@ -3492,23 +4059,48 @@ class MouseEvent(Event):
         return _core_.MouseEvent_ButtonIsDown(*args, **kwargs)
 
     def GetButton(*args, **kwargs):
-        """GetButton(self) -> int"""
+        """
+        GetButton(self) -> int
+
+        Returns the mouse button which generated this event or
+        wx.MOUSE_BTN_NONE if no button is involved (for mouse move, enter or
+        leave event, for example). Otherwise wx.MOUSE_BTN_LEFT is returned for
+        the left button down, up and double click events, wx.MOUSE_BTN_MIDDLE
+        and wx.MOUSE_BTN_RIGHT for the same events for the middle and the
+        right buttons respectively.
+        """
         return _core_.MouseEvent_GetButton(*args, **kwargs)
 
     def ControlDown(*args, **kwargs):
-        """ControlDown(self) -> bool"""
+        """
+        ControlDown(self) -> bool
+
+        Returns true if the control key was down at the time of the event.
+        """
         return _core_.MouseEvent_ControlDown(*args, **kwargs)
 
     def MetaDown(*args, **kwargs):
-        """MetaDown(self) -> bool"""
+        """
+        MetaDown(self) -> bool
+
+        Returns true if the Meta key was down at the time of the event.
+        """
         return _core_.MouseEvent_MetaDown(*args, **kwargs)
 
     def AltDown(*args, **kwargs):
-        """AltDown(self) -> bool"""
+        """
+        AltDown(self) -> bool
+
+        Returns true if the Alt key was down at the time of the event.
+        """
         return _core_.MouseEvent_AltDown(*args, **kwargs)
 
     def ShiftDown(*args, **kwargs):
-        """ShiftDown(self) -> bool"""
+        """
+        ShiftDown(self) -> bool
+
+        Returns true if the Shift key was down at the time of the event.
+        """
         return _core_.MouseEvent_ShiftDown(*args, **kwargs)
 
     def CmdDown(*args, **kwargs):
@@ -3517,84 +4109,162 @@ class MouseEvent(Event):
 
         "Cmd" is a pseudo key which is the same as Control for PC and Unix
         platforms but the special "Apple" (a.k.a as "Command") key on
-        Macs: it makes often sense to use it instead of, say, `ControlDown`
+        Macs: it often makes sense to use it instead of, say, `ControlDown`
         because Cmd key is used for the same thing under Mac as Ctrl
-        elsewhere. The Ctrl still exists, it's just not used for this
+        elsewhere. The Ctrl key still exists, it's just not used for this
         purpose. So for non-Mac platforms this is the same as `ControlDown`
         and Macs this is the same as `MetaDown`.
         """
         return _core_.MouseEvent_CmdDown(*args, **kwargs)
 
     def LeftDown(*args, **kwargs):
-        """LeftDown(self) -> bool"""
+        """
+        LeftDown(self) -> bool
+
+        Returns true if the left mouse button state changed to down.
+        """
         return _core_.MouseEvent_LeftDown(*args, **kwargs)
 
     def MiddleDown(*args, **kwargs):
-        """MiddleDown(self) -> bool"""
+        """
+        MiddleDown(self) -> bool
+
+        Returns true if the middle mouse button state changed to down.
+        """
         return _core_.MouseEvent_MiddleDown(*args, **kwargs)
 
     def RightDown(*args, **kwargs):
-        """RightDown(self) -> bool"""
+        """
+        RightDown(self) -> bool
+
+        Returns true if the right mouse button state changed to down.
+        """
         return _core_.MouseEvent_RightDown(*args, **kwargs)
 
     def LeftUp(*args, **kwargs):
-        """LeftUp(self) -> bool"""
+        """
+        LeftUp(self) -> bool
+
+        Returns true if the left mouse button state changed to up.
+        """
         return _core_.MouseEvent_LeftUp(*args, **kwargs)
 
     def MiddleUp(*args, **kwargs):
-        """MiddleUp(self) -> bool"""
+        """
+        MiddleUp(self) -> bool
+
+        Returns true if the middle mouse button state changed to up.
+        """
         return _core_.MouseEvent_MiddleUp(*args, **kwargs)
 
     def RightUp(*args, **kwargs):
-        """RightUp(self) -> bool"""
+        """
+        RightUp(self) -> bool
+
+        Returns true if the right mouse button state changed to up.
+        """
         return _core_.MouseEvent_RightUp(*args, **kwargs)
 
     def LeftDClick(*args, **kwargs):
-        """LeftDClick(self) -> bool"""
+        """
+        LeftDClick(self) -> bool
+
+        Returns true if the event was a left button double click.
+        """
         return _core_.MouseEvent_LeftDClick(*args, **kwargs)
 
     def MiddleDClick(*args, **kwargs):
-        """MiddleDClick(self) -> bool"""
+        """
+        MiddleDClick(self) -> bool
+
+        Returns true if the event was a middle button double click.
+        """
         return _core_.MouseEvent_MiddleDClick(*args, **kwargs)
 
     def RightDClick(*args, **kwargs):
-        """RightDClick(self) -> bool"""
+        """
+        RightDClick(self) -> bool
+
+        Returns true if the event was a right button double click.
+        """
         return _core_.MouseEvent_RightDClick(*args, **kwargs)
 
     def LeftIsDown(*args, **kwargs):
-        """LeftIsDown(self) -> bool"""
+        """
+        LeftIsDown(self) -> bool
+
+        Returns true if the left mouse button is currently down, independent
+        of the current event type.
+
+        Please notice that it is not the same as LeftDown which returns true
+        if the left mouse button was just pressed. Rather, it describes the
+        state of the mouse button before the event happened.
+
+        This event is usually used in the mouse event handlers which process
+        "move mouse" messages to determine whether the user is (still)
+        dragging the mouse.
+        """
         return _core_.MouseEvent_LeftIsDown(*args, **kwargs)
 
     def MiddleIsDown(*args, **kwargs):
-        """MiddleIsDown(self) -> bool"""
+        """
+        MiddleIsDown(self) -> bool
+
+        Returns true if the middle mouse button is currently down, independent
+        of the current event type.
+        """
         return _core_.MouseEvent_MiddleIsDown(*args, **kwargs)
 
     def RightIsDown(*args, **kwargs):
-        """RightIsDown(self) -> bool"""
+        """
+        RightIsDown(self) -> bool
+
+        Returns true if the right mouse button is currently down, independent
+        of the current event type.
+        """
         return _core_.MouseEvent_RightIsDown(*args, **kwargs)
 
     def Dragging(*args, **kwargs):
-        """Dragging(self) -> bool"""
+        """
+        Dragging(self) -> bool
+
+        Returns true if this was a dragging event (motion while a button is
+        depressed).
+        """
         return _core_.MouseEvent_Dragging(*args, **kwargs)
 
     def Moving(*args, **kwargs):
-        """Moving(self) -> bool"""
+        """
+        Moving(self) -> bool
+
+        Returns true if this was a motion event and no mouse buttons were
+        pressed. If any mouse button is held pressed, then this method returns
+        false and Dragging returns true.
+        """
         return _core_.MouseEvent_Moving(*args, **kwargs)
 
     def Entering(*args, **kwargs):
-        """Entering(self) -> bool"""
+        """
+        Entering(self) -> bool
+
+        Returns true if the mouse was entering the window.
+        """
         return _core_.MouseEvent_Entering(*args, **kwargs)
 
     def Leaving(*args, **kwargs):
-        """Leaving(self) -> bool"""
+        """
+        Leaving(self) -> bool
+
+        Returns true if the mouse was leaving the window.
+        """
         return _core_.MouseEvent_Leaving(*args, **kwargs)
 
     def GetPosition(*args, **kwargs):
         """
         GetPosition(self) -> Point
 
-        Returns the position of the mouse in window coordinates when the event
-        happened.
+        Returns the pixel position of the mouse in window coordinates when the
+        event happened.
         """
         return _core_.MouseEvent_GetPosition(*args, **kwargs)
 
@@ -3602,37 +4272,77 @@ class MouseEvent(Event):
         """
         GetPositionTuple() -> (x,y)
 
-        Returns the position of the mouse in window coordinates when the event
-        happened.
+        Returns the pixel position of the mouse in window coordinates when the
+        event happened.
         """
         return _core_.MouseEvent_GetPositionTuple(*args, **kwargs)
 
     def GetLogicalPosition(*args, **kwargs):
-        """GetLogicalPosition(self, DC dc) -> Point"""
+        """
+        GetLogicalPosition(self, DC dc) -> Point
+
+        Returns the logical mouse position in pixels (i.e. translated
+        according to the translation set for the DC, which usually indicates
+        that the window has been scrolled).
+        """
         return _core_.MouseEvent_GetLogicalPosition(*args, **kwargs)
 
     def GetX(*args, **kwargs):
-        """GetX(self) -> int"""
+        """
+        GetX(self) -> int
+
+        Returns X coordinate of the physical mouse event position.
+        """
         return _core_.MouseEvent_GetX(*args, **kwargs)
 
     def GetY(*args, **kwargs):
-        """GetY(self) -> int"""
+        """
+        GetY(self) -> int
+
+        Returns Y coordinate of the physical mouse event position.
+        """
         return _core_.MouseEvent_GetY(*args, **kwargs)
 
     def GetWheelRotation(*args, **kwargs):
-        """GetWheelRotation(self) -> int"""
+        """
+        GetWheelRotation(self) -> int
+
+        Get wheel rotation, positive or negative indicates direction of
+        rotation. Current devices all send an event when rotation is equal to
+        +/-WheelDelta, but this allows for finer resolution devices to be
+        created in the future. Because of this you shouldn't assume that one
+        event is equal to 1 line or whatever, but you should be able to either
+        do partial line scrolling or wait until +/-WheelDelta rotation values
+        have been accumulated before scrolling.
+        """
         return _core_.MouseEvent_GetWheelRotation(*args, **kwargs)
 
     def GetWheelDelta(*args, **kwargs):
-        """GetWheelDelta(self) -> int"""
+        """
+        GetWheelDelta(self) -> int
+
+        Get wheel delta, normally 120. This is the threshold for action to be
+        taken, and one such action (for example, scrolling one increment)
+        should occur for each delta.
+        """
         return _core_.MouseEvent_GetWheelDelta(*args, **kwargs)
 
     def GetLinesPerAction(*args, **kwargs):
-        """GetLinesPerAction(self) -> int"""
+        """
+        GetLinesPerAction(self) -> int
+
+        Returns the configured number of lines (or whatever) to be scrolled
+        per wheel action. Defaults to three.
+        """
         return _core_.MouseEvent_GetLinesPerAction(*args, **kwargs)
 
     def IsPageScroll(*args, **kwargs):
-        """IsPageScroll(self) -> bool"""
+        """
+        IsPageScroll(self) -> bool
+
+        Returns true if the system has been setup to do page scrolling with
+        the mouse wheel instead of line scrolling.
+        """
         return _core_.MouseEvent_IsPageScroll(*args, **kwargs)
 
     m_x = property(_core_.MouseEvent_m_x_get, _core_.MouseEvent_m_x_set)
@@ -3658,6 +4368,7 @@ _core_.MouseEvent_swigregister(MouseEventPtr)
 #---------------------------------------------------------------------------
 
 class SetCursorEvent(Event):
+    """Proxy of C++ SetCursorEvent class"""
     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):
@@ -3697,6 +4408,7 @@ _core_.SetCursorEvent_swigregister(SetCursorEventPtr)
 #---------------------------------------------------------------------------
 
 class KeyEvent(Event):
+    """Proxy of C++ KeyEvent class"""
     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):
@@ -3802,6 +4514,7 @@ _core_.KeyEvent_swigregister(KeyEventPtr)
 #---------------------------------------------------------------------------
 
 class SizeEvent(Event):
+    """Proxy of C++ SizeEvent class"""
     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):
@@ -3839,6 +4552,7 @@ _core_.SizeEvent_swigregister(SizeEventPtr)
 #---------------------------------------------------------------------------
 
 class MoveEvent(Event):
+    """Proxy of C++ MoveEvent class"""
     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):
@@ -3863,8 +4577,9 @@ class MoveEvent(Event):
         """SetPosition(self, 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)
+    m_pos =  property(GetPosition, SetPosition)
+    m_rect = property(GetRect, SetRect)
+
 
 class MoveEventPtr(MoveEvent):
     def __init__(self, this):
@@ -3876,6 +4591,7 @@ _core_.MoveEvent_swigregister(MoveEventPtr)
 #---------------------------------------------------------------------------
 
 class PaintEvent(Event):
+    """Proxy of C++ PaintEvent class"""
     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):
@@ -3893,6 +4609,7 @@ class PaintEventPtr(PaintEvent):
 _core_.PaintEvent_swigregister(PaintEventPtr)
 
 class NcPaintEvent(Event):
+    """Proxy of C++ NcPaintEvent class"""
     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):
@@ -3912,6 +4629,7 @@ _core_.NcPaintEvent_swigregister(NcPaintEventPtr)
 #---------------------------------------------------------------------------
 
 class EraseEvent(Event):
+    """Proxy of C++ EraseEvent class"""
     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):
@@ -3935,6 +4653,7 @@ _core_.EraseEvent_swigregister(EraseEventPtr)
 #---------------------------------------------------------------------------
 
 class FocusEvent(Event):
+    """Proxy of C++ FocusEvent class"""
     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):
@@ -3962,6 +4681,7 @@ _core_.FocusEvent_swigregister(FocusEventPtr)
 #---------------------------------------------------------------------------
 
 class ChildFocusEvent(CommandEvent):
+    """Proxy of C++ ChildFocusEvent class"""
     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):
@@ -3985,6 +4705,7 @@ _core_.ChildFocusEvent_swigregister(ChildFocusEventPtr)
 #---------------------------------------------------------------------------
 
 class ActivateEvent(Event):
+    """Proxy of C++ ActivateEvent class"""
     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):
@@ -4008,6 +4729,7 @@ _core_.ActivateEvent_swigregister(ActivateEventPtr)
 #---------------------------------------------------------------------------
 
 class InitDialogEvent(Event):
+    """Proxy of C++ InitDialogEvent class"""
     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):
@@ -4027,6 +4749,7 @@ _core_.InitDialogEvent_swigregister(InitDialogEventPtr)
 #---------------------------------------------------------------------------
 
 class MenuEvent(Event):
+    """Proxy of C++ MenuEvent class"""
     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):
@@ -4058,6 +4781,7 @@ _core_.MenuEvent_swigregister(MenuEventPtr)
 #---------------------------------------------------------------------------
 
 class CloseEvent(Event):
+    """Proxy of C++ CloseEvent class"""
     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):
@@ -4101,6 +4825,7 @@ _core_.CloseEvent_swigregister(CloseEventPtr)
 #---------------------------------------------------------------------------
 
 class ShowEvent(Event):
+    """Proxy of C++ ShowEvent class"""
     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):
@@ -4128,6 +4853,7 @@ _core_.ShowEvent_swigregister(ShowEventPtr)
 #---------------------------------------------------------------------------
 
 class IconizeEvent(Event):
+    """Proxy of C++ IconizeEvent class"""
     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):
@@ -4151,6 +4877,7 @@ _core_.IconizeEvent_swigregister(IconizeEventPtr)
 #---------------------------------------------------------------------------
 
 class MaximizeEvent(Event):
+    """Proxy of C++ MaximizeEvent class"""
     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):
@@ -4170,6 +4897,7 @@ _core_.MaximizeEvent_swigregister(MaximizeEventPtr)
 #---------------------------------------------------------------------------
 
 class DropFilesEvent(Event):
+    """Proxy of C++ DropFilesEvent class"""
     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,)
@@ -4198,6 +4926,7 @@ _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):
+    """Proxy of C++ UpdateUIEvent class"""
     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):
@@ -4307,6 +5036,7 @@ def UpdateUIEvent_GetMode(*args, **kwargs):
 #---------------------------------------------------------------------------
 
 class SysColourChangedEvent(Event):
+    """Proxy of C++ SysColourChangedEvent class"""
     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):
@@ -4326,6 +5056,7 @@ _core_.SysColourChangedEvent_swigregister(SysColourChangedEventPtr)
 #---------------------------------------------------------------------------
 
 class MouseCaptureChangedEvent(Event):
+    """Proxy of C++ MouseCaptureChangedEvent class"""
     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):
@@ -4349,6 +5080,7 @@ _core_.MouseCaptureChangedEvent_swigregister(MouseCaptureChangedEventPtr)
 #---------------------------------------------------------------------------
 
 class DisplayChangedEvent(Event):
+    """Proxy of C++ DisplayChangedEvent class"""
     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):
@@ -4368,6 +5100,7 @@ _core_.DisplayChangedEvent_swigregister(DisplayChangedEventPtr)
 #---------------------------------------------------------------------------
 
 class PaletteChangedEvent(Event):
+    """Proxy of C++ PaletteChangedEvent class"""
     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):
@@ -4395,6 +5128,7 @@ _core_.PaletteChangedEvent_swigregister(PaletteChangedEventPtr)
 #---------------------------------------------------------------------------
 
 class QueryNewPaletteEvent(Event):
+    """Proxy of C++ QueryNewPaletteEvent class"""
     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):
@@ -4422,6 +5156,7 @@ _core_.QueryNewPaletteEvent_swigregister(QueryNewPaletteEventPtr)
 #---------------------------------------------------------------------------
 
 class NavigationKeyEvent(Event):
+    """Proxy of C++ NavigationKeyEvent class"""
     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):
@@ -4446,6 +5181,14 @@ class NavigationKeyEvent(Event):
         """SetWindowChange(self, bool ischange)"""
         return _core_.NavigationKeyEvent_SetWindowChange(*args, **kwargs)
 
+    def IsFromTab(*args, **kwargs):
+        """IsFromTab(self) -> bool"""
+        return _core_.NavigationKeyEvent_IsFromTab(*args, **kwargs)
+
+    def SetFromTab(*args, **kwargs):
+        """SetFromTab(self, bool bIs)"""
+        return _core_.NavigationKeyEvent_SetFromTab(*args, **kwargs)
+
     def SetFlags(*args, **kwargs):
         """SetFlags(self, long flags)"""
         return _core_.NavigationKeyEvent_SetFlags(*args, **kwargs)
@@ -4461,6 +5204,7 @@ class NavigationKeyEvent(Event):
     IsBackward = _core_.NavigationKeyEvent_IsBackward
     IsForward = _core_.NavigationKeyEvent_IsForward
     WinChange = _core_.NavigationKeyEvent_WinChange
+    FromTab = _core_.NavigationKeyEvent_FromTab
 
 class NavigationKeyEventPtr(NavigationKeyEvent):
     def __init__(self, this):
@@ -4472,6 +5216,7 @@ _core_.NavigationKeyEvent_swigregister(NavigationKeyEventPtr)
 #---------------------------------------------------------------------------
 
 class WindowCreateEvent(CommandEvent):
+    """Proxy of C++ WindowCreateEvent class"""
     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):
@@ -4493,6 +5238,7 @@ class WindowCreateEventPtr(WindowCreateEvent):
 _core_.WindowCreateEvent_swigregister(WindowCreateEventPtr)
 
 class WindowDestroyEvent(CommandEvent):
+    """Proxy of C++ WindowDestroyEvent class"""
     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):
@@ -4516,6 +5262,7 @@ _core_.WindowDestroyEvent_swigregister(WindowDestroyEventPtr)
 #---------------------------------------------------------------------------
 
 class ContextMenuEvent(CommandEvent):
+    """Proxy of C++ ContextMenuEvent class"""
     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):
@@ -4545,6 +5292,7 @@ _core_.ContextMenuEvent_swigregister(ContextMenuEventPtr)
 IDLE_PROCESS_ALL = _core_.IDLE_PROCESS_ALL
 IDLE_PROCESS_SPECIFIED = _core_.IDLE_PROCESS_SPECIFIED
 class IdleEvent(Event):
+    """Proxy of C++ IdleEvent class"""
     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):
@@ -4599,6 +5347,7 @@ def IdleEvent_CanSend(*args, **kwargs):
 #---------------------------------------------------------------------------
 
 class PyEvent(Event):
+    """Proxy of C++ PyEvent class"""
     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):
@@ -4632,6 +5381,7 @@ class PyEventPtr(PyEvent):
 _core_.PyEvent_swigregister(PyEventPtr)
 
 class PyCommandEvent(CommandEvent):
+    """Proxy of C++ PyCommandEvent class"""
     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):
@@ -4664,6 +5414,35 @@ class PyCommandEventPtr(PyCommandEvent):
         self.__class__ = PyCommandEvent
 _core_.PyCommandEvent_swigregister(PyCommandEventPtr)
 
+class DateEvent(CommandEvent):
+    """Proxy of C++ DateEvent class"""
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxDateEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__(self, Window win, DateTime dt, wxEventType type) -> DateEvent"""
+        newobj = _core_.new_DateEvent(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+    def GetDate(*args, **kwargs):
+        """GetDate(self) -> DateTime"""
+        return _core_.DateEvent_GetDate(*args, **kwargs)
+
+    def SetDate(*args, **kwargs):
+        """SetDate(self, DateTime date)"""
+        return _core_.DateEvent_SetDate(*args, **kwargs)
+
+
+class DateEventPtr(DateEvent):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = DateEvent
+_core_.DateEvent_swigregister(DateEventPtr)
+
+wxEVT_DATE_CHANGED = _core_.wxEVT_DATE_CHANGED
+EVT_DATE_CHANGED = wx.PyEventBinder( wxEVT_DATE_CHANGED, 1 )
+
 #---------------------------------------------------------------------------
 
 PYAPP_ASSERT_SUPPRESS = _core_.PYAPP_ASSERT_SUPPRESS
@@ -4689,8 +5468,8 @@ class PyApp(EvtHandler):
         self.this = newobj.this
         self.thisown = 1
         del newobj.thisown
-        self._setCallbackInfo(self, PyApp)
-        self._setOORInfo(self)
+        self._setCallbackInfo(self, PyApp, False)
+        self._setOORInfo(self, False)
 
     def __del__(self, destroy=_core_.delete_PyApp):
         """__del__(self)"""
@@ -4699,7 +5478,7 @@ class PyApp(EvtHandler):
         except: pass
 
     def _setCallbackInfo(*args, **kwargs):
-        """_setCallbackInfo(self, PyObject self, PyObject _class)"""
+        """_setCallbackInfo(self, PyObject self, PyObject _class, bool incref)"""
         return _core_.PyApp__setCallbackInfo(*args, **kwargs)
 
     def GetAppName(*args, **kwargs):
@@ -5181,6 +5960,12 @@ def SetDefaultPyEncoding(*args, **kwargs):
 
     Sets the encoding that wxPython will use when it needs to convert a
     Python string or unicode object to or from a wxString.
+
+    The default encoding is the value of ``locale.getdefaultlocale()[1]``
+    but please be aware that the default encoding within the same locale
+    may be slightly different on different platforms.  For example, please
+    see http://www.alanwood.net/demos/charsetdiffs.html for differences
+    between the common latin/roman encodings.
     """
     return _core_.SetDefaultPyEncoding(*args, **kwargs)
 
@@ -5366,12 +6151,13 @@ your Mac."""
         self._BootstrapApp()
 
 
-    def __del__(self):
-        try:
-            self.RestoreStdio()  # Just in case the MainLoop was overridden
-        except:
-            pass
+    def __del__(self, destroy=wx.PyApp.__del__):
+        self.RestoreStdio()  # Just in case the MainLoop was overridden
+        destroy(self)
 
+    def Destroy(self):
+        wx.PyApp.Destroy(self)
+        self.thisown = 0
 
     def SetTopWindow(self, frame):
         """Set the \"main\" top level window"""
@@ -5396,7 +6182,10 @@ your Mac."""
 
 
     def RestoreStdio(self):
-        _sys.stdout, _sys.stderr = self.saveStdio
+        try:
+            _sys.stdout, _sys.stderr = self.saveStdio
+        except:
+            pass
 
 
     def SetOutputWindowAttributes(self, title=None, pos=None, size=None):
@@ -5496,6 +6285,7 @@ _sys.__wxPythonCleanup = __wxPyCleanup()
 #---------------------------------------------------------------------------
 
 class EventLoop(object):
+    """Proxy of C++ EventLoop class"""
     def __repr__(self):
         return "<%s.%s; proxy of C++ wxEventLoop instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     def __init__(self, *args, **kwargs):
@@ -5919,11 +6709,18 @@ class Window(EvtHandler):
 
         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.
+        equal to -1.
+
+            ========================  ======================================
+            wx.SIZE_AUTO              A -1 indicates that a class-specific
+                                      default should be used.
+            wx.SIZE_USE_EXISTING      Axisting 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)
 
@@ -6983,7 +7780,7 @@ class Window(EvtHandler):
 
     def RefreshRect(*args, **kwargs):
         """
-        RefreshRect(self, Rect rect)
+        RefreshRect(self, Rect rect, bool eraseBackground=True)
 
         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.
@@ -7189,6 +7986,14 @@ class Window(EvtHandler):
         """
         return _core_.Window_GetForegroundColour(*args, **kwargs)
 
+    def InheritsBackgroundColour(*args, **kwargs):
+        """InheritsBackgroundColour(self) -> bool"""
+        return _core_.Window_InheritsBackgroundColour(*args, **kwargs)
+
+    def UseBgCol(*args, **kwargs):
+        """UseBgCol(self) -> bool"""
+        return _core_.Window_UseBgCol(*args, **kwargs)
+
     def SetBackgroundStyle(*args, **kwargs):
         """
         SetBackgroundStyle(self, int style) -> bool
@@ -7222,6 +8027,21 @@ class Window(EvtHandler):
         """
         return _core_.Window_GetBackgroundStyle(*args, **kwargs)
 
+    def HasTransparentBackground(*args, **kwargs):
+        """
+        HasTransparentBackground(self) -> bool
+
+        Returns True if this window's background is transparent (as, for
+        example, for `wx.StaticText`) and should show the parent window's
+        background.
+
+        This method is mostly used internally by the library itself and you
+        normally shouldn't have to call it. You may, however, have to override
+        it in your custom control classes to ensure that background is painted
+        correctly.
+        """
+        return _core_.Window_HasTransparentBackground(*args, **kwargs)
+
     def SetCursor(*args, **kwargs):
         """
         SetCursor(self, Cursor cursor) -> bool
@@ -7934,9 +8754,22 @@ def FindWindowByLabel(*args, **kwargs):
 def Window_FromHWND(*args, **kwargs):
     """Window_FromHWND(Window parent, unsigned long _hWnd) -> Window"""
     return _core_.Window_FromHWND(*args, **kwargs)
+
+def GetTopLevelWindows(*args, **kwargs):
+    """
+    GetTopLevelWindows() -> PyObject
+
+    Returns a list of the the application's top-level windows, (frames,
+    dialogs, etc.)  NOTE: Currently this is a copy of the list maintained
+    by wxWidgets, and so it is only valid as long as no top-level windows
+    are closed or new top-level windows are created.
+
+    """
+    return _core_.GetTopLevelWindows(*args, **kwargs)
 #---------------------------------------------------------------------------
 
 class Validator(EvtHandler):
+    """Proxy of C++ Validator class"""
     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):
@@ -7998,6 +8831,7 @@ def Validator_SetBellOnError(*args, **kwargs):
     return _core_.Validator_SetBellOnError(*args, **kwargs)
 
 class PyValidator(Validator):
+    """Proxy of C++ PyValidator class"""
     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):
@@ -8025,6 +8859,7 @@ _core_.PyValidator_swigregister(PyValidatorPtr)
 #---------------------------------------------------------------------------
 
 class Menu(EvtHandler):
+    """Proxy of C++ Menu class"""
     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):
@@ -8274,6 +9109,7 @@ DefaultValidator = cvar.DefaultValidator
 #---------------------------------------------------------------------------
 
 class MenuBar(Window):
+    """Proxy of C++ MenuBar class"""
     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):
@@ -8395,6 +9231,7 @@ _core_.MenuBar_swigregister(MenuBarPtr)
 #---------------------------------------------------------------------------
 
 class MenuItem(Object):
+    """Proxy of C++ MenuItem class"""
     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):
@@ -8714,10 +9551,10 @@ def Control_GetClassDefaultAttributes(*args, **kwargs):
 
 class ItemContainer(object):
     """
-    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` as well as
-    `wx.ComboBox` which implements an extended interface deriving from
+    The wx.ItemContainer class 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` as well
+    as `wx.ComboBox` which implements an extended interface deriving from
     this one.
 
     It defines the methods for accessing the control's items and although
@@ -8780,6 +9617,22 @@ class ItemContainer(object):
         """
         return _core_.ItemContainer_Delete(*args, **kwargs)
 
+    def GetClientData(*args, **kwargs):
+        """
+        GetClientData(self, 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(self, int n, PyObject clientData)
+
+        Associate the given client data with the item at position n.
+        """
+        return _core_.ItemContainer_SetClientData(*args, **kwargs)
+
     def GetCount(*args, **kwargs):
         """
         GetCount(self) -> int
@@ -8826,15 +9679,14 @@ class ItemContainer(object):
         """
         return _core_.ItemContainer_FindString(*args, **kwargs)
 
-    def Select(*args, **kwargs):
+    def SetSelection(*args, **kwargs):
         """
-        Select(self, int n)
+        SetSelection(self, int n)
 
         Sets the item at index 'n' to be the selected item.
         """
-        return _core_.ItemContainer_Select(*args, **kwargs)
+        return _core_.ItemContainer_SetSelection(*args, **kwargs)
 
-    SetSelection = Select 
     def GetSelection(*args, **kwargs):
         """
         GetSelection(self) -> int
@@ -8844,6 +9696,10 @@ class ItemContainer(object):
         """
         return _core_.ItemContainer_GetSelection(*args, **kwargs)
 
+    def SetStringSelection(*args, **kwargs):
+        """SetStringSelection(self, String s) -> bool"""
+        return _core_.ItemContainer_SetStringSelection(*args, **kwargs)
+
     def GetStringSelection(*args, **kwargs):
         """
         GetStringSelection(self) -> String
@@ -8853,21 +9709,14 @@ class ItemContainer(object):
         """
         return _core_.ItemContainer_GetStringSelection(*args, **kwargs)
 
-    def GetClientData(*args, **kwargs):
-        """
-        GetClientData(self, int n) -> PyObject
-
-        Returns the client data associated with the given item, (if any.)
-        """
-        return _core_.ItemContainer_GetClientData(*args, **kwargs)
-
-    def SetClientData(*args, **kwargs):
+    def Select(*args, **kwargs):
         """
-        SetClientData(self, int n, PyObject clientData)
+        Select(self, int n)
 
-        Associate the given client data with the item at position n.
+        This is the same as `SetSelection` and exists only because it is
+        slightly more natural for controls which support multiple selection.
         """
-        return _core_.ItemContainer_SetClientData(*args, **kwargs)
+        return _core_.ItemContainer_Select(*args, **kwargs)
 
 
 class ItemContainerPtr(ItemContainer):
@@ -9388,18 +10237,45 @@ class Sizer(Object):
             self.Add(*item)
 
     # for backwards compatibility only, please do not use in new code
-    AddWindow     = wx._deprecated(Add, "AddWindow is deprecated, use `Add` instead.")
-    AddSizer      = wx._deprecated(Add, "AddSizer is deprecated, use `Add` instead.")
-    AddSpacer     = wx._deprecated(Add, "AddSpacer is deprecated, use `Add` instead.")
-    PrependWindow = wx._deprecated(Prepend, "PrependWindow is deprecated, use `Prepend` instead.")
-    PrependSizer  = wx._deprecated(Prepend, "PrependSizer is deprecated, use `Prepend` instead.")
-    PrependSpacer = wx._deprecated(Prepend, "PrependSpacer is deprecated, use `Prepend` instead.")
-    InsertWindow  = wx._deprecated(Insert, "InsertWindow is deprecated, use `Insert` instead.")
-    InsertSizer   = wx._deprecated(Insert, "InsertSizer is deprecated, use `Insert` instead.")
-    InsertSpacer  = wx._deprecated(Insert, "InsertSpacer is deprecated, use `Insert` instead.")
-    RemoveWindow  = wx._deprecated(Remove, "RemoveWindow is deprecated, use `Remove` instead.")
-    RemoveSizer   = wx._deprecated(Remove, "RemoveSizer is deprecated, use `Remove` instead.")
-    RemovePos     = wx._deprecated(Remove, "RemovePos is deprecated, use `Remove` instead.")
+    def AddWindow(self, *args, **kw):
+        """Compatibility alias for `Add`."""
+        return self.Add(*args, **kw)
+    def AddSizer(self, *args, **kw):
+        """Compatibility alias for `Add`."""
+        return self.Add(*args, **kw)
+    def AddSpacer(self, *args, **kw):
+        """Compatibility alias for `Add`."""
+        return self.Add(*args, **kw)
+
+    def PrependWindow(self, *args, **kw):
+        """Compatibility alias for `Prepend`."""
+        return self.Prepend(*args, **kw)
+    def PrependSizer(self, *args, **kw):
+        """Compatibility alias for `Prepend`."""
+        return self.Prepend(*args, **kw)
+    def PrependSpacer(self, *args, **kw):
+        """Compatibility alias for `Prepend`."""
+        return self.Prepend(*args, **kw)
+
+    def InsertWindow(self, *args, **kw):
+        """Compatibility alias for `Insert`."""
+        return self.Insert(*args, **kw)
+    def InsertSizer(self, *args, **kw):
+        """Compatibility alias for `Insert`."""
+        return self.Insert(*args, **kw)
+    def InsertSpacer(self, *args, **kw):
+        """Compatibility alias for `Insert`."""
+        return self.Insert(*args, **kw)
+
+    def RemoveWindow(self, *args, **kw):
+        """Compatibility alias for `Remove`."""
+        return self.Remove(*args, **kw)
+    def RemoveSizer(self, *args, **kw):
+        """Compatibility alias for `Remove`."""
+        return self.Remove(*args, **kw)
+    def RemovePos(self, *args, **kw):
+        """Compatibility alias for `Remove`."""
+        return self.Remove(*args, **kw)
 
 
     def SetDimension(*args, **kwargs):
@@ -9563,7 +10439,7 @@ class Sizer(Object):
 
     def GetChildren(*args, **kwargs):
         """
-        GetChildren(sefl) -> list
+        GetChildren(self) -> list
 
         Returns a list of all the `wx.SizerItem` objects managed by the sizer.
         """
@@ -9594,7 +10470,7 @@ class Sizer(Object):
 
     def Hide(self, item, recursive=False):
         """
-        A convenience method for Show(item, False, recursive).
+        A convenience method for `Show` (item, False, recursive).
         """
         return self.Show(item, False, recursive)
 
@@ -9650,7 +10526,7 @@ class PySizer(Sizer):
 
     When `Layout` is called it first calls `CalcMin` followed by
     `RecalcSizes` so you can optimize a bit by saving the results of
-    `CalcMin` and resuing them in `RecalcSizes`.
+    `CalcMin` and reusing them in `RecalcSizes`.
 
     :see: `wx.SizerItem`, `wx.Sizer.GetChildren`
 
@@ -10058,6 +10934,82 @@ class FlexGridSizerPtr(FlexGridSizer):
         self.__class__ = FlexGridSizer
 _core_.FlexGridSizer_swigregister(FlexGridSizerPtr)
 
+class StdDialogButtonSizer(BoxSizer):
+    """
+    A special sizer that knows how to order and position standard buttons
+    in order to conform to the current platform's standards.  You simply
+    need to add each `wx.Button` to the sizer, and be sure to create the
+    buttons using the standard ID's.  Then call `Realize` and the sizer
+    will take care of the rest.
+
+    """
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxStdDialogButtonSizer instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__(self) -> StdDialogButtonSizer"""
+        newobj = _core_.new_StdDialogButtonSizer(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+    def AddButton(*args, **kwargs):
+        """
+        AddButton(self, wxButton button)
+
+        Use this to add the buttons to this sizer.  Do not use the `Add`
+        method in the base class.
+        """
+        return _core_.StdDialogButtonSizer_AddButton(*args, **kwargs)
+
+    def Realize(*args, **kwargs):
+        """
+        Realize(self)
+
+        This funciton needs to be called after all the buttons have been added
+        to the sizer.  It will reorder them and position them in a platform
+        specifc manner.
+        """
+        return _core_.StdDialogButtonSizer_Realize(*args, **kwargs)
+
+    def SetAffirmativeButton(*args, **kwargs):
+        """SetAffirmativeButton(self, wxButton button)"""
+        return _core_.StdDialogButtonSizer_SetAffirmativeButton(*args, **kwargs)
+
+    def SetNegativeButton(*args, **kwargs):
+        """SetNegativeButton(self, wxButton button)"""
+        return _core_.StdDialogButtonSizer_SetNegativeButton(*args, **kwargs)
+
+    def SetCancelButton(*args, **kwargs):
+        """SetCancelButton(self, wxButton button)"""
+        return _core_.StdDialogButtonSizer_SetCancelButton(*args, **kwargs)
+
+    def GetAffirmativeButton(*args, **kwargs):
+        """GetAffirmativeButton(self) -> wxButton"""
+        return _core_.StdDialogButtonSizer_GetAffirmativeButton(*args, **kwargs)
+
+    def GetApplyButton(*args, **kwargs):
+        """GetApplyButton(self) -> wxButton"""
+        return _core_.StdDialogButtonSizer_GetApplyButton(*args, **kwargs)
+
+    def GetNegativeButton(*args, **kwargs):
+        """GetNegativeButton(self) -> wxButton"""
+        return _core_.StdDialogButtonSizer_GetNegativeButton(*args, **kwargs)
+
+    def GetCancelButton(*args, **kwargs):
+        """GetCancelButton(self) -> wxButton"""
+        return _core_.StdDialogButtonSizer_GetCancelButton(*args, **kwargs)
+
+    def GetHelpButton(*args, **kwargs):
+        """GetHelpButton(self) -> wxButton"""
+        return _core_.StdDialogButtonSizer_GetHelpButton(*args, **kwargs)
+
+
+class StdDialogButtonSizerPtr(StdDialogButtonSizer):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = StdDialogButtonSizer
+_core_.StdDialogButtonSizer_swigregister(StdDialogButtonSizerPtr)
+
 #---------------------------------------------------------------------------
 
 class GBPosition(object):
@@ -10859,13 +11811,32 @@ if RELEASE_VERSION != _core_.RELEASE_VERSION:
 
 #----------------------------------------------------------------------------
 
-# Set the default string conversion encoding from the locale
-import locale
-default = locale.getdefaultlocale()[1]
+# Set wxPython's default string<-->unicode conversion encoding from
+# the locale, but only if Python's default hasn't been changed.  (We
+# assume that if the user has customized it already then that is the
+# encoding we need to use as well.)
+#
+# The encoding selected here is used when string or unicode objects
+# need to be converted in order to pass them to wxWidgets.  Please be
+# aware that the default encoding within the same locale may be
+# slightly different on different platforms.  For example, please see
+# http://www.alanwood.net/demos/charsetdiffs.html for differences
+# between the common latin/roman encodings.
+
+default = _sys.getdefaultencoding()
+if default == 'ascii':
+    import locale
+    import codecs
+    try:
+        default = locale.getdefaultlocale()[1]
+        codecs.lookup(default)
+    except (ValueError, LookupError, TypeError):
+        default = _sys.getdefaultencoding()
+    del locale
+    del codecs
 if default:
     wx.SetDefaultPyEncoding(default)
 del default
-del locale
 
 #----------------------------------------------------------------------------