]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/msw/_core.py
Add docstrings for ComboCtrl and ComboPopup, and added OwnerDrawnComboBox
[wxWidgets.git] / wxPython / src / msw / _core.py
index 5ada107ae22c936e01d8d43a9e1e7b7674675408..216fc30986ee7c57878b2a763f6da2ff7b92840d 100644 (file)
@@ -678,6 +678,9 @@ MOD_ALL = _core_.MOD_ALL
 UPDATE_UI_NONE = _core_.UPDATE_UI_NONE
 UPDATE_UI_RECURSE = _core_.UPDATE_UI_RECURSE
 UPDATE_UI_FROMIDLE = _core_.UPDATE_UI_FROMIDLE
+Layout_Default = _core_.Layout_Default
+Layout_LeftToRight = _core_.Layout_LeftToRight
+Layout_RightToLeft = _core_.Layout_RightToLeft
 #---------------------------------------------------------------------------
 
 class Object(object):
@@ -702,10 +705,20 @@ class Object(object):
 
         Deletes the C++ object this Python object is a proxy for.
         """
-        val = _core_.Object_Destroy(*args, **kwargs)
-        args[0].thisown = 0
-        return val
+        args[0].this.own(False)
+        return _core_.Object_Destroy(*args, **kwargs)
+
+    def IsSameAs(*args, **kwargs):
+        """
+        IsSameAs(self, Object p) -> bool
 
+        For wx.Objects that use C++ reference counting internally, this method
+        can be used to determine if two objects are referencing the same data
+        object.
+        """
+        return _core_.Object_IsSameAs(*args, **kwargs)
+
+    ClassName = property(GetClassName,doc="See `GetClassName`") 
 _core_.Object_swigregister(Object)
 _wxPySetDictionary = _core_._wxPySetDictionary
 cvar = _core_.cvar
@@ -731,6 +744,7 @@ BITMAP_TYPE_PICT = _core_.BITMAP_TYPE_PICT
 BITMAP_TYPE_ICON = _core_.BITMAP_TYPE_ICON
 BITMAP_TYPE_ANI = _core_.BITMAP_TYPE_ANI
 BITMAP_TYPE_IFF = _core_.BITMAP_TYPE_IFF
+BITMAP_TYPE_TGA = _core_.BITMAP_TYPE_TGA
 BITMAP_TYPE_MACCURSOR = _core_.BITMAP_TYPE_MACCURSOR
 BITMAP_TYPE_ANY = _core_.BITMAP_TYPE_ANY
 CURSOR_NONE = _core_.CURSOR_NONE
@@ -837,6 +851,14 @@ class Size(object):
         """
         return _core_.Size_DecTo(*args, **kwargs)
 
+    def IncBy(*args, **kwargs):
+        """IncBy(self, int dx, int dy)"""
+        return _core_.Size_IncBy(*args, **kwargs)
+
+    def DecBy(*args, **kwargs):
+        """DecBy(self, int dx, int dy)"""
+        return _core_.Size_DecBy(*args, **kwargs)
+
     def Scale(*args, **kwargs):
         """
         Scale(self, float xscale, float yscale)
@@ -1180,6 +1202,22 @@ class Rect(object):
         """SetBottomRight(self, Point p)"""
         return _core_.Rect_SetBottomRight(*args, **kwargs)
 
+    def GetTopRight(*args, **kwargs):
+        """GetTopRight(self) -> Point"""
+        return _core_.Rect_GetTopRight(*args, **kwargs)
+
+    def SetTopRight(*args, **kwargs):
+        """SetTopRight(self, Point p)"""
+        return _core_.Rect_SetTopRight(*args, **kwargs)
+
+    def GetBottomLeft(*args, **kwargs):
+        """GetBottomLeft(self) -> Point"""
+        return _core_.Rect_GetBottomLeft(*args, **kwargs)
+
+    def SetBottomLeft(*args, **kwargs):
+        """SetBottomLeft(self, Point p)"""
+        return _core_.Rect_SetBottomLeft(*args, **kwargs)
+
     def GetLeft(*args, **kwargs):
         """GetLeft(self) -> int"""
         return _core_.Rect_GetLeft(*args, **kwargs)
@@ -1320,30 +1358,37 @@ class Rect(object):
         """
         return _core_.Rect___ne__(*args, **kwargs)
 
-    def InsideXY(*args, **kwargs):
+    def ContainsXY(*args, **kwargs):
         """
-        InsideXY(self, int x, int y) -> bool
+        ContainsXY(self, int x, int y) -> bool
 
-        Return True if the point is (not strcitly) inside the rect.
+        Return True if the point is inside the rect.
         """
-        return _core_.Rect_InsideXY(*args, **kwargs)
+        return _core_.Rect_ContainsXY(*args, **kwargs)
 
-    def Inside(*args, **kwargs):
+    def Contains(*args, **kwargs):
         """
-        Inside(self, Point pt) -> bool
+        Contains(self, Point pt) -> bool
 
-        Return True if the point is (not strcitly) inside the rect.
+        Return True if the point is inside the rect.
         """
-        return _core_.Rect_Inside(*args, **kwargs)
+        return _core_.Rect_Contains(*args, **kwargs)
 
-    def InsideRect(*args, **kwargs):
+    def ContainsRect(*args, **kwargs):
         """
-        InsideRect(self, Rect rect) -> bool
+        ContainsRect(self, Rect rect) -> bool
 
         Returns ``True`` if the given rectangle is completely inside this
         rectangle or touches its boundary.
         """
-        return _core_.Rect_InsideRect(*args, **kwargs)
+        return _core_.Rect_ContainsRect(*args, **kwargs)
+
+    #Inside = wx._deprecated(Contains, "Use `Contains` instead.")
+    #InsideXY = wx._deprecated(ContainsXY, "Use `ContainsXY` instead.")
+    #InsideRect = wx._deprecated(ContainsRect, "Use `ContainsRect` instead.")
+    Inside = Contains
+    InsideXY = ContainsXY
+    InsideRect = ContainsRect
 
     def Intersects(*args, **kwargs):
         """
@@ -1398,6 +1443,21 @@ class Rect(object):
     __safe_for_unpickling__ = True
     def __reduce__(self):                return (wx.Rect, self.Get())
 
+    Bottom = property(GetBottom,SetBottom,doc="See `GetBottom` and `SetBottom`") 
+    BottomRight = property(GetBottomRight,SetBottomRight,doc="See `GetBottomRight` and `SetBottomRight`") 
+    BottomLeft = property(GetBottomLeft,SetBottomLeft,doc="See `GetBottomLeft` and `SetBottomLeft`") 
+    Height = property(GetHeight,SetHeight,doc="See `GetHeight` and `SetHeight`") 
+    Left = property(GetLeft,SetLeft,doc="See `GetLeft` and `SetLeft`") 
+    Position = property(GetPosition,SetPosition,doc="See `GetPosition` and `SetPosition`") 
+    Right = property(GetRight,SetRight,doc="See `GetRight` and `SetRight`") 
+    Size = property(GetSize,SetSize,doc="See `GetSize` and `SetSize`") 
+    Top = property(GetTop,SetTop,doc="See `GetTop` and `SetTop`") 
+    TopLeft = property(GetTopLeft,SetTopLeft,doc="See `GetTopLeft` and `SetTopLeft`") 
+    TopRight = property(GetTopRight,SetTopRight,doc="See `GetTopRight` and `SetTopRight`") 
+    Width = property(GetWidth,SetWidth,doc="See `GetWidth` and `SetWidth`") 
+    X = property(GetX,SetX,doc="See `GetX` and `SetX`") 
+    Y = property(GetY,SetY,doc="See `GetY` and `SetY`") 
+    Empty = property(IsEmpty,doc="See `IsEmpty`") 
 _core_.Rect_swigregister(Rect)
 
 def RectPP(*args, **kwargs):
@@ -1451,6 +1511,8 @@ class Point2D(object):
         Create a w.Point2D object.
         """
         _core_.Point2D_swiginit(self,_core_.new_Point2D(*args, **kwargs))
+    __swig_destroy__ = _core_.delete_Point2D
+    __del__ = lambda self : None;
     def GetFloor(*args, **kwargs):
         """
         GetFloor() -> (x,y)
@@ -1572,6 +1634,10 @@ class Point2D(object):
     __safe_for_unpickling__ = True
     def __reduce__(self):                return (wx.Point2D, self.Get())
 
+    Floor = property(GetFloor,doc="See `GetFloor`") 
+    Rounded = property(GetRounded,doc="See `GetRounded`") 
+    VectorAngle = property(GetVectorAngle,SetVectorAngle,doc="See `GetVectorAngle` and `SetVectorAngle`") 
+    VectorLength = property(GetVectorLength,SetVectorLength,doc="See `GetVectorLength` and `SetVectorLength`") 
 _core_.Point2D_swigregister(Point2D)
 
 def Point2DCopy(*args, **kwargs):
@@ -1594,6 +1660,260 @@ def Point2DFromPoint(*args, **kwargs):
 
 #---------------------------------------------------------------------------
 
+Inside = _core_.Inside
+OutLeft = _core_.OutLeft
+OutRight = _core_.OutRight
+OutTop = _core_.OutTop
+OutBottom = _core_.OutBottom
+class Rect2D(object):
+    """
+    wx.Rect2D is a rectangle, with position and size, in a 2D coordinate system
+    with floating point component values.
+    """
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
+        """
+        __init__(self, wxDouble x=0.0, wxDouble y=0.0, wxDouble w=0.0, wxDouble h=0.0) -> Rect2D
+
+        wx.Rect2D is a rectangle, with position and size, in a 2D coordinate system
+        with floating point component values.
+        """
+        _core_.Rect2D_swiginit(self,_core_.new_Rect2D(*args, **kwargs))
+    __swig_destroy__ = _core_.delete_Rect2D
+    __del__ = lambda self : None;
+    def GetPosition(*args, **kwargs):
+        """GetPosition(self) -> Point2D"""
+        return _core_.Rect2D_GetPosition(*args, **kwargs)
+
+    def GetSize(*args, **kwargs):
+        """GetSize(self) -> Size"""
+        return _core_.Rect2D_GetSize(*args, **kwargs)
+
+    def GetLeft(*args, **kwargs):
+        """GetLeft(self) -> wxDouble"""
+        return _core_.Rect2D_GetLeft(*args, **kwargs)
+
+    def SetLeft(*args, **kwargs):
+        """SetLeft(self, wxDouble n)"""
+        return _core_.Rect2D_SetLeft(*args, **kwargs)
+
+    def MoveLeftTo(*args, **kwargs):
+        """MoveLeftTo(self, wxDouble n)"""
+        return _core_.Rect2D_MoveLeftTo(*args, **kwargs)
+
+    def GetTop(*args, **kwargs):
+        """GetTop(self) -> wxDouble"""
+        return _core_.Rect2D_GetTop(*args, **kwargs)
+
+    def SetTop(*args, **kwargs):
+        """SetTop(self, wxDouble n)"""
+        return _core_.Rect2D_SetTop(*args, **kwargs)
+
+    def MoveTopTo(*args, **kwargs):
+        """MoveTopTo(self, wxDouble n)"""
+        return _core_.Rect2D_MoveTopTo(*args, **kwargs)
+
+    def GetBottom(*args, **kwargs):
+        """GetBottom(self) -> wxDouble"""
+        return _core_.Rect2D_GetBottom(*args, **kwargs)
+
+    def SetBottom(*args, **kwargs):
+        """SetBottom(self, wxDouble n)"""
+        return _core_.Rect2D_SetBottom(*args, **kwargs)
+
+    def MoveBottomTo(*args, **kwargs):
+        """MoveBottomTo(self, wxDouble n)"""
+        return _core_.Rect2D_MoveBottomTo(*args, **kwargs)
+
+    def GetRight(*args, **kwargs):
+        """GetRight(self) -> wxDouble"""
+        return _core_.Rect2D_GetRight(*args, **kwargs)
+
+    def SetRight(*args, **kwargs):
+        """SetRight(self, wxDouble n)"""
+        return _core_.Rect2D_SetRight(*args, **kwargs)
+
+    def MoveRightTo(*args, **kwargs):
+        """MoveRightTo(self, wxDouble n)"""
+        return _core_.Rect2D_MoveRightTo(*args, **kwargs)
+
+    def GetLeftTop(*args, **kwargs):
+        """GetLeftTop(self) -> Point2D"""
+        return _core_.Rect2D_GetLeftTop(*args, **kwargs)
+
+    def SetLeftTop(*args, **kwargs):
+        """SetLeftTop(self, Point2D pt)"""
+        return _core_.Rect2D_SetLeftTop(*args, **kwargs)
+
+    def MoveLeftTopTo(*args, **kwargs):
+        """MoveLeftTopTo(self, Point2D pt)"""
+        return _core_.Rect2D_MoveLeftTopTo(*args, **kwargs)
+
+    def GetLeftBottom(*args, **kwargs):
+        """GetLeftBottom(self) -> Point2D"""
+        return _core_.Rect2D_GetLeftBottom(*args, **kwargs)
+
+    def SetLeftBottom(*args, **kwargs):
+        """SetLeftBottom(self, Point2D pt)"""
+        return _core_.Rect2D_SetLeftBottom(*args, **kwargs)
+
+    def MoveLeftBottomTo(*args, **kwargs):
+        """MoveLeftBottomTo(self, Point2D pt)"""
+        return _core_.Rect2D_MoveLeftBottomTo(*args, **kwargs)
+
+    def GetRightTop(*args, **kwargs):
+        """GetRightTop(self) -> Point2D"""
+        return _core_.Rect2D_GetRightTop(*args, **kwargs)
+
+    def SetRightTop(*args, **kwargs):
+        """SetRightTop(self, Point2D pt)"""
+        return _core_.Rect2D_SetRightTop(*args, **kwargs)
+
+    def MoveRightTopTo(*args, **kwargs):
+        """MoveRightTopTo(self, Point2D pt)"""
+        return _core_.Rect2D_MoveRightTopTo(*args, **kwargs)
+
+    def GetRightBottom(*args, **kwargs):
+        """GetRightBottom(self) -> Point2D"""
+        return _core_.Rect2D_GetRightBottom(*args, **kwargs)
+
+    def SetRightBottom(*args, **kwargs):
+        """SetRightBottom(self, Point2D pt)"""
+        return _core_.Rect2D_SetRightBottom(*args, **kwargs)
+
+    def MoveRightBottomTo(*args, **kwargs):
+        """MoveRightBottomTo(self, Point2D pt)"""
+        return _core_.Rect2D_MoveRightBottomTo(*args, **kwargs)
+
+    def GetCentre(*args, **kwargs):
+        """GetCentre(self) -> Point2D"""
+        return _core_.Rect2D_GetCentre(*args, **kwargs)
+
+    def SetCentre(*args, **kwargs):
+        """SetCentre(self, Point2D pt)"""
+        return _core_.Rect2D_SetCentre(*args, **kwargs)
+
+    def MoveCentreTo(*args, **kwargs):
+        """MoveCentreTo(self, Point2D pt)"""
+        return _core_.Rect2D_MoveCentreTo(*args, **kwargs)
+
+    def GetOutcode(*args, **kwargs):
+        """GetOutcode(self, Point2D pt) -> int"""
+        return _core_.Rect2D_GetOutcode(*args, **kwargs)
+
+    def Contains(*args, **kwargs):
+        """Contains(self, Point2D pt) -> bool"""
+        return _core_.Rect2D_Contains(*args, **kwargs)
+
+    def ContainsRect(*args, **kwargs):
+        """ContainsRect(self, Rect2D rect) -> bool"""
+        return _core_.Rect2D_ContainsRect(*args, **kwargs)
+
+    def IsEmpty(*args, **kwargs):
+        """IsEmpty(self) -> bool"""
+        return _core_.Rect2D_IsEmpty(*args, **kwargs)
+
+    def HaveEqualSize(*args, **kwargs):
+        """HaveEqualSize(self, Rect2D rect) -> bool"""
+        return _core_.Rect2D_HaveEqualSize(*args, **kwargs)
+
+    def Inset(*args):
+        """
+        Inset(self, wxDouble x, wxDouble y)
+        Inset(self, wxDouble left, wxDouble top, wxDouble right, wxDouble bottom)
+        """
+        return _core_.Rect2D_Inset(*args)
+
+    def Offset(*args, **kwargs):
+        """Offset(self, Point2D pt)"""
+        return _core_.Rect2D_Offset(*args, **kwargs)
+
+    def ConstrainTo(*args, **kwargs):
+        """ConstrainTo(self, Rect2D rect)"""
+        return _core_.Rect2D_ConstrainTo(*args, **kwargs)
+
+    def Interpolate(*args, **kwargs):
+        """Interpolate(self, int widthfactor, int heightfactor) -> Point2D"""
+        return _core_.Rect2D_Interpolate(*args, **kwargs)
+
+    def Intersect(*args, **kwargs):
+        """Intersect(self, Rect2D otherRect)"""
+        return _core_.Rect2D_Intersect(*args, **kwargs)
+
+    def CreateIntersection(*args, **kwargs):
+        """CreateIntersection(self, Rect2D otherRect) -> Rect2D"""
+        return _core_.Rect2D_CreateIntersection(*args, **kwargs)
+
+    def Intersects(*args, **kwargs):
+        """Intersects(self, Rect2D rect) -> bool"""
+        return _core_.Rect2D_Intersects(*args, **kwargs)
+
+    def Union(*args, **kwargs):
+        """Union(self, Rect2D otherRect)"""
+        return _core_.Rect2D_Union(*args, **kwargs)
+
+    def CreateUnion(*args, **kwargs):
+        """CreateUnion(self, Rect2D otherRect) -> Rect2D"""
+        return _core_.Rect2D_CreateUnion(*args, **kwargs)
+
+    def Scale(*args):
+        """
+        Scale(self, wxDouble f)
+        Scale(self, int num, int denum)
+        """
+        return _core_.Rect2D_Scale(*args)
+
+    def __eq__(*args, **kwargs):
+        """
+        __eq__(self, PyObject other) -> bool
+
+        Test for equality of wx.Rect2D objects.
+        """
+        return _core_.Rect2D___eq__(*args, **kwargs)
+
+    def __ne__(*args, **kwargs):
+        """
+        __ne__(self, PyObject other) -> bool
+
+        Test for inequality of wx.Rect2D objects.
+        """
+        return _core_.Rect2D___ne__(*args, **kwargs)
+
+    x = property(_core_.Rect2D_x_get, _core_.Rect2D_x_set)
+    y = property(_core_.Rect2D_y_get, _core_.Rect2D_y_set)
+    width = property(_core_.Rect2D_width_get, _core_.Rect2D_width_set)
+    height = property(_core_.Rect2D_height_get, _core_.Rect2D_height_set)
+    def Set(*args, **kwargs):
+        """Set(self, wxDouble x=0, wxDouble y=0, wxDouble width=0, wxDouble height=0)"""
+        return _core_.Rect2D_Set(*args, **kwargs)
+
+    def Get(*args, **kwargs):
+        """
+        Get() -> (x,y, width, height)
+
+        Return x, y, width and height y properties as a tuple.
+        """
+        return _core_.Rect2D_Get(*args, **kwargs)
+
+    def __str__(self):                   return str(self.Get())
+    def __repr__(self):                  return 'wx.Rect2D'+str(self.Get())
+    def __len__(self):                   return len(self.Get())
+    def __getitem__(self, index):        return self.Get()[index]
+    def __setitem__(self, index, val):
+        if index == 0: self.x = val
+        elif index == 1: self.y = val
+        elif index == 2: self.width = val
+        elif index == 3: self.height = val                        
+        else: raise IndexError
+    def __nonzero__(self):               return self.Get() != (0.0, 0.0, 0.0, 0.0)
+    __safe_for_unpickling__ = True
+    def __reduce__(self):                return (wx.Rect2D, self.Get())
+
+_core_.Rect2D_swigregister(Rect2D)
+
+#---------------------------------------------------------------------------
+
 FromStart = _core_.FromStart
 FromCurrent = _core_.FromCurrent
 FromEnd = _core_.FromEnd
@@ -1750,7 +2070,7 @@ class FileSystemHandler(CPPFileSystemHandler):
     def __init__(self, *args, **kwargs): 
         """__init__(self) -> FileSystemHandler"""
         _core_.FileSystemHandler_swiginit(self,_core_.new_FileSystemHandler(*args, **kwargs))
-        self._setCallbackInfo(self, FileSystemHandler)
+        FileSystemHandler._setCallbackInfo(self, self, FileSystemHandler)
 
     def _setCallbackInfo(*args, **kwargs):
         """_setCallbackInfo(self, PyObject self, PyObject _class)"""
@@ -1985,6 +2305,8 @@ def 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
+IMAGE_QUALITY_NORMAL = _core_.IMAGE_QUALITY_NORMAL
+IMAGE_QUALITY_HIGH = _core_.IMAGE_QUALITY_HIGH
 #---------------------------------------------------------------------------
 
 class ImageHandler(Object):
@@ -2263,20 +2585,61 @@ class Image(Object):
 
         Destroys the image data.
         """
-        val = _core_.Image_Destroy(*args, **kwargs)
-        args[0].thisown = 0
-        return val
+        args[0].this.own(False)
+        return _core_.Image_Destroy(*args, **kwargs)
 
     def Scale(*args, **kwargs):
         """
-        Scale(self, int width, int height) -> Image
+        Scale(self, int width, int height, int quality=IMAGE_QUALITY_NORMAL) -> Image
 
         Returns a scaled version of the image. This is also useful for scaling
         bitmaps in general as the only other way to scale bitmaps is to blit a
-        `wx.MemoryDC` into another `wx.MemoryDC`.
+        `wx.MemoryDC` into another `wx.MemoryDC`.  The ``quality`` parameter
+        specifies what method to use for resampling the image.  It can be
+        either wx.IMAGE_QUALITY_NORMAL, which uses the normal default scaling
+        method of pixel replication, or wx.IMAGE_QUALITY_HIGH which uses
+        bicubic and box averaging resampling methods for upsampling and
+        downsampling respectively.
         """
         return _core_.Image_Scale(*args, **kwargs)
 
+    def ResampleBox(*args, **kwargs):
+        """ResampleBox(self, int width, int height) -> Image"""
+        return _core_.Image_ResampleBox(*args, **kwargs)
+
+    def ResampleBicubic(*args, **kwargs):
+        """ResampleBicubic(self, int width, int height) -> Image"""
+        return _core_.Image_ResampleBicubic(*args, **kwargs)
+
+    def Blur(*args, **kwargs):
+        """
+        Blur(self, int radius) -> Image
+
+        Blurs the image in both horizontal and vertical directions by the
+        specified pixel ``radius``. This should not be used when using a
+        single mask colour for transparency.
+        """
+        return _core_.Image_Blur(*args, **kwargs)
+
+    def BlurHorizontal(*args, **kwargs):
+        """
+        BlurHorizontal(self, int radius) -> Image
+
+        Blurs the image in the horizontal direction only. This should not be
+        used when using a single mask colour for transparency.
+
+        """
+        return _core_.Image_BlurHorizontal(*args, **kwargs)
+
+    def BlurVertical(*args, **kwargs):
+        """
+        BlurVertical(self, int radius) -> Image
+
+        Blurs the image in the vertical direction only. This should not be
+        used when using a single mask colour for transparency.
+        """
+        return _core_.Image_BlurVertical(*args, **kwargs)
+
     def ShrinkBy(*args, **kwargs):
         """
         ShrinkBy(self, int xFactor, int yFactor) -> Image
@@ -2287,7 +2650,7 @@ class Image(Object):
 
     def Rescale(*args, **kwargs):
         """
-        Rescale(self, int width, int height) -> Image
+        Rescale(self, int width, int height, int quality=IMAGE_QUALITY_NORMAL) -> Image
 
         Changes the size of the image in-place by scaling it: after a call to
         this function, the image will have the given width and height.
@@ -2551,14 +2914,15 @@ class Image(Object):
         """
         return _core_.Image_LoadMimeStream(*args, **kwargs)
 
-    def Ok(*args, **kwargs):
+    def IsOk(*args, **kwargs):
         """
-        Ok(self) -> bool
+        IsOk(self) -> bool
 
         Returns true if image data is present.
         """
-        return _core_.Image_Ok(*args, **kwargs)
+        return _core_.Image_IsOk(*args, **kwargs)
 
+    Ok = IsOk 
     def GetWidth(*args, **kwargs):
         """
         GetWidth(self) -> int
@@ -2936,7 +3300,7 @@ class Image(Object):
         return _core_.Image_HSVtoRGB(*args, **kwargs)
 
     HSVtoRGB = staticmethod(HSVtoRGB)
-    def __nonzero__(self): return self.Ok() 
+    def __nonzero__(self): return self.IsOk() 
     AlphaBuffer = property(GetAlphaBuffer,SetAlphaBuffer,doc="See `GetAlphaBuffer` and `SetAlphaBuffer`") 
     AlphaData = property(GetAlphaData,SetAlphaData,doc="See `GetAlphaData` and `SetAlphaData`") 
     Data = property(GetData,SetData,doc="See `GetData` and `SetData`") 
@@ -2945,7 +3309,6 @@ class Image(Object):
     MaskBlue = property(GetMaskBlue,doc="See `GetMaskBlue`") 
     MaskGreen = property(GetMaskGreen,doc="See `GetMaskGreen`") 
     MaskRed = property(GetMaskRed,doc="See `GetMaskRed`") 
-    Size = property(GetSize,doc="See `GetSize`") 
     Width = property(GetWidth,doc="See `GetWidth`") 
 _core_.Image_swigregister(Image)
 
@@ -3305,6 +3668,19 @@ class TIFFHandler(ImageHandler):
         _core_.TIFFHandler_swiginit(self,_core_.new_TIFFHandler(*args, **kwargs))
 _core_.TIFFHandler_swigregister(TIFFHandler)
 
+class TGAHandler(ImageHandler):
+    """A `wx.ImageHandler` for TGA image files."""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
+        """
+        __init__(self) -> TGAHandler
+
+        A `wx.ImageHandler` for TGA image files.
+        """
+        _core_.TGAHandler_swiginit(self,_core_.new_TGAHandler(*args, **kwargs))
+_core_.TGAHandler_swigregister(TGAHandler)
+
 QUANTIZE_INCLUDE_WINDOWS_COLOURS = _core_.QUANTIZE_INCLUDE_WINDOWS_COLOURS
 QUANTIZE_FILL_DESTINATION_IMAGE = _core_.QUANTIZE_FILL_DESTINATION_IMAGE
 class Quantize(object):
@@ -3344,6 +3720,8 @@ class EvtHandler(Object):
     def __init__(self, *args, **kwargs): 
         """__init__(self) -> EvtHandler"""
         _core_.EvtHandler_swiginit(self,_core_.new_EvtHandler(*args, **kwargs))
+        self._setOORInfo(self)
+
     def GetNextHandler(*args, **kwargs):
         """GetNextHandler(self) -> EvtHandler"""
         return _core_.EvtHandler_GetNextHandler(*args, **kwargs)
@@ -3903,14 +4281,13 @@ class Event(Object):
         """
         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.
-
+        This method can be used inside an event handler to control whether
+        further event handlers bound to this event will be called after the
+        current one returns. Without Skip() (or equivalently if Skip(False) is
+        used), the event will not be processed any more. If Skip(True) is
+        called, the event processing system continues searching for a further
+        handler function for this event, even though it has been processed
+        already in the current handler.
         """
         return _core_.Event_Skip(*args, **kwargs)
 
@@ -4230,6 +4607,8 @@ class ScrollEvent(CommandEvent):
         """SetPosition(self, int pos)"""
         return _core_.ScrollEvent_SetPosition(*args, **kwargs)
 
+    Orientation = property(GetOrientation,SetOrientation,doc="See `GetOrientation` and `SetOrientation`") 
+    Position = property(GetPosition,SetPosition,doc="See `GetPosition` and `SetPosition`") 
 _core_.ScrollEvent_swigregister(ScrollEvent)
 
 #---------------------------------------------------------------------------
@@ -4276,6 +4655,8 @@ class ScrollWinEvent(Event):
         """SetPosition(self, int pos)"""
         return _core_.ScrollWinEvent_SetPosition(*args, **kwargs)
 
+    Orientation = property(GetOrientation,SetOrientation,doc="See `GetOrientation` and `SetOrientation`") 
+    Position = property(GetPosition,SetPosition,doc="See `GetPosition` and `SetPosition`") 
 _core_.ScrollWinEvent_swigregister(ScrollWinEvent)
 
 #---------------------------------------------------------------------------
@@ -4691,6 +5072,14 @@ class MouseEvent(Event):
     m_wheelRotation = property(_core_.MouseEvent_m_wheelRotation_get, _core_.MouseEvent_m_wheelRotation_set)
     m_wheelDelta = property(_core_.MouseEvent_m_wheelDelta_get, _core_.MouseEvent_m_wheelDelta_set)
     m_linesPerAction = property(_core_.MouseEvent_m_linesPerAction_get, _core_.MouseEvent_m_linesPerAction_set)
+    Button = property(GetButton,doc="See `GetButton`") 
+    LinesPerAction = property(GetLinesPerAction,doc="See `GetLinesPerAction`") 
+    LogicalPosition = property(GetLogicalPosition,doc="See `GetLogicalPosition`") 
+    Position = property(GetPosition,doc="See `GetPosition`") 
+    WheelDelta = property(GetWheelDelta,doc="See `GetWheelDelta`") 
+    WheelRotation = property(GetWheelRotation,doc="See `GetWheelRotation`") 
+    X = property(GetX,doc="See `GetX`") 
+    Y = property(GetY,doc="See `GetY`") 
 _core_.MouseEvent_swigregister(MouseEvent)
 
 #---------------------------------------------------------------------------
@@ -4752,6 +5141,9 @@ class SetCursorEvent(Event):
         """
         return _core_.SetCursorEvent_HasCursor(*args, **kwargs)
 
+    Cursor = property(GetCursor,SetCursor,doc="See `GetCursor` and `SetCursor`") 
+    X = property(GetX,doc="See `GetX`") 
+    Y = property(GetY,doc="See `GetY`") 
 _core_.SetCursorEvent_swigregister(SetCursorEvent)
 
 #---------------------------------------------------------------------------
@@ -5065,6 +5457,8 @@ class SizeEvent(Event):
 
     m_size = property(_core_.SizeEvent_m_size_get, _core_.SizeEvent_m_size_set)
     m_rect = property(_core_.SizeEvent_m_rect_get, _core_.SizeEvent_m_rect_set)
+    Rect = property(GetRect,SetRect,doc="See `GetRect` and `SetRect`") 
+    Size = property(GetSize,SetSize,doc="See `GetSize` and `SetSize`") 
 _core_.SizeEvent_swigregister(SizeEvent)
 
 #---------------------------------------------------------------------------
@@ -5106,6 +5500,8 @@ class MoveEvent(Event):
     m_pos =  property(GetPosition, SetPosition)
     m_rect = property(GetRect, SetRect)
 
+    Position = property(GetPosition,SetPosition,doc="See `GetPosition` and `SetPosition`") 
+    Rect = property(GetRect,SetRect,doc="See `GetRect` and `SetRect`") 
 _core_.MoveEvent_swigregister(MoveEvent)
 
 #---------------------------------------------------------------------------
@@ -5223,9 +5619,14 @@ _core_.FocusEvent_swigregister(FocusEvent)
 
 class ChildFocusEvent(CommandEvent):
     """
-    wx.ChildFocusEvent notifies the parent that a child has received the
-    focus.  Unlike `wx.FocusEvent` it is propagated up the window
-    heirarchy.
+    A child focus event is sent to a (parent-)window when one of its child
+    windows gains focus, so that the window could restore the focus back
+    to its corresponding child if it loses it now and regains later.
+
+    Notice that child window is the direct child of the window receiving
+    the event, and so may not be the actual widget recieving focus if it
+    is further down the containment heirarchy.  Use `wx.Window.FindFocus`
+    to get the widget that is actually receiving focus.
     """
     thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
     __repr__ = _swig_repr
@@ -5240,7 +5641,8 @@ class ChildFocusEvent(CommandEvent):
         """
         GetWindow(self) -> Window
 
-        The window which has just received the focus.
+        The window, or (grand)parent of the window which has just received the
+        focus.
         """
         return _core_.ChildFocusEvent_GetWindow(*args, **kwargs)
 
@@ -5356,6 +5758,8 @@ class MenuEvent(Event):
         """
         return _core_.MenuEvent_GetMenu(*args, **kwargs)
 
+    Menu = property(GetMenu,doc="See `GetMenu`") 
+    MenuId = property(GetMenuId,doc="See `GetMenuId`") 
 _core_.MenuEvent_swigregister(MenuEvent)
 
 #---------------------------------------------------------------------------
@@ -5469,6 +5873,7 @@ class ShowEvent(Event):
         """GetShow(self) -> bool"""
         return _core_.ShowEvent_GetShow(*args, **kwargs)
 
+    Show = property(GetShow,SetShow,doc="See `GetShow` and `SetShow`") 
 _core_.ShowEvent_swigregister(ShowEvent)
 
 #---------------------------------------------------------------------------
@@ -5821,6 +6226,10 @@ class UpdateUIEvent(CommandEvent):
         return _core_.UpdateUIEvent_GetMode(*args, **kwargs)
 
     GetMode = staticmethod(GetMode)
+    Checked = property(GetChecked,Check,doc="See `GetChecked`") 
+    Enabled = property(GetEnabled,Enable,doc="See `GetEnabled`") 
+    Shown = property(GetShown,Show,doc="See `GetShown`") 
+    Text = property(GetText,SetText,doc="See `GetText` and `SetText`") 
 _core_.UpdateUIEvent_swigregister(UpdateUIEvent)
 
 def UpdateUIEvent_SetUpdateInterval(*args, **kwargs):
@@ -5964,6 +6373,7 @@ class MouseCaptureChangedEvent(Event):
         """
         return _core_.MouseCaptureChangedEvent_GetCapturedWindow(*args, **kwargs)
 
+    CapturedWindow = property(GetCapturedWindow,doc="See `GetCapturedWindow`") 
 _core_.MouseCaptureChangedEvent_swigregister(MouseCaptureChangedEvent)
 
 #---------------------------------------------------------------------------
@@ -6054,6 +6464,7 @@ class PaletteChangedEvent(Event):
         """GetChangedWindow(self) -> Window"""
         return _core_.PaletteChangedEvent_GetChangedWindow(*args, **kwargs)
 
+    ChangedWindow = property(GetChangedWindow,SetChangedWindow,doc="See `GetChangedWindow` and `SetChangedWindow`") 
 _core_.PaletteChangedEvent_swigregister(PaletteChangedEvent)
 
 #---------------------------------------------------------------------------
@@ -6086,6 +6497,7 @@ class QueryNewPaletteEvent(Event):
         """GetPaletteRealized(self) -> bool"""
         return _core_.QueryNewPaletteEvent_GetPaletteRealized(*args, **kwargs)
 
+    PaletteRealized = property(GetPaletteRealized,SetPaletteRealized,doc="See `GetPaletteRealized` and `SetPaletteRealized`") 
 _core_.QueryNewPaletteEvent_swigregister(QueryNewPaletteEvent)
 
 #---------------------------------------------------------------------------
@@ -6193,6 +6605,8 @@ class NavigationKeyEvent(Event):
     IsForward = _core_.NavigationKeyEvent_IsForward
     WinChange = _core_.NavigationKeyEvent_WinChange
     FromTab = _core_.NavigationKeyEvent_FromTab
+    CurrentFocus = property(GetCurrentFocus,SetCurrentFocus,doc="See `GetCurrentFocus` and `SetCurrentFocus`") 
+    Direction = property(GetDirection,SetDirection,doc="See `GetDirection` and `SetDirection`") 
 _core_.NavigationKeyEvent_swigregister(NavigationKeyEvent)
 
 #---------------------------------------------------------------------------
@@ -6220,6 +6634,7 @@ class WindowCreateEvent(CommandEvent):
         """
         return _core_.WindowCreateEvent_GetWindow(*args, **kwargs)
 
+    Window = property(GetWindow,doc="See `GetWindow`") 
 _core_.WindowCreateEvent_swigregister(WindowCreateEvent)
 
 class WindowDestroyEvent(CommandEvent):
@@ -6259,6 +6674,7 @@ class WindowDestroyEvent(CommandEvent):
         """
         return _core_.WindowDestroyEvent_GetWindow(*args, **kwargs)
 
+    Window = property(GetWindow,doc="See `GetWindow`") 
 _core_.WindowDestroyEvent_swigregister(WindowDestroyEvent)
 
 #---------------------------------------------------------------------------
@@ -6591,13 +7007,12 @@ class PyApp(EvtHandler):
         Create a new application object, starting the bootstrap process.
         """
         _core_.PyApp_swiginit(self,_core_.new_PyApp(*args, **kwargs))
-        self._setCallbackInfo(self, PyApp, False)
-        self._setOORInfo(self, False)
+        self._setOORInfo(self, False);PyApp._setCallbackInfo(self, self, PyApp)
 
     __swig_destroy__ = _core_.delete_PyApp
     __del__ = lambda self : None;
     def _setCallbackInfo(*args, **kwargs):
-        """_setCallbackInfo(self, PyObject self, PyObject _class, bool incref)"""
+        """_setCallbackInfo(self, PyObject self, PyObject _class, bool incref=False)"""
         return _core_.PyApp__setCallbackInfo(*args, **kwargs)
 
     def GetAppName(*args, **kwargs):
@@ -6733,7 +7148,7 @@ class PyApp(EvtHandler):
 
     def GetLayoutDirection(*args, **kwargs):
         """
-        GetLayoutDirection(self) -> wxLayoutDirection
+        GetLayoutDirection(self) -> int
 
         Return the layout direction for the current locale.
         """
@@ -6939,9 +7354,9 @@ class PyApp(EvtHandler):
         return _core_.PyApp_GetComCtl32Version(*args, **kwargs)
 
     GetComCtl32Version = staticmethod(GetComCtl32Version)
-    def DisplayAvailable(*args, **kwargs):
+    def IsDisplayAvailable(*args, **kwargs):
         """
-        DisplayAvailable() -> bool
+        IsDisplayAvailable() -> bool
 
         Tests if it is possible to create a GUI in the current environment.
         This will mean different things on the different platforms.
@@ -6958,9 +7373,20 @@ class PyApp(EvtHandler):
            * On MS Windows...
 
         """
-        return _core_.PyApp_DisplayAvailable(*args, **kwargs)
-
-    DisplayAvailable = staticmethod(DisplayAvailable)
+        return _core_.PyApp_IsDisplayAvailable(*args, **kwargs)
+
+    IsDisplayAvailable = staticmethod(IsDisplayAvailable)
+    AppName = property(GetAppName,SetAppName,doc="See `GetAppName` and `SetAppName`") 
+    AssertMode = property(GetAssertMode,SetAssertMode,doc="See `GetAssertMode` and `SetAssertMode`") 
+    ClassName = property(GetClassName,SetClassName,doc="See `GetClassName` and `SetClassName`") 
+    ExitOnFrameDelete = property(GetExitOnFrameDelete,SetExitOnFrameDelete,doc="See `GetExitOnFrameDelete` and `SetExitOnFrameDelete`") 
+    LayoutDirection = property(GetLayoutDirection,doc="See `GetLayoutDirection`") 
+    PrintMode = property(GetPrintMode,SetPrintMode,doc="See `GetPrintMode` and `SetPrintMode`") 
+    TopWindow = property(GetTopWindow,SetTopWindow,doc="See `GetTopWindow` and `SetTopWindow`") 
+    Traits = property(GetTraits,doc="See `GetTraits`") 
+    UseBestVisual = property(GetUseBestVisual,SetUseBestVisual,doc="See `GetUseBestVisual` and `SetUseBestVisual`") 
+    VendorName = property(GetVendorName,SetVendorName,doc="See `GetVendorName` and `SetVendorName`") 
+    Active = property(IsActive) 
 _core_.PyApp_swigregister(PyApp)
 
 def PyApp_IsMainLoopRunning(*args):
@@ -7021,9 +7447,9 @@ def PyApp_GetComCtl32Version(*args):
     """
   return _core_.PyApp_GetComCtl32Version(*args)
 
-def PyApp_DisplayAvailable(*args):
+def PyApp_IsDisplayAvailable(*args):
   """
-    PyApp_DisplayAvailable() -> bool
+    PyApp_IsDisplayAvailable() -> bool
 
     Tests if it is possible to create a GUI in the current environment.
     This will mean different things on the different platforms.
@@ -7040,7 +7466,7 @@ def PyApp_DisplayAvailable(*args):
        * On MS Windows...
 
     """
-  return _core_.PyApp_DisplayAvailable(*args)
+  return _core_.PyApp_IsDisplayAvailable(*args)
 
 #---------------------------------------------------------------------------
 
@@ -7273,7 +7699,7 @@ class App(wx.PyApp):
         wx.PyApp.__init__(self)
 
         # make sure we can create a GUI
-        if not self.DisplayAvailable():
+        if not self.IsDisplayAvailable():
             
             if wx.Platform == "__WXMAC__":
                 msg = """This program needs access to the screen.
@@ -7314,6 +7740,9 @@ in on the main display of your Mac."""
         # Use Python's install prefix as the default  
         wx.StandardPaths.Get().SetInstallPrefix(_sys.prefix)
 
+        # Until the new native control for wxMac is up to par, still use the generic one.
+        wx.SystemOptions.SetOptionInt("mac.listctrl.always_use_generic", 1)
+
         # This finishes the initialization of wxWindows and then calls
         # the OnInit that should be present in the derived class
         self._BootstrapApp()
@@ -7333,8 +7762,8 @@ in on the main display of your Mac."""
         destroy(self)
 
     def Destroy(self):
+        self.this.own(False)
         wx.PyApp.Destroy(self)
-        self.thisown = 0
 
     def SetTopWindow(self, frame):
         """Set the \"main\" top level window"""
@@ -7649,10 +8078,11 @@ class AcceleratorTable(Object):
         _core_.AcceleratorTable_swiginit(self,_core_.new_AcceleratorTable(*args, **kwargs))
     __swig_destroy__ = _core_.delete_AcceleratorTable
     __del__ = lambda self : None;
-    def Ok(*args, **kwargs):
-        """Ok(self) -> bool"""
-        return _core_.AcceleratorTable_Ok(*args, **kwargs)
+    def IsOk(*args, **kwargs):
+        """IsOk(self) -> bool"""
+        return _core_.AcceleratorTable_IsOk(*args, **kwargs)
 
+    Ok = IsOk 
 _core_.AcceleratorTable_swigregister(AcceleratorTable)
 
 
@@ -7739,9 +8169,8 @@ class Window(EvtHandler):
         Returns True if the window has either been successfully deleted, or it
         has been added to the list of windows pending real deletion.
         """
-        val = _core_.Window_Destroy(*args, **kwargs)
-        args[0].thisown = 0
-        return val
+        args[0].this.own(False)
+        return _core_.Window_Destroy(*args, **kwargs)
 
     def DestroyChildren(*args, **kwargs):
         """
@@ -7866,7 +8295,7 @@ class Window(EvtHandler):
     PrevControlId = staticmethod(PrevControlId)
     def GetLayoutDirection(*args, **kwargs):
         """
-        GetLayoutDirection(self) -> wxLayoutDirection
+        GetLayoutDirection(self) -> int
 
         Get the layout direction (LTR or RTL) for this window.  Returns
         ``wx.Layout_Default`` if layout direction is not supported.
@@ -7875,7 +8304,7 @@ class Window(EvtHandler):
 
     def SetLayoutDirection(*args, **kwargs):
         """
-        SetLayoutDirection(self, wxLayoutDirection dir)
+        SetLayoutDirection(self, int dir)
 
         Set the layout direction (LTR or RTL) for this window.
         """
@@ -7952,15 +8381,16 @@ class Window(EvtHandler):
         """
         return _core_.Window_MoveXY(*args, **kwargs)
 
-    def SetBestFittingSize(*args, **kwargs):
+    def SetInitialSize(*args, **kwargs):
         """
-        SetBestFittingSize(self, Size size=DefaultSize)
+        SetInitialSize(self, Size size=DefaultSize)
 
         A 'Smart' SetSize that will fill in default size components with the
         window's *best size* values.  Also set's the minsize for use with sizers.
         """
-        return _core_.Window_SetBestFittingSize(*args, **kwargs)
+        return _core_.Window_SetInitialSize(*args, **kwargs)
 
+    SetBestFittingSize = wx._deprecated(SetInitialSize, 'Use `SetInitialSize`') 
     def Raise(*args, **kwargs):
         """
         Raise(self)
@@ -8168,29 +8598,23 @@ class Window(EvtHandler):
         """
         return _core_.Window_CacheBestSize(*args, **kwargs)
 
-    def GetBestFittingSize(*args, **kwargs):
+    def GetEffectiveMinSize(*args, **kwargs):
         """
-        GetBestFittingSize(self) -> Size
+        GetEffectiveMinSize(self) -> Size
 
         This function will merge the window's best size into the window's
         minimum size, giving priority to the min size components, and returns
         the results.
 
         """
-        return _core_.Window_GetBestFittingSize(*args, **kwargs)
+        return _core_.Window_GetEffectiveMinSize(*args, **kwargs)
 
-    def GetAdjustedBestSize(*args, **kwargs):
-        """
-        GetAdjustedBestSize(self) -> Size
-
-        This method is similar to GetBestSize, except in one
-        thing. GetBestSize should return the minimum untruncated size of the
-        window, while this method will return the largest of BestSize and any
-        user specified minimum size. ie. it is the minimum size the window
-        should currently be drawn at, not the minimal size it can possibly
-        tolerate.
-        """
-        return _core_.Window_GetAdjustedBestSize(*args, **kwargs)
+    GetBestFittingSize = wx._deprecated(GetEffectiveMinSize, 'Use `GetEffectiveMinSize` instead.') 
+    def GetAdjustedBestSize(self):
+        s = self.GetBestSize()
+        return wx.Size(max(s.width,  self.GetMinWidth()),
+                       max(s.height, self.GetMinHeight()))
+    GetAdjustedBestSize = wx._deprecated(GetAdjustedBestSize, 'Use `GetEffectiveMinSize` instead.')
 
     def Center(*args, **kwargs):
         """
@@ -8441,6 +8865,16 @@ class Window(EvtHandler):
         """
         return _core_.Window_IsEnabled(*args, **kwargs)
 
+    def IsShownOnScreen(*args, **kwargs):
+        """
+        IsShownOnScreen(self) -> bool
+
+        Returns ``True`` if the window is physically visible on the screen,
+        i.e. it is shown and all its parents up to the toplevel window are
+        shown as well.
+        """
+        return _core_.Window_IsShownOnScreen(*args, **kwargs)
+
     def SetWindowStyleFlag(*args, **kwargs):
         """
         SetWindowStyleFlag(self, long style)
@@ -8716,14 +9150,16 @@ class Window(EvtHandler):
         SetEventHandler(self, EvtHandler handler)
 
         Sets the event handler for this window.  An event handler is an object
-        that is capable of processing the events sent to a window. By default,
-        the window is its own event handler, but an application may wish to
-        substitute another, for example to allow central implementation of
-        event-handling for a variety of different window classes.
+        that is capable of processing the events sent to a window.  (In other
+        words, is able to dispatch the events to handler function.)  By
+        default, the window is its own event handler, but an application may
+        wish to substitute another, for example to allow central
+        implementation of event-handling for a variety of different window
+        classes.
 
         It is usually better to use `wx.Window.PushEventHandler` since this sets
         up a chain of event handlers, where an event not handled by one event
-        handler is handed to the next one in the chain.
+        handler is handed off to the next one in the chain.
         """
         return _core_.Window_SetEventHandler(*args, **kwargs)
 
@@ -8733,15 +9169,19 @@ class Window(EvtHandler):
 
         Pushes this event handler onto the event handler stack for the window.
         An event handler is an object that is capable of processing the events
-        sent to a window. By default, the window is its own event handler, but
-        an application may wish to substitute another, for example to allow
-        central implementation of event-handling for a variety of different
-        window classes.
+        sent to a window.  (In other words, is able to dispatch the events to
+        handler function.)  By default, the window is its own event handler,
+        but an application may wish to substitute another, for example to
+        allow central implementation of event-handling for a variety of
+        different window classes.
 
         wx.Window.PushEventHandler allows an application to set up a chain of
         event handlers, where an event not handled by one event handler is
-        handed to the next one in the chain. Use `wx.Window.PopEventHandler` to
-        remove the event handler.
+        handed to the next one in the chain.  Use `wx.Window.PopEventHandler`
+        to remove the event handler.  Ownership of the handler is *not* given
+        to the window, so you should be sure to pop the handler before the
+        window is destroyed and either let PopEventHandler destroy it, or call
+        its Destroy method yourself.
         """
         return _core_.Window_PushEventHandler(*args, **kwargs)
 
@@ -8751,7 +9191,7 @@ class Window(EvtHandler):
 
         Removes and returns the top-most event handler on the event handler
         stack.  If deleteHandler is True then the wx.EvtHandler object will be
-        destroyed after it is popped.
+        destroyed after it is popped, and ``None`` will be returned instead.
         """
         return _core_.Window_PopEventHandler(*args, **kwargs)
 
@@ -8760,7 +9200,7 @@ class Window(EvtHandler):
         RemoveEventHandler(self, EvtHandler handler) -> bool
 
         Find the given handler in the event handler chain and remove (but not
-        delete) it from the event handler chain, return True if it was found
+        delete) it from the event handler chain, returns True if it was found
         and False otherwise (this also results in an assert failure so this
         function should only be called when the handler is supposed to be
         there.)
@@ -9010,7 +9450,7 @@ class Window(EvtHandler):
         window instead of waiting for the EVT_PAINT event to happen, (normally
         this would usually only happen when the flow of control returns to the
         event loop.)  Notice that this function doesn't refresh the window and
-        does nothing if the window has been already repainted.  Use Refresh
+        does nothing if the window has been already repainted.  Use `Refresh`
         first if you want to immediately redraw the window (or some portion of
         it) unconditionally.
         """
@@ -9043,6 +9483,16 @@ class Window(EvtHandler):
         """
         return _core_.Window_Freeze(*args, **kwargs)
 
+    def IsFrozen(*args, **kwargs):
+        """
+        IsFrozen(self) -> bool
+
+        Returns ``True`` if the window has been frozen and not thawed yet.
+
+        :see: `Freeze` and `Thaw`
+        """
+        return _core_.Window_IsFrozen(*args, **kwargs)
+
     def Thaw(*args, **kwargs):
         """
         Thaw(self)
@@ -9063,6 +9513,17 @@ class Window(EvtHandler):
         """
         return _core_.Window_PrepareDC(*args, **kwargs)
 
+    def IsDoubleBuffered(*args, **kwargs):
+        """
+        IsDoubleBuffered(self) -> bool
+
+        Returns ``True`` if the window contents is double-buffered by the
+        system, i.e. if any drawing done on the window is really done on a
+        temporary backing surface and transferred to the screen all at once
+        later.
+        """
+        return _core_.Window_IsDoubleBuffered(*args, **kwargs)
+
     def GetUpdateRegion(*args, **kwargs):
         """
         GetUpdateRegion(self) -> Region
@@ -9874,7 +10335,7 @@ class Window(EvtHandler):
         if hasattr(self, '_setOORInfo'):
             self._setOORInfo(self)
         if hasattr(self, '_setCallbackInfo'):
-            self._setCallbackInfo(self, self.__class__)
+            self._setCallbackInfo(self, pre.__class__)
 
     def SendSizeEvent(self):
         self.GetEventHandler().ProcessEvent(wx.SizeEvent((-1,-1)))
@@ -9884,7 +10345,7 @@ class Window(EvtHandler):
     AutoLayout = property(GetAutoLayout,SetAutoLayout,doc="See `GetAutoLayout` and `SetAutoLayout`") 
     BackgroundColour = property(GetBackgroundColour,SetBackgroundColour,doc="See `GetBackgroundColour` and `SetBackgroundColour`") 
     BackgroundStyle = property(GetBackgroundStyle,SetBackgroundStyle,doc="See `GetBackgroundStyle` and `SetBackgroundStyle`") 
-    BestFittingSize = property(GetBestFittingSize,SetBestFittingSize,doc="See `GetBestFittingSize` and `SetBestFittingSize`") 
+    EffectiveMinSize = property(GetEffectiveMinSize,doc="See `GetEffectiveMinSize`") 
     BestSize = property(GetBestSize,doc="See `GetBestSize`") 
     BestVirtualSize = property(GetBestVirtualSize,doc="See `GetBestVirtualSize`") 
     Border = property(GetBorder,doc="See `GetBorder`") 
@@ -9909,6 +10370,7 @@ class Window(EvtHandler):
     HelpText = property(GetHelpText,SetHelpText,doc="See `GetHelpText` and `SetHelpText`") 
     Id = property(GetId,SetId,doc="See `GetId` and `SetId`") 
     Label = property(GetLabel,SetLabel,doc="See `GetLabel` and `SetLabel`") 
+    LayoutDirection = property(GetLayoutDirection,SetLayoutDirection,doc="See `GetLayoutDirection` and `SetLayoutDirection`") 
     MaxHeight = property(GetMaxHeight,doc="See `GetMaxHeight`") 
     MaxSize = property(GetMaxSize,SetMaxSize,doc="See `GetMaxSize` and `SetMaxSize`") 
     MaxWidth = property(GetMaxWidth,doc="See `GetMaxWidth`") 
@@ -10124,6 +10586,7 @@ class Validator(EvtHandler):
         return _core_.Validator_SetBellOnError(*args, **kwargs)
 
     SetBellOnError = staticmethod(SetBellOnError)
+    Window = property(GetWindow,SetWindow,doc="See `GetWindow` and `SetWindow`") 
 _core_.Validator_swigregister(Validator)
 
 def Validator_IsSilent(*args):
@@ -10141,12 +10604,10 @@ class PyValidator(Validator):
     def __init__(self, *args, **kwargs): 
         """__init__(self) -> PyValidator"""
         _core_.PyValidator_swiginit(self,_core_.new_PyValidator(*args, **kwargs))
-        
-        self._setCallbackInfo(self, PyValidator, 1)
-        self._setOORInfo(self)
+        self._setOORInfo(self);PyValidator._setCallbackInfo(self, self, PyValidator)
 
     def _setCallbackInfo(*args, **kwargs):
-        """_setCallbackInfo(self, PyObject self, PyObject _class, int incref=True)"""
+        """_setCallbackInfo(self, PyObject self, PyObject _class, int incref=1)"""
         return _core_.PyValidator__setCallbackInfo(*args, **kwargs)
 
 _core_.PyValidator_swigregister(PyValidator)
@@ -10273,29 +10734,16 @@ class Menu(EvtHandler):
 
         Deletes the C++ object this Python object is a proxy for.
         """
-        val = _core_.Menu_Destroy(*args, **kwargs)
-        args[0].thisown = 0
-        return val
+        args[0].this.own(False)
+        return _core_.Menu_Destroy(*args, **kwargs)
 
     def DestroyId(*args, **kwargs):
-        """
-        DestroyId(self, int id) -> bool
-
-        Deletes the C++ object this Python object is a proxy for.
-        """
-        val = _core_.Menu_DestroyId(*args, **kwargs)
-        args[0].thisown = 0
-        return val
+        """DestroyId(self, int id) -> bool"""
+        return _core_.Menu_DestroyId(*args, **kwargs)
 
     def DestroyItem(*args, **kwargs):
-        """
-        DestroyItem(self, MenuItem item) -> bool
-
-        Deletes the C++ object this Python object is a proxy for.
-        """
-        val = _core_.Menu_DestroyItem(*args, **kwargs)
-        args[0].thisown = 0
-        return val
+        """DestroyItem(self, MenuItem item) -> bool"""
+        return _core_.Menu_DestroyItem(*args, **kwargs)
 
     def GetMenuItemCount(*args, **kwargs):
         """GetMenuItemCount(self) -> size_t"""
@@ -10405,6 +10853,15 @@ class Menu(EvtHandler):
         """GetParent(self) -> Menu"""
         return _core_.Menu_GetParent(*args, **kwargs)
 
+    EventHandler = property(GetEventHandler,SetEventHandler,doc="See `GetEventHandler` and `SetEventHandler`") 
+    HelpString = property(GetHelpString,SetHelpString,doc="See `GetHelpString` and `SetHelpString`") 
+    InvokingWindow = property(GetInvokingWindow,SetInvokingWindow,doc="See `GetInvokingWindow` and `SetInvokingWindow`") 
+    MenuBar = property(GetMenuBar,doc="See `GetMenuBar`") 
+    MenuItemCount = property(GetMenuItemCount,doc="See `GetMenuItemCount`") 
+    MenuItems = property(GetMenuItems,doc="See `GetMenuItems`") 
+    Parent = property(GetParent,SetParent,doc="See `GetParent` and `SetParent`") 
+    Style = property(GetStyle,doc="See `GetStyle`") 
+    Title = property(GetTitle,SetTitle,doc="See `GetTitle` and `SetTitle`") 
 _core_.Menu_swigregister(Menu)
 DefaultValidator = cvar.DefaultValidator
 
@@ -10545,7 +11002,10 @@ class MenuBar(Window):
         for m, l in items:
             self.Append(m, l)
 
-    Menus = property(GetMenus,SetMenus) 
+    Frame = property(GetFrame,doc="See `GetFrame`") 
+    Menu = property(GetMenu,doc="See `GetMenu`") 
+    MenuCount = property(GetMenuCount,doc="See `GetMenuCount`") 
+    Menus = property(GetMenus,SetMenus,doc="See `GetMenus` and `SetMenus`") 
 _core_.MenuBar_swigregister(MenuBar)
 
 def MenuBar_SetAutoWindowMenu(*args, **kwargs):
@@ -10741,6 +11201,20 @@ class MenuItem(Object):
         """ResetOwnerDrawn(self)"""
         return _core_.MenuItem_ResetOwnerDrawn(*args, **kwargs)
 
+    Accel = property(GetAccel,SetAccel,doc="See `GetAccel` and `SetAccel`") 
+    BackgroundColour = property(GetBackgroundColour,SetBackgroundColour,doc="See `GetBackgroundColour` and `SetBackgroundColour`") 
+    Bitmap = property(GetBitmap,SetBitmap,doc="See `GetBitmap` and `SetBitmap`") 
+    DisabledBitmap = property(GetDisabledBitmap,SetDisabledBitmap,doc="See `GetDisabledBitmap` and `SetDisabledBitmap`") 
+    Font = property(GetFont,SetFont,doc="See `GetFont` and `SetFont`") 
+    Help = property(GetHelp,SetHelp,doc="See `GetHelp` and `SetHelp`") 
+    Id = property(GetId,SetId,doc="See `GetId` and `SetId`") 
+    Kind = property(GetKind,SetKind,doc="See `GetKind` and `SetKind`") 
+    Label = property(GetLabel,doc="See `GetLabel`") 
+    MarginWidth = property(GetMarginWidth,SetMarginWidth,doc="See `GetMarginWidth` and `SetMarginWidth`") 
+    Menu = property(GetMenu,SetMenu,doc="See `GetMenu` and `SetMenu`") 
+    SubMenu = property(GetSubMenu,SetSubMenu,doc="See `GetSubMenu` and `SetSubMenu`") 
+    Text = property(GetText,SetText,doc="See `GetText` and `SetText`") 
+    TextColour = property(GetTextColour,SetTextColour,doc="See `GetTextColour` and `SetTextColour`") 
 _core_.MenuItem_swigregister(MenuItem)
 
 def MenuItem_GetLabelFromText(*args, **kwargs):
@@ -10811,14 +11285,6 @@ class Control(Window):
         """
         return _core_.Control_Command(*args, **kwargs)
 
-    def GetLabel(*args, **kwargs):
-        """
-        GetLabel(self) -> String
-
-        Return a control's text.
-        """
-        return _core_.Control_GetLabel(*args, **kwargs)
-
     def GetClassDefaultAttributes(*args, **kwargs):
         """
         GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
@@ -10838,7 +11304,6 @@ class Control(Window):
 
     GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
     Alignment = property(GetAlignment,doc="See `GetAlignment`") 
-    Label = property(GetLabel,doc="See `GetLabel`") 
     LabelText = property(GetLabelText,doc="See `GetLabelText`") 
 _core_.Control_swigregister(Control)
 ControlNameStr = cvar.ControlNameStr
@@ -11374,6 +11839,19 @@ class SizerItem(Object):
         """
         return _core_.SizerItem_SetUserData(*args, **kwargs)
 
+    Border = property(GetBorder,SetBorder,doc="See `GetBorder` and `SetBorder`") 
+    Flag = property(GetFlag,SetFlag,doc="See `GetFlag` and `SetFlag`") 
+    MinSize = property(GetMinSize,doc="See `GetMinSize`") 
+    MinSizeWithBorder = property(GetMinSizeWithBorder,doc="See `GetMinSizeWithBorder`") 
+    Position = property(GetPosition,doc="See `GetPosition`") 
+    Proportion = property(GetProportion,SetProportion,doc="See `GetProportion` and `SetProportion`") 
+    Ratio = property(GetRatio,SetRatio,doc="See `GetRatio` and `SetRatio`") 
+    Rect = property(GetRect,doc="See `GetRect`") 
+    Size = property(GetSize,doc="See `GetSize`") 
+    Sizer = property(GetSizer,SetSizer,doc="See `GetSizer` and `SetSizer`") 
+    Spacer = property(GetSpacer,SetSpacer,doc="See `GetSpacer` and `SetSpacer`") 
+    UserData = property(GetUserData,SetUserData,doc="See `GetUserData` and `SetUserData`") 
+    Window = property(GetWindow,SetWindow,doc="See `GetWindow` and `SetWindow`") 
 _core_.SizerItem_swigregister(SizerItem)
 
 def SizerItemWindow(*args, **kwargs):
@@ -11896,6 +12374,11 @@ class Sizer(Object):
         """
         return _core_.Sizer_ShowItems(*args, **kwargs)
 
+    Children = property(GetChildren,doc="See `GetChildren`") 
+    ContainingWindow = property(GetContainingWindow,SetContainingWindow,doc="See `GetContainingWindow` and `SetContainingWindow`") 
+    MinSize = property(GetMinSize,SetMinSize,doc="See `GetMinSize` and `SetMinSize`") 
+    Position = property(GetPosition,doc="See `GetPosition`") 
+    Size = property(GetSize,doc="See `GetSize`") 
 _core_.Sizer_swigregister(Sizer)
 
 class PySizer(Sizer):
@@ -11950,7 +12433,7 @@ class PySizer(Sizer):
         class.
         """
         _core_.PySizer_swiginit(self,_core_.new_PySizer(*args, **kwargs))
-        self._setCallbackInfo(self, PySizer);self._setOORInfo(self)
+        self._setOORInfo(self);PySizer._setCallbackInfo(self, self, PySizer)
 
     def _setCallbackInfo(*args, **kwargs):
         """_setCallbackInfo(self, PyObject self, PyObject _class)"""
@@ -12030,6 +12513,7 @@ class StaticBoxSizer(BoxSizer):
         """
         return _core_.StaticBoxSizer_GetStaticBox(*args, **kwargs)
 
+    StaticBox = property(GetStaticBox,doc="See `GetStaticBox`") 
 _core_.StaticBoxSizer_swigregister(StaticBoxSizer)
 
 #---------------------------------------------------------------------------
@@ -12387,6 +12871,11 @@ class StdDialogButtonSizer(BoxSizer):
         """GetHelpButton(self) -> wxButton"""
         return _core_.StdDialogButtonSizer_GetHelpButton(*args, **kwargs)
 
+    AffirmativeButton = property(GetAffirmativeButton,SetAffirmativeButton,doc="See `GetAffirmativeButton` and `SetAffirmativeButton`") 
+    ApplyButton = property(GetApplyButton,doc="See `GetApplyButton`") 
+    CancelButton = property(GetCancelButton,SetCancelButton,doc="See `GetCancelButton` and `SetCancelButton`") 
+    HelpButton = property(GetHelpButton,doc="See `GetHelpButton`") 
+    NegativeButton = property(GetNegativeButton,SetNegativeButton,doc="See `GetNegativeButton` and `SetNegativeButton`") 
 _core_.StdDialogButtonSizer_swigregister(StdDialogButtonSizer)
 
 #---------------------------------------------------------------------------
@@ -13170,6 +13659,24 @@ if RELEASE_VERSION != _core_.RELEASE_VERSION:
     import warnings
     warnings.warn("wxPython/wxWidgets release number mismatch")
 
+
+def version():
+    """Returns a string containing version and port info"""
+    ctype = wx.USE_UNICODE and 'unicode' or 'ansi'
+    if wx.Platform == '__WXMSW__':
+        port = 'msw'
+    elif wx.Platform == '__WXMAC__':
+        port = 'mac'
+    elif wx.Platform == '__WXGTK__':
+        port = 'gtk'
+        if 'gtk2' in wx.PlatformInfo:
+            port = 'gtk2'
+    else:
+        port = '?'
+
+    return "%s (%s-%s)" % (wx.VERSION_STRING, port, ctype)
+                       
+    
 #----------------------------------------------------------------------------
 
 # Set wxPython's default string<-->unicode conversion encoding from
@@ -13267,7 +13774,7 @@ def CallAfter(callable, *args, **kw):
     method calls from non-GUI threads.  Any extra positional or
     keyword args are passed on to the callable when it is called.
 
-    :see: `wx.FutureCall`
+    :see: `wx.CallLater`
     """
     app = wx.GetApp()
     assert app is not None, 'No wx.App created yet'
@@ -13286,7 +13793,7 @@ def CallAfter(callable, *args, **kw):
 #----------------------------------------------------------------------------
 
 
-class FutureCall:
+class CallLater:
     """
     A convenience class for `wx.Timer`, that calls the given callable
     object once after the given amount of milliseconds, passing any
@@ -13297,7 +13804,7 @@ class FutureCall:
     then there is no need to hold a reference to this object.  It will
     hold a reference to itself while the timer is running (the timer
     has a reference to self.Notify) but the cycle will be broken when
-    the timer completes, automatically cleaning up the wx.FutureCall
+    the timer completes, automatically cleaning up the wx.CallLater
     object.
 
     :see: `wx.CallAfter`
@@ -13387,6 +13894,9 @@ class FutureCall:
     Result = property(GetResult)
 
 
+class FutureCall(CallLater):
+    """A compatibility alias for `CallLater`."""
+
 #----------------------------------------------------------------------------
 # Control which items in this module should be documented by epydoc.
 # We allow only classes and functions, which will help reduce the size