]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/mac/_core.py
fixed wxString iterators linked list corruption
[wxWidgets.git] / wxPython / src / mac / _core.py
index 5f09f3bc0353d379ad7a01754989a6e4d601f92b..71ef20270f72aff0221f6972e879d8c7e04c897d 100644 (file)
@@ -102,6 +102,7 @@ CENTRE_ON_SCREEN = _core_.CENTRE_ON_SCREEN
 CENTER_ON_SCREEN = _core_.CENTER_ON_SCREEN
 CLIP_CHILDREN = _core_.CLIP_CHILDREN
 CLIP_SIBLINGS = _core_.CLIP_SIBLINGS
+WINDOW_STYLE_MASK = _core_.WINDOW_STYLE_MASK
 ALWAYS_SHOW_SB = _core_.ALWAYS_SHOW_SB
 RETAINED = _core_.RETAINED
 BACKINGSTORE = _core_.BACKINGSTORE
@@ -115,8 +116,6 @@ LB_MULTIPLE = _core_.LB_MULTIPLE
 LB_EXTENDED = _core_.LB_EXTENDED
 LB_OWNERDRAW = _core_.LB_OWNERDRAW
 LB_HSCROLL = _core_.LB_HSCROLL
-PROCESS_ENTER = _core_.PROCESS_ENTER
-PASSWORD = _core_.PASSWORD
 CB_SIMPLE = _core_.CB_SIMPLE
 CB_DROPDOWN = _core_.CB_DROPDOWN
 CB_SORT = _core_.CB_SORT
@@ -132,9 +131,6 @@ 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
-ST_DOTS_MIDDLE = _core_.ST_DOTS_MIDDLE
-ST_DOTS_END = _core_.ST_DOTS_END
 FLOOD_SURFACE = _core_.FLOOD_SURFACE
 FLOOD_BORDER = _core_.FLOOD_BORDER
 ODDEVEN_RULE = _core_.ODDEVEN_RULE
@@ -150,6 +146,8 @@ YES = _core_.YES
 NO = _core_.NO
 NO_DEFAULT = _core_.NO_DEFAULT
 YES_DEFAULT = _core_.YES_DEFAULT
+APPLY = _core_.APPLY
+CLOSE = _core_.CLOSE
 ICON_EXCLAMATION = _core_.ICON_EXCLAMATION
 ICON_HAND = _core_.ICON_HAND
 ICON_QUESTION = _core_.ICON_QUESTION
@@ -193,14 +191,18 @@ ID_REDO = _core_.ID_REDO
 ID_HELP = _core_.ID_HELP
 ID_PRINT = _core_.ID_PRINT
 ID_PRINT_SETUP = _core_.ID_PRINT_SETUP
+ID_PAGE_SETUP = _core_.ID_PAGE_SETUP
 ID_PREVIEW = _core_.ID_PREVIEW
 ID_ABOUT = _core_.ID_ABOUT
 ID_HELP_CONTENTS = _core_.ID_HELP_CONTENTS
 ID_HELP_COMMANDS = _core_.ID_HELP_COMMANDS
 ID_HELP_PROCEDURES = _core_.ID_HELP_PROCEDURES
 ID_HELP_CONTEXT = _core_.ID_HELP_CONTEXT
+ID_HELP_INDEX = _core_.ID_HELP_INDEX
+ID_HELP_SEARCH = _core_.ID_HELP_SEARCH
 ID_CLOSE_ALL = _core_.ID_CLOSE_ALL
 ID_PREFERENCES = _core_.ID_PREFERENCES
+ID_EDIT = _core_.ID_EDIT
 ID_CUT = _core_.ID_CUT
 ID_COPY = _core_.ID_COPY
 ID_PASTE = _core_.ID_PASTE
@@ -220,6 +222,7 @@ ID_VIEW_SORTDATE = _core_.ID_VIEW_SORTDATE
 ID_VIEW_SORTNAME = _core_.ID_VIEW_SORTNAME
 ID_VIEW_SORTSIZE = _core_.ID_VIEW_SORTSIZE
 ID_VIEW_SORTTYPE = _core_.ID_VIEW_SORTTYPE
+ID_FILE = _core_.ID_FILE
 ID_FILE1 = _core_.ID_FILE1
 ID_FILE2 = _core_.ID_FILE2
 ID_FILE3 = _core_.ID_FILE3
@@ -271,28 +274,6 @@ ID_ZOOM_OUT = _core_.ID_ZOOM_OUT
 ID_UNDELETE = _core_.ID_UNDELETE
 ID_REVERT_TO_SAVED = _core_.ID_REVERT_TO_SAVED
 ID_HIGHEST = _core_.ID_HIGHEST
-OPEN = _core_.OPEN
-SAVE = _core_.SAVE
-HIDE_READONLY = _core_.HIDE_READONLY
-OVERWRITE_PROMPT = _core_.OVERWRITE_PROMPT
-FILE_MUST_EXIST = _core_.FILE_MUST_EXIST
-MULTIPLE = _core_.MULTIPLE
-CHANGE_DIR = _core_.CHANGE_DIR
-ACCEL_ALT = _core_.ACCEL_ALT
-ACCEL_CTRL = _core_.ACCEL_CTRL
-ACCEL_SHIFT = _core_.ACCEL_SHIFT
-ACCEL_NORMAL = _core_.ACCEL_NORMAL
-PD_AUTO_HIDE = _core_.PD_AUTO_HIDE
-PD_APP_MODAL = _core_.PD_APP_MODAL
-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
-DD_CHANGE_DIR = _core_.DD_CHANGE_DIR
 MENU_TEAROFF = _core_.MENU_TEAROFF
 MB_DOCKABLE = _core_.MB_DOCKABLE
 NO_FULL_REPAINT_ON_RESIZE = _core_.NO_FULL_REPAINT_ON_RESIZE
@@ -350,7 +331,7 @@ EXPAND = _core_.EXPAND
 SHAPED = _core_.SHAPED
 FIXED_MINSIZE = _core_.FIXED_MINSIZE
 TILE = _core_.TILE
-ADJUST_MINSIZE = _core_.ADJUST_MINSIZE
+ADJUST_MINSIZE = 
 BORDER_DEFAULT = _core_.BORDER_DEFAULT
 BORDER_NONE = _core_.BORDER_NONE
 BORDER_STATIC = _core_.BORDER_STATIC
@@ -432,8 +413,6 @@ WXK_CONTROL = _core_.WXK_CONTROL
 WXK_MENU = _core_.WXK_MENU
 WXK_PAUSE = _core_.WXK_PAUSE
 WXK_CAPITAL = _core_.WXK_CAPITAL
-WXK_PRIOR = _core_.WXK_PRIOR
-WXK_NEXT = _core_.WXK_NEXT
 WXK_END = _core_.WXK_END
 WXK_HOME = _core_.WXK_HOME
 WXK_LEFT = _core_.WXK_LEFT
@@ -502,9 +481,7 @@ WXK_NUMPAD_LEFT = _core_.WXK_NUMPAD_LEFT
 WXK_NUMPAD_UP = _core_.WXK_NUMPAD_UP
 WXK_NUMPAD_RIGHT = _core_.WXK_NUMPAD_RIGHT
 WXK_NUMPAD_DOWN = _core_.WXK_NUMPAD_DOWN
-WXK_NUMPAD_PRIOR = _core_.WXK_NUMPAD_PRIOR
 WXK_NUMPAD_PAGEUP = _core_.WXK_NUMPAD_PAGEUP
-WXK_NUMPAD_NEXT = _core_.WXK_NUMPAD_NEXT
 WXK_NUMPAD_PAGEDOWN = _core_.WXK_NUMPAD_PAGEDOWN
 WXK_NUMPAD_END = _core_.WXK_NUMPAD_END
 WXK_NUMPAD_BEGIN = _core_.WXK_NUMPAD_BEGIN
@@ -541,6 +518,11 @@ WXK_SPECIAL17 = _core_.WXK_SPECIAL17
 WXK_SPECIAL18 = _core_.WXK_SPECIAL18
 WXK_SPECIAL19 = _core_.WXK_SPECIAL19
 WXK_SPECIAL20 = _core_.WXK_SPECIAL20
+WXK_PRIOR = WXK_PAGEUP
+WXK_NEXT  = WXK_PAGEDOWN
+WXK_NUMPAD_PRIOR = WXK_NUMPAD_PAGEUP
+WXK_NUMPAD_NEXT  = WXK_NUMPAD_PAGEDOWN    
+
 PAPER_NONE = _core_.PAPER_NONE
 PAPER_LETTER = _core_.PAPER_LETTER
 PAPER_LEGAL = _core_.PAPER_LEGAL
@@ -694,6 +676,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):
@@ -718,10 +703,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
@@ -747,6 +742,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
@@ -853,6 +849,22 @@ 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)
+
+        Scales the dimensions of this object by the given factors.
+        """
+        return _core_.Size_Scale(*args, **kwargs)
+
     def Set(*args, **kwargs):
         """
         Set(self, int w, int h)
@@ -1188,6 +1200,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)
@@ -1328,21 +1356,37 @@ class Rect(object):
         """
         return _core_.Rect___ne__(*args, **kwargs)
 
-    def InsideXY(*args, **kwargs):
+    def ContainsXY(*args, **kwargs):
+        """
+        ContainsXY(self, int x, int y) -> bool
+
+        Return True if the point is inside the rect.
         """
-        InsideXY(self, int x, int y) -> bool
+        return _core_.Rect_ContainsXY(*args, **kwargs)
 
-        Return True if the point is (not strcitly) inside the rect.
+    def Contains(*args, **kwargs):
         """
-        return _core_.Rect_InsideXY(*args, **kwargs)
+        Contains(self, Point pt) -> bool
 
-    def Inside(*args, **kwargs):
+        Return True if the point is inside the rect.
         """
-        Inside(self, Point pt) -> bool
+        return _core_.Rect_Contains(*args, **kwargs)
 
-        Return True if the point is (not strcitly) inside the rect.
+    def ContainsRect(*args, **kwargs):
         """
-        return _core_.Rect_Inside(*args, **kwargs)
+        ContainsRect(self, Rect rect) -> bool
+
+        Returns ``True`` if the given rectangle is completely inside this
+        rectangle or touches its boundary.
+        """
+        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):
         """
@@ -1397,6 +1441,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):
@@ -1450,6 +1509,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)
@@ -1571,6 +1632,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):
@@ -1593,6 +1658,327 @@ 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)
+
+class Position(object):
+    """Proxy of C++ Position class"""
+    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, int row=0, int col=0) -> Position"""
+        _core_.Position_swiginit(self,_core_.new_Position(*args, **kwargs))
+    __swig_destroy__ = _core_.delete_Position
+    __del__ = lambda self : None;
+    def GetRow(*args, **kwargs):
+        """GetRow(self) -> int"""
+        return _core_.Position_GetRow(*args, **kwargs)
+
+    def GetColumn(*args, **kwargs):
+        """GetColumn(self) -> int"""
+        return _core_.Position_GetColumn(*args, **kwargs)
+
+    def GetCol(*args, **kwargs):
+        """GetCol(self) -> int"""
+        return _core_.Position_GetCol(*args, **kwargs)
+
+    def SetRow(*args, **kwargs):
+        """SetRow(self, int row)"""
+        return _core_.Position_SetRow(*args, **kwargs)
+
+    def SetColumn(*args, **kwargs):
+        """SetColumn(self, int column)"""
+        return _core_.Position_SetColumn(*args, **kwargs)
+
+    def SetCol(*args, **kwargs):
+        """SetCol(self, int column)"""
+        return _core_.Position_SetCol(*args, **kwargs)
+
+    def __eq__(*args, **kwargs):
+        """
+        __eq__(self, PyObject other) -> bool
+
+        Test for equality of wx.Position objects.
+        """
+        return _core_.Position___eq__(*args, **kwargs)
+
+    def __ne__(*args, **kwargs):
+        """
+        __ne__(self, PyObject other) -> bool
+
+        Test for inequality of wx.Position objects.
+        """
+        return _core_.Position___ne__(*args, **kwargs)
+
+    def __add__(*args):
+        """
+        __add__(self, Position p) -> Position
+        __add__(self, Size s) -> Position
+        """
+        return _core_.Position___add__(*args)
+
+    def __sub__(*args):
+        """
+        __sub__(self, Position p) -> Position
+        __sub__(self, Size s) -> Position
+        """
+        return _core_.Position___sub__(*args)
+
+    row = property(GetRow,SetRow) 
+    col = property(GetCol,SetCol) 
+_core_.Position_swigregister(Position)
+
+#---------------------------------------------------------------------------
+
 FromStart = _core_.FromStart
 FromCurrent = _core_.FromCurrent
 FromEnd = _core_.FromEnd
@@ -1700,14 +2086,16 @@ class FSFile(Object):
             DateTime modif) -> FSFile
         """
         _core_.FSFile_swiginit(self,_core_.new_FSFile(*args, **kwargs))
-        self.thisown = 0   # It will normally be deleted by the user of the wx.FileSystem
-
     __swig_destroy__ = _core_.delete_FSFile
     __del__ = lambda self : None;
     def GetStream(*args, **kwargs):
         """GetStream(self) -> InputStream"""
         return _core_.FSFile_GetStream(*args, **kwargs)
 
+    def DetachStream(*args, **kwargs):
+        """DetachStream(self)"""
+        return _core_.FSFile_DetachStream(*args, **kwargs)
+
     def GetMimeType(*args, **kwargs):
         """GetMimeType(self) -> String"""
         return _core_.FSFile_GetMimeType(*args, **kwargs)
@@ -1724,6 +2112,11 @@ class FSFile(Object):
         """GetModificationTime(self) -> DateTime"""
         return _core_.FSFile_GetModificationTime(*args, **kwargs)
 
+    Anchor = property(GetAnchor,doc="See `GetAnchor`") 
+    Location = property(GetLocation,doc="See `GetLocation`") 
+    MimeType = property(GetMimeType,doc="See `GetMimeType`") 
+    ModificationTime = property(GetModificationTime,doc="See `GetModificationTime`") 
+    Stream = property(GetStream,doc="See `GetStream`") 
 _core_.FSFile_swigregister(FSFile)
 
 class CPPFileSystemHandler(object):
@@ -1742,7 +2135,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)"""
@@ -1784,6 +2177,11 @@ class FileSystemHandler(CPPFileSystemHandler):
         """GetMimeTypeFromExt(self, String location) -> String"""
         return _core_.FileSystemHandler_GetMimeTypeFromExt(*args, **kwargs)
 
+    Anchor = property(GetAnchor,doc="See `GetAnchor`") 
+    LeftLocation = property(GetLeftLocation,doc="See `GetLeftLocation`") 
+    MimeTypeFromExt = property(GetMimeTypeFromExt,doc="See `GetMimeTypeFromExt`") 
+    Protocol = property(GetProtocol,doc="See `GetProtocol`") 
+    RightLocation = property(GetRightLocation,doc="See `GetRightLocation`") 
 _core_.FileSystemHandler_swigregister(FileSystemHandler)
 
 class FileSystem(Object):
@@ -1820,6 +2218,11 @@ class FileSystem(Object):
         return _core_.FileSystem_AddHandler(*args, **kwargs)
 
     AddHandler = staticmethod(AddHandler)
+    def RemoveHandler(*args, **kwargs):
+        """RemoveHandler(CPPFileSystemHandler handler) -> CPPFileSystemHandler"""
+        return _core_.FileSystem_RemoveHandler(*args, **kwargs)
+
+    RemoveHandler = staticmethod(RemoveHandler)
     def CleanUpHandlers(*args, **kwargs):
         """CleanUpHandlers()"""
         return _core_.FileSystem_CleanUpHandlers(*args, **kwargs)
@@ -1835,12 +2238,17 @@ class FileSystem(Object):
         return _core_.FileSystem_URLToFileName(*args, **kwargs)
 
     URLToFileName = staticmethod(URLToFileName)
+    Path = property(GetPath,doc="See `GetPath`") 
 _core_.FileSystem_swigregister(FileSystem)
 
 def FileSystem_AddHandler(*args, **kwargs):
   """FileSystem_AddHandler(CPPFileSystemHandler handler)"""
   return _core_.FileSystem_AddHandler(*args, **kwargs)
 
+def FileSystem_RemoveHandler(*args, **kwargs):
+  """FileSystem_RemoveHandler(CPPFileSystemHandler handler) -> CPPFileSystemHandler"""
+  return _core_.FileSystem_RemoveHandler(*args, **kwargs)
+
 def FileSystem_CleanUpHandlers(*args):
   """FileSystem_CleanUpHandlers()"""
   return _core_.FileSystem_CleanUpHandlers(*args)
@@ -1962,6 +2370,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):
@@ -1993,6 +2403,10 @@ class ImageHandler(Object):
         """CanRead(self, String name) -> bool"""
         return _core_.ImageHandler_CanRead(*args, **kwargs)
 
+    def CanReadStream(*args, **kwargs):
+        """CanReadStream(self, InputStream stream) -> bool"""
+        return _core_.ImageHandler_CanReadStream(*args, **kwargs)
+
     def SetName(*args, **kwargs):
         """SetName(self, String name)"""
         return _core_.ImageHandler_SetName(*args, **kwargs)
@@ -2009,6 +2423,10 @@ class ImageHandler(Object):
         """SetMimeType(self, String mimetype)"""
         return _core_.ImageHandler_SetMimeType(*args, **kwargs)
 
+    Extension = property(GetExtension,SetExtension,doc="See `GetExtension` and `SetExtension`") 
+    MimeType = property(GetMimeType,SetMimeType,doc="See `GetMimeType` and `SetMimeType`") 
+    Name = property(GetName,SetName,doc="See `GetName` and `SetName`") 
+    Type = property(GetType,SetType,doc="See `GetType` and `SetType`") 
 _core_.ImageHandler_swigregister(ImageHandler)
 
 class PyImageHandler(ImageHandler):
@@ -2232,20 +2650,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
@@ -2256,7 +2715,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.
@@ -2520,14 +2979,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
@@ -2649,11 +3109,23 @@ class Image(Object):
         return _core_.Image_SetAlphaData(*args, **kwargs)
 
     def GetAlphaBuffer(*args, **kwargs):
-        """GetAlphaBuffer(self) -> PyObject"""
+        """
+        GetAlphaBuffer(self) -> PyObject
+
+        Returns a writable Python buffer object that is pointing at the Alpha
+        data buffer inside the wx.Image. You need to ensure that you do not
+        use this buffer object after the image has been destroyed.
+        """
         return _core_.Image_GetAlphaBuffer(*args, **kwargs)
 
     def SetAlphaBuffer(*args, **kwargs):
-        """SetAlphaBuffer(self, buffer alpha)"""
+        """
+        SetAlphaBuffer(self, buffer alpha)
+
+        Sets the internal image alpha pointer to point at a Python buffer
+        object.  This can save making an extra copy of the data but you must
+        ensure that the buffer object lives as long as the wx.Image does.
+        """
         return _core_.Image_SetAlphaBuffer(*args, **kwargs)
 
     def SetMaskColour(*args, **kwargs):
@@ -2893,7 +3365,16 @@ 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`") 
+    DataBuffer = property(GetDataBuffer,SetDataBuffer,doc="See `GetDataBuffer` and `SetDataBuffer`") 
+    Height = property(GetHeight,doc="See `GetHeight`") 
+    MaskBlue = property(GetMaskBlue,doc="See `GetMaskBlue`") 
+    MaskGreen = property(GetMaskGreen,doc="See `GetMaskGreen`") 
+    MaskRed = property(GetMaskRed,doc="See `GetMaskRed`") 
+    Width = property(GetWidth,doc="See `GetWidth`") 
 _core_.Image_swigregister(Image)
 
 def ImageFromMime(*args, **kwargs):
@@ -3038,6 +3519,40 @@ def Image_HSVtoRGB(*args, **kwargs):
     """
   return _core_.Image_HSVtoRGB(*args, **kwargs)
 
+
+def _ImageFromBuffer(*args, **kwargs):
+  """_ImageFromBuffer(int width, int height, buffer data, buffer alpha=None) -> Image"""
+  return _core_._ImageFromBuffer(*args, **kwargs)
+def ImageFromBuffer(width, height, dataBuffer, alphaBuffer=None):
+    """
+    Creates a `wx.Image` from the data in dataBuffer.  The dataBuffer
+    parameter must be a Python object that implements the buffer interface,
+    such as a string, array, etc.  The dataBuffer object is expected to
+    contain a series of RGB bytes and be width*height*3 bytes long.  A buffer
+    object can optionally be supplied for the image's alpha channel data, and
+    it is expected to be width*height bytes long.
+
+    The wx.Image will be created with its data and alpha pointers initialized
+    to the memory address pointed to by the buffer objects, thus saving the
+    time needed to copy the image data from the buffer object to the wx.Image.
+    While this has advantages, it also has the shoot-yourself-in-the-foot
+    risks associated with sharing a C pointer between two objects.
+
+    To help alleviate the risk a reference to the data and alpha buffer
+    objects are kept with the wx.Image, so that they won't get deleted until
+    after the wx.Image is deleted.  However please be aware that it is not
+    guaranteed that an object won't move its memory buffer to a new location
+    when it needs to resize its contents.  If that happens then the wx.Image
+    will end up referring to an invalid memory location and could cause the
+    application to crash.  Therefore care should be taken to not manipulate
+    the objects used for the data and alpha buffers in a way that would cause
+    them to change size.
+    """
+    image = _core_._ImageFromBuffer(width, height, dataBuffer, alphaBuffer)
+    image._buffer = dataBuffer
+    image._alpha = alphaBuffer
+    return image
+
 def InitAllImageHandlers():
     """
     The former functionality of InitAllImageHanders is now done internal to
@@ -3045,6 +3560,7 @@ def InitAllImageHandlers():
     """
     pass
 
+IMAGE_RESOLUTION_NONE = _core_.IMAGE_RESOLUTION_NONE
 IMAGE_RESOLUTION_INCHES = _core_.IMAGE_RESOLUTION_INCHES
 IMAGE_RESOLUTION_CM = _core_.IMAGE_RESOLUTION_CM
 PNG_TYPE_COLOUR = _core_.PNG_TYPE_COLOUR
@@ -3218,6 +3734,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):
@@ -3257,6 +3786,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)
@@ -3304,7 +3835,7 @@ class EvtHandler(Object):
     def _setOORInfo(*args, **kwargs):
         """_setOORInfo(self, PyObject _self, bool incref=True)"""
         val = _core_.EvtHandler__setOORInfo(*args, **kwargs)
-        args[0].thisown = 0
+        args[0].this.own(False)
         return val
 
     def Bind(self, event, handler, source=None, id=wx.ID_ANY, id2=wx.ID_ANY):
@@ -3346,6 +3877,9 @@ class EvtHandler(Object):
             id  = source.GetId()
         return event.Unbind(self, id, id2)              
 
+    EvtHandlerEnabled = property(GetEvtHandlerEnabled,SetEvtHandlerEnabled,doc="See `GetEvtHandlerEnabled` and `SetEvtHandlerEnabled`") 
+    NextHandler = property(GetNextHandler,SetNextHandler,doc="See `GetNextHandler` and `SetNextHandler`") 
+    PreviousHandler = property(GetPreviousHandler,SetPreviousHandler,doc="See `GetPreviousHandler` and `SetPreviousHandler`") 
 _core_.EvtHandler_swigregister(EvtHandler)
 
 #---------------------------------------------------------------------------
@@ -3379,6 +3913,15 @@ class PyEventBinder(object):
             success += target.Disconnect(id1, id2, et)
         return success != 0
 
+    def _getEvtType(self):
+        """
+        Make it easy to get to the default wxEventType typeID for this
+        event binder.
+        """
+        return self.evtType[0]
+    
+    typeId = property(_getEvtType)
+
     
     def __call__(self, *args):
         """
@@ -3423,6 +3966,7 @@ EVENT_PROPAGATE_MAX = _core_.EVENT_PROPAGATE_MAX
 def NewEventType(*args):
   """NewEventType() -> EventType"""
   return _core_.NewEventType(*args)
+wxEVT_ANY = _core_.wxEVT_ANY
 wxEVT_NULL = _core_.wxEVT_NULL
 wxEVT_FIRST = _core_.wxEVT_FIRST
 wxEVT_USER_FIRST = _core_.wxEVT_USER_FIRST
@@ -3501,7 +4045,6 @@ wxEVT_CLOSE_WINDOW = _core_.wxEVT_CLOSE_WINDOW
 wxEVT_END_SESSION = _core_.wxEVT_END_SESSION
 wxEVT_QUERY_END_SESSION = _core_.wxEVT_QUERY_END_SESSION
 wxEVT_ACTIVATE_APP = _core_.wxEVT_ACTIVATE_APP
-wxEVT_POWER = _core_.wxEVT_POWER
 wxEVT_ACTIVATE = _core_.wxEVT_ACTIVATE
 wxEVT_CREATE = _core_.wxEVT_CREATE
 wxEVT_DESTROY = _core_.wxEVT_DESTROY
@@ -3509,6 +4052,7 @@ wxEVT_SHOW = _core_.wxEVT_SHOW
 wxEVT_ICONIZE = _core_.wxEVT_ICONIZE
 wxEVT_MAXIMIZE = _core_.wxEVT_MAXIMIZE
 wxEVT_MOUSE_CAPTURE_CHANGED = _core_.wxEVT_MOUSE_CAPTURE_CHANGED
+wxEVT_MOUSE_CAPTURE_LOST = _core_.wxEVT_MOUSE_CAPTURE_LOST
 wxEVT_PAINT = _core_.wxEVT_PAINT
 wxEVT_ERASE_BACKGROUND = _core_.wxEVT_ERASE_BACKGROUND
 wxEVT_NC_PAINT = _core_.wxEVT_NC_PAINT
@@ -3557,7 +4101,7 @@ EVT_ERASE_BACKGROUND = wx.PyEventBinder( wxEVT_ERASE_BACKGROUND )
 EVT_CHAR = wx.PyEventBinder( wxEVT_CHAR )
 EVT_KEY_DOWN = wx.PyEventBinder( wxEVT_KEY_DOWN )
 EVT_KEY_UP = wx.PyEventBinder( wxEVT_KEY_UP )
-EVT_HOTKEY = wx.PyEventBinder( wxEVT_HOTKEY, 1) 
+EVT_HOTKEY = wx.PyEventBinder( wxEVT_HOTKEY, 1)
 EVT_CHAR_HOOK = wx.PyEventBinder( wxEVT_CHAR_HOOK )
 EVT_MENU_OPEN = wx.PyEventBinder( wxEVT_MENU_OPEN )
 EVT_MENU_CLOSE = wx.PyEventBinder( wxEVT_MENU_CLOSE )
@@ -3568,7 +4112,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_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 )
@@ -3585,6 +4129,7 @@ EVT_WINDOW_CREATE = wx.PyEventBinder( wxEVT_CREATE )
 EVT_WINDOW_DESTROY = wx.PyEventBinder( wxEVT_DESTROY )
 EVT_SET_CURSOR = wx.PyEventBinder( wxEVT_SET_CURSOR )
 EVT_MOUSE_CAPTURE_CHANGED = wx.PyEventBinder( wxEVT_MOUSE_CAPTURE_CHANGED )
+EVT_MOUSE_CAPTURE_LOST = wx.PyEventBinder( wxEVT_MOUSE_CAPTURE_LOST )         
 
 EVT_LEFT_DOWN = wx.PyEventBinder( wxEVT_LEFT_DOWN )
 EVT_LEFT_UP = wx.PyEventBinder( wxEVT_LEFT_UP )
@@ -3617,11 +4162,11 @@ EVT_MOUSE_EVENTS = wx.PyEventBinder([ wxEVT_LEFT_DOWN,
 
 
 # Scrolling from wxWindow (sent to wxScrolledWindow)
-EVT_SCROLLWIN = wx.PyEventBinder([ wxEVT_SCROLLWIN_TOP, 
+EVT_SCROLLWIN = wx.PyEventBinder([ wxEVT_SCROLLWIN_TOP,
                                   wxEVT_SCROLLWIN_BOTTOM,
                                   wxEVT_SCROLLWIN_LINEUP,
                                   wxEVT_SCROLLWIN_LINEDOWN,
-                                  wxEVT_SCROLLWIN_PAGEUP, 
+                                  wxEVT_SCROLLWIN_PAGEUP,
                                   wxEVT_SCROLLWIN_PAGEDOWN,
                                   wxEVT_SCROLLWIN_THUMBTRACK,
                                   wxEVT_SCROLLWIN_THUMBRELEASE,
@@ -3637,14 +4182,14 @@ EVT_SCROLLWIN_THUMBTRACK = wx.PyEventBinder( wxEVT_SCROLLWIN_THUMBTRACK )
 EVT_SCROLLWIN_THUMBRELEASE = wx.PyEventBinder( wxEVT_SCROLLWIN_THUMBRELEASE )
 
 # Scrolling from wx.Slider and wx.ScrollBar
-EVT_SCROLL = wx.PyEventBinder([ wxEVT_SCROLL_TOP, 
-                               wxEVT_SCROLL_BOTTOM, 
-                               wxEVT_SCROLL_LINEUP, 
-                               wxEVT_SCROLL_LINEDOWN, 
-                               wxEVT_SCROLL_PAGEUP, 
-                               wxEVT_SCROLL_PAGEDOWN, 
-                               wxEVT_SCROLL_THUMBTRACK, 
-                               wxEVT_SCROLL_THUMBRELEASE, 
+EVT_SCROLL = wx.PyEventBinder([ wxEVT_SCROLL_TOP,
+                               wxEVT_SCROLL_BOTTOM,
+                               wxEVT_SCROLL_LINEUP,
+                               wxEVT_SCROLL_LINEDOWN,
+                               wxEVT_SCROLL_PAGEUP,
+                               wxEVT_SCROLL_PAGEDOWN,
+                               wxEVT_SCROLL_THUMBTRACK,
+                               wxEVT_SCROLL_THUMBRELEASE,
                                wxEVT_SCROLL_CHANGED,
                                ])
 
@@ -3658,15 +4203,15 @@ EVT_SCROLL_THUMBTRACK = wx.PyEventBinder( wxEVT_SCROLL_THUMBTRACK )
 EVT_SCROLL_THUMBRELEASE = wx.PyEventBinder( wxEVT_SCROLL_THUMBRELEASE )
 EVT_SCROLL_CHANGED = wx.PyEventBinder( wxEVT_SCROLL_CHANGED )
 EVT_SCROLL_ENDSCROLL = EVT_SCROLL_CHANGED
-     
+
 # Scrolling from wx.Slider and wx.ScrollBar, with an id
-EVT_COMMAND_SCROLL = wx.PyEventBinder([ wxEVT_SCROLL_TOP, 
-                                       wxEVT_SCROLL_BOTTOM, 
-                                       wxEVT_SCROLL_LINEUP, 
-                                       wxEVT_SCROLL_LINEDOWN, 
-                                       wxEVT_SCROLL_PAGEUP, 
-                                       wxEVT_SCROLL_PAGEDOWN, 
-                                       wxEVT_SCROLL_THUMBTRACK, 
+EVT_COMMAND_SCROLL = wx.PyEventBinder([ wxEVT_SCROLL_TOP,
+                                       wxEVT_SCROLL_BOTTOM,
+                                       wxEVT_SCROLL_LINEUP,
+                                       wxEVT_SCROLL_LINEDOWN,
+                                       wxEVT_SCROLL_PAGEUP,
+                                       wxEVT_SCROLL_PAGEDOWN,
+                                       wxEVT_SCROLL_THUMBTRACK,
                                        wxEVT_SCROLL_THUMBRELEASE,
                                        wxEVT_SCROLL_CHANGED,
                                        ], 1)
@@ -3812,14 +4357,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)
 
@@ -3866,6 +4410,11 @@ class Event(Object):
         """Clone(self) -> Event"""
         return _core_.Event_Clone(*args, **kwargs)
 
+    EventObject = property(GetEventObject,SetEventObject,doc="See `GetEventObject` and `SetEventObject`") 
+    EventType = property(GetEventType,SetEventType,doc="See `GetEventType` and `SetEventType`") 
+    Id = property(GetId,SetId,doc="See `GetId` and `SetId`") 
+    Skipped = property(GetSkipped,doc="See `GetSkipped`") 
+    Timestamp = property(GetTimestamp,SetTimestamp,doc="See `GetTimestamp` and `SetTimestamp`") 
 _core_.Event_swigregister(Event)
 
 #---------------------------------------------------------------------------
@@ -4029,6 +4578,12 @@ class CommandEvent(Event):
         """Clone(self) -> Event"""
         return _core_.CommandEvent_Clone(*args, **kwargs)
 
+    ClientData = property(GetClientData,SetClientData,doc="See `GetClientData` and `SetClientData`") 
+    ClientObject = property(GetClientObject,SetClientObject,doc="See `GetClientObject` and `SetClientObject`") 
+    ExtraLong = property(GetExtraLong,SetExtraLong,doc="See `GetExtraLong` and `SetExtraLong`") 
+    Int = property(GetInt,SetInt,doc="See `GetInt` and `SetInt`") 
+    Selection = property(GetSelection,doc="See `GetSelection`") 
+    String = property(GetString,SetString,doc="See `GetString` and `SetString`") 
 _core_.CommandEvent_swigregister(CommandEvent)
 
 #---------------------------------------------------------------------------
@@ -4092,7 +4647,7 @@ 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`
+    instances of this event class, but send the `wx.ScrollWinEvent`
     instead.
     """
     thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
@@ -4128,6 +4683,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)
 
 #---------------------------------------------------------------------------
@@ -4174,6 +4731,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)
 
 #---------------------------------------------------------------------------
@@ -4559,6 +5118,16 @@ class MouseEvent(Event):
         """
         return _core_.MouseEvent_GetWheelDelta(*args, **kwargs)
 
+    def GetWheelAxis(*args, **kwargs):
+        """
+        GetWheelAxis(self) -> int
+
+        Gets the axis the wheel operation concerns, 0 being the y axis as on
+        most mouse wheels, 1 is the x axis for things like MightyMouse scrolls
+        or horizontal trackpad scrolling.
+        """
+        return _core_.MouseEvent_GetWheelAxis(*args, **kwargs)
+
     def GetLinesPerAction(*args, **kwargs):
         """
         GetLinesPerAction(self) -> int
@@ -4589,6 +5158,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)
 
 #---------------------------------------------------------------------------
@@ -4650,6 +5227,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)
 
 #---------------------------------------------------------------------------
@@ -4817,7 +5397,6 @@ class KeyEvent(Event):
         """
         return _core_.KeyEvent_GetKeyCode(*args, **kwargs)
 
-    KeyCode = GetKeyCode 
     def GetUnicodeKey(*args, **kwargs):
         """
         GetUnicodeKey(self) -> int
@@ -4828,6 +5407,15 @@ class KeyEvent(Event):
         return _core_.KeyEvent_GetUnicodeKey(*args, **kwargs)
 
     GetUniChar = GetUnicodeKey 
+    def SetUnicodeKey(*args, **kwargs):
+        """
+        SetUnicodeKey(self, int uniChar)
+
+        Set the Unicode value of the key event, but only if this is a Unicode
+        build of wxPython.
+        """
+        return _core_.KeyEvent_SetUnicodeKey(*args, **kwargs)
+
     def GetRawKeyCode(*args, **kwargs):
         """
         GetRawKeyCode(self) -> unsigned int
@@ -4893,6 +5481,14 @@ class KeyEvent(Event):
     m_scanCode = property(_core_.KeyEvent_m_scanCode_get, _core_.KeyEvent_m_scanCode_set)
     m_rawCode = property(_core_.KeyEvent_m_rawCode_get, _core_.KeyEvent_m_rawCode_set)
     m_rawFlags = property(_core_.KeyEvent_m_rawFlags_get, _core_.KeyEvent_m_rawFlags_set)
+    KeyCode = property(GetKeyCode,doc="See `GetKeyCode`") 
+    Modifiers = property(GetModifiers,doc="See `GetModifiers`") 
+    Position = property(GetPosition,doc="See `GetPosition`") 
+    RawKeyCode = property(GetRawKeyCode,doc="See `GetRawKeyCode`") 
+    RawKeyFlags = property(GetRawKeyFlags,doc="See `GetRawKeyFlags`") 
+    UnicodeKey = property(GetUnicodeKey,SetUnicodeKey,doc="See `GetUnicodeKey` and `SetUnicodeKey`") 
+    X = property(GetX,doc="See `GetX`") 
+    Y = property(GetY,doc="See `GetY`") 
 _core_.KeyEvent_swigregister(KeyEvent)
 
 #---------------------------------------------------------------------------
@@ -4947,6 +5543,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)
 
 #---------------------------------------------------------------------------
@@ -4988,6 +5586,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)
 
 #---------------------------------------------------------------------------
@@ -5057,6 +5657,7 @@ class EraseEvent(Event):
         """
         return _core_.EraseEvent_GetDC(*args, **kwargs)
 
+    DC = property(GetDC,doc="See `GetDC`") 
 _core_.EraseEvent_swigregister(EraseEvent)
 
 #---------------------------------------------------------------------------
@@ -5097,15 +5698,21 @@ class FocusEvent(Event):
         """SetWindow(self, Window win)"""
         return _core_.FocusEvent_SetWindow(*args, **kwargs)
 
+    Window = property(GetWindow,SetWindow,doc="See `GetWindow` and `SetWindow`") 
 _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
@@ -5120,10 +5727,12 @@ 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)
 
+    Window = property(GetWindow,doc="See `GetWindow`") 
 _core_.ChildFocusEvent_swigregister(ChildFocusEvent)
 
 #---------------------------------------------------------------------------
@@ -5163,6 +5772,7 @@ class ActivateEvent(Event):
         """
         return _core_.ActivateEvent_GetActive(*args, **kwargs)
 
+    Active = property(GetActive,doc="See `GetActive`") 
 _core_.ActivateEvent_swigregister(ActivateEvent)
 
 #---------------------------------------------------------------------------
@@ -5234,6 +5844,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)
 
 #---------------------------------------------------------------------------
@@ -5323,6 +5935,7 @@ class CloseEvent(Event):
         """
         return _core_.CloseEvent_CanVeto(*args, **kwargs)
 
+    LoggingOff = property(GetLoggingOff,SetLoggingOff,doc="See `GetLoggingOff` and `SetLoggingOff`") 
 _core_.CloseEvent_swigregister(CloseEvent)
 
 #---------------------------------------------------------------------------
@@ -5346,6 +5959,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)
 
 #---------------------------------------------------------------------------
@@ -5436,6 +6050,9 @@ class DropFilesEvent(Event):
         """
         return _core_.DropFilesEvent_GetFiles(*args, **kwargs)
 
+    Files = property(GetFiles,doc="See `GetFiles`") 
+    NumberOfFiles = property(GetNumberOfFiles,doc="See `GetNumberOfFiles`") 
+    Position = property(GetPosition,doc="See `GetPosition`") 
 _core_.DropFilesEvent_swigregister(DropFilesEvent)
 
 #---------------------------------------------------------------------------
@@ -5695,6 +6312,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):
@@ -5838,10 +6459,52 @@ class MouseCaptureChangedEvent(Event):
         """
         return _core_.MouseCaptureChangedEvent_GetCapturedWindow(*args, **kwargs)
 
+    CapturedWindow = property(GetCapturedWindow,doc="See `GetCapturedWindow`") 
 _core_.MouseCaptureChangedEvent_swigregister(MouseCaptureChangedEvent)
 
 #---------------------------------------------------------------------------
 
+class MouseCaptureLostEvent(Event):
+    """
+    A mouse capture lost event is sent to a window that obtained mouse
+    capture, which was subsequently loss due to "external" event, for
+    example when a dialog box is shown or if another application captures
+    the mouse.
+
+    If this happens, this event is sent to all windows that are on the
+    capture stack (i.e. a window that called `wx.Window.CaptureMouse`, but
+    didn't call `wx.Window.ReleaseMouse` yet). The event is *not* sent
+    if the capture changes because of a call to CaptureMouse or
+    ReleaseMouse.
+
+    This event is currently emitted under Windows only.
+
+    """
+    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, int winid=0) -> MouseCaptureLostEvent
+
+        A mouse capture lost event is sent to a window that obtained mouse
+        capture, which was subsequently loss due to "external" event, for
+        example when a dialog box is shown or if another application captures
+        the mouse.
+
+        If this happens, this event is sent to all windows that are on the
+        capture stack (i.e. a window that called `wx.Window.CaptureMouse`, but
+        didn't call `wx.Window.ReleaseMouse` yet). The event is *not* sent
+        if the capture changes because of a call to CaptureMouse or
+        ReleaseMouse.
+
+        This event is currently emitted under Windows only.
+
+        """
+        _core_.MouseCaptureLostEvent_swiginit(self,_core_.new_MouseCaptureLostEvent(*args, **kwargs))
+_core_.MouseCaptureLostEvent_swigregister(MouseCaptureLostEvent)
+
+#---------------------------------------------------------------------------
+
 class DisplayChangedEvent(Event):
     """
     An EVT_DISPLAY_CHANGED event is sent to all windows when the display
@@ -5887,6 +6550,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)
 
 #---------------------------------------------------------------------------
@@ -5919,6 +6583,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)
 
 #---------------------------------------------------------------------------
@@ -6026,6 +6691,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)
 
 #---------------------------------------------------------------------------
@@ -6053,6 +6720,7 @@ class WindowCreateEvent(CommandEvent):
         """
         return _core_.WindowCreateEvent_GetWindow(*args, **kwargs)
 
+    Window = property(GetWindow,doc="See `GetWindow`") 
 _core_.WindowCreateEvent_swigregister(WindowCreateEvent)
 
 class WindowDestroyEvent(CommandEvent):
@@ -6092,6 +6760,7 @@ class WindowDestroyEvent(CommandEvent):
         """
         return _core_.WindowDestroyEvent_GetWindow(*args, **kwargs)
 
+    Window = property(GetWindow,doc="See `GetWindow`") 
 _core_.WindowDestroyEvent_swigregister(WindowDestroyEvent)
 
 #---------------------------------------------------------------------------
@@ -6127,6 +6796,7 @@ class ContextMenuEvent(CommandEvent):
         """
         return _core_.ContextMenuEvent_SetPosition(*args, **kwargs)
 
+    Position = property(GetPosition,SetPosition,doc="See `GetPosition` and `SetPosition`") 
 _core_.ContextMenuEvent_swigregister(ContextMenuEvent)
 
 #---------------------------------------------------------------------------
@@ -6395,11 +7065,31 @@ class DateEvent(CommandEvent):
         """
         return _core_.DateEvent_SetDate(*args, **kwargs)
 
+    Date = property(GetDate,SetDate,doc="See `GetDate` and `SetDate`") 
 _core_.DateEvent_swigregister(DateEvent)
 
 wxEVT_DATE_CHANGED = _core_.wxEVT_DATE_CHANGED
 EVT_DATE_CHANGED = wx.PyEventBinder( wxEVT_DATE_CHANGED, 1 )
 
+class EventBlocker(EvtHandler):
+    """Helper class to temporarily disable event handling for a window."""
+    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, Window win, EventType type=wxEVT_ANY) -> EventBlocker
+
+        Helper class to temporarily disable event handling for a window.
+        """
+        _core_.EventBlocker_swiginit(self,_core_.new_EventBlocker(*args, **kwargs))
+    __swig_destroy__ = _core_.delete_EventBlocker
+    __del__ = lambda self : None;
+    def Block(*args, **kwargs):
+        """Block(self, EventType type)"""
+        return _core_.EventBlocker_Block(*args, **kwargs)
+
+_core_.EventBlocker_swigregister(EventBlocker)
+
 #---------------------------------------------------------------------------
 
 PYAPP_ASSERT_SUPPRESS = _core_.PYAPP_ASSERT_SUPPRESS
@@ -6422,13 +7112,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):
@@ -6562,11 +7251,19 @@ class PyApp(EvtHandler):
         """
         return _core_.PyApp_Exit(*args, **kwargs)
 
-    def ExitMainLoop(*args, **kwargs):
+    def GetLayoutDirection(*args, **kwargs):
         """
-        ExitMainLoop(self)
+        GetLayoutDirection(self) -> int
 
-        Exit the main GUI loop during the next iteration of the main
+        Return the layout direction for the current locale.
+        """
+        return _core_.PyApp_GetLayoutDirection(*args, **kwargs)
+
+    def ExitMainLoop(*args, **kwargs):
+        """
+        ExitMainLoop(self)
+
+        Exit the main GUI loop during the next iteration of the main
         loop, (i.e. it does not stop the program immediately!)
         """
         return _core_.PyApp_ExitMainLoop(*args, **kwargs)
@@ -6655,7 +7352,7 @@ class PyApp(EvtHandler):
 
     def SetUseBestVisual(*args, **kwargs):
         """
-        SetUseBestVisual(self, bool flag)
+        SetUseBestVisual(self, bool flag, bool forceTrueColour=False)
 
         Set whether the app should try to use the best available visual on
         systems where more than one is available, (Sun, SGI, XFree86 4, etc.)
@@ -6762,6 +7459,39 @@ class PyApp(EvtHandler):
         return _core_.PyApp_GetComCtl32Version(*args, **kwargs)
 
     GetComCtl32Version = staticmethod(GetComCtl32Version)
+    def IsDisplayAvailable(*args, **kwargs):
+        """
+        IsDisplayAvailable() -> bool
+
+        Tests if it is possible to create a GUI in the current environment.
+        This will mean different things on the different platforms.
+
+           * On X Windows systems this function will return ``False`` if it is
+             not able to open a connection to the X display, which can happen
+             if $DISPLAY is not set, or is not set correctly.
+
+           * On Mac OS X a ``False`` return value will mean that wx is not
+             able to access the window manager, which can happen if logged in
+             remotely or if running from the normal version of python instead
+             of the framework version, (i.e., pythonw.)
+
+           * On MS Windows...
+
+        """
+        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):
@@ -6822,6 +7552,27 @@ def PyApp_GetComCtl32Version(*args):
     """
   return _core_.PyApp_GetComCtl32Version(*args)
 
+def PyApp_IsDisplayAvailable(*args):
+  """
+    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.
+
+       * On X Windows systems this function will return ``False`` if it is
+         not able to open a connection to the X display, which can happen
+         if $DISPLAY is not set, or is not set correctly.
+
+       * On Mac OS X a ``False`` return value will mean that wx is not
+         able to access the window manager, which can happen if logged in
+         remotely or if running from the normal version of python instead
+         of the framework version, (i.e., pythonw.)
+
+       * On MS Windows...
+
+    """
+  return _core_.PyApp_IsDisplayAvailable(*args)
+
 #---------------------------------------------------------------------------
 
 
@@ -6991,7 +7742,7 @@ class PyOnDemandOutputWindow:
 #----------------------------------------------------------------------
 
 _defRedirect = (wx.Platform == '__WXMSW__' or wx.Platform == '__WXMAC__')
-
+        
 class App(wx.PyApp):
     """
     The ``wx.App`` class represents the application and is used to:
@@ -7025,7 +7776,7 @@ class App(wx.PyApp):
 
         :param redirect: Should ``sys.stdout`` and ``sys.stderr`` be
             redirected?  Defaults to True on Windows and Mac, False
-            otherwise.  If `filename` is None then output will be
+            otherwise.  If ``filename`` is None then output will be
             redirected to a window that pops up as needed.  (You can
             control what kind of window is created for the output by
             resetting the class variable ``outputWindowClass`` to a
@@ -7049,22 +7800,26 @@ class App(wx.PyApp):
             initialization to ensure that the system, toolkit and
             wxWidgets are fully initialized.
         """
+        
         wx.PyApp.__init__(self)
 
-        if wx.Platform == "__WXMAC__":
-            try:
-                import MacOS
-                if not MacOS.WMAvailable():
-                    print """\
-This program needs access to the screen. Please run with 'pythonw',
-not 'python', and only when you are logged in on the main display of
-your Mac."""
-                    _sys.exit(1)
-            except SystemExit:
-                raise
-            except:
-                pass
+        # make sure we can create a GUI
+        if not self.IsDisplayAvailable():
+            
+            if wx.Platform == "__WXMAC__":
+                msg = """This program needs access to the screen.
+Please run with 'pythonw', not 'python', and only when you are logged
+in on the main display of your Mac."""
+                
+            elif wx.Platform == "__WXGTK__":
+                msg ="Unable to access the X Display, is $DISPLAY set properly?"
+
+            else:
+                msg = "Unable to create GUI"
+                # TODO: more description is needed for wxMSW...
 
+            raise SystemExit(msg)
+        
         # This has to be done before OnInit
         self.SetUseBestVisual(useBestVisual)
 
@@ -7090,6 +7845,9 @@ 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()
@@ -7109,8 +7867,8 @@ 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"""
@@ -7299,6 +8057,11 @@ _core_.EventLoopActivator_swigregister(EventLoopActivator)
 
 #---------------------------------------------------------------------------
 
+ACCEL_ALT = _core_.ACCEL_ALT
+ACCEL_CTRL = _core_.ACCEL_CTRL
+ACCEL_SHIFT = _core_.ACCEL_SHIFT
+ACCEL_NORMAL = _core_.ACCEL_NORMAL
+ACCEL_CMD = _core_.ACCEL_CMD
 class AcceleratorEntry(object):
     """
     A class used to define items in an `wx.AcceleratorTable`.  wxPython
@@ -7328,6 +8091,16 @@ class AcceleratorEntry(object):
         """
         return _core_.AcceleratorEntry_Set(*args, **kwargs)
 
+    def Create(*args, **kwargs):
+        """
+        Create(String str) -> AcceleratorEntry
+
+        Create accelerator corresponding to the specified string, or None if
+        it coulnd't be parsed.
+        """
+        return _core_.AcceleratorEntry_Create(*args, **kwargs)
+
+    Create = staticmethod(Create)
     def GetFlags(*args, **kwargs):
         """
         GetFlags(self) -> int
@@ -7352,8 +8125,43 @@ class AcceleratorEntry(object):
         """
         return _core_.AcceleratorEntry_GetCommand(*args, **kwargs)
 
+    def IsOk(*args, **kwargs):
+        """IsOk(self) -> bool"""
+        return _core_.AcceleratorEntry_IsOk(*args, **kwargs)
+
+    def ToString(*args, **kwargs):
+        """
+        ToString(self) -> String
+
+        Returns a string representation for the this accelerator.  The string
+        is formatted using the <flags>-<keycode> format where <flags> maybe a
+        hyphen-separed list of "shift|alt|ctrl"
+
+        """
+        return _core_.AcceleratorEntry_ToString(*args, **kwargs)
+
+    def FromString(*args, **kwargs):
+        """
+        FromString(self, String str) -> bool
+
+        Returns true if the given string correctly initialized this object.
+        """
+        return _core_.AcceleratorEntry_FromString(*args, **kwargs)
+
+    Command = property(GetCommand,doc="See `GetCommand`") 
+    Flags = property(GetFlags,doc="See `GetFlags`") 
+    KeyCode = property(GetKeyCode,doc="See `GetKeyCode`") 
 _core_.AcceleratorEntry_swigregister(AcceleratorEntry)
 
+def AcceleratorEntry_Create(*args, **kwargs):
+  """
+    AcceleratorEntry_Create(String str) -> AcceleratorEntry
+
+    Create accelerator corresponding to the specified string, or None if
+    it coulnd't be parsed.
+    """
+  return _core_.AcceleratorEntry_Create(*args, **kwargs)
+
 class AcceleratorTable(Object):
     """
     An accelerator table allows the application to specify a table of
@@ -7375,16 +8183,18 @@ 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)
 
+def GetAccelFromString(label):
+    entry = AcceleratorEntry()
+    entry.FromString(label)
+    return entry
 
-def GetAccelFromString(*args, **kwargs):
-  """GetAccelFromString(String label) -> AcceleratorEntry"""
-  return _core_.GetAccelFromString(*args, **kwargs)
 #---------------------------------------------------------------------------
 
 class VisualAttributes(object):
@@ -7400,9 +8210,21 @@ class VisualAttributes(object):
         _core_.VisualAttributes_swiginit(self,_core_.new_VisualAttributes(*args, **kwargs))
     __swig_destroy__ = _core_.delete_VisualAttributes
     __del__ = lambda self : None;
-    font = property(_core_.VisualAttributes_font_get, _core_.VisualAttributes_font_set)
-    colFg = property(_core_.VisualAttributes_colFg_get, _core_.VisualAttributes_colFg_set)
-    colBg = property(_core_.VisualAttributes_colBg_get, _core_.VisualAttributes_colBg_set)
+    def _get_font(*args, **kwargs):
+        """_get_font(self) -> Font"""
+        return _core_.VisualAttributes__get_font(*args, **kwargs)
+
+    def _get_colFg(*args, **kwargs):
+        """_get_colFg(self) -> Colour"""
+        return _core_.VisualAttributes__get_colFg(*args, **kwargs)
+
+    def _get_colBg(*args, **kwargs):
+        """_get_colBg(self) -> Colour"""
+        return _core_.VisualAttributes__get_colBg(*args, **kwargs)
+
+    font = property(_get_font) 
+    colFg = property(_get_colFg) 
+    colBg = property(_get_colBg) 
 _core_.VisualAttributes_swigregister(VisualAttributes)
 NullAcceleratorTable = cvar.NullAcceleratorTable
 PanelNameStr = cvar.PanelNameStr
@@ -7465,9 +8287,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):
         """
@@ -7590,6 +8411,32 @@ class Window(EvtHandler):
         return _core_.Window_PrevControlId(*args, **kwargs)
 
     PrevControlId = staticmethod(PrevControlId)
+    def GetLayoutDirection(*args, **kwargs):
+        """
+        GetLayoutDirection(self) -> int
+
+        Get the layout direction (LTR or RTL) for this window.  Returns
+        ``wx.Layout_Default`` if layout direction is not supported.
+        """
+        return _core_.Window_GetLayoutDirection(*args, **kwargs)
+
+    def SetLayoutDirection(*args, **kwargs):
+        """
+        SetLayoutDirection(self, int dir)
+
+        Set the layout direction (LTR or RTL) for this window.
+        """
+        return _core_.Window_SetLayoutDirection(*args, **kwargs)
+
+    def AdjustForLayoutDirection(*args, **kwargs):
+        """
+        AdjustForLayoutDirection(self, int x, int width, int widthTotal) -> int
+
+        Mirror coordinates for RTL layout if this window uses it and if the
+        mirroring is not done automatically like Win32.
+        """
+        return _core_.Window_AdjustForLayoutDirection(*args, **kwargs)
+
     def SetSize(*args, **kwargs):
         """
         SetSize(self, Size size)
@@ -7652,21 +8499,22 @@ 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)
 
         Raises the window to the top of the window hierarchy.  In current
-        version of wxWidgets this works both for manage and child windows.
+        version of wxWidgets this works both for managed and child windows.
         """
         return _core_.Window_Raise(*args, **kwargs)
 
@@ -7675,7 +8523,7 @@ class Window(EvtHandler):
         Lower(self)
 
         Lowers the window to the bottom of the window hierarchy.  In current
-        version of wxWidgets this works both for manage and child windows.
+        version of wxWidgets this works both for managed and child windows.
         """
         return _core_.Window_Lower(*args, **kwargs)
 
@@ -7868,29 +8716,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):
         """
@@ -8076,6 +8918,14 @@ class Window(EvtHandler):
         """
         return _core_.Window_GetVirtualSizeTuple(*args, **kwargs)
 
+    def GetWindowBorderSize(*args, **kwargs):
+        """
+        GetWindowBorderSize(self) -> Size
+
+        Return the size of the left/right and top/bottom borders.
+        """
+        return _core_.Window_GetWindowBorderSize(*args, **kwargs)
+
     def GetBestVirtualSize(*args, **kwargs):
         """
         GetBestVirtualSize(self) -> Size
@@ -8138,9 +8988,31 @@ class Window(EvtHandler):
         IsEnabled(self) -> bool
 
         Returns true if the window is enabled for input, false otherwise.
+        This method takes into account the enabled state of parent windows up
+        to the top-level window.
         """
         return _core_.Window_IsEnabled(*args, **kwargs)
 
+    def IsThisEnabled(*args, **kwargs):
+        """
+        IsThisEnabled(self) -> bool
+
+        Returns the internal enabled state independent of the parent(s) state,
+        i.e. the state in which the window would be if all of its parents are
+        enabled.  Use `IsEnabled` to get the effective window state.
+        """
+        return _core_.Window_IsThisEnabled(*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)
@@ -8179,6 +9051,15 @@ class Window(EvtHandler):
         """
         return _core_.Window_IsRetained(*args, **kwargs)
 
+    def ToggleWindowStyle(*args, **kwargs):
+        """
+        ToggleWindowStyle(self, int flag) -> bool
+
+        Turn the flag on if it had been turned off before and vice versa,
+        returns True if the flag is turned on by this function call.
+        """
+        return _core_.Window_ToggleWindowStyle(*args, **kwargs)
+
     def SetExtraStyle(*args, **kwargs):
         """
         SetExtraStyle(self, long exStyle)
@@ -8197,6 +9078,14 @@ class Window(EvtHandler):
         """
         return _core_.Window_GetExtraStyle(*args, **kwargs)
 
+    def HasExtraStyle(*args, **kwargs):
+        """
+        HasExtraStyle(self, int exFlag) -> bool
+
+        Returns ``True`` if the given extra flag is set.
+        """
+        return _core_.Window_HasExtraStyle(*args, **kwargs)
+
     def MakeModal(*args, **kwargs):
         """
         MakeModal(self, bool modal=True)
@@ -8266,6 +9155,14 @@ class Window(EvtHandler):
         """
         return _core_.Window_AcceptsFocus(*args, **kwargs)
 
+    def CanAcceptFocus(*args, **kwargs):
+        """
+        CanAcceptFocus(self) -> bool
+
+        Can this window have focus right now?
+        """
+        return _core_.Window_CanAcceptFocus(*args, **kwargs)
+
     def AcceptsFocusFromKeyboard(*args, **kwargs):
         """
         AcceptsFocusFromKeyboard(self) -> bool
@@ -8276,37 +9173,32 @@ class Window(EvtHandler):
         """
         return _core_.Window_AcceptsFocusFromKeyboard(*args, **kwargs)
 
-    def GetDefaultItem(*args, **kwargs):
+    def CanAcceptFocusFromKeyboard(*args, **kwargs):
         """
-        GetDefaultItem(self) -> Window
+        CanAcceptFocusFromKeyboard(self) -> bool
 
-        Get the default child of this parent, i.e. the one which is activated
-        by pressing <Enter> such as the OK button on a wx.Dialog.
+        Can this window be assigned focus from keyboard right now?
         """
-        return _core_.Window_GetDefaultItem(*args, **kwargs)
+        return _core_.Window_CanAcceptFocusFromKeyboard(*args, **kwargs)
 
-    def SetDefaultItem(*args, **kwargs):
-        """
-        SetDefaultItem(self, Window child) -> Window
+    def SetCanFocus(*args, **kwargs):
+        """SetCanFocus(self, bool canFocus)"""
+        return _core_.Window_SetCanFocus(*args, **kwargs)
 
-        Set this child as default, return the old default.
+    def NavigateIn(*args, **kwargs):
         """
-        return _core_.Window_SetDefaultItem(*args, **kwargs)
+        NavigateIn(self, int flags=NavigationKeyEvent.IsForward) -> bool
 
-    def SetTmpDefaultItem(*args, **kwargs):
+        Navigates inside this window.
         """
-        SetTmpDefaultItem(self, Window win)
-
-        Set this child as temporary default
-        """
-        return _core_.Window_SetTmpDefaultItem(*args, **kwargs)
+        return _core_.Window_NavigateIn(*args, **kwargs)
 
     def Navigate(*args, **kwargs):
         """
         Navigate(self, int flags=NavigationKeyEvent.IsForward) -> bool
 
-        Does keyboard navigation from this window to another, by sending a
-        `wx.NavigationKeyEvent`.
+        Does keyboard navigation starting from this window to another.  This is
+        equivalient to self.GetParent().NavigateIn().
         """
         return _core_.Window_Navigate(*args, **kwargs)
 
@@ -8362,6 +9254,14 @@ class Window(EvtHandler):
         """
         return _core_.Window_GetGrandParent(*args, **kwargs)
 
+    def GetTopLevelParent(*args, **kwargs):
+        """
+        GetTopLevelParent(self) -> Window
+
+        Returns the first frame or dialog in this window's parental hierarchy.
+        """
+        return _core_.Window_GetTopLevelParent(*args, **kwargs)
+
     def IsTopLevel(*args, **kwargs):
         """
         IsTopLevel(self) -> bool
@@ -8403,6 +9303,14 @@ class Window(EvtHandler):
         """
         return _core_.Window_RemoveChild(*args, **kwargs)
 
+    def SetDoubleBuffered(*args, **kwargs):
+        """
+        SetDoubleBuffered(self, bool on)
+
+        Currently wxGTK2 only.
+        """
+        return _core_.Window_SetDoubleBuffered(*args, **kwargs)
+
     def FindWindowById(*args, **kwargs):
         """
         FindWindowById(self, long winid) -> Window
@@ -8433,14 +9341,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)
 
@@ -8450,15 +9360,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 a
+        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)
 
@@ -8468,7 +9382,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)
 
@@ -8477,7 +9391,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.)
@@ -8665,7 +9579,13 @@ class Window(EvtHandler):
         mouse and when the mouse is released the capture returns to the window
         which had had captured it previously and it is only really released if
         there were no previous window. In particular, this means that you must
-        release the mouse as many times as you capture it.
+        release the mouse as many times as you capture it, unless the window
+        receives the `wx.MouseCaptureLostEvent` event.
+         
+        Any application which captures the mouse in the beginning of some
+        operation *must* handle `wx.MouseCaptureLostEvent` and cancel this
+        operation when it receives the event. The event handler must not
+        recapture mouse.
         """
         return _core_.Window_CaptureMouse(*args, **kwargs)
 
@@ -8721,7 +9641,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.
         """
@@ -8754,6 +9674,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)
@@ -8774,6 +9704,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
@@ -9156,6 +10097,10 @@ class Window(EvtHandler):
         """
         return _core_.Window_PopupMenu(*args, **kwargs)
 
+    def HasMultiplePages(*args, **kwargs):
+        """HasMultiplePages(self) -> bool"""
+        return _core_.Window_HasMultiplePages(*args, **kwargs)
+
     def GetHandle(*args, **kwargs):
         """
         GetHandle(self) -> long
@@ -9315,6 +10260,18 @@ class Window(EvtHandler):
         """
         return _core_.Window_SetHelpTextForId(*args, **kwargs)
 
+    def GetHelpTextAtPoint(*args, **kwargs):
+        """
+        GetHelpTextAtPoint(self, Point pt, wxHelpEvent::Origin origin) -> String
+
+        Get the help string associated with the given position in this window.
+
+        Notice that pt may be invalid if event origin is keyboard or unknown
+        and this method should return the global window help text then
+
+        """
+        return _core_.Window_GetHelpTextAtPoint(*args, **kwargs)
+
     def GetHelpText(*args, **kwargs):
         """
         GetHelpText(self) -> String
@@ -9528,6 +10485,32 @@ class Window(EvtHandler):
         """
         return _core_.Window_ShouldInheritColours(*args, **kwargs)
 
+    def CanSetTransparent(*args, **kwargs):
+        """
+        CanSetTransparent(self) -> bool
+
+        Returns ``True`` if the platform supports setting the transparency for
+        this window.  Note that this method will err on the side of caution,
+        so it is possible that this will return ``False`` when it is in fact
+        possible to set the transparency.
+
+        NOTE: On X-windows systems the X server must have the composite
+        extension loaded, and there must be a composite manager program (such
+        as xcompmgr) running.
+        """
+        return _core_.Window_CanSetTransparent(*args, **kwargs)
+
+    def SetTransparent(*args, **kwargs):
+        """
+        SetTransparent(self, byte alpha) -> bool
+
+        Attempt to set the transparency of this window to the ``alpha`` value,
+        returns True on success.  The ``alpha`` value is an integer in the
+        range of 0 to 255, where 0 is fully transparent and 255 is fully
+        opaque.
+        """
+        return _core_.Window_SetTransparent(*args, **kwargs)
+
     def PostCreate(self, pre):
         """
         Phase 3 of the 2-phase create <wink!>
@@ -9537,13 +10520,76 @@ class Window(EvtHandler):
         self.thisown = pre.thisown
         pre.thisown = 0
         if hasattr(self, '_setOORInfo'):
-            self._setOORInfo(self)
+            try:
+                self._setOORInfo(self)
+            except TypeError:
+                pass
         if hasattr(self, '_setCallbackInfo'):
-            self._setCallbackInfo(self, self.__class__)
+            try:
+                self._setCallbackInfo(self, pre.__class__)
+            except TypeError:
+                pass
 
     def SendSizeEvent(self):
-        self.GetEventhandler().ProcessEvent(wx.SizeEvent((-1,-1)))
-
+        self.GetEventHandler().ProcessEvent(wx.SizeEvent((-1,-1)))
+
+    AcceleratorTable = property(GetAcceleratorTable,SetAcceleratorTable,doc="See `GetAcceleratorTable` and `SetAcceleratorTable`") 
+    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`") 
+    EffectiveMinSize = property(GetEffectiveMinSize,doc="See `GetEffectiveMinSize`") 
+    BestSize = property(GetBestSize,doc="See `GetBestSize`") 
+    BestVirtualSize = property(GetBestVirtualSize,doc="See `GetBestVirtualSize`") 
+    Border = property(GetBorder,doc="See `GetBorder`") 
+    Caret = property(GetCaret,SetCaret,doc="See `GetCaret` and `SetCaret`") 
+    CharHeight = property(GetCharHeight,doc="See `GetCharHeight`") 
+    CharWidth = property(GetCharWidth,doc="See `GetCharWidth`") 
+    Children = property(GetChildren,doc="See `GetChildren`") 
+    ClientAreaOrigin = property(GetClientAreaOrigin,doc="See `GetClientAreaOrigin`") 
+    ClientRect = property(GetClientRect,SetClientRect,doc="See `GetClientRect` and `SetClientRect`") 
+    ClientSize = property(GetClientSize,SetClientSize,doc="See `GetClientSize` and `SetClientSize`") 
+    Constraints = property(GetConstraints,SetConstraints,doc="See `GetConstraints` and `SetConstraints`") 
+    ContainingSizer = property(GetContainingSizer,SetContainingSizer,doc="See `GetContainingSizer` and `SetContainingSizer`") 
+    Cursor = property(GetCursor,SetCursor,doc="See `GetCursor` and `SetCursor`") 
+    DefaultAttributes = property(GetDefaultAttributes,doc="See `GetDefaultAttributes`") 
+    DropTarget = property(GetDropTarget,SetDropTarget,doc="See `GetDropTarget` and `SetDropTarget`") 
+    EventHandler = property(GetEventHandler,SetEventHandler,doc="See `GetEventHandler` and `SetEventHandler`") 
+    ExtraStyle = property(GetExtraStyle,SetExtraStyle,doc="See `GetExtraStyle` and `SetExtraStyle`") 
+    Font = property(GetFont,SetFont,doc="See `GetFont` and `SetFont`") 
+    ForegroundColour = property(GetForegroundColour,SetForegroundColour,doc="See `GetForegroundColour` and `SetForegroundColour`") 
+    GrandParent = property(GetGrandParent,doc="See `GetGrandParent`") 
+    TopLevelParent = property(GetTopLevelParent,doc="See `GetTopLevelParent`") 
+    Handle = property(GetHandle,doc="See `GetHandle`") 
+    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`") 
+    MinHeight = property(GetMinHeight,doc="See `GetMinHeight`") 
+    MinSize = property(GetMinSize,SetMinSize,doc="See `GetMinSize` and `SetMinSize`") 
+    MinWidth = property(GetMinWidth,doc="See `GetMinWidth`") 
+    Name = property(GetName,SetName,doc="See `GetName` and `SetName`") 
+    Parent = property(GetParent,doc="See `GetParent`") 
+    Position = property(GetPosition,SetPosition,doc="See `GetPosition` and `SetPosition`") 
+    Rect = property(GetRect,SetRect,doc="See `GetRect` and `SetRect`") 
+    ScreenPosition = property(GetScreenPosition,doc="See `GetScreenPosition`") 
+    ScreenRect = property(GetScreenRect,doc="See `GetScreenRect`") 
+    Size = property(GetSize,SetSize,doc="See `GetSize` and `SetSize`") 
+    Sizer = property(GetSizer,SetSizer,doc="See `GetSizer` and `SetSizer`") 
+    ThemeEnabled = property(GetThemeEnabled,SetThemeEnabled,doc="See `GetThemeEnabled` and `SetThemeEnabled`") 
+    ToolTip = property(GetToolTip,SetToolTip,doc="See `GetToolTip` and `SetToolTip`") 
+    UpdateClientRect = property(GetUpdateClientRect,doc="See `GetUpdateClientRect`") 
+    UpdateRegion = property(GetUpdateRegion,doc="See `GetUpdateRegion`") 
+    Validator = property(GetValidator,SetValidator,doc="See `GetValidator` and `SetValidator`") 
+    VirtualSize = property(GetVirtualSize,SetVirtualSize,doc="See `GetVirtualSize` and `SetVirtualSize`") 
+    WindowStyle = property(GetWindowStyle,SetWindowStyle,doc="See `GetWindowStyle` and `SetWindowStyle`") 
+    WindowStyleFlag = property(GetWindowStyleFlag,SetWindowStyleFlag,doc="See `GetWindowStyleFlag` and `SetWindowStyleFlag`") 
+    WindowVariant = property(GetWindowVariant,SetWindowVariant,doc="See `GetWindowVariant` and `SetWindowVariant`") 
+    Shown = property(IsShown,Show,doc="See `IsShown` and `Show`") 
+    Enabled = property(IsEnabled,Enable,doc="See `IsEnabled` and `Enable`") 
+    TopLevel = property(IsTopLevel,doc="See `IsTopLevel`") 
 _core_.Window_swigregister(Window)
 
 def PreWindow(*args, **kwargs):
@@ -9733,6 +10779,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):
@@ -9750,12 +10797,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)
@@ -9772,7 +10817,10 @@ class Menu(EvtHandler):
         self._setOORInfo(self)
 
     def Append(*args, **kwargs):
-        """Append(self, int id, String text, String help=EmptyString, int kind=ITEM_NORMAL) -> MenuItem"""
+        """
+        Append(self, int id, String text=EmptyString, String help=EmptyString, 
+            int kind=ITEM_NORMAL) -> MenuItem
+        """
         return _core_.Menu_Append(*args, **kwargs)
 
     def AppendSeparator(*args, **kwargs):
@@ -9813,7 +10861,7 @@ class Menu(EvtHandler):
 
     def Insert(*args, **kwargs):
         """
-        Insert(self, size_t pos, int id, String text, String help=EmptyString, 
+        Insert(self, size_t pos, int id, String text=EmptyString, String help=EmptyString, 
             int kind=ITEM_NORMAL) -> MenuItem
         """
         return _core_.Menu_Insert(*args, **kwargs)
@@ -9835,7 +10883,10 @@ class Menu(EvtHandler):
         return _core_.Menu_InsertMenu(*args, **kwargs)
 
     def Prepend(*args, **kwargs):
-        """Prepend(self, int id, String text, String help=EmptyString, int kind=ITEM_NORMAL) -> MenuItem"""
+        """
+        Prepend(self, int id, String text=EmptyString, String help=EmptyString, 
+            int kind=ITEM_NORMAL) -> MenuItem
+        """
         return _core_.Menu_Prepend(*args, **kwargs)
 
     def PrependSeparator(*args, **kwargs):
@@ -9858,9 +10909,15 @@ class Menu(EvtHandler):
         """Remove(self, int id) -> MenuItem"""
         return _core_.Menu_Remove(*args, **kwargs)
 
-    def RemoveItem(*args, **kwargs):
+    def RemoveItem(self, item):
         """RemoveItem(self, MenuItem item) -> MenuItem"""
-        return _core_.Menu_RemoveItem(*args, **kwargs)
+        #// The return object is always the parameter, so return that 
+        #// proxy instead of the new one
+        val = _core_.Menu_RemoveItem(self, item)
+        item.this.own(val.this.own())
+        val.this.disown()
+        return item
+
 
     def Delete(*args, **kwargs):
         """Delete(self, int id) -> bool"""
@@ -9876,29 +10933,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"""
@@ -10008,6 +11052,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
 
@@ -10122,6 +11175,10 @@ class MenuBar(Window):
         """Detach(self)"""
         return _core_.MenuBar_Detach(*args, **kwargs)
 
+    def UpdateMenus(*args, **kwargs):
+        """UpdateMenus(self)"""
+        return _core_.MenuBar_UpdateMenus(*args, **kwargs)
+
     def SetAutoWindowMenu(*args, **kwargs):
         """SetAutoWindowMenu(bool enable)"""
         return _core_.MenuBar_SetAutoWindowMenu(*args, **kwargs)
@@ -10132,6 +11189,21 @@ class MenuBar(Window):
         return _core_.MenuBar_GetAutoWindowMenu(*args, **kwargs)
 
     GetAutoWindowMenu = staticmethod(GetAutoWindowMenu)
+    def GetMenus(self):
+        """Return a list of (menu, label) items for the menus in the MenuBar. """
+        return [(self.GetMenu(i), self.GetLabelTop(i)) 
+                for i in range(self.GetMenuCount())]
+        
+    def SetMenus(self, items):
+        """Clear and add new menus to the MenuBar from a list of (menu, label) items. """
+        for i in range(self.GetMenuCount()-1, -1, -1):
+            self.Remove(i)
+        for m, l in items:
+            self.Append(m, l)
+
+    Frame = property(GetFrame,doc="See `GetFrame`") 
+    MenuCount = property(GetMenuCount,doc="See `GetMenuCount`") 
+    Menus = property(GetMenus,SetMenus,doc="See `GetMenus` and `SetMenus`") 
 _core_.MenuBar_swigregister(MenuBar)
 
 def MenuBar_SetAutoWindowMenu(*args, **kwargs):
@@ -10150,13 +11222,14 @@ class MenuItem(Object):
     __repr__ = _swig_repr
     def __init__(self, *args, **kwargs): 
         """
-        __init__(self, Menu parentMenu=None, int id=ID_ANY, String text=EmptyString, 
+        __init__(self, Menu parentMenu=None, int id=ID_SEPARATOR, String text=EmptyString, 
             String help=EmptyString, int kind=ITEM_NORMAL, 
             Menu subMenu=None) -> MenuItem
         """
         _core_.MenuItem_swiginit(self,_core_.new_MenuItem(*args, **kwargs))
     __swig_destroy__ = _core_.delete_MenuItem
     __del__ = lambda self : None;
+    def Destroy(self): pass 
     def GetMenu(*args, **kwargs):
         """GetMenu(self) -> Menu"""
         return _core_.MenuItem_GetMenu(*args, **kwargs)
@@ -10327,6 +11400,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):
@@ -10370,6 +11457,22 @@ class Control(Window):
         """
         return _core_.Control_Create(*args, **kwargs)
 
+    def GetAlignment(*args, **kwargs):
+        """
+        GetAlignment(self) -> int
+
+        Get the control alignment (left/right/centre, top/bottom/centre)
+        """
+        return _core_.Control_GetAlignment(*args, **kwargs)
+
+    def GetLabelText(*args, **kwargs):
+        """
+        GetLabelText(self) -> String
+
+        Get just the text of the label, without mnemonic characters ('&')
+        """
+        return _core_.Control_GetLabelText(*args, **kwargs)
+
     def Command(*args, **kwargs):
         """
         Command(self, CommandEvent event)
@@ -10381,14 +11484,15 @@ class Control(Window):
         """
         return _core_.Control_Command(*args, **kwargs)
 
-    def GetLabel(*args, **kwargs):
+    def RemoveMnemonics(*args, **kwargs):
         """
-        GetLabel(self) -> String
+        RemoveMnemonics(String str) -> String
 
-        Return a control's text.
+        removes the mnemonics characters
         """
-        return _core_.Control_GetLabel(*args, **kwargs)
+        return _core_.Control_RemoveMnemonics(*args, **kwargs)
 
+    RemoveMnemonics = staticmethod(RemoveMnemonics)
     def GetClassDefaultAttributes(*args, **kwargs):
         """
         GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
@@ -10407,6 +11511,8 @@ class Control(Window):
         return _core_.Control_GetClassDefaultAttributes(*args, **kwargs)
 
     GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
+    Alignment = property(GetAlignment,doc="See `GetAlignment`") 
+    LabelText = property(GetLabelText,doc="See `GetLabelText`") 
 _core_.Control_swigregister(Control)
 ControlNameStr = cvar.ControlNameStr
 
@@ -10419,6 +11525,14 @@ def PreControl(*args, **kwargs):
     val = _core_.new_PreControl(*args, **kwargs)
     return val
 
+def Control_RemoveMnemonics(*args, **kwargs):
+  """
+    Control_RemoveMnemonics(String str) -> String
+
+    removes the mnemonics characters
+    """
+  return _core_.Control_RemoveMnemonics(*args, **kwargs)
+
 def Control_GetClassDefaultAttributes(*args, **kwargs):
   """
     Control_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
@@ -10480,7 +11594,7 @@ class ItemContainer(object):
 
     def Insert(*args, **kwargs):
         """
-        Insert(self, String item, unsigned int pos, PyObject clientData=None) -> int
+        Insert(self, String item, int pos, PyObject clientData=None) -> int
 
         Insert an item into the control before the item at the ``pos`` index,
         optionally associating some data object with the item.
@@ -10497,7 +11611,7 @@ class ItemContainer(object):
 
     def Delete(*args, **kwargs):
         """
-        Delete(self, unsigned int n)
+        Delete(self, int n)
 
         Deletes the item at the zero-based index 'n' from the control. Note
         that it is an error (signalled by a `wx.PyAssertionError` exception if
@@ -10508,7 +11622,7 @@ class ItemContainer(object):
 
     def GetClientData(*args, **kwargs):
         """
-        GetClientData(self, unsigned int n) -> PyObject
+        GetClientData(self, int n) -> PyObject
 
         Returns the client data associated with the given item, (if any.)
         """
@@ -10516,7 +11630,7 @@ class ItemContainer(object):
 
     def SetClientData(*args, **kwargs):
         """
-        SetClientData(self, unsigned int n, PyObject clientData)
+        SetClientData(self, int n, PyObject clientData)
 
         Associate the given client data with the item at position n.
         """
@@ -10524,7 +11638,7 @@ class ItemContainer(object):
 
     def GetCount(*args, **kwargs):
         """
-        GetCount(self) -> unsigned int
+        GetCount(self) -> int
 
         Returns the number of items in the control.
         """
@@ -10540,7 +11654,7 @@ class ItemContainer(object):
 
     def GetString(*args, **kwargs):
         """
-        GetString(self, unsigned int n) -> String
+        GetString(self, int n) -> String
 
         Returns the label of the item with the given index.
         """
@@ -10552,7 +11666,7 @@ class ItemContainer(object):
 
     def SetString(*args, **kwargs):
         """
-        SetString(self, unsigned int n, String s)
+        SetString(self, int n, String s)
 
         Sets the label for the given item.
         """
@@ -10607,6 +11721,21 @@ class ItemContainer(object):
         """
         return _core_.ItemContainer_Select(*args, **kwargs)
 
+    def GetItems(self):
+        """Return a list of the strings in the control"""
+        return [self.GetString(i) for i in xrange(self.GetCount())]
+        
+    def SetItems(self, items):
+        """Clear and set the strings in the control from a list"""
+        self.Clear()
+        for i in items:
+            self.Append(i)        
+
+    Count = property(GetCount,doc="See `GetCount`") 
+    Items = property(GetItems,SetItems,doc="See `GetItems` and `SetItems`") 
+    Selection = property(GetSelection,SetSelection,doc="See `GetSelection` and `SetSelection`") 
+    StringSelection = property(GetStringSelection,SetStringSelection,doc="See `GetStringSelection` and `SetStringSelection`") 
+    Strings = property(GetStrings,doc="See `GetStrings`") 
 _core_.ItemContainer_swigregister(ItemContainer)
 
 #---------------------------------------------------------------------------
@@ -10624,6 +11753,222 @@ _core_.ControlWithItems_swigregister(ControlWithItems)
 
 #---------------------------------------------------------------------------
 
+class SizerFlags(object):
+    """
+    Normally, when you add an item to a sizer via `wx.Sizer.Add`, you have
+    to specify a lot of flags and parameters which can be unwieldy. This
+    is where wx.SizerFlags comes in: it allows you to specify all
+    parameters using the named methods instead. For example, instead of::
+
+        sizer.Add(ctrl, 0, wx.EXPAND | wx.ALL, 10)
+
+    you can now write::
+
+        sizer.AddF(ctrl, wx.SizerFlags().Expand().Border(wx.ALL, 10))
+
+    This is more readable and also allows you to create wx.SizerFlags
+    objects which can be reused for several sizer items.::
+
+        flagsExpand = wx.SizerFlags(1)
+        flagsExpand.Expand().Border(wx.ALL, 10)
+        sizer.AddF(ctrl1, flagsExpand)
+        sizer.AddF(ctrl2, flagsExpand)
+
+    Note that by specification, all methods of wx.SizerFlags return the
+    wx.SizerFlags object itself allowing chaining multiple method calls
+    like in the examples above.
+    """
+    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, int proportion=0) -> SizerFlags
+
+        Constructs the flags object with the specified proportion.
+        """
+        _core_.SizerFlags_swiginit(self,_core_.new_SizerFlags(*args, **kwargs))
+    __swig_destroy__ = _core_.delete_SizerFlags
+    __del__ = lambda self : None;
+    def Proportion(*args, **kwargs):
+        """
+        Proportion(self, int proportion) -> SizerFlags
+
+        Sets the item's proportion value.
+        """
+        return _core_.SizerFlags_Proportion(*args, **kwargs)
+
+    def Align(*args, **kwargs):
+        """
+        Align(self, int alignment) -> SizerFlags
+
+        Sets the item's alignment
+        """
+        return _core_.SizerFlags_Align(*args, **kwargs)
+
+    def Expand(*args, **kwargs):
+        """
+        Expand(self) -> SizerFlags
+
+        Sets the wx.EXPAND flag, which will cause the item to be expanded to
+        fill as much space as it is given by the sizer.
+        """
+        return _core_.SizerFlags_Expand(*args, **kwargs)
+
+    def Centre(*args, **kwargs):
+        """
+        Centre(self) -> SizerFlags
+
+        Same as `Center` for those with an alternate dialect of English.
+        """
+        return _core_.SizerFlags_Centre(*args, **kwargs)
+
+    def Center(*args, **kwargs):
+        """
+        Center(self) -> SizerFlags
+
+        Sets the centering alignment flags.
+        """
+        return _core_.SizerFlags_Center(*args, **kwargs)
+
+    def Left(*args, **kwargs):
+        """
+        Left(self) -> SizerFlags
+
+        Aligns the object to the left, a shortcut for calling
+        Align(wx.ALIGN_LEFT)
+        """
+        return _core_.SizerFlags_Left(*args, **kwargs)
+
+    def Right(*args, **kwargs):
+        """
+        Right(self) -> SizerFlags
+
+        Aligns the object to the right, a shortcut for calling
+        Align(wx.ALIGN_RIGHT)
+        """
+        return _core_.SizerFlags_Right(*args, **kwargs)
+
+    def Top(*args, **kwargs):
+        """
+        Top(self) -> SizerFlags
+
+        Aligns the object to the top of the available space, a shortcut for
+        calling Align(wx.ALIGN_TOP)
+        """
+        return _core_.SizerFlags_Top(*args, **kwargs)
+
+    def Bottom(*args, **kwargs):
+        """
+        Bottom(self) -> SizerFlags
+
+        Aligns the object to the bottom of the available space, a shortcut for
+        calling Align(wx.ALIGN_BOTTOM)
+        """
+        return _core_.SizerFlags_Bottom(*args, **kwargs)
+
+    def Shaped(*args, **kwargs):
+        """
+        Shaped(self) -> SizerFlags
+
+        Sets the wx.SHAPED flag.
+        """
+        return _core_.SizerFlags_Shaped(*args, **kwargs)
+
+    def FixedMinSize(*args, **kwargs):
+        """
+        FixedMinSize(self) -> SizerFlags
+
+        Sets the wx.FIXED_MINSIZE flag.
+        """
+        return _core_.SizerFlags_FixedMinSize(*args, **kwargs)
+
+    def Border(*args, **kwargs):
+        """
+        Border(self, int direction=ALL, int borderInPixels=-1) -> SizerFlags
+
+        Sets the border of the item in the direction(s) or sides given by the
+        direction parameter.  If the borderInPixels value is not given then
+        the default border size (see `GetDefaultBorder`) will be used.
+        """
+        return _core_.SizerFlags_Border(*args, **kwargs)
+
+    def DoubleBorder(*args, **kwargs):
+        """
+        DoubleBorder(self, int direction=ALL) -> SizerFlags
+
+        Sets the border in the given direction to twice the default border
+        size.
+        """
+        return _core_.SizerFlags_DoubleBorder(*args, **kwargs)
+
+    def TripleBorder(*args, **kwargs):
+        """
+        TripleBorder(self, int direction=ALL) -> SizerFlags
+
+        Sets the border in the given direction to three times the default
+        border size.
+        """
+        return _core_.SizerFlags_TripleBorder(*args, **kwargs)
+
+    def HorzBorder(*args, **kwargs):
+        """
+        HorzBorder(self) -> SizerFlags
+
+        Sets the left and right borders to the default border size.
+        """
+        return _core_.SizerFlags_HorzBorder(*args, **kwargs)
+
+    def DoubleHorzBorder(*args, **kwargs):
+        """
+        DoubleHorzBorder(self) -> SizerFlags
+
+        Sets the left and right borders to twice the default border size.
+        """
+        return _core_.SizerFlags_DoubleHorzBorder(*args, **kwargs)
+
+    def GetDefaultBorder(*args, **kwargs):
+        """
+        GetDefaultBorder() -> int
+
+        Returns the default border size used by the other border methods
+        """
+        return _core_.SizerFlags_GetDefaultBorder(*args, **kwargs)
+
+    GetDefaultBorder = staticmethod(GetDefaultBorder)
+    def GetProportion(*args, **kwargs):
+        """
+        GetProportion(self) -> int
+
+        Returns the proportion value to be used in the sizer item.
+        """
+        return _core_.SizerFlags_GetProportion(*args, **kwargs)
+
+    def GetFlags(*args, **kwargs):
+        """
+        GetFlags(self) -> int
+
+        Returns the flags value to be used in the sizer item.
+        """
+        return _core_.SizerFlags_GetFlags(*args, **kwargs)
+
+    def GetBorderInPixels(*args, **kwargs):
+        """
+        GetBorderInPixels(self) -> int
+
+        Returns the border value in pixels to be used in the sizer item.
+        """
+        return _core_.SizerFlags_GetBorderInPixels(*args, **kwargs)
+
+_core_.SizerFlags_swigregister(SizerFlags)
+
+def SizerFlags_GetDefaultBorder(*args):
+  """
+    SizerFlags_GetDefaultBorder() -> int
+
+    Returns the default border size used by the other border methods
+    """
+  return _core_.SizerFlags_GetDefaultBorder(*args)
+
 class SizerItem(Object):
     """
     The wx.SizerItem class is used to track the position, size and other
@@ -10843,14 +12188,6 @@ class SizerItem(Object):
         """
         return _core_.SizerItem_GetWindow(*args, **kwargs)
 
-    def SetWindow(*args, **kwargs):
-        """
-        SetWindow(self, Window window)
-
-        Set the window to be managed by this sizer item.
-        """
-        return _core_.SizerItem_SetWindow(*args, **kwargs)
-
     def GetSizer(*args, **kwargs):
         """
         GetSizer(self) -> Sizer
@@ -10859,6 +12196,22 @@ class SizerItem(Object):
         """
         return _core_.SizerItem_GetSizer(*args, **kwargs)
 
+    def GetSpacer(*args, **kwargs):
+        """
+        GetSpacer(self) -> Size
+
+        Get the size of the spacer managed by this sizer item.
+        """
+        return _core_.SizerItem_GetSpacer(*args, **kwargs)
+
+    def SetWindow(*args, **kwargs):
+        """
+        SetWindow(self, Window window)
+
+        Set the window to be managed by this sizer item.
+        """
+        return _core_.SizerItem_SetWindow(*args, **kwargs)
+
     def SetSizer(*args, **kwargs):
         """
         SetSizer(self, Sizer sizer)
@@ -10867,21 +12220,41 @@ class SizerItem(Object):
         """
         return _core_.SizerItem_SetSizer(*args, **kwargs)
 
-    def GetSpacer(*args, **kwargs):
+    def SetSpacer(*args, **kwargs):
         """
-        GetSpacer(self) -> Size
+        SetSpacer(self, Size size)
 
-        Get the size of the spacer managed by this sizer item.
+        Set the size of the spacer to be managed by this sizer item.
         """
-        return _core_.SizerItem_GetSpacer(*args, **kwargs)
+        return _core_.SizerItem_SetSpacer(*args, **kwargs)
 
-    def SetSpacer(*args, **kwargs):
+    SetWindow = wx._deprecated(SetWindow, "Use `AssignWindow` instead.")
+    SetSizer = wx._deprecated(SetSizer,   "Use `AssignSizer` instead.")
+    SetSpacer = wx._deprecated(SetSpacer, "Use `AssignSpacer` instead.")
+
+    def AssignWindow(*args, **kwargs):
         """
-        SetSpacer(self, Size size)
+        AssignWindow(self, Window window)
+
+        Set the window to be managed by this sizer item.
+        """
+        return _core_.SizerItem_AssignWindow(*args, **kwargs)
+
+    def AssignSizer(*args, **kwargs):
+        """
+        AssignSizer(self, Sizer sizer)
+
+        Set the subsizer to be managed by this sizer item.
+        """
+        return _core_.SizerItem_AssignSizer(*args, **kwargs)
+
+    def AssignSpacer(*args, **kwargs):
+        """
+        AssignSpacer(self, Size size)
 
         Set the size of the spacer to be managed by this sizer item.
         """
-        return _core_.SizerItem_SetSpacer(*args, **kwargs)
+        return _core_.SizerItem_AssignSpacer(*args, **kwargs)
 
     def Show(*args, **kwargs):
         """
@@ -10926,6 +12299,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,AssignSizer,doc="See `GetSizer` and `AssignSizer`") 
+    Spacer = property(GetSpacer,AssignSpacer,doc="See `GetSpacer` and `AssignSpacer`") 
+    UserData = property(GetUserData,SetUserData,doc="See `GetUserData` and `SetUserData`") 
+    Window = property(GetWindow,AssignWindow,doc="See `GetWindow` and `AssignWindow`") 
 _core_.SizerItem_swigregister(SizerItem)
 
 def SizerItemWindow(*args, **kwargs):
@@ -10963,8 +12349,8 @@ class Sizer(Object):
     wx.Sizer is the abstract base class used for laying out subwindows in
     a window.  You cannot use wx.Sizer directly; instead, you will have to
     use one of the sizer classes derived from it such as `wx.BoxSizer`,
-    `wx.StaticBoxSizer`, `wx.NotebookSizer`, `wx.GridSizer`,  `wx.FlexGridSizer`
-    and `wx.GridBagSizer`.
+    `wx.StaticBoxSizer`, `wx.GridSizer`, `wx.FlexGridSizer` and
+    `wx.GridBagSizer`.
 
     The concept implemented by sizers in wxWidgets is closely related to
     layout tools in other GUI toolkits, such as Java's AWT, the GTK
@@ -11006,6 +12392,15 @@ class Sizer(Object):
         """
         return _core_.Sizer_Add(*args, **kwargs)
 
+    def AddF(*args, **kwargs):
+        """
+        AddF(self, item, wx.SizerFlags flags) -> wx.SizerItem
+
+        Similar to `Add` but uses the `wx.SizerFlags` convenience class for
+        setting the various flags, options and borders.
+        """
+        return _core_.Sizer_AddF(*args, **kwargs)
+
     def Insert(*args, **kwargs):
         """
         Insert(self, int before, item, int proportion=0, int flag=0, int border=0,
@@ -11016,6 +12411,15 @@ class Sizer(Object):
         """
         return _core_.Sizer_Insert(*args, **kwargs)
 
+    def InsertF(*args, **kwargs):
+        """
+        InsertF(self, int before, item, wx.SizerFlags flags) -> wx.SizerItem
+
+        Similar to `Insert`, but uses the `wx.SizerFlags` convenience class
+        for setting the various flags, options and borders.
+        """
+        return _core_.Sizer_InsertF(*args, **kwargs)
+
     def Prepend(*args, **kwargs):
         """
         Prepend(self, item, int proportion=0, int flag=0, int border=0,
@@ -11026,6 +12430,15 @@ class Sizer(Object):
         """
         return _core_.Sizer_Prepend(*args, **kwargs)
 
+    def PrependF(*args, **kwargs):
+        """
+        PrependF(self, item, wx.SizerFlags flags) -> wx.SizerItem
+
+        Similar to `Prepend` but uses the `wx.SizerFlags` convenience class
+        for setting the various flags, options and borders.
+        """
+        return _core_.Sizer_PrependF(*args, **kwargs)
+
     def Remove(*args, **kwargs):
         """
         Remove(self, item) -> bool
@@ -11053,7 +12466,7 @@ class Sizer(Object):
 
     def GetItem(*args, **kwargs):
         """
-        GetItem(self, item) -> wx.SizerItem
+        GetItem(self, item, recursive=False) -> wx.SizerItem
 
         Returns the `wx.SizerItem` which holds the *item* given.  The *item*
         parameter can be either a window, a sizer, or the zero-based index of
@@ -11065,6 +12478,57 @@ class Sizer(Object):
         """_SetItemMinSize(self, PyObject item, Size size)"""
         return _core_.Sizer__SetItemMinSize(*args, **kwargs)
 
+    def _ReplaceWin(*args, **kwargs):
+        """_ReplaceWin(self, Window oldwin, Window newwin, bool recursive=False) -> bool"""
+        return _core_.Sizer__ReplaceWin(*args, **kwargs)
+
+    def _ReplaceSizer(*args, **kwargs):
+        """_ReplaceSizer(self, Sizer oldsz, Sizer newsz, bool recursive=False) -> bool"""
+        return _core_.Sizer__ReplaceSizer(*args, **kwargs)
+
+    def _ReplaceItem(*args, **kwargs):
+        """_ReplaceItem(self, size_t index, SizerItem newitem) -> bool"""
+        return _core_.Sizer__ReplaceItem(*args, **kwargs)
+
+    def Replace(self, olditem, item, recursive=False):
+        """
+        Detaches the given ``olditem`` from the sizer and replaces it with
+        ``item`` which can be a window, sizer, or `wx.SizerItem`.  The
+        detached child is destroyed only if it is not a window, (because
+        windows are owned by their parent, not the sizer.)  The
+        ``recursive`` parameter can be used to search for the given
+        element recursivly in subsizers.
+
+        This method does not cause any layout or resizing to take place,
+        call `Layout` to do so.
+
+        Returns ``True`` if the child item was found and removed.
+        """
+        if isinstance(olditem, wx.Window):
+            return self._ReplaceWin(olditem, item, recursive)
+        elif isinstance(olditem, wx.Sizer):
+            return self._ReplaceSizer(olditem, item, recursive)
+        elif isinstance(olditem, int):
+            return self._ReplaceItem(olditem, item)
+        else:
+            raise TypeError("Expected Window, Sizer, or integer for first parameter.")
+
+    def SetContainingWindow(*args, **kwargs):
+        """
+        SetContainingWindow(self, Window window)
+
+        Set (or unset) the window this sizer is used in.
+        """
+        return _core_.Sizer_SetContainingWindow(*args, **kwargs)
+
+    def GetContainingWindow(*args, **kwargs):
+        """
+        GetContainingWindow(self) -> Window
+
+        Get the window this sizer is used in.
+        """
+        return _core_.Sizer_GetContainingWindow(*args, **kwargs)
+
     def SetItemMinSize(self, item, *args):
         """
         SetItemMinSize(self, item, Size size)
@@ -11116,6 +12580,50 @@ class Sizer(Object):
                 item = (item, )
             self.Add(*item)
 
+    def AddSpacer(self, *args, **kw):
+        """AddSpacer(int size) --> SizerItem
+
+        Add a spacer that is (size,size) pixels.
+        """
+        if args and type(args[0]) == int:
+            return self.Add( (args[0],args[0] ), 0)
+        else: # otherwise stay compatible with old AddSpacer
+            return self.Add(*args, **kw)
+    def PrependSpacer(self, *args, **kw):
+        """PrependSpacer(int size) --> SizerItem
+
+        Prepend a spacer that is (size, size) pixels."""
+        if args and type(args[0]) == int:
+            return self.Prepend( (args[0],args[0] ), 0)
+        else: # otherwise stay compatible with old PrependSpacer
+            return self.Prepend(*args, **kw)
+    def InsertSpacer(self, index, *args, **kw):
+        """InsertSpacer(int index, int size) --> SizerItem
+
+        Insert a spacer at position index that is (size, size) pixels."""
+        if args and type(args[0]) == int:
+            return self.Insert( index, (args[0],args[0] ), 0)
+        else: # otherwise stay compatible with old InsertSpacer
+            return self.Insert(index, *args, **kw)
+
+                   
+    def AddStretchSpacer(self, prop=1):
+        """AddStretchSpacer(int prop=1) --> SizerItem
+
+        Add a stretchable spacer."""
+        return self.Add((0,0), prop)
+    def PrependStretchSpacer(self, prop=1):
+        """PrependStretchSpacer(int prop=1) --> SizerItem
+
+        Prepend a stretchable spacer."""
+        return self.Prepend((0,0), prop)
+    def InsertStretchSpacer(self, index, prop=1):
+        """InsertStretchSpacer(int index, int prop=1) --> SizerItem
+
+        Insert a stretchable spacer."""
+        return self.Insert(index, (0,0), prop)
+
+            
     # for backwards compatibility only, please do not use in new code
     def AddWindow(self, *args, **kw):
         """Compatibility alias for `Add`."""
@@ -11123,9 +12631,6 @@ class Sizer(Object):
     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`."""
@@ -11133,9 +12638,6 @@ class Sizer(Object):
     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`."""
@@ -11143,9 +12645,6 @@ class Sizer(Object):
     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`."""
@@ -11362,6 +12861,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):
@@ -11416,7 +12920,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)"""
@@ -11463,6 +12967,11 @@ class BoxSizer(Sizer):
         """
         return _core_.BoxSizer_SetOrientation(*args, **kwargs)
 
+    def IsVertical(*args, **kwargs):
+        """IsVertical(self) -> bool"""
+        return _core_.BoxSizer_IsVertical(*args, **kwargs)
+
+    Orientation = property(GetOrientation,SetOrientation,doc="See `GetOrientation` and `SetOrientation`") 
 _core_.BoxSizer_swigregister(BoxSizer)
 
 #---------------------------------------------------------------------------
@@ -11495,6 +13004,7 @@ class StaticBoxSizer(BoxSizer):
         """
         return _core_.StaticBoxSizer_GetStaticBox(*args, **kwargs)
 
+    StaticBox = property(GetStaticBox,doc="See `GetStaticBox`") 
 _core_.StaticBoxSizer_swigregister(StaticBoxSizer)
 
 #---------------------------------------------------------------------------
@@ -11613,6 +13123,10 @@ class GridSizer(Sizer):
             cols = (nitems + rows - 1) / rows
         return (rows, cols)
 
+    Cols = property(GetCols,SetCols,doc="See `GetCols` and `SetCols`") 
+    HGap = property(GetHGap,SetHGap,doc="See `GetHGap` and `SetHGap`") 
+    Rows = property(GetRows,SetRows,doc="See `GetRows` and `SetRows`") 
+    VGap = property(GetVGap,SetVGap,doc="See `GetVGap` and `SetVGap`") 
 _core_.GridSizer_swigregister(GridSizer)
 
 #---------------------------------------------------------------------------
@@ -11745,8 +13259,6 @@ class FlexGridSizer(GridSizer):
             ==========================  =================================================
 
         Note that this method does not trigger relayout.
-
-
         """
         return _core_.FlexGridSizer_SetNonFlexibleGrowMode(*args, **kwargs)
 
@@ -11779,6 +13291,10 @@ class FlexGridSizer(GridSizer):
         """
         return _core_.FlexGridSizer_GetColWidths(*args, **kwargs)
 
+    ColWidths = property(GetColWidths,doc="See `GetColWidths`") 
+    FlexibleDirection = property(GetFlexibleDirection,SetFlexibleDirection,doc="See `GetFlexibleDirection` and `SetFlexibleDirection`") 
+    NonFlexibleGrowMode = property(GetNonFlexibleGrowMode,SetNonFlexibleGrowMode,doc="See `GetNonFlexibleGrowMode` and `SetNonFlexibleGrowMode`") 
+    RowHeights = property(GetRowHeights,doc="See `GetRowHeights`") 
 _core_.FlexGridSizer_swigregister(FlexGridSizer)
 
 class StdDialogButtonSizer(BoxSizer):
@@ -11846,6 +13362,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)
 
 #---------------------------------------------------------------------------
@@ -12115,6 +13636,10 @@ class GBSizerItem(SizerItem):
         """
         return _core_.GBSizerItem_SetGBSizer(*args, **kwargs)
 
+    EndPos = property(GetEndPos,doc="See `GetEndPos`") 
+    GBSizer = property(GetGBSizer,SetGBSizer,doc="See `GetGBSizer` and `SetGBSizer`") 
+    Pos = property(GetPos,SetPos,doc="See `GetPos` and `SetPos`") 
+    Span = property(GetSpan,SetSpan,doc="See `GetSpan` and `SetSpan`") 
 _core_.GBSizerItem_swigregister(GBSizerItem)
 DefaultSpan = cvar.DefaultSpan
 
@@ -12272,6 +13797,16 @@ class GridBagSizer(FlexGridSizer):
         """
         return _core_.GridBagSizer_FindItem(*args)
 
+    def GetItem(self, item):
+        gbsi = None
+        si = wx.FlexGridSizer.GetItem(self, item)
+        if not si:
+            return None
+        if type(item) is not int:
+            gbsi = self.FindItem(item)
+        if gbsi: return gbsi
+        return si
+
     def FindItemAtPosition(*args, **kwargs):
         """
         FindItemAtPosition(self, GBPosition pos) -> GBSizerItem
@@ -12526,6 +14061,14 @@ class IndividualLayoutConstraint(Object):
         """
         return _core_.IndividualLayoutConstraint_GetEdge(*args, **kwargs)
 
+    Done = property(GetDone,SetDone,doc="See `GetDone` and `SetDone`") 
+    Margin = property(GetMargin,SetMargin,doc="See `GetMargin` and `SetMargin`") 
+    MyEdge = property(GetMyEdge,doc="See `GetMyEdge`") 
+    OtherEdge = property(GetOtherEdge,doc="See `GetOtherEdge`") 
+    OtherWindow = property(GetOtherWindow,doc="See `GetOtherWindow`") 
+    Percent = property(GetPercent,doc="See `GetPercent`") 
+    Relationship = property(GetRelationship,SetRelationship,doc="See `GetRelationship` and `SetRelationship`") 
+    Value = property(GetValue,SetValue,doc="See `GetValue` and `SetValue`") 
 _core_.IndividualLayoutConstraint_swigregister(IndividualLayoutConstraint)
 
 class LayoutConstraints(Object):
@@ -12617,6 +14160,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
@@ -12636,7 +14197,10 @@ if default == 'ascii':
     import locale
     import codecs
     try:
-        default = locale.getdefaultlocale()[1]
+        if hasattr(locale, 'getpreferredencoding'):
+            default = locale.getpreferredencoding()
+        else:
+            default = locale.getdefaultlocale()[1]
         codecs.lookup(default)
     except (ValueError, LookupError, TypeError):
         default = _sys.getdefaultencoding()
@@ -12714,7 +14278,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'
@@ -12733,7 +14297,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
@@ -12744,7 +14308,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`
@@ -12830,7 +14394,12 @@ class FutureCall:
             # if it wasn't restarted, then cleanup
             wx.CallAfter(self.Stop)
 
+    Interval = property(GetInterval)
+    Result = property(GetResult)
+
 
+class FutureCall(CallLater):
+    """A compatibility alias for `CallLater`."""
 
 #----------------------------------------------------------------------------
 # Control which items in this module should be documented by epydoc.
@@ -12843,7 +14412,7 @@ class FutureCall:
 class __DocFilter:
     """
     A filter for epydoc that only allows non-Ptr classes and
-    fucntions, in order to reduce the clutter in the API docs.
+    functions, in order to reduce the clutter in the API docs.
     """
     def __init__(self, globals):
         self._globals = globals
@@ -12851,10 +14420,22 @@ class __DocFilter:
     def __call__(self, name):
         import types
         obj = self._globals.get(name, None)
+
+        # only document classes and function
         if type(obj) not in [type, types.ClassType, types.FunctionType, types.BuiltinFunctionType]:
             return False
+
+        # skip other things that are private or will be documented as part of somethign else
         if name.startswith('_') or name.startswith('EVT') or name.endswith('_swigregister')  or name.endswith('Ptr') :
             return False
+
+        # skip functions that are duplicates of static functions in a class
+        if name.find('_') != -1:
+            cls = self._globals.get(name.split('_')[0], None)
+            methname = name.split('_')[1]
+            if hasattr(cls, methname) and type(getattr(cls, methname)) is types.FunctionType:
+                return False
+            
         return True
 
 #----------------------------------------------------------------------------