]> git.saurik.com Git - wxWidgets.git/commitdiff
reSWIGged
authorRobin Dunn <robin@alldunn.com>
Fri, 21 Nov 2003 20:58:50 +0000 (20:58 +0000)
committerRobin Dunn <robin@alldunn.com>
Fri, 21 Nov 2003 20:58:50 +0000 (20:58 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@24626 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

40 files changed:
wxPython/contrib/gizmos/gtk/gizmos.py [new file with mode: 0644]
wxPython/contrib/gizmos/gtk/gizmos_wrap.cpp [new file with mode: 0644]
wxPython/contrib/gizmos/mac/gizmos.py [new file with mode: 0644]
wxPython/contrib/gizmos/mac/gizmos_wrap.cpp [new file with mode: 0644]
wxPython/contrib/gizmos/msw/gizmos.py [new file with mode: 0644]
wxPython/contrib/gizmos/msw/gizmos_wrap.cpp [new file with mode: 0644]
wxPython/contrib/ogl/gtk/ogl.py [new file with mode: 0644]
wxPython/contrib/ogl/gtk/ogl_wrap.cpp [new file with mode: 0644]
wxPython/contrib/ogl/mac/ogl.py [new file with mode: 0644]
wxPython/contrib/ogl/mac/ogl_wrap.cpp [new file with mode: 0644]
wxPython/contrib/ogl/msw/ogl.py [new file with mode: 0644]
wxPython/contrib/ogl/msw/ogl_wrap.cpp [new file with mode: 0644]
wxPython/src/mac/controls.py
wxPython/src/mac/core.py
wxPython/src/mac/core_wrap.cpp
wxPython/src/mac/gdi.py
wxPython/src/mac/gdi_wrap.cpp
wxPython/src/mac/grid.py
wxPython/src/mac/grid_wrap.cpp
wxPython/src/mac/html.py
wxPython/src/mac/html_wrap.cpp
wxPython/src/mac/misc.py
wxPython/src/mac/misc_wrap.cpp
wxPython/src/mac/windows.py
wxPython/src/mac/windows_wrap.cpp
wxPython/src/mac/wizard.py
wxPython/src/msw/controls.py
wxPython/src/msw/core.py
wxPython/src/msw/core_wrap.cpp
wxPython/src/msw/gdi.py
wxPython/src/msw/gdi_wrap.cpp
wxPython/src/msw/grid.py
wxPython/src/msw/grid_wrap.cpp
wxPython/src/msw/html.py
wxPython/src/msw/html_wrap.cpp
wxPython/src/msw/misc.py
wxPython/src/msw/misc_wrap.cpp
wxPython/src/msw/windows.py
wxPython/src/msw/windows_wrap.cpp
wxPython/src/msw/wizard.py

diff --git a/wxPython/contrib/gizmos/gtk/gizmos.py b/wxPython/contrib/gizmos/gtk/gizmos.py
new file mode 100644 (file)
index 0000000..61d68a4
--- /dev/null
@@ -0,0 +1,835 @@
+# This file was created automatically by SWIG.
+# Don't modify this file, modify the SWIG interface instead.
+
+import _gizmos
+
+import windows
+import core
+import controls
+wx = core 
+wxEVT_DYNAMIC_SASH_SPLIT = _gizmos.wxEVT_DYNAMIC_SASH_SPLIT
+wxEVT_DYNAMIC_SASH_UNIFY = _gizmos.wxEVT_DYNAMIC_SASH_UNIFY
+DS_MANAGE_SCROLLBARS = _gizmos.DS_MANAGE_SCROLLBARS
+DS_DRAG_CORNER = _gizmos.DS_DRAG_CORNER
+class DynamicSashSplitEvent(core.CommandEvent):
+    """"""
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxDynamicSashSplitEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__(Object target) -> DynamicSashSplitEvent"""
+        newobj = _gizmos.new_DynamicSashSplitEvent(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+
+class DynamicSashSplitEventPtr(DynamicSashSplitEvent):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = DynamicSashSplitEvent
+_gizmos.DynamicSashSplitEvent_swigregister(DynamicSashSplitEventPtr)
+
+class DynamicSashUnifyEvent(core.CommandEvent):
+    """"""
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxDynamicSashUnifyEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__(Object target) -> DynamicSashUnifyEvent"""
+        newobj = _gizmos.new_DynamicSashUnifyEvent(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+
+class DynamicSashUnifyEventPtr(DynamicSashUnifyEvent):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = DynamicSashUnifyEvent
+_gizmos.DynamicSashUnifyEvent_swigregister(DynamicSashUnifyEventPtr)
+
+class DynamicSashWindow(core.Window):
+    """"""
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxDynamicSashWindow instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__(Window parent, int id, Point pos=DefaultPosition, Size size=DefaultSize, 
+    long style=wxCLIP_CHILDREN|wxDS_MANAGE_SCROLLBARS|wxDS_DRAG_CORNER, 
+    wxString name=wxPyDynamicSashNameStr) -> DynamicSashWindow"""
+        newobj = _gizmos.new_DynamicSashWindow(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+        self._setOORInfo(self)
+
+    def Create(*args, **kwargs):
+        """Create(Window parent, int id, Point pos=DefaultPosition, Size size=DefaultSize, 
+    long style=wxCLIP_CHILDREN|wxDS_MANAGE_SCROLLBARS|wxDS_DRAG_CORNER, 
+    wxString name=wxPyDynamicSashNameStr) -> bool"""
+        return _gizmos.DynamicSashWindow_Create(*args, **kwargs)
+
+    def GetHScrollBar(*args, **kwargs):
+        """GetHScrollBar(Window child) -> ScrollBar"""
+        return _gizmos.DynamicSashWindow_GetHScrollBar(*args, **kwargs)
+
+    def GetVScrollBar(*args, **kwargs):
+        """GetVScrollBar(Window child) -> ScrollBar"""
+        return _gizmos.DynamicSashWindow_GetVScrollBar(*args, **kwargs)
+
+
+class DynamicSashWindowPtr(DynamicSashWindow):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = DynamicSashWindow
+_gizmos.DynamicSashWindow_swigregister(DynamicSashWindowPtr)
+
+def PreDynamicSashWindow(*args, **kwargs):
+    """PreDynamicSashWindow() -> DynamicSashWindow"""
+    val = _gizmos.new_PreDynamicSashWindow(*args, **kwargs)
+    val.thisown = 1
+    return val
+
+EVT_DYNAMIC_SASH_SPLIT = wx.PyEventBinder( wxEVT_DYNAMIC_SASH_SPLIT, 1 )
+EVT_DYNAMIC_SASH_UNIFY = wx.PyEventBinder( wxEVT_DYNAMIC_SASH_UNIFY, 1 )
+
+EL_ALLOW_NEW = _gizmos.EL_ALLOW_NEW
+EL_ALLOW_EDIT = _gizmos.EL_ALLOW_EDIT
+EL_ALLOW_DELETE = _gizmos.EL_ALLOW_DELETE
+class EditableListBox(windows.Panel):
+    """"""
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxEditableListBox instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__(Window parent, int id, wxString label, Point pos=DefaultPosition, 
+    Size size=DefaultSize, long style=wxEL_ALLOW_NEW|wxEL_ALLOW_EDIT|wxEL_ALLOW_DELETE, 
+    wxString name=wxPyEditableListBoxNameStr) -> EditableListBox"""
+        newobj = _gizmos.new_EditableListBox(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+        self._setOORInfo(self)
+
+    def SetStrings(*args, **kwargs):
+        """SetStrings(wxArrayString strings)"""
+        return _gizmos.EditableListBox_SetStrings(*args, **kwargs)
+
+    def GetStrings(*args, **kwargs):
+        """GetStrings() -> PyObject"""
+        return _gizmos.EditableListBox_GetStrings(*args, **kwargs)
+
+    def GetListCtrl(*args, **kwargs):
+        """GetListCtrl() -> wxListCtrl"""
+        return _gizmos.EditableListBox_GetListCtrl(*args, **kwargs)
+
+    def GetDelButton(*args, **kwargs):
+        """GetDelButton() -> BitmapButton"""
+        return _gizmos.EditableListBox_GetDelButton(*args, **kwargs)
+
+    def GetNewButton(*args, **kwargs):
+        """GetNewButton() -> BitmapButton"""
+        return _gizmos.EditableListBox_GetNewButton(*args, **kwargs)
+
+    def GetUpButton(*args, **kwargs):
+        """GetUpButton() -> BitmapButton"""
+        return _gizmos.EditableListBox_GetUpButton(*args, **kwargs)
+
+    def GetDownButton(*args, **kwargs):
+        """GetDownButton() -> BitmapButton"""
+        return _gizmos.EditableListBox_GetDownButton(*args, **kwargs)
+
+    def GetEditButton(*args, **kwargs):
+        """GetEditButton() -> BitmapButton"""
+        return _gizmos.EditableListBox_GetEditButton(*args, **kwargs)
+
+
+class EditableListBoxPtr(EditableListBox):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = EditableListBox
+_gizmos.EditableListBox_swigregister(EditableListBoxPtr)
+
+class RemotelyScrolledTreeCtrl(controls.TreeCtrl):
+    """"""
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxRemotelyScrolledTreeCtrl instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__(Window parent, int id, Point pos=DefaultPosition, Size size=DefaultSize, 
+    long style=TR_HAS_BUTTONS) -> RemotelyScrolledTreeCtrl"""
+        newobj = _gizmos.new_RemotelyScrolledTreeCtrl(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+        self._setOORInfo(self)
+
+    def HideVScrollbar(*args, **kwargs):
+        """HideVScrollbar()"""
+        return _gizmos.RemotelyScrolledTreeCtrl_HideVScrollbar(*args, **kwargs)
+
+    def AdjustRemoteScrollbars(*args, **kwargs):
+        """AdjustRemoteScrollbars()"""
+        return _gizmos.RemotelyScrolledTreeCtrl_AdjustRemoteScrollbars(*args, **kwargs)
+
+    def GetScrolledWindow(*args, **kwargs):
+        """GetScrolledWindow() -> ScrolledWindow"""
+        return _gizmos.RemotelyScrolledTreeCtrl_GetScrolledWindow(*args, **kwargs)
+
+    def ScrollToLine(*args, **kwargs):
+        """ScrollToLine(int posHoriz, int posVert)"""
+        return _gizmos.RemotelyScrolledTreeCtrl_ScrollToLine(*args, **kwargs)
+
+    def SetCompanionWindow(*args, **kwargs):
+        """SetCompanionWindow(Window companion)"""
+        return _gizmos.RemotelyScrolledTreeCtrl_SetCompanionWindow(*args, **kwargs)
+
+    def GetCompanionWindow(*args, **kwargs):
+        """GetCompanionWindow() -> Window"""
+        return _gizmos.RemotelyScrolledTreeCtrl_GetCompanionWindow(*args, **kwargs)
+
+
+class RemotelyScrolledTreeCtrlPtr(RemotelyScrolledTreeCtrl):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = RemotelyScrolledTreeCtrl
+_gizmos.RemotelyScrolledTreeCtrl_swigregister(RemotelyScrolledTreeCtrlPtr)
+
+class TreeCompanionWindow(core.Window):
+    """"""
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxPyTreeCompanionWindow instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__(Window parent, int id=-1, Point pos=DefaultPosition, 
+    Size size=DefaultSize, long style=0) -> TreeCompanionWindow"""
+        newobj = _gizmos.new_TreeCompanionWindow(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+        self._setOORInfo(self);self._setCallbackInfo(self, TreeCompanionWindow)
+
+    def _setCallbackInfo(*args, **kwargs):
+        """_setCallbackInfo(PyObject self, PyObject _class)"""
+        return _gizmos.TreeCompanionWindow__setCallbackInfo(*args, **kwargs)
+
+    def GetTreeCtrl(*args, **kwargs):
+        """GetTreeCtrl() -> RemotelyScrolledTreeCtrl"""
+        return _gizmos.TreeCompanionWindow_GetTreeCtrl(*args, **kwargs)
+
+    def SetTreeCtrl(*args, **kwargs):
+        """SetTreeCtrl(RemotelyScrolledTreeCtrl treeCtrl)"""
+        return _gizmos.TreeCompanionWindow_SetTreeCtrl(*args, **kwargs)
+
+
+class TreeCompanionWindowPtr(TreeCompanionWindow):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = TreeCompanionWindow
+_gizmos.TreeCompanionWindow_swigregister(TreeCompanionWindowPtr)
+
+class ThinSplitterWindow(windows.SplitterWindow):
+    """"""
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxThinSplitterWindow instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__(Window parent, int id=-1, Point pos=DefaultPosition, 
+    Size size=DefaultSize, long style=wxSP_3D|wxCLIP_CHILDREN) -> ThinSplitterWindow"""
+        newobj = _gizmos.new_ThinSplitterWindow(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+        self._setOORInfo(self)
+
+
+class ThinSplitterWindowPtr(ThinSplitterWindow):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = ThinSplitterWindow
+_gizmos.ThinSplitterWindow_swigregister(ThinSplitterWindowPtr)
+
+class SplitterScrolledWindow(windows.ScrolledWindow):
+    """"""
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxSplitterScrolledWindow instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__(Window parent, int id=-1, Point pos=DefaultPosition, 
+    Size size=DefaultSize, long style=0) -> SplitterScrolledWindow"""
+        newobj = _gizmos.new_SplitterScrolledWindow(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+        self._setOORInfo(self)
+
+
+class SplitterScrolledWindowPtr(SplitterScrolledWindow):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = SplitterScrolledWindow
+_gizmos.SplitterScrolledWindow_swigregister(SplitterScrolledWindowPtr)
+
+LED_ALIGN_LEFT = _gizmos.LED_ALIGN_LEFT
+LED_ALIGN_RIGHT = _gizmos.LED_ALIGN_RIGHT
+LED_ALIGN_CENTER = _gizmos.LED_ALIGN_CENTER
+LED_ALIGN_MASK = _gizmos.LED_ALIGN_MASK
+LED_DRAW_FADED = _gizmos.LED_DRAW_FADED
+class LEDNumberCtrl(core.Control):
+    """"""
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxLEDNumberCtrl instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__(Window parent, int id=-1, Point pos=DefaultPosition, 
+    Size size=DefaultSize, long style=wxLED_ALIGN_LEFT|wxLED_DRAW_FADED) -> LEDNumberCtrl"""
+        newobj = _gizmos.new_LEDNumberCtrl(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+        self._setOORInfo(self)
+
+    def Create(*args, **kwargs):
+        """Create(Window parent, int id=-1, Point pos=DefaultPosition, 
+    Size size=DefaultSize, long style=wxLED_ALIGN_LEFT|wxLED_DRAW_FADED) -> bool"""
+        return _gizmos.LEDNumberCtrl_Create(*args, **kwargs)
+
+    def GetAlignment(*args, **kwargs):
+        """GetAlignment() -> wxLEDValueAlign"""
+        return _gizmos.LEDNumberCtrl_GetAlignment(*args, **kwargs)
+
+    def GetDrawFaded(*args, **kwargs):
+        """GetDrawFaded() -> bool"""
+        return _gizmos.LEDNumberCtrl_GetDrawFaded(*args, **kwargs)
+
+    def GetValue(*args, **kwargs):
+        """GetValue() -> wxString"""
+        return _gizmos.LEDNumberCtrl_GetValue(*args, **kwargs)
+
+    def SetAlignment(*args, **kwargs):
+        """SetAlignment(wxLEDValueAlign Alignment, bool Redraw=true)"""
+        return _gizmos.LEDNumberCtrl_SetAlignment(*args, **kwargs)
+
+    def SetDrawFaded(*args, **kwargs):
+        """SetDrawFaded(bool DrawFaded, bool Redraw=true)"""
+        return _gizmos.LEDNumberCtrl_SetDrawFaded(*args, **kwargs)
+
+    def SetValue(*args, **kwargs):
+        """SetValue(wxString Value, bool Redraw=true)"""
+        return _gizmos.LEDNumberCtrl_SetValue(*args, **kwargs)
+
+
+class LEDNumberCtrlPtr(LEDNumberCtrl):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = LEDNumberCtrl
+_gizmos.LEDNumberCtrl_swigregister(LEDNumberCtrlPtr)
+
+def PreLEDNumberCtrl(*args, **kwargs):
+    """PreLEDNumberCtrl() -> LEDNumberCtrl"""
+    val = _gizmos.new_PreLEDNumberCtrl(*args, **kwargs)
+    val.thisown = 1
+    return val
+
+TL_ALIGN_LEFT = _gizmos.TL_ALIGN_LEFT
+TL_ALIGN_RIGHT = _gizmos.TL_ALIGN_RIGHT
+TL_ALIGN_CENTER = _gizmos.TL_ALIGN_CENTER
+TREE_HITTEST_ONITEMCOLUMN = _gizmos.TREE_HITTEST_ONITEMCOLUMN
+class TreeListColumnInfo(core.Object):
+    """"""
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxTreeListColumnInfo instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__(wxString text=wxPyEmptyString, int image=-1, size_t width=100, 
+    wxTreeListColumnAlign alignment=TL_ALIGN_LEFT) -> TreeListColumnInfo"""
+        newobj = _gizmos.new_TreeListColumnInfo(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+    def GetAlignment(*args, **kwargs):
+        """GetAlignment() -> wxTreeListColumnAlign"""
+        return _gizmos.TreeListColumnInfo_GetAlignment(*args, **kwargs)
+
+    def GetText(*args, **kwargs):
+        """GetText() -> wxString"""
+        return _gizmos.TreeListColumnInfo_GetText(*args, **kwargs)
+
+    def GetImage(*args, **kwargs):
+        """GetImage() -> int"""
+        return _gizmos.TreeListColumnInfo_GetImage(*args, **kwargs)
+
+    def GetSelectedImage(*args, **kwargs):
+        """GetSelectedImage() -> int"""
+        return _gizmos.TreeListColumnInfo_GetSelectedImage(*args, **kwargs)
+
+    def GetWidth(*args, **kwargs):
+        """GetWidth() -> size_t"""
+        return _gizmos.TreeListColumnInfo_GetWidth(*args, **kwargs)
+
+    def SetAlignment(*args, **kwargs):
+        """SetAlignment(wxTreeListColumnAlign alignment)"""
+        return _gizmos.TreeListColumnInfo_SetAlignment(*args, **kwargs)
+
+    def SetText(*args, **kwargs):
+        """SetText(wxString text)"""
+        return _gizmos.TreeListColumnInfo_SetText(*args, **kwargs)
+
+    def SetImage(*args, **kwargs):
+        """SetImage(int image)"""
+        return _gizmos.TreeListColumnInfo_SetImage(*args, **kwargs)
+
+    def SetSelectedImage(*args, **kwargs):
+        """SetSelectedImage(int image)"""
+        return _gizmos.TreeListColumnInfo_SetSelectedImage(*args, **kwargs)
+
+    def SetWidth(*args, **kwargs):
+        """SetWidth(size_t with)"""
+        return _gizmos.TreeListColumnInfo_SetWidth(*args, **kwargs)
+
+
+class TreeListColumnInfoPtr(TreeListColumnInfo):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = TreeListColumnInfo
+_gizmos.TreeListColumnInfo_swigregister(TreeListColumnInfoPtr)
+
+class TreeListCtrl(core.Control):
+    """"""
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxPyTreeListCtrl instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__(Window parent, int id=-1, Point pos=DefaultPosition, 
+    Size size=DefaultSize, long style=TR_DEFAULT_STYLE, 
+    Validator validator=DefaultValidator, 
+    wxString name=wxPyTreeListCtrlNameStr) -> TreeListCtrl"""
+        newobj = _gizmos.new_TreeListCtrl(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+        self._setOORInfo(self);self._setCallbackInfo(self, TreeListCtrl)
+
+    def Create(*args, **kwargs):
+        """Create(Window parent, int id=-1, Point pos=DefaultPosition, 
+    Size size=DefaultSize, long style=TR_DEFAULT_STYLE, 
+    Validator validator=DefaultValidator, 
+    wxString name=wxPyTreeListCtrlNameStr) -> bool"""
+        return _gizmos.TreeListCtrl_Create(*args, **kwargs)
+
+    def _setCallbackInfo(*args, **kwargs):
+        """_setCallbackInfo(PyObject self, PyObject _class)"""
+        return _gizmos.TreeListCtrl__setCallbackInfo(*args, **kwargs)
+
+    def GetCount(*args, **kwargs):
+        """GetCount() -> size_t"""
+        return _gizmos.TreeListCtrl_GetCount(*args, **kwargs)
+
+    def GetIndent(*args, **kwargs):
+        """GetIndent() -> unsigned int"""
+        return _gizmos.TreeListCtrl_GetIndent(*args, **kwargs)
+
+    def SetIndent(*args, **kwargs):
+        """SetIndent(unsigned int indent)"""
+        return _gizmos.TreeListCtrl_SetIndent(*args, **kwargs)
+
+    def GetSpacing(*args, **kwargs):
+        """GetSpacing() -> unsigned int"""
+        return _gizmos.TreeListCtrl_GetSpacing(*args, **kwargs)
+
+    def SetSpacing(*args, **kwargs):
+        """SetSpacing(unsigned int spacing)"""
+        return _gizmos.TreeListCtrl_SetSpacing(*args, **kwargs)
+
+    def GetLineSpacing(*args, **kwargs):
+        """GetLineSpacing() -> unsigned int"""
+        return _gizmos.TreeListCtrl_GetLineSpacing(*args, **kwargs)
+
+    def SetLineSpacing(*args, **kwargs):
+        """SetLineSpacing(unsigned int spacing)"""
+        return _gizmos.TreeListCtrl_SetLineSpacing(*args, **kwargs)
+
+    def GetImageList(*args, **kwargs):
+        """GetImageList() -> wxImageList"""
+        return _gizmos.TreeListCtrl_GetImageList(*args, **kwargs)
+
+    def GetStateImageList(*args, **kwargs):
+        """GetStateImageList() -> wxImageList"""
+        return _gizmos.TreeListCtrl_GetStateImageList(*args, **kwargs)
+
+    def GetButtonsImageList(*args, **kwargs):
+        """GetButtonsImageList() -> wxImageList"""
+        return _gizmos.TreeListCtrl_GetButtonsImageList(*args, **kwargs)
+
+    def SetImageList(*args, **kwargs):
+        """SetImageList(wxImageList imageList)"""
+        return _gizmos.TreeListCtrl_SetImageList(*args, **kwargs)
+
+    def SetStateImageList(*args, **kwargs):
+        """SetStateImageList(wxImageList imageList)"""
+        return _gizmos.TreeListCtrl_SetStateImageList(*args, **kwargs)
+
+    def SetButtonsImageList(*args, **kwargs):
+        """SetButtonsImageList(wxImageList imageList)"""
+        return _gizmos.TreeListCtrl_SetButtonsImageList(*args, **kwargs)
+
+    def AssignImageList(*args, **kwargs):
+        """AssignImageList(wxImageList imageList)"""
+        val = _gizmos.TreeListCtrl_AssignImageList(*args, **kwargs)
+        args[1].thisown = 0
+        return val
+
+    def AssignStateImageList(*args, **kwargs):
+        """AssignStateImageList(wxImageList imageList)"""
+        val = _gizmos.TreeListCtrl_AssignStateImageList(*args, **kwargs)
+        args[1].thisown = 0
+        return val
+
+    def AssignButtonsImageList(*args, **kwargs):
+        """AssignButtonsImageList(wxImageList imageList)"""
+        val = _gizmos.TreeListCtrl_AssignButtonsImageList(*args, **kwargs)
+        args[1].thisown = 0
+        return val
+
+    def AddColumn(*args, **kwargs):
+        """AddColumn(wxString text)"""
+        return _gizmos.TreeListCtrl_AddColumn(*args, **kwargs)
+
+    def AddColumnInfo(*args, **kwargs):
+        """AddColumnInfo(TreeListColumnInfo col)"""
+        return _gizmos.TreeListCtrl_AddColumnInfo(*args, **kwargs)
+
+    def InsertColumn(*args, **kwargs):
+        """InsertColumn(size_t before, wxString text)"""
+        return _gizmos.TreeListCtrl_InsertColumn(*args, **kwargs)
+
+    def InsertColumnInfo(*args, **kwargs):
+        """InsertColumnInfo(size_t before, TreeListColumnInfo col)"""
+        return _gizmos.TreeListCtrl_InsertColumnInfo(*args, **kwargs)
+
+    def RemoveColumn(*args, **kwargs):
+        """RemoveColumn(size_t column)"""
+        return _gizmos.TreeListCtrl_RemoveColumn(*args, **kwargs)
+
+    def GetColumnCount(*args, **kwargs):
+        """GetColumnCount() -> size_t"""
+        return _gizmos.TreeListCtrl_GetColumnCount(*args, **kwargs)
+
+    def SetColumnWidth(*args, **kwargs):
+        """SetColumnWidth(size_t column, size_t width)"""
+        return _gizmos.TreeListCtrl_SetColumnWidth(*args, **kwargs)
+
+    def GetColumnWidth(*args, **kwargs):
+        """GetColumnWidth(size_t column) -> int"""
+        return _gizmos.TreeListCtrl_GetColumnWidth(*args, **kwargs)
+
+    def SetMainColumn(*args, **kwargs):
+        """SetMainColumn(size_t column)"""
+        return _gizmos.TreeListCtrl_SetMainColumn(*args, **kwargs)
+
+    def GetMainColumn(*args, **kwargs):
+        """GetMainColumn() -> size_t"""
+        return _gizmos.TreeListCtrl_GetMainColumn(*args, **kwargs)
+
+    def SetColumnText(*args, **kwargs):
+        """SetColumnText(size_t column, wxString text)"""
+        return _gizmos.TreeListCtrl_SetColumnText(*args, **kwargs)
+
+    def GetColumnText(*args, **kwargs):
+        """GetColumnText(size_t column) -> wxString"""
+        return _gizmos.TreeListCtrl_GetColumnText(*args, **kwargs)
+
+    def SetColumn(*args, **kwargs):
+        """SetColumn(size_t column, TreeListColumnInfo info)"""
+        return _gizmos.TreeListCtrl_SetColumn(*args, **kwargs)
+
+    def GetColumn(*args, **kwargs):
+        """GetColumn(size_t column) -> TreeListColumnInfo"""
+        return _gizmos.TreeListCtrl_GetColumn(*args, **kwargs)
+
+    def SetColumnAlignment(*args, **kwargs):
+        """SetColumnAlignment(size_t column, wxTreeListColumnAlign align)"""
+        return _gizmos.TreeListCtrl_SetColumnAlignment(*args, **kwargs)
+
+    def GetColumnAlignment(*args, **kwargs):
+        """GetColumnAlignment(size_t column) -> wxTreeListColumnAlign"""
+        return _gizmos.TreeListCtrl_GetColumnAlignment(*args, **kwargs)
+
+    def SetColumnImage(*args, **kwargs):
+        """SetColumnImage(size_t column, int image)"""
+        return _gizmos.TreeListCtrl_SetColumnImage(*args, **kwargs)
+
+    def GetColumnImage(*args, **kwargs):
+        """GetColumnImage(size_t column) -> int"""
+        return _gizmos.TreeListCtrl_GetColumnImage(*args, **kwargs)
+
+    def GetItemText(*args, **kwargs):
+        """GetItemText(TreeItemId item, int column=-1) -> wxString"""
+        return _gizmos.TreeListCtrl_GetItemText(*args, **kwargs)
+
+    def GetItemImage(*args, **kwargs):
+        """GetItemImage(TreeItemId item, int column=-1, wxTreeItemIcon which=TreeItemIcon_Normal) -> int"""
+        return _gizmos.TreeListCtrl_GetItemImage(*args, **kwargs)
+
+    def SetItemText(*args, **kwargs):
+        """SetItemText(TreeItemId item, wxString text, int column=-1)"""
+        return _gizmos.TreeListCtrl_SetItemText(*args, **kwargs)
+
+    def SetItemImage(*args, **kwargs):
+        """SetItemImage(TreeItemId item, int image, int column=-1, wxTreeItemIcon which=TreeItemIcon_Normal)"""
+        return _gizmos.TreeListCtrl_SetItemImage(*args, **kwargs)
+
+    def GetItemData(*args, **kwargs):
+        """GetItemData(TreeItemId item) -> TreeItemData"""
+        return _gizmos.TreeListCtrl_GetItemData(*args, **kwargs)
+
+    def SetItemData(*args, **kwargs):
+        """SetItemData(TreeItemId item, TreeItemData data)"""
+        return _gizmos.TreeListCtrl_SetItemData(*args, **kwargs)
+
+    def GetItemPyData(*args, **kwargs):
+        """GetItemPyData(TreeItemId item) -> PyObject"""
+        return _gizmos.TreeListCtrl_GetItemPyData(*args, **kwargs)
+
+    def SetItemPyData(*args, **kwargs):
+        """SetItemPyData(TreeItemId item, PyObject obj)"""
+        return _gizmos.TreeListCtrl_SetItemPyData(*args, **kwargs)
+
+    def SetItemHasChildren(*args, **kwargs):
+        """SetItemHasChildren(TreeItemId item, bool has=True)"""
+        return _gizmos.TreeListCtrl_SetItemHasChildren(*args, **kwargs)
+
+    def SetItemBold(*args, **kwargs):
+        """SetItemBold(TreeItemId item, bool bold=True)"""
+        return _gizmos.TreeListCtrl_SetItemBold(*args, **kwargs)
+
+    def SetItemTextColour(*args, **kwargs):
+        """SetItemTextColour(TreeItemId item, wxColour col)"""
+        return _gizmos.TreeListCtrl_SetItemTextColour(*args, **kwargs)
+
+    def SetItemBackgroundColour(*args, **kwargs):
+        """SetItemBackgroundColour(TreeItemId item, wxColour col)"""
+        return _gizmos.TreeListCtrl_SetItemBackgroundColour(*args, **kwargs)
+
+    def SetItemFont(*args, **kwargs):
+        """SetItemFont(TreeItemId item, wxFont font)"""
+        return _gizmos.TreeListCtrl_SetItemFont(*args, **kwargs)
+
+    def GetItemBold(*args, **kwargs):
+        """GetItemBold(TreeItemId item) -> bool"""
+        return _gizmos.TreeListCtrl_GetItemBold(*args, **kwargs)
+
+    def GetItemTextColour(*args, **kwargs):
+        """GetItemTextColour(TreeItemId item) -> wxColour"""
+        return _gizmos.TreeListCtrl_GetItemTextColour(*args, **kwargs)
+
+    def GetItemBackgroundColour(*args, **kwargs):
+        """GetItemBackgroundColour(TreeItemId item) -> wxColour"""
+        return _gizmos.TreeListCtrl_GetItemBackgroundColour(*args, **kwargs)
+
+    def GetItemFont(*args, **kwargs):
+        """GetItemFont(TreeItemId item) -> wxFont"""
+        return _gizmos.TreeListCtrl_GetItemFont(*args, **kwargs)
+
+    def IsVisible(*args, **kwargs):
+        """IsVisible(TreeItemId item) -> bool"""
+        return _gizmos.TreeListCtrl_IsVisible(*args, **kwargs)
+
+    def ItemHasChildren(*args, **kwargs):
+        """ItemHasChildren(TreeItemId item) -> bool"""
+        return _gizmos.TreeListCtrl_ItemHasChildren(*args, **kwargs)
+
+    def IsExpanded(*args, **kwargs):
+        """IsExpanded(TreeItemId item) -> bool"""
+        return _gizmos.TreeListCtrl_IsExpanded(*args, **kwargs)
+
+    def IsSelected(*args, **kwargs):
+        """IsSelected(TreeItemId item) -> bool"""
+        return _gizmos.TreeListCtrl_IsSelected(*args, **kwargs)
+
+    def IsBold(*args, **kwargs):
+        """IsBold(TreeItemId item) -> bool"""
+        return _gizmos.TreeListCtrl_IsBold(*args, **kwargs)
+
+    def GetChildrenCount(*args, **kwargs):
+        """GetChildrenCount(TreeItemId item, bool recursively=True) -> size_t"""
+        return _gizmos.TreeListCtrl_GetChildrenCount(*args, **kwargs)
+
+    def GetRootItem(*args, **kwargs):
+        """GetRootItem() -> TreeItemId"""
+        return _gizmos.TreeListCtrl_GetRootItem(*args, **kwargs)
+
+    def GetSelection(*args, **kwargs):
+        """GetSelection() -> TreeItemId"""
+        return _gizmos.TreeListCtrl_GetSelection(*args, **kwargs)
+
+    def GetSelections(*args, **kwargs):
+        """GetSelections() -> PyObject"""
+        return _gizmos.TreeListCtrl_GetSelections(*args, **kwargs)
+
+    def GetItemParent(*args, **kwargs):
+        """GetItemParent(TreeItemId item) -> TreeItemId"""
+        return _gizmos.TreeListCtrl_GetItemParent(*args, **kwargs)
+
+    def GetFirstChild(*args, **kwargs):
+        """GetFirstChild(TreeItemId item) -> PyObject"""
+        return _gizmos.TreeListCtrl_GetFirstChild(*args, **kwargs)
+
+    def GetNextChild(*args, **kwargs):
+        """GetNextChild(TreeItemId item, long cookie) -> PyObject"""
+        return _gizmos.TreeListCtrl_GetNextChild(*args, **kwargs)
+
+    def GetLastChild(*args, **kwargs):
+        """GetLastChild(TreeItemId item) -> TreeItemId"""
+        return _gizmos.TreeListCtrl_GetLastChild(*args, **kwargs)
+
+    def GetNextSibling(*args, **kwargs):
+        """GetNextSibling(TreeItemId item) -> TreeItemId"""
+        return _gizmos.TreeListCtrl_GetNextSibling(*args, **kwargs)
+
+    def GetPrevSibling(*args, **kwargs):
+        """GetPrevSibling(TreeItemId item) -> TreeItemId"""
+        return _gizmos.TreeListCtrl_GetPrevSibling(*args, **kwargs)
+
+    def GetFirstVisibleItem(*args, **kwargs):
+        """GetFirstVisibleItem() -> TreeItemId"""
+        return _gizmos.TreeListCtrl_GetFirstVisibleItem(*args, **kwargs)
+
+    def GetNextVisible(*args, **kwargs):
+        """GetNextVisible(TreeItemId item) -> TreeItemId"""
+        return _gizmos.TreeListCtrl_GetNextVisible(*args, **kwargs)
+
+    def GetPrevVisible(*args, **kwargs):
+        """GetPrevVisible(TreeItemId item) -> TreeItemId"""
+        return _gizmos.TreeListCtrl_GetPrevVisible(*args, **kwargs)
+
+    def GetNext(*args, **kwargs):
+        """GetNext(TreeItemId item) -> TreeItemId"""
+        return _gizmos.TreeListCtrl_GetNext(*args, **kwargs)
+
+    def AddRoot(*args, **kwargs):
+        """AddRoot(wxString text, int image=-1, int selectedImage=-1, 
+    TreeItemData data=None) -> TreeItemId"""
+        return _gizmos.TreeListCtrl_AddRoot(*args, **kwargs)
+
+    def PrependItem(*args, **kwargs):
+        """PrependItem(TreeItemId parent, wxString text, int image=-1, int selectedImage=-1, 
+    TreeItemData data=None) -> TreeItemId"""
+        return _gizmos.TreeListCtrl_PrependItem(*args, **kwargs)
+
+    def InsertItem(*args, **kwargs):
+        """InsertItem(TreeItemId parent, TreeItemId idPrevious, wxString text, 
+    int image=-1, int selectedImage=-1, TreeItemData data=None) -> TreeItemId"""
+        return _gizmos.TreeListCtrl_InsertItem(*args, **kwargs)
+
+    def InsertItemBefore(*args, **kwargs):
+        """InsertItemBefore(TreeItemId parent, size_t index, wxString text, int image=-1, 
+    int selectedImage=-1, TreeItemData data=None) -> TreeItemId"""
+        return _gizmos.TreeListCtrl_InsertItemBefore(*args, **kwargs)
+
+    def AppendItem(*args, **kwargs):
+        """AppendItem(TreeItemId parent, wxString text, int image=-1, int selectedImage=-1, 
+    TreeItemData data=None) -> TreeItemId"""
+        return _gizmos.TreeListCtrl_AppendItem(*args, **kwargs)
+
+    def Delete(*args, **kwargs):
+        """Delete(TreeItemId item)"""
+        return _gizmos.TreeListCtrl_Delete(*args, **kwargs)
+
+    def DeleteChildren(*args, **kwargs):
+        """DeleteChildren(TreeItemId item)"""
+        return _gizmos.TreeListCtrl_DeleteChildren(*args, **kwargs)
+
+    def DeleteAllItems(*args, **kwargs):
+        """DeleteAllItems()"""
+        return _gizmos.TreeListCtrl_DeleteAllItems(*args, **kwargs)
+
+    def Expand(*args, **kwargs):
+        """Expand(TreeItemId item)"""
+        return _gizmos.TreeListCtrl_Expand(*args, **kwargs)
+
+    def ExpandAll(*args, **kwargs):
+        """ExpandAll(TreeItemId item)"""
+        return _gizmos.TreeListCtrl_ExpandAll(*args, **kwargs)
+
+    def Collapse(*args, **kwargs):
+        """Collapse(TreeItemId item)"""
+        return _gizmos.TreeListCtrl_Collapse(*args, **kwargs)
+
+    def CollapseAndReset(*args, **kwargs):
+        """CollapseAndReset(TreeItemId item)"""
+        return _gizmos.TreeListCtrl_CollapseAndReset(*args, **kwargs)
+
+    def Toggle(*args, **kwargs):
+        """Toggle(TreeItemId item)"""
+        return _gizmos.TreeListCtrl_Toggle(*args, **kwargs)
+
+    def Unselect(*args, **kwargs):
+        """Unselect()"""
+        return _gizmos.TreeListCtrl_Unselect(*args, **kwargs)
+
+    def UnselectAll(*args, **kwargs):
+        """UnselectAll()"""
+        return _gizmos.TreeListCtrl_UnselectAll(*args, **kwargs)
+
+    def SelectItem(*args, **kwargs):
+        """SelectItem(TreeItemId item, bool unselect_others=True, bool extended_select=False)"""
+        return _gizmos.TreeListCtrl_SelectItem(*args, **kwargs)
+
+    def EnsureVisible(*args, **kwargs):
+        """EnsureVisible(TreeItemId item)"""
+        return _gizmos.TreeListCtrl_EnsureVisible(*args, **kwargs)
+
+    def ScrollTo(*args, **kwargs):
+        """ScrollTo(TreeItemId item)"""
+        return _gizmos.TreeListCtrl_ScrollTo(*args, **kwargs)
+
+    def HitTest(*args, **kwargs):
+        """HitTest(Point point, int OUTPUT, int OUTPUT) -> TreeItemId"""
+        return _gizmos.TreeListCtrl_HitTest(*args, **kwargs)
+
+    def GetBoundingRect(*args, **kwargs):
+        """GetBoundingRect(TreeItemId item, bool textOnly=False) -> PyObject"""
+        return _gizmos.TreeListCtrl_GetBoundingRect(*args, **kwargs)
+
+    def EditLabel(*args, **kwargs):
+        """EditLabel(TreeItemId item)"""
+        return _gizmos.TreeListCtrl_EditLabel(*args, **kwargs)
+
+    def Edit(*args, **kwargs):
+        """Edit(TreeItemId item)"""
+        return _gizmos.TreeListCtrl_Edit(*args, **kwargs)
+
+    def SortChildren(*args, **kwargs):
+        """SortChildren(TreeItemId item)"""
+        return _gizmos.TreeListCtrl_SortChildren(*args, **kwargs)
+
+    def GetItemSelectedImage(*args, **kwargs):
+        """GetItemSelectedImage(TreeItemId item) -> int"""
+        return _gizmos.TreeListCtrl_GetItemSelectedImage(*args, **kwargs)
+
+    def SetItemSelectedImage(*args, **kwargs):
+        """SetItemSelectedImage(TreeItemId item, int image)"""
+        return _gizmos.TreeListCtrl_SetItemSelectedImage(*args, **kwargs)
+
+    def GetHeaderWindow(*args, **kwargs):
+        """GetHeaderWindow() -> Window"""
+        return _gizmos.TreeListCtrl_GetHeaderWindow(*args, **kwargs)
+
+    def GetMainWindow(*args, **kwargs):
+        """GetMainWindow() -> Window"""
+        return _gizmos.TreeListCtrl_GetMainWindow(*args, **kwargs)
+
+
+class TreeListCtrlPtr(TreeListCtrl):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = TreeListCtrl
+_gizmos.TreeListCtrl_swigregister(TreeListCtrlPtr)
+
+def PreTreeListCtrl(*args, **kwargs):
+    """PreTreeListCtrl() -> TreeListCtrl"""
+    val = _gizmos.new_PreTreeListCtrl(*args, **kwargs)
+    val.thisown = 1
+    return val
+
+
diff --git a/wxPython/contrib/gizmos/gtk/gizmos_wrap.cpp b/wxPython/contrib/gizmos/gtk/gizmos_wrap.cpp
new file mode 100644 (file)
index 0000000..a079402
--- /dev/null
@@ -0,0 +1,7309 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.20
+ * 
+ * This file is not intended to be easily readable and contains a number of 
+ * coding conventions designed to improve portability and efficiency. Do not make
+ * changes to this file unless you know what you are doing--modify the SWIG 
+ * interface file instead. 
+ * ----------------------------------------------------------------------------- */
+
+#define SWIGPYTHON
+#define SWIG_NOINCLUDE
+
+#ifdef __cplusplus
+template<class T> class SwigValueWrapper {
+    T *tt;
+public:
+    SwigValueWrapper() : tt(0) { }
+    SwigValueWrapper(const SwigValueWrapper<T>& rhs) : tt(new T(*rhs.tt)) { }
+    SwigValueWrapper(const T& t) : tt(new T(t)) { }
+    ~SwigValueWrapper() { delete tt; } 
+    SwigValueWrapper& operator=(const T& t) { delete tt; tt = new T(t); return *this; }
+    operator T&() const { return *tt; }
+    T *operator&() { return tt; }
+private:
+    SwigValueWrapper& operator=(const SwigValueWrapper<T>& rhs);
+};                                                    
+#endif
+
+
+#include "Python.h"
+
+/*************************************************************** -*- c -*-
+ * python/precommon.swg
+ *
+ * Rename all exported symbols from common.swg, to avoid symbol
+ * clashes if multiple interpreters are included
+ *
+ ************************************************************************/
+
+#define SWIG_TypeRegister    SWIG_Python_TypeRegister
+#define SWIG_TypeCheck       SWIG_Python_TypeCheck
+#define SWIG_TypeCast        SWIG_Python_TypeCast
+#define SWIG_TypeDynamicCast SWIG_Python_TypeDynamicCast
+#define SWIG_TypeName        SWIG_Python_TypeName
+#define SWIG_TypeQuery       SWIG_Python_TypeQuery
+#define SWIG_TypeClientData  SWIG_Python_TypeClientData
+
+
+/***********************************************************************
+ * common.swg for wxPython
+ *
+ * Include only the function prototypes and such from SWIG's common.swg,
+ * but not the runtime functions themselves.  This helps keep the
+ * wrapper files clean of unnecessary stuff that is in the libpy.c file
+ * anyway.
+ *
+ ************************************************************************/
+
+#include <string.h>
+
+#if defined(_WIN32) || defined(__WIN32__)
+#       if defined(_MSC_VER)
+#               if defined(STATIC_LINKED)
+#                       define SWIGEXPORT(a) a
+#                       define SWIGIMPORT(a) extern a
+#               else
+#                       define SWIGEXPORT(a) __declspec(dllexport) a
+#                       define SWIGIMPORT(a) extern a
+#               endif
+#       else
+#               if defined(__BORLANDC__)
+#                       define SWIGEXPORT(a) a _export
+#                       define SWIGIMPORT(a) a _export
+#               else
+#                       define SWIGEXPORT(a) a
+#                       define SWIGIMPORT(a) a
+#               endif
+#       endif
+#else
+#       define SWIGEXPORT(a) a
+#       define SWIGIMPORT(a) a
+#endif
+
+#ifdef SWIG_GLOBAL
+#define SWIGRUNTIME(a) SWIGEXPORT(a)
+#else
+#define SWIGRUNTIME(a) static a
+#endif
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef void *(*swig_converter_func)(void *);
+typedef struct swig_type_info *(*swig_dycast_func)(void **);
+
+typedef struct swig_type_info {
+  const char             *name;                 
+  swig_converter_func     converter;
+  const char             *str;
+  void                   *clientdata;  
+  swig_dycast_func        dcast;
+  struct swig_type_info  *next;
+  struct swig_type_info  *prev;
+} swig_type_info;
+
+
+SWIGIMPORT(swig_type_info *) SWIG_TypeRegister(swig_type_info *);
+SWIGIMPORT(swig_type_info *) SWIG_TypeCheck(char *c, swig_type_info *);
+SWIGIMPORT(void *)           SWIG_TypeCast(swig_type_info *, void *);
+SWIGIMPORT(swig_type_info *) SWIG_TypeDynamicCast(swig_type_info *, void **);
+SWIGIMPORT(const char *)     SWIG_TypeName(const swig_type_info *);
+SWIGIMPORT(swig_type_info *) SWIG_TypeQuery(const char *);
+SWIGIMPORT(void)             SWIG_TypeClientData(swig_type_info *, void *);
+
+
+#ifdef __cplusplus
+}
+
+#endif
+
+/***********************************************************************
+ * pyrun.swg for wxPython
+ *
+ * Include only the function prototypes and such from SWIG's pyrun.swg,
+ * but not the runtime functions themselves.  This helps keep the
+ * wrapper files clean of unnecessary stuff that is in the libpy.c file
+ * anyway.
+ *
+ ************************************************************************/
+
+
+#include "Python.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define SWIG_PY_INT     1
+#define SWIG_PY_FLOAT   2
+#define SWIG_PY_STRING  3
+#define SWIG_PY_POINTER 4
+#define SWIG_PY_BINARY  5
+
+/* Flags for pointer conversion */
+
+#define SWIG_POINTER_EXCEPTION     0x1
+#define SWIG_POINTER_DISOWN        0x2
+
+/* Exception handling in wrappers */
+#define SWIG_fail   goto fail
+
+/* Constant information structure */
+typedef struct swig_const_info {
+    int type;
+    char *name;
+    long lvalue;
+    double dvalue;
+    void   *pvalue;
+    swig_type_info **ptype;
+} swig_const_info;
+
+
+
+/* Common SWIG API */
+#define SWIG_ConvertPtr(obj, pp, type, flags) \
+  SWIG_Python_ConvertPtr(obj, pp, type, flags)
+#define SWIG_NewPointerObj(p, type, flags) \
+  SWIG_Python_NewPointerObj(p, type, flags)
+#define SWIG_MustGetPtr(p, type, argnum, flags) \
+  SWIG_Python_MustGetPtr(p, type, argnum, flags)
+
+/* Python-specific SWIG API */
+#define SWIG_newvarlink() \
+  SWIG_Python_newvarlink()
+#define SWIG_addvarlink(p, name, get_attr, set_attr) \
+  SWIG_Python_addvarlink(p, name, get_attr, set_attr)
+#define SWIG_ConvertPacked(obj, ptr, sz, ty, flags) \
+  SWIG_Python_ConvertPacked(obj, ptr, sz, ty, flags)
+#define SWIG_PackData(c, ptr, sz) \
+  SWIG_Python_PackData(c, ptr, sz)
+#define SWIG_UnpackData(c, ptr, sz) \
+  SWIG_Python_UnpackData(c, ptr, sz)
+#define SWIG_NewPackedObj(ptr, sz, type) \
+  SWIG_Python_NewPackedObj(ptr, sz, type)
+#define SWIG_InstallConstants(d, constants) \
+  SWIG_Python_InstallConstants(d, constants)
+
+
+SWIGEXPORT(int)               SWIG_Python_ConvertPtr(PyObject *, void **, swig_type_info *, int);
+SWIGEXPORT(PyObject *)        SWIG_Python_NewPointerObj(void *, swig_type_info *,int own);
+SWIGEXPORT(void *)           SWIG_Python_MustGetPtr(PyObject *, swig_type_info *, int, int);
+
+SWIGEXPORT(PyObject *)        SWIG_Python_newvarlink(void);
+SWIGEXPORT(void)              SWIG_Python_addvarlink(PyObject *, char *, PyObject *(*)(void), int (*)(PyObject *));
+SWIGEXPORT(int)               SWIG_Python_ConvertPacked(PyObject *, void *, int sz, swig_type_info *, int);
+SWIGEXPORT(char *)            SWIG_Python_PackData(char *c, void *, int);
+SWIGEXPORT(char *)            SWIG_Python_UnpackData(char *c, void *, int);
+SWIGEXPORT(PyObject *)        SWIG_Python_NewPackedObj(void *, int sz, swig_type_info *);
+SWIGEXPORT(void)              SWIG_Python_InstallConstants(PyObject *d, swig_const_info constants[]);
+
+
+/* Contract support */
+
+#define SWIG_contract_assert(expr, msg) if (!(expr)) { PyErr_SetString(PyExc_RuntimeError, (char *) msg ); goto fail; } else
+
+
+#ifdef __cplusplus
+}
+#endif
+
+
+
+/* -------- TYPES TABLE (BEGIN) -------- */
+
+#define  SWIGTYPE_p_wxEditableListBox swig_types[0] 
+#define  SWIGTYPE_p_wxObject swig_types[1] 
+#define  SWIGTYPE_p_wxColour swig_types[2] 
+#define  SWIGTYPE_p_wxPyTreeCtrl swig_types[3] 
+#define  SWIGTYPE_p_wxRemotelyScrolledTreeCtrl swig_types[4] 
+#define  SWIGTYPE_p_wxTreeListColumnInfo swig_types[5] 
+#define  SWIGTYPE_p_wxPyTreeListCtrl swig_types[6] 
+#define  SWIGTYPE_p_wxImageList swig_types[7] 
+#define  SWIGTYPE_p_wxScrollBar swig_types[8] 
+#define  SWIGTYPE_p_wxDynamicSashWindow swig_types[9] 
+#define  SWIGTYPE_p_wxScrolledWindow swig_types[10] 
+#define  SWIGTYPE_p_wxSplitterWindow swig_types[11] 
+#define  SWIGTYPE_p_wxWindow swig_types[12] 
+#define  SWIGTYPE_p_wxPyTreeCompanionWindow swig_types[13] 
+#define  SWIGTYPE_p_wxThinSplitterWindow swig_types[14] 
+#define  SWIGTYPE_p_wxSplitterScrolledWindow swig_types[15] 
+#define  SWIGTYPE_p_wxValidator swig_types[16] 
+#define  SWIGTYPE_p_wxCommandEvent swig_types[17] 
+#define  SWIGTYPE_p_wxArrayString swig_types[18] 
+#define  SWIGTYPE_p_wxLEDNumberCtrl swig_types[19] 
+#define  SWIGTYPE_p_wxDynamicSashSplitEvent swig_types[20] 
+#define  SWIGTYPE_p_wxTreeItemId swig_types[21] 
+#define  SWIGTYPE_p_wxString swig_types[22] 
+#define  SWIGTYPE_p_wxEvtHandler swig_types[23] 
+#define  SWIGTYPE_p_wxFont swig_types[24] 
+#define  SWIGTYPE_p_wxDynamicSashUnifyEvent swig_types[25] 
+#define  SWIGTYPE_p_wxControl swig_types[26] 
+#define  SWIGTYPE_p_wxPanel swig_types[27] 
+#define  SWIGTYPE_p_wxPyTreeItemData swig_types[28] 
+#define  SWIGTYPE_p_wxEvent swig_types[29] 
+#define  SWIGTYPE_p_int swig_types[30] 
+static swig_type_info *swig_types[32];
+
+/* -------- TYPES TABLE (END) -------- */
+
+
+/*-----------------------------------------------
+              @(target):= _gizmos.so
+  ------------------------------------------------*/
+#define SWIG_init    init_gizmos
+
+#define SWIG_name    "_gizmos"
+
+#include "wx/wxPython/wxPython.h"
+#include "wx/wxPython/pyclasses.h"
+    
+#include <wx/gizmos/dynamicsash.h>
+#include <wx/gizmos/editlbox.h>
+#include <wx/gizmos/splittree.h>
+#include <wx/gizmos/ledctrl.h>
+
+#include <wx/listctrl.h>
+#include <wx/treectrl.h>
+#include <wx/imaglist.h>
+    
+#include "treelistctrl.h"
+#include "wx/wxPython/pytree.h"
+
+    
+    static const wxString wxPyDynamicSashNameStr(wxT("dynamicSashWindow"));
+    static const wxString wxPyEditableListBoxNameStr(wxT("editableListBox"));
+    static const wxString wxPyTreeListCtrlNameStr(wxT("treelistctrl"));
+    static const wxString wxPyEmptyString(wxT(""));
+
+PyObject *wxEditableListBox_GetStrings(wxEditableListBox *self){
+            wxArrayString strings;
+            self->GetStrings(strings);
+            return wxArrayString2PyList_helper(strings);
+        }
+
+    typedef wxTreeCtrl wxPyTreeCtrl;
+
+
+class wxPyTreeCompanionWindow: public wxTreeCompanionWindow
+{
+public:
+    wxPyTreeCompanionWindow(wxWindow* parent, wxWindowID id = -1,
+                            const wxPoint& pos = wxDefaultPosition,
+                            const wxSize& size = wxDefaultSize,
+                            long style = 0)
+        : wxTreeCompanionWindow(parent, id, pos, size, style) {}
+
+
+    virtual void DrawItem(wxDC& dc, wxTreeItemId id, const wxRect& rect) {
+        bool found;
+        wxPyBeginBlockThreads();
+        if ((found = wxPyCBH_findCallback(m_myInst, "DrawItem"))) {
+            PyObject* dcobj = wxPyMake_wxObject(&dc);
+            PyObject* idobj = wxPyConstructObject((void*)&id, wxT("wxTreeItemId"), False);
+            PyObject* recobj= wxPyConstructObject((void*)&rect, wxT("wxRect"), False);
+            wxPyCBH_callCallback(m_myInst, Py_BuildValue("(OOO)", dcobj, idobj, recobj));
+            Py_DECREF(dcobj);
+            Py_DECREF(idobj);
+            Py_DECREF(recobj);
+        }
+        wxPyEndBlockThreads();
+        if (! found)
+            wxTreeCompanionWindow::DrawItem(dc, id, rect);
+    }
+
+    PYPRIVATE;
+};
+
+ // C++ version of Python aware control
+class wxPyTreeListCtrl : public wxTreeListCtrl {
+    DECLARE_ABSTRACT_CLASS(wxPyTreeListCtrl);
+public:
+    wxPyTreeListCtrl() : wxTreeListCtrl() {}
+    wxPyTreeListCtrl(wxWindow *parent, wxWindowID id,
+                     const wxPoint& pos,
+                     const wxSize& size,
+                     long style,
+                     const wxValidator &validator,
+                     const wxString& name) :
+        wxTreeListCtrl(parent, id, pos, size, style, validator, name) {}
+
+    int OnCompareItems(const wxTreeItemId& item1,
+                       const wxTreeItemId& item2) {
+        int rval = 0;
+        bool found;
+        wxPyBeginBlockThreads();
+        if ((found = wxPyCBH_findCallback(m_myInst, "OnCompareItems"))) {
+            PyObject *o1 = wxPyConstructObject((void*)&item1, wxT("wxTreeItemId"), 0);
+            PyObject *o2 = wxPyConstructObject((void*)&item2, wxT("wxTreeItemId"), 0);
+            rval = wxPyCBH_callCallback(m_myInst, Py_BuildValue("(OO)",o1,o2));
+            Py_DECREF(o1);
+            Py_DECREF(o2);
+        }
+        wxPyEndBlockThreads();
+        if (! found)
+            rval = wxTreeListCtrl::OnCompareItems(item1, item2);
+        return rval;
+    }
+    PYPRIVATE;
+};
+
+IMPLEMENT_ABSTRACT_CLASS(wxPyTreeListCtrl, wxTreeListCtrl)
+
+
+wxString wxPyTreeListCtrl_GetItemText(wxPyTreeListCtrl *self,wxTreeItemId const &item,int column){
+            if (column < 0) column = self->GetMainColumn();
+            return self->GetItemText(item, column);
+        }
+int wxPyTreeListCtrl_GetItemImage(wxPyTreeListCtrl *self,wxTreeItemId const &item,int column,wxTreeItemIcon which){
+            if (column < 0) column = self->GetMainColumn();
+            return self->GetItemImage(item, column, which);
+        }
+void wxPyTreeListCtrl_SetItemText(wxPyTreeListCtrl *self,wxTreeItemId const &item,wxString const &text,int column){
+            if (column < 0) column = self->GetMainColumn();
+            self->SetItemText(item, column, text);
+        }
+void wxPyTreeListCtrl_SetItemImage(wxPyTreeListCtrl *self,wxTreeItemId const &item,int image,int column,wxTreeItemIcon which){
+            if (column < 0) column = self->GetMainColumn();
+            self->SetItemImage(item, column, image, which);
+        }
+wxPyTreeItemData *wxPyTreeListCtrl_GetItemData(wxPyTreeListCtrl *self,wxTreeItemId const &item){
+            wxPyTreeItemData* data = (wxPyTreeItemData*)self->GetItemData(item);
+            if (data == NULL) {
+                data = new wxPyTreeItemData();
+                data->SetId(item); // set the id
+                self->SetItemData(item, data);
+            }
+            return data;
+        }
+void wxPyTreeListCtrl_SetItemData(wxPyTreeListCtrl *self,wxTreeItemId const &item,wxPyTreeItemData *data){
+            data->SetId(item); // set the id
+            self->SetItemData(item, data);
+        }
+PyObject *wxPyTreeListCtrl_GetItemPyData(wxPyTreeListCtrl *self,wxTreeItemId const &item){
+            wxPyTreeItemData* data = (wxPyTreeItemData*)self->GetItemData(item);
+            if (data == NULL) {
+                data = new wxPyTreeItemData();
+                data->SetId(item); // set the id
+                self->SetItemData(item, data);
+            }
+            return data->GetData();
+        }
+void wxPyTreeListCtrl_SetItemPyData(wxPyTreeListCtrl *self,wxTreeItemId const &item,PyObject *obj){
+            wxPyTreeItemData* data = (wxPyTreeItemData*)self->GetItemData(item);
+            if (data == NULL) {
+                data = new wxPyTreeItemData(obj);
+                data->SetId(item); // set the id
+                self->SetItemData(item, data);
+            } else
+                data->SetData(obj);
+        }
+PyObject *wxPyTreeListCtrl_GetSelections(wxPyTreeListCtrl *self){
+            wxPyBeginBlockThreads();
+            PyObject*           rval = PyList_New(0);
+            wxArrayTreeItemIds  array;
+            size_t              num, x;
+            num = self->GetSelections(array);
+            for (x=0; x < num; x++) {
+                wxTreeItemId *tii = new wxTreeItemId(array.Item(x));
+                PyObject* item = wxPyConstructObject((void*)tii, wxT("wxTreeItemId"), True);
+                PyList_Append(rval, item);
+            }
+            wxPyEndBlockThreads();
+            return rval;
+        }
+PyObject *wxPyTreeListCtrl_GetFirstChild(wxPyTreeListCtrl *self,wxTreeItemId const &item){
+            long cookie = 0;
+            wxTreeItemId ritem = self->GetFirstChild(item, cookie);
+            wxPyBeginBlockThreads();
+            PyObject* tup = PyTuple_New(2);
+            PyTuple_SET_ITEM(tup, 0, wxPyConstructObject(&ritem, wxT("wxTreeItemId"), true));
+            PyTuple_SET_ITEM(tup, 1, PyInt_FromLong(cookie));
+            wxPyEndBlockThreads();
+            return tup;
+        }
+PyObject *wxPyTreeListCtrl_GetNextChild(wxPyTreeListCtrl *self,wxTreeItemId const &item,long cookie){
+            wxTreeItemId ritem = self->GetNextChild(item, cookie);
+            wxPyBeginBlockThreads();
+            PyObject* tup = PyTuple_New(2);
+            PyTuple_SET_ITEM(tup, 0, wxPyConstructObject(&ritem, wxT("wxTreeItemId"), true));
+            PyTuple_SET_ITEM(tup, 1, PyInt_FromLong(cookie));
+            wxPyEndBlockThreads();
+            return tup;
+        }
+
+static PyObject* t_output_helper(PyObject* target, PyObject* o) {
+    PyObject*   o2;
+    PyObject*   o3;
+
+    if (!target) {                   
+        target = o;
+    } else if (target == Py_None) {  
+        Py_DECREF(Py_None);
+        target = o;
+    } else {                         
+        if (!PyTuple_Check(target)) {
+            o2 = target;
+            target = PyTuple_New(1);
+            PyTuple_SetItem(target, 0, o2);
+        }
+        o3 = PyTuple_New(1);            
+        PyTuple_SetItem(o3, 0, o);      
+
+        o2 = target;
+        target = PySequence_Concat(o2, o3); 
+        Py_DECREF(o2);                      
+        Py_DECREF(o3);
+    }
+    return target;
+}
+
+PyObject *wxPyTreeListCtrl_GetBoundingRect(wxPyTreeListCtrl *self,wxTreeItemId const &item,bool textOnly){
+            wxRect rect;
+            if (self->GetBoundingRect(item, rect, textOnly)) {
+                wxPyBeginBlockThreads();
+                wxRect* r = new wxRect(rect);
+                PyObject* val = wxPyConstructObject((void*)r, wxT("wxRect"), 1);
+                wxPyEndBlockThreads();
+                return val;
+            }
+            else {
+                RETURN_NONE();
+            }
+        }
+#ifdef __cplusplus
+extern "C" {
+#endif
+static PyObject *_wrap_new_DynamicSashSplitEvent(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxObject *arg1 = (wxObject *) 0 ;
+    wxDynamicSashSplitEvent *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "target", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:new_DynamicSashSplitEvent",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxObject,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxDynamicSashSplitEvent *)new wxDynamicSashSplitEvent(arg1);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxDynamicSashSplitEvent, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * DynamicSashSplitEvent_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_wxDynamicSashSplitEvent, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_DynamicSashUnifyEvent(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxObject *arg1 = (wxObject *) 0 ;
+    wxDynamicSashUnifyEvent *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "target", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:new_DynamicSashUnifyEvent",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxObject,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxDynamicSashUnifyEvent *)new wxDynamicSashUnifyEvent(arg1);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxDynamicSashUnifyEvent, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * DynamicSashUnifyEvent_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_wxDynamicSashUnifyEvent, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_DynamicSashWindow(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxWindow *arg1 = (wxWindow *) 0 ;
+    int arg2 ;
+    wxPoint const &arg3_defvalue = wxDefaultPosition ;
+    wxPoint *arg3 = (wxPoint *) &arg3_defvalue ;
+    wxSize const &arg4_defvalue = wxDefaultSize ;
+    wxSize *arg4 = (wxSize *) &arg4_defvalue ;
+    long arg5 = (long) wxCLIP_CHILDREN|wxDS_MANAGE_SCROLLBARS|wxDS_DRAG_CORNER ;
+    wxString const &arg6_defvalue = wxPyDynamicSashNameStr ;
+    wxString *arg6 = (wxString *) &arg6_defvalue ;
+    wxDynamicSashWindow *result;
+    wxPoint temp3 ;
+    wxSize temp4 ;
+    bool temp6 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    PyObject * obj5 = 0 ;
+    char *kwnames[] = {
+        (char *) "parent",(char *) "id",(char *) "pos",(char *) "size",(char *) "style",(char *) "name", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi|OOlO:new_DynamicSashWindow",kwnames,&obj0,&arg2,&obj2,&obj3,&arg5,&obj5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxWindow,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (obj2) {
+        {
+            arg3 = &temp3;
+            if ( ! wxPoint_helper(obj2, &arg3)) SWIG_fail;
+        }
+    }
+    if (obj3) {
+        {
+            arg4 = &temp4;
+            if ( ! wxSize_helper(obj3, &arg4)) SWIG_fail;
+        }
+    }
+    if (obj5) {
+        {
+            arg6 = wxString_in_helper(obj5);
+            if (arg6 == NULL) SWIG_fail;
+            temp6 = True;
+        }
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxDynamicSashWindow *)new wxDynamicSashWindow(arg1,arg2,(wxPoint const &)*arg3,(wxSize const &)*arg4,arg5,(wxString const &)*arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxDynamicSashWindow, 1);
+    {
+        if (temp6)
+        delete arg6;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp6)
+        delete arg6;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_PreDynamicSashWindow(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxDynamicSashWindow *result;
+    char *kwnames[] = {
+        NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)":new_PreDynamicSashWindow",kwnames)) goto fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxDynamicSashWindow *)new wxDynamicSashWindow();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxDynamicSashWindow, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DynamicSashWindow_Create(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxDynamicSashWindow *arg1 = (wxDynamicSashWindow *) 0 ;
+    wxWindow *arg2 = (wxWindow *) 0 ;
+    int arg3 ;
+    wxPoint const &arg4_defvalue = wxDefaultPosition ;
+    wxPoint *arg4 = (wxPoint *) &arg4_defvalue ;
+    wxSize const &arg5_defvalue = wxDefaultSize ;
+    wxSize *arg5 = (wxSize *) &arg5_defvalue ;
+    long arg6 = (long) wxCLIP_CHILDREN|wxDS_MANAGE_SCROLLBARS|wxDS_DRAG_CORNER ;
+    wxString const &arg7_defvalue = wxPyDynamicSashNameStr ;
+    wxString *arg7 = (wxString *) &arg7_defvalue ;
+    bool result;
+    wxPoint temp4 ;
+    wxSize temp5 ;
+    bool temp7 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj3 = 0 ;
+    PyObject * obj4 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "parent",(char *) "id",(char *) "pos",(char *) "size",(char *) "style",(char *) "name", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOi|OOlO:DynamicSashWindow_Create",kwnames,&obj0,&obj1,&arg3,&obj3,&obj4,&arg6,&obj6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDynamicSashWindow,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxWindow,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (obj3) {
+        {
+            arg4 = &temp4;
+            if ( ! wxPoint_helper(obj3, &arg4)) SWIG_fail;
+        }
+    }
+    if (obj4) {
+        {
+            arg5 = &temp5;
+            if ( ! wxSize_helper(obj4, &arg5)) SWIG_fail;
+        }
+    }
+    if (obj6) {
+        {
+            arg7 = wxString_in_helper(obj6);
+            if (arg7 == NULL) SWIG_fail;
+            temp7 = True;
+        }
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->Create(arg2,arg3,(wxPoint const &)*arg4,(wxSize const &)*arg5,arg6,(wxString const &)*arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    {
+        if (temp7)
+        delete arg7;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp7)
+        delete arg7;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_DynamicSashWindow_GetHScrollBar(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxDynamicSashWindow *arg1 = (wxDynamicSashWindow *) 0 ;
+    wxWindow *arg2 = (wxWindow *) 0 ;
+    wxScrollBar *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "child", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:DynamicSashWindow_GetHScrollBar",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDynamicSashWindow,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxWindow,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxScrollBar *)((wxDynamicSashWindow const *)arg1)->GetHScrollBar((wxWindow const *)arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxScrollBar, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DynamicSashWindow_GetVScrollBar(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxDynamicSashWindow *arg1 = (wxDynamicSashWindow *) 0 ;
+    wxWindow *arg2 = (wxWindow *) 0 ;
+    wxScrollBar *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "child", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:DynamicSashWindow_GetVScrollBar",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDynamicSashWindow,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxWindow,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxScrollBar *)((wxDynamicSashWindow const *)arg1)->GetVScrollBar((wxWindow const *)arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxScrollBar, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * DynamicSashWindow_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_wxDynamicSashWindow, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_EditableListBox(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxWindow *arg1 = (wxWindow *) 0 ;
+    int arg2 ;
+    wxString *arg3 = 0 ;
+    wxPoint const &arg4_defvalue = wxDefaultPosition ;
+    wxPoint *arg4 = (wxPoint *) &arg4_defvalue ;
+    wxSize const &arg5_defvalue = wxDefaultSize ;
+    wxSize *arg5 = (wxSize *) &arg5_defvalue ;
+    long arg6 = (long) wxEL_ALLOW_NEW|wxEL_ALLOW_EDIT|wxEL_ALLOW_DELETE ;
+    wxString const &arg7_defvalue = wxPyEditableListBoxNameStr ;
+    wxString *arg7 = (wxString *) &arg7_defvalue ;
+    wxEditableListBox *result;
+    bool temp3 = False ;
+    wxPoint temp4 ;
+    wxSize temp5 ;
+    bool temp7 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    PyObject * obj4 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "parent",(char *) "id",(char *) "label",(char *) "pos",(char *) "size",(char *) "style",(char *) "name", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OiO|OOlO:new_EditableListBox",kwnames,&obj0,&arg2,&obj2,&obj3,&obj4,&arg6,&obj6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxWindow,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg3 = wxString_in_helper(obj2);
+        if (arg3 == NULL) SWIG_fail;
+        temp3 = True;
+    }
+    if (obj3) {
+        {
+            arg4 = &temp4;
+            if ( ! wxPoint_helper(obj3, &arg4)) SWIG_fail;
+        }
+    }
+    if (obj4) {
+        {
+            arg5 = &temp5;
+            if ( ! wxSize_helper(obj4, &arg5)) SWIG_fail;
+        }
+    }
+    if (obj6) {
+        {
+            arg7 = wxString_in_helper(obj6);
+            if (arg7 == NULL) SWIG_fail;
+            temp7 = True;
+        }
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxEditableListBox *)new wxEditableListBox(arg1,arg2,(wxString const &)*arg3,(wxPoint const &)*arg4,(wxSize const &)*arg5,arg6,(wxString const &)*arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxEditableListBox, 1);
+    {
+        if (temp3)
+        delete arg3;
+    }
+    {
+        if (temp7)
+        delete arg7;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp3)
+        delete arg3;
+    }
+    {
+        if (temp7)
+        delete arg7;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_EditableListBox_SetStrings(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxEditableListBox *arg1 = (wxEditableListBox *) 0 ;
+    wxArrayString *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "strings", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:EditableListBox_SetStrings",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxEditableListBox,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        if (! PySequence_Check(obj1)) {
+            PyErr_SetString(PyExc_TypeError, "Sequence of strings expected.");
+            SWIG_fail;
+        }
+        arg2 = new wxArrayString;
+        int i, len=PySequence_Length(obj1);
+        for (i=0; i<len; i++) {
+            PyObject* item = PySequence_GetItem(obj1, i);
+#if wxUSE_UNICODE
+            PyObject* str  = PyObject_Unicode(item);
+#else
+            PyObject* str  = PyObject_Str(item);
+#endif
+            arg2->Add(Py2wxString(str));
+            Py_DECREF(item);
+            Py_DECREF(str);
+        }
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetStrings((wxArrayString const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        if (arg2) delete arg2;
+    }
+    return resultobj;
+    fail:
+    {
+        if (arg2) delete arg2;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_EditableListBox_GetStrings(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxEditableListBox *arg1 = (wxEditableListBox *) 0 ;
+    PyObject *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:EditableListBox_GetStrings",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxEditableListBox,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (PyObject *)wxEditableListBox_GetStrings(arg1);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = result;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EditableListBox_GetListCtrl(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxEditableListBox *arg1 = (wxEditableListBox *) 0 ;
+    wxListCtrl *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:EditableListBox_GetListCtrl",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxEditableListBox,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxListCtrl *)(arg1)->GetListCtrl();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxObject(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EditableListBox_GetDelButton(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxEditableListBox *arg1 = (wxEditableListBox *) 0 ;
+    wxBitmapButton *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:EditableListBox_GetDelButton",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxEditableListBox,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxBitmapButton *)(arg1)->GetDelButton();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxObject(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EditableListBox_GetNewButton(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxEditableListBox *arg1 = (wxEditableListBox *) 0 ;
+    wxBitmapButton *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:EditableListBox_GetNewButton",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxEditableListBox,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxBitmapButton *)(arg1)->GetNewButton();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxObject(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EditableListBox_GetUpButton(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxEditableListBox *arg1 = (wxEditableListBox *) 0 ;
+    wxBitmapButton *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:EditableListBox_GetUpButton",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxEditableListBox,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxBitmapButton *)(arg1)->GetUpButton();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxObject(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EditableListBox_GetDownButton(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxEditableListBox *arg1 = (wxEditableListBox *) 0 ;
+    wxBitmapButton *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:EditableListBox_GetDownButton",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxEditableListBox,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxBitmapButton *)(arg1)->GetDownButton();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxObject(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EditableListBox_GetEditButton(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxEditableListBox *arg1 = (wxEditableListBox *) 0 ;
+    wxBitmapButton *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:EditableListBox_GetEditButton",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxEditableListBox,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxBitmapButton *)(arg1)->GetEditButton();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxObject(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * EditableListBox_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_wxEditableListBox, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_RemotelyScrolledTreeCtrl(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxWindow *arg1 = (wxWindow *) 0 ;
+    int arg2 ;
+    wxPoint const &arg3_defvalue = wxDefaultPosition ;
+    wxPoint *arg3 = (wxPoint *) &arg3_defvalue ;
+    wxSize const &arg4_defvalue = wxDefaultSize ;
+    wxSize *arg4 = (wxSize *) &arg4_defvalue ;
+    long arg5 = (long) wxTR_HAS_BUTTONS ;
+    wxRemotelyScrolledTreeCtrl *result;
+    wxPoint temp3 ;
+    wxSize temp4 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    char *kwnames[] = {
+        (char *) "parent",(char *) "id",(char *) "pos",(char *) "size",(char *) "style", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi|OOl:new_RemotelyScrolledTreeCtrl",kwnames,&obj0,&arg2,&obj2,&obj3,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxWindow,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (obj2) {
+        {
+            arg3 = &temp3;
+            if ( ! wxPoint_helper(obj2, &arg3)) SWIG_fail;
+        }
+    }
+    if (obj3) {
+        {
+            arg4 = &temp4;
+            if ( ! wxSize_helper(obj3, &arg4)) SWIG_fail;
+        }
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxRemotelyScrolledTreeCtrl *)new wxRemotelyScrolledTreeCtrl(arg1,arg2,(wxPoint const &)*arg3,(wxSize const &)*arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxRemotelyScrolledTreeCtrl, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RemotelyScrolledTreeCtrl_HideVScrollbar(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxRemotelyScrolledTreeCtrl *arg1 = (wxRemotelyScrolledTreeCtrl *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:RemotelyScrolledTreeCtrl_HideVScrollbar",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxRemotelyScrolledTreeCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->HideVScrollbar();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RemotelyScrolledTreeCtrl_AdjustRemoteScrollbars(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxRemotelyScrolledTreeCtrl *arg1 = (wxRemotelyScrolledTreeCtrl *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:RemotelyScrolledTreeCtrl_AdjustRemoteScrollbars",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxRemotelyScrolledTreeCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->AdjustRemoteScrollbars();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RemotelyScrolledTreeCtrl_GetScrolledWindow(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxRemotelyScrolledTreeCtrl *arg1 = (wxRemotelyScrolledTreeCtrl *) 0 ;
+    wxScrolledWindow *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:RemotelyScrolledTreeCtrl_GetScrolledWindow",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxRemotelyScrolledTreeCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxScrolledWindow *)((wxRemotelyScrolledTreeCtrl const *)arg1)->GetScrolledWindow();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxScrolledWindow, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RemotelyScrolledTreeCtrl_ScrollToLine(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxRemotelyScrolledTreeCtrl *arg1 = (wxRemotelyScrolledTreeCtrl *) 0 ;
+    int arg2 ;
+    int arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "posHoriz",(char *) "posVert", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oii:RemotelyScrolledTreeCtrl_ScrollToLine",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxRemotelyScrolledTreeCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->ScrollToLine(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RemotelyScrolledTreeCtrl_SetCompanionWindow(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxRemotelyScrolledTreeCtrl *arg1 = (wxRemotelyScrolledTreeCtrl *) 0 ;
+    wxWindow *arg2 = (wxWindow *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "companion", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:RemotelyScrolledTreeCtrl_SetCompanionWindow",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxRemotelyScrolledTreeCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxWindow,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetCompanionWindow(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RemotelyScrolledTreeCtrl_GetCompanionWindow(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxRemotelyScrolledTreeCtrl *arg1 = (wxRemotelyScrolledTreeCtrl *) 0 ;
+    wxWindow *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:RemotelyScrolledTreeCtrl_GetCompanionWindow",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxRemotelyScrolledTreeCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxWindow *)((wxRemotelyScrolledTreeCtrl const *)arg1)->GetCompanionWindow();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxObject(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * RemotelyScrolledTreeCtrl_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_wxRemotelyScrolledTreeCtrl, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_TreeCompanionWindow(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxWindow *arg1 = (wxWindow *) 0 ;
+    int arg2 = (int) -1 ;
+    wxPoint const &arg3_defvalue = wxDefaultPosition ;
+    wxPoint *arg3 = (wxPoint *) &arg3_defvalue ;
+    wxSize const &arg4_defvalue = wxDefaultSize ;
+    wxSize *arg4 = (wxSize *) &arg4_defvalue ;
+    long arg5 = (long) 0 ;
+    wxPyTreeCompanionWindow *result;
+    wxPoint temp3 ;
+    wxSize temp4 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    char *kwnames[] = {
+        (char *) "parent",(char *) "id",(char *) "pos",(char *) "size",(char *) "style", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O|iOOl:new_TreeCompanionWindow",kwnames,&obj0,&arg2,&obj2,&obj3,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxWindow,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (obj2) {
+        {
+            arg3 = &temp3;
+            if ( ! wxPoint_helper(obj2, &arg3)) SWIG_fail;
+        }
+    }
+    if (obj3) {
+        {
+            arg4 = &temp4;
+            if ( ! wxSize_helper(obj3, &arg4)) SWIG_fail;
+        }
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyTreeCompanionWindow *)new wxPyTreeCompanionWindow(arg1,arg2,(wxPoint const &)*arg3,(wxSize const &)*arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxPyTreeCompanionWindow, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeCompanionWindow__setCallbackInfo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeCompanionWindow *arg1 = (wxPyTreeCompanionWindow *) 0 ;
+    PyObject *arg2 = (PyObject *) 0 ;
+    PyObject *arg3 = (PyObject *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "self",(char *) "_class", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:TreeCompanionWindow__setCallbackInfo",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeCompanionWindow,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = obj1;
+    arg3 = obj2;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->_setCallbackInfo(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeCompanionWindow_GetTreeCtrl(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeCompanionWindow *arg1 = (wxPyTreeCompanionWindow *) 0 ;
+    wxRemotelyScrolledTreeCtrl *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:TreeCompanionWindow_GetTreeCtrl",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeCompanionWindow,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxRemotelyScrolledTreeCtrl *)((wxPyTreeCompanionWindow const *)arg1)->GetTreeCtrl();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxRemotelyScrolledTreeCtrl, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeCompanionWindow_SetTreeCtrl(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeCompanionWindow *arg1 = (wxPyTreeCompanionWindow *) 0 ;
+    wxRemotelyScrolledTreeCtrl *arg2 = (wxRemotelyScrolledTreeCtrl *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "treeCtrl", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeCompanionWindow_SetTreeCtrl",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeCompanionWindow,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxRemotelyScrolledTreeCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetTreeCtrl(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * TreeCompanionWindow_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_wxPyTreeCompanionWindow, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_ThinSplitterWindow(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxWindow *arg1 = (wxWindow *) 0 ;
+    int arg2 = (int) -1 ;
+    wxPoint const &arg3_defvalue = wxDefaultPosition ;
+    wxPoint *arg3 = (wxPoint *) &arg3_defvalue ;
+    wxSize const &arg4_defvalue = wxDefaultSize ;
+    wxSize *arg4 = (wxSize *) &arg4_defvalue ;
+    long arg5 = (long) wxSP_3D|wxCLIP_CHILDREN ;
+    wxThinSplitterWindow *result;
+    wxPoint temp3 ;
+    wxSize temp4 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    char *kwnames[] = {
+        (char *) "parent",(char *) "id",(char *) "pos",(char *) "size",(char *) "style", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O|iOOl:new_ThinSplitterWindow",kwnames,&obj0,&arg2,&obj2,&obj3,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxWindow,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (obj2) {
+        {
+            arg3 = &temp3;
+            if ( ! wxPoint_helper(obj2, &arg3)) SWIG_fail;
+        }
+    }
+    if (obj3) {
+        {
+            arg4 = &temp4;
+            if ( ! wxSize_helper(obj3, &arg4)) SWIG_fail;
+        }
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxThinSplitterWindow *)new wxThinSplitterWindow(arg1,arg2,(wxPoint const &)*arg3,(wxSize const &)*arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxThinSplitterWindow, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * ThinSplitterWindow_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_wxThinSplitterWindow, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_SplitterScrolledWindow(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxWindow *arg1 = (wxWindow *) 0 ;
+    int arg2 = (int) -1 ;
+    wxPoint const &arg3_defvalue = wxDefaultPosition ;
+    wxPoint *arg3 = (wxPoint *) &arg3_defvalue ;
+    wxSize const &arg4_defvalue = wxDefaultSize ;
+    wxSize *arg4 = (wxSize *) &arg4_defvalue ;
+    long arg5 = (long) 0 ;
+    wxSplitterScrolledWindow *result;
+    wxPoint temp3 ;
+    wxSize temp4 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    char *kwnames[] = {
+        (char *) "parent",(char *) "id",(char *) "pos",(char *) "size",(char *) "style", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O|iOOl:new_SplitterScrolledWindow",kwnames,&obj0,&arg2,&obj2,&obj3,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxWindow,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (obj2) {
+        {
+            arg3 = &temp3;
+            if ( ! wxPoint_helper(obj2, &arg3)) SWIG_fail;
+        }
+    }
+    if (obj3) {
+        {
+            arg4 = &temp4;
+            if ( ! wxSize_helper(obj3, &arg4)) SWIG_fail;
+        }
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxSplitterScrolledWindow *)new wxSplitterScrolledWindow(arg1,arg2,(wxPoint const &)*arg3,(wxSize const &)*arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxSplitterScrolledWindow, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * SplitterScrolledWindow_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_wxSplitterScrolledWindow, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_LEDNumberCtrl(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxWindow *arg1 = (wxWindow *) 0 ;
+    int arg2 = (int) -1 ;
+    wxPoint const &arg3_defvalue = wxDefaultPosition ;
+    wxPoint *arg3 = (wxPoint *) &arg3_defvalue ;
+    wxSize const &arg4_defvalue = wxDefaultSize ;
+    wxSize *arg4 = (wxSize *) &arg4_defvalue ;
+    long arg5 = (long) wxLED_ALIGN_LEFT|wxLED_DRAW_FADED ;
+    wxLEDNumberCtrl *result;
+    wxPoint temp3 ;
+    wxSize temp4 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    char *kwnames[] = {
+        (char *) "parent",(char *) "id",(char *) "pos",(char *) "size",(char *) "style", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O|iOOl:new_LEDNumberCtrl",kwnames,&obj0,&arg2,&obj2,&obj3,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxWindow,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (obj2) {
+        {
+            arg3 = &temp3;
+            if ( ! wxPoint_helper(obj2, &arg3)) SWIG_fail;
+        }
+    }
+    if (obj3) {
+        {
+            arg4 = &temp4;
+            if ( ! wxSize_helper(obj3, &arg4)) SWIG_fail;
+        }
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxLEDNumberCtrl *)new wxLEDNumberCtrl(arg1,arg2,(wxPoint const &)*arg3,(wxSize const &)*arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxLEDNumberCtrl, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_PreLEDNumberCtrl(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxLEDNumberCtrl *result;
+    char *kwnames[] = {
+        NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)":new_PreLEDNumberCtrl",kwnames)) goto fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxLEDNumberCtrl *)new wxLEDNumberCtrl();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxLEDNumberCtrl, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_LEDNumberCtrl_Create(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxLEDNumberCtrl *arg1 = (wxLEDNumberCtrl *) 0 ;
+    wxWindow *arg2 = (wxWindow *) 0 ;
+    int arg3 = (int) -1 ;
+    wxPoint const &arg4_defvalue = wxDefaultPosition ;
+    wxPoint *arg4 = (wxPoint *) &arg4_defvalue ;
+    wxSize const &arg5_defvalue = wxDefaultSize ;
+    wxSize *arg5 = (wxSize *) &arg5_defvalue ;
+    long arg6 = (long) wxLED_ALIGN_LEFT|wxLED_DRAW_FADED ;
+    bool result;
+    wxPoint temp4 ;
+    wxSize temp5 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj3 = 0 ;
+    PyObject * obj4 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "parent",(char *) "id",(char *) "pos",(char *) "size",(char *) "style", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|iOOl:LEDNumberCtrl_Create",kwnames,&obj0,&obj1,&arg3,&obj3,&obj4,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxLEDNumberCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxWindow,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (obj3) {
+        {
+            arg4 = &temp4;
+            if ( ! wxPoint_helper(obj3, &arg4)) SWIG_fail;
+        }
+    }
+    if (obj4) {
+        {
+            arg5 = &temp5;
+            if ( ! wxSize_helper(obj4, &arg5)) SWIG_fail;
+        }
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->Create(arg2,arg3,(wxPoint const &)*arg4,(wxSize const &)*arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_LEDNumberCtrl_GetAlignment(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxLEDNumberCtrl *arg1 = (wxLEDNumberCtrl *) 0 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:LEDNumberCtrl_GetAlignment",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxLEDNumberCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)((wxLEDNumberCtrl const *)arg1)->GetAlignment();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_LEDNumberCtrl_GetDrawFaded(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxLEDNumberCtrl *arg1 = (wxLEDNumberCtrl *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:LEDNumberCtrl_GetDrawFaded",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxLEDNumberCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)((wxLEDNumberCtrl const *)arg1)->GetDrawFaded();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_LEDNumberCtrl_GetValue(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxLEDNumberCtrl *arg1 = (wxLEDNumberCtrl *) 0 ;
+    wxString *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:LEDNumberCtrl_GetValue",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxLEDNumberCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        {
+            wxString const &_result_ref = ((wxLEDNumberCtrl const *)arg1)->GetValue();
+            result = (wxString *) &_result_ref;
+        }
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxString, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_LEDNumberCtrl_SetAlignment(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxLEDNumberCtrl *arg1 = (wxLEDNumberCtrl *) 0 ;
+    int arg2 ;
+    bool arg3 = (bool) true ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "Alignment",(char *) "Redraw", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi|O:LEDNumberCtrl_SetAlignment",kwnames,&obj0,&arg2,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxLEDNumberCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetAlignment((wxLEDValueAlign )arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_LEDNumberCtrl_SetDrawFaded(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxLEDNumberCtrl *arg1 = (wxLEDNumberCtrl *) 0 ;
+    bool arg2 ;
+    bool arg3 = (bool) true ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "DrawFaded",(char *) "Redraw", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:LEDNumberCtrl_SetDrawFaded",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxLEDNumberCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetDrawFaded(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_LEDNumberCtrl_SetValue(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxLEDNumberCtrl *arg1 = (wxLEDNumberCtrl *) 0 ;
+    wxString *arg2 = 0 ;
+    bool arg3 = (bool) true ;
+    bool temp2 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "Value",(char *) "Redraw", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:LEDNumberCtrl_SetValue",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxLEDNumberCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = wxString_in_helper(obj1);
+        if (arg2 == NULL) SWIG_fail;
+        temp2 = True;
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetValue((wxString const &)*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return NULL;
+}
+
+
+static PyObject * LEDNumberCtrl_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_wxLEDNumberCtrl, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_TreeListColumnInfo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxString const &arg1_defvalue = wxPyEmptyString ;
+    wxString *arg1 = (wxString *) &arg1_defvalue ;
+    int arg2 = (int) -1 ;
+    size_t arg3 = (size_t) 100 ;
+    int arg4 = (int) wxTL_ALIGN_LEFT ;
+    wxTreeListColumnInfo *result;
+    bool temp1 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "text",(char *) "image",(char *) "width",(char *) "alignment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"|OiOi:new_TreeListColumnInfo",kwnames,&obj0,&arg2,&obj2,&arg4)) goto fail;
+    if (obj0) {
+        {
+            arg1 = wxString_in_helper(obj0);
+            if (arg1 == NULL) SWIG_fail;
+            temp1 = True;
+        }
+    }
+    if (obj2) {
+        arg3 = (size_t) PyInt_AsLong(obj2);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxTreeListColumnInfo *)new wxTreeListColumnInfo((wxString const &)*arg1,arg2,arg3,(wxTreeListColumnAlign )arg4);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxTreeListColumnInfo, 1);
+    {
+        if (temp1)
+        delete arg1;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp1)
+        delete arg1;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListColumnInfo_GetAlignment(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxTreeListColumnInfo *arg1 = (wxTreeListColumnInfo *) 0 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:TreeListColumnInfo_GetAlignment",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxTreeListColumnInfo,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)((wxTreeListColumnInfo const *)arg1)->GetAlignment();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListColumnInfo_GetText(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxTreeListColumnInfo *arg1 = (wxTreeListColumnInfo *) 0 ;
+    wxString result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:TreeListColumnInfo_GetText",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxTreeListColumnInfo,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = ((wxTreeListColumnInfo const *)arg1)->GetText();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+#if wxUSE_UNICODE
+        resultobj = PyUnicode_FromWideChar((&result)->c_str(), (&result)->Len());
+#else
+        resultobj = PyString_FromStringAndSize((&result)->c_str(), (&result)->Len());
+#endif
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListColumnInfo_GetImage(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxTreeListColumnInfo *arg1 = (wxTreeListColumnInfo *) 0 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:TreeListColumnInfo_GetImage",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxTreeListColumnInfo,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)((wxTreeListColumnInfo const *)arg1)->GetImage();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListColumnInfo_GetSelectedImage(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxTreeListColumnInfo *arg1 = (wxTreeListColumnInfo *) 0 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:TreeListColumnInfo_GetSelectedImage",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxTreeListColumnInfo,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)((wxTreeListColumnInfo const *)arg1)->GetSelectedImage();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListColumnInfo_GetWidth(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxTreeListColumnInfo *arg1 = (wxTreeListColumnInfo *) 0 ;
+    size_t result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:TreeListColumnInfo_GetWidth",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxTreeListColumnInfo,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (size_t)((wxTreeListColumnInfo const *)arg1)->GetWidth();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListColumnInfo_SetAlignment(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxTreeListColumnInfo *arg1 = (wxTreeListColumnInfo *) 0 ;
+    int arg2 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "alignment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:TreeListColumnInfo_SetAlignment",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxTreeListColumnInfo,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetAlignment((wxTreeListColumnAlign )arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListColumnInfo_SetText(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxTreeListColumnInfo *arg1 = (wxTreeListColumnInfo *) 0 ;
+    wxString *arg2 = 0 ;
+    bool temp2 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "text", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListColumnInfo_SetText",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxTreeListColumnInfo,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = wxString_in_helper(obj1);
+        if (arg2 == NULL) SWIG_fail;
+        temp2 = True;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetText((wxString const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListColumnInfo_SetImage(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxTreeListColumnInfo *arg1 = (wxTreeListColumnInfo *) 0 ;
+    int arg2 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "image", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:TreeListColumnInfo_SetImage",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxTreeListColumnInfo,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetImage(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListColumnInfo_SetSelectedImage(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxTreeListColumnInfo *arg1 = (wxTreeListColumnInfo *) 0 ;
+    int arg2 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "image", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:TreeListColumnInfo_SetSelectedImage",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxTreeListColumnInfo,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetSelectedImage(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListColumnInfo_SetWidth(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxTreeListColumnInfo *arg1 = (wxTreeListColumnInfo *) 0 ;
+    size_t arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "with", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListColumnInfo_SetWidth",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxTreeListColumnInfo,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (size_t) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetWidth(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * TreeListColumnInfo_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_wxTreeListColumnInfo, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_TreeListCtrl(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxWindow *arg1 = (wxWindow *) 0 ;
+    int arg2 = (int) -1 ;
+    wxPoint const &arg3_defvalue = wxDefaultPosition ;
+    wxPoint *arg3 = (wxPoint *) &arg3_defvalue ;
+    wxSize const &arg4_defvalue = wxDefaultSize ;
+    wxSize *arg4 = (wxSize *) &arg4_defvalue ;
+    long arg5 = (long) wxTR_DEFAULT_STYLE ;
+    wxValidator const &arg6_defvalue = wxDefaultValidator ;
+    wxValidator *arg6 = (wxValidator *) &arg6_defvalue ;
+    wxString const &arg7_defvalue = wxPyTreeListCtrlNameStr ;
+    wxString *arg7 = (wxString *) &arg7_defvalue ;
+    wxPyTreeListCtrl *result;
+    wxPoint temp3 ;
+    wxSize temp4 ;
+    bool temp7 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    PyObject * obj5 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "parent",(char *) "id",(char *) "pos",(char *) "size",(char *) "style",(char *) "validator",(char *) "name", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O|iOOlOO:new_TreeListCtrl",kwnames,&obj0,&arg2,&obj2,&obj3,&arg5,&obj5,&obj6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxWindow,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (obj2) {
+        {
+            arg3 = &temp3;
+            if ( ! wxPoint_helper(obj2, &arg3)) SWIG_fail;
+        }
+    }
+    if (obj3) {
+        {
+            arg4 = &temp4;
+            if ( ! wxSize_helper(obj3, &arg4)) SWIG_fail;
+        }
+    }
+    if (obj5) {
+        if ((SWIG_ConvertPtr(obj5,(void **) &arg6, SWIGTYPE_p_wxValidator,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+        if (arg6 == NULL) {
+            PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+        }
+    }
+    if (obj6) {
+        {
+            arg7 = wxString_in_helper(obj6);
+            if (arg7 == NULL) SWIG_fail;
+            temp7 = True;
+        }
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyTreeListCtrl *)new wxPyTreeListCtrl(arg1,arg2,(wxPoint const &)*arg3,(wxSize const &)*arg4,arg5,(wxValidator const &)*arg6,(wxString const &)*arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxPyTreeListCtrl, 1);
+    {
+        if (temp7)
+        delete arg7;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp7)
+        delete arg7;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_PreTreeListCtrl(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *result;
+    char *kwnames[] = {
+        NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)":new_PreTreeListCtrl",kwnames)) goto fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyTreeListCtrl *)new wxPyTreeListCtrl();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxPyTreeListCtrl, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_Create(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxWindow *arg2 = (wxWindow *) 0 ;
+    int arg3 = (int) -1 ;
+    wxPoint const &arg4_defvalue = wxDefaultPosition ;
+    wxPoint *arg4 = (wxPoint *) &arg4_defvalue ;
+    wxSize const &arg5_defvalue = wxDefaultSize ;
+    wxSize *arg5 = (wxSize *) &arg5_defvalue ;
+    long arg6 = (long) wxTR_DEFAULT_STYLE ;
+    wxValidator const &arg7_defvalue = wxDefaultValidator ;
+    wxValidator *arg7 = (wxValidator *) &arg7_defvalue ;
+    wxString const &arg8_defvalue = wxPyTreeListCtrlNameStr ;
+    wxString *arg8 = (wxString *) &arg8_defvalue ;
+    bool result;
+    wxPoint temp4 ;
+    wxSize temp5 ;
+    bool temp8 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj3 = 0 ;
+    PyObject * obj4 = 0 ;
+    PyObject * obj6 = 0 ;
+    PyObject * obj7 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "parent",(char *) "id",(char *) "pos",(char *) "size",(char *) "style",(char *) "validator",(char *) "name", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|iOOlOO:TreeListCtrl_Create",kwnames,&obj0,&obj1,&arg3,&obj3,&obj4,&arg6,&obj6,&obj7)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxWindow,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (obj3) {
+        {
+            arg4 = &temp4;
+            if ( ! wxPoint_helper(obj3, &arg4)) SWIG_fail;
+        }
+    }
+    if (obj4) {
+        {
+            arg5 = &temp5;
+            if ( ! wxSize_helper(obj4, &arg5)) SWIG_fail;
+        }
+    }
+    if (obj6) {
+        if ((SWIG_ConvertPtr(obj6,(void **) &arg7, SWIGTYPE_p_wxValidator,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+        if (arg7 == NULL) {
+            PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+        }
+    }
+    if (obj7) {
+        {
+            arg8 = wxString_in_helper(obj7);
+            if (arg8 == NULL) SWIG_fail;
+            temp8 = True;
+        }
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->Create(arg2,arg3,(wxPoint const &)*arg4,(wxSize const &)*arg5,arg6,(wxValidator const &)*arg7,(wxString const &)*arg8);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    {
+        if (temp8)
+        delete arg8;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp8)
+        delete arg8;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl__setCallbackInfo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    PyObject *arg2 = (PyObject *) 0 ;
+    PyObject *arg3 = (PyObject *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "self",(char *) "_class", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:TreeListCtrl__setCallbackInfo",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = obj1;
+    arg3 = obj2;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->_setCallbackInfo(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetCount(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    size_t result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:TreeListCtrl_GetCount",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (size_t)((wxPyTreeListCtrl const *)arg1)->GetCount();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetIndent(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    unsigned int result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:TreeListCtrl_GetIndent",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (unsigned int)((wxPyTreeListCtrl const *)arg1)->GetIndent();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_SetIndent(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    unsigned int arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "indent", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_SetIndent",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (unsigned int) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetIndent(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetSpacing(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    unsigned int result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:TreeListCtrl_GetSpacing",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (unsigned int)((wxPyTreeListCtrl const *)arg1)->GetSpacing();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_SetSpacing(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    unsigned int arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "spacing", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_SetSpacing",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (unsigned int) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetSpacing(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetLineSpacing(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    unsigned int result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:TreeListCtrl_GetLineSpacing",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (unsigned int)((wxPyTreeListCtrl const *)arg1)->GetLineSpacing();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_SetLineSpacing(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    unsigned int arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "spacing", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_SetLineSpacing",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (unsigned int) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetLineSpacing(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetImageList(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxImageList *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:TreeListCtrl_GetImageList",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxImageList *)((wxPyTreeListCtrl const *)arg1)->GetImageList();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxObject(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetStateImageList(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxImageList *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:TreeListCtrl_GetStateImageList",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxImageList *)((wxPyTreeListCtrl const *)arg1)->GetStateImageList();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxObject(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetButtonsImageList(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxImageList *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:TreeListCtrl_GetButtonsImageList",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxImageList *)((wxPyTreeListCtrl const *)arg1)->GetButtonsImageList();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxObject(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_SetImageList(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxImageList *arg2 = (wxImageList *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "imageList", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_SetImageList",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxImageList,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetImageList(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_SetStateImageList(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxImageList *arg2 = (wxImageList *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "imageList", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_SetStateImageList",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxImageList,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetStateImageList(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_SetButtonsImageList(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxImageList *arg2 = (wxImageList *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "imageList", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_SetButtonsImageList",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxImageList,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetButtonsImageList(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_AssignImageList(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxImageList *arg2 = (wxImageList *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "imageList", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_AssignImageList",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxImageList,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->AssignImageList(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_AssignStateImageList(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxImageList *arg2 = (wxImageList *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "imageList", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_AssignStateImageList",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxImageList,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->AssignStateImageList(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_AssignButtonsImageList(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxImageList *arg2 = (wxImageList *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "imageList", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_AssignButtonsImageList",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxImageList,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->AssignButtonsImageList(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_AddColumn(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxString *arg2 = 0 ;
+    bool temp2 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "text", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_AddColumn",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = wxString_in_helper(obj1);
+        if (arg2 == NULL) SWIG_fail;
+        temp2 = True;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->AddColumn((wxString const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_AddColumnInfo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeListColumnInfo *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "col", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_AddColumnInfo",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeListColumnInfo,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->AddColumn((wxTreeListColumnInfo const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_InsertColumn(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    size_t arg2 ;
+    wxString *arg3 = 0 ;
+    bool temp3 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "before",(char *) "text", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:TreeListCtrl_InsertColumn",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (size_t) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        arg3 = wxString_in_helper(obj2);
+        if (arg3 == NULL) SWIG_fail;
+        temp3 = True;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->InsertColumn(arg2,(wxString const &)*arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        if (temp3)
+        delete arg3;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp3)
+        delete arg3;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_InsertColumnInfo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    size_t arg2 ;
+    wxTreeListColumnInfo *arg3 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "before",(char *) "col", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:TreeListCtrl_InsertColumnInfo",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (size_t) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj2,(void **) &arg3, SWIGTYPE_p_wxTreeListColumnInfo,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg3 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->InsertColumn(arg2,(wxTreeListColumnInfo const &)*arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_RemoveColumn(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    size_t arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "column", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_RemoveColumn",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (size_t) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->RemoveColumn(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetColumnCount(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    size_t result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:TreeListCtrl_GetColumnCount",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (size_t)((wxPyTreeListCtrl const *)arg1)->GetColumnCount();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_SetColumnWidth(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    size_t arg2 ;
+    size_t arg3 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "column",(char *) "width", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:TreeListCtrl_SetColumnWidth",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (size_t) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    arg3 = (size_t) PyInt_AsLong(obj2);
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetColumnWidth(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetColumnWidth(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    size_t arg2 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "column", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_GetColumnWidth",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (size_t) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)((wxPyTreeListCtrl const *)arg1)->GetColumnWidth(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_SetMainColumn(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    size_t arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "column", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_SetMainColumn",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (size_t) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetMainColumn(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetMainColumn(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    size_t result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:TreeListCtrl_GetMainColumn",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (size_t)((wxPyTreeListCtrl const *)arg1)->GetMainColumn();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_SetColumnText(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    size_t arg2 ;
+    wxString *arg3 = 0 ;
+    bool temp3 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "column",(char *) "text", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:TreeListCtrl_SetColumnText",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (size_t) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        arg3 = wxString_in_helper(obj2);
+        if (arg3 == NULL) SWIG_fail;
+        temp3 = True;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetColumnText(arg2,(wxString const &)*arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        if (temp3)
+        delete arg3;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp3)
+        delete arg3;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetColumnText(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    size_t arg2 ;
+    wxString result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "column", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_GetColumnText",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (size_t) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = ((wxPyTreeListCtrl const *)arg1)->GetColumnText(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+#if wxUSE_UNICODE
+        resultobj = PyUnicode_FromWideChar((&result)->c_str(), (&result)->Len());
+#else
+        resultobj = PyString_FromStringAndSize((&result)->c_str(), (&result)->Len());
+#endif
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_SetColumn(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    size_t arg2 ;
+    wxTreeListColumnInfo *arg3 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "column",(char *) "info", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:TreeListCtrl_SetColumn",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (size_t) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj2,(void **) &arg3, SWIGTYPE_p_wxTreeListColumnInfo,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg3 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetColumn(arg2,(wxTreeListColumnInfo const &)*arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetColumn(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    size_t arg2 ;
+    wxTreeListColumnInfo *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "column", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_GetColumn",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (size_t) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        {
+            wxTreeListColumnInfo &_result_ref = (arg1)->GetColumn(arg2);
+            result = (wxTreeListColumnInfo *) &_result_ref;
+        }
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxTreeListColumnInfo, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_SetColumnAlignment(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    size_t arg2 ;
+    int arg3 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "column",(char *) "align", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOi:TreeListCtrl_SetColumnAlignment",kwnames,&obj0,&obj1,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (size_t) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetColumnAlignment(arg2,(wxTreeListColumnAlign )arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetColumnAlignment(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    size_t arg2 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "column", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_GetColumnAlignment",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (size_t) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)((wxPyTreeListCtrl const *)arg1)->GetColumnAlignment(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_SetColumnImage(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    size_t arg2 ;
+    int arg3 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "column",(char *) "image", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOi:TreeListCtrl_SetColumnImage",kwnames,&obj0,&obj1,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (size_t) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetColumnImage(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetColumnImage(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    size_t arg2 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "column", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_GetColumnImage",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (size_t) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)((wxPyTreeListCtrl const *)arg1)->GetColumnImage(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetItemText(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    int arg3 = (int) -1 ;
+    wxString result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item",(char *) "column", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|i:TreeListCtrl_GetItemText",kwnames,&obj0,&obj1,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = wxPyTreeListCtrl_GetItemText(arg1,(wxTreeItemId const &)*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+#if wxUSE_UNICODE
+        resultobj = PyUnicode_FromWideChar((&result)->c_str(), (&result)->Len());
+#else
+        resultobj = PyString_FromStringAndSize((&result)->c_str(), (&result)->Len());
+#endif
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetItemImage(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    int arg3 = (int) -1 ;
+    int arg4 = (int) wxTreeItemIcon_Normal ;
+    int result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item",(char *) "column",(char *) "which", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|ii:TreeListCtrl_GetItemImage",kwnames,&obj0,&obj1,&arg3,&arg4)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)wxPyTreeListCtrl_GetItemImage(arg1,(wxTreeItemId const &)*arg2,arg3,(wxTreeItemIcon )arg4);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_SetItemText(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    wxString *arg3 = 0 ;
+    int arg4 = (int) -1 ;
+    bool temp3 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item",(char *) "text",(char *) "column", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO|i:TreeListCtrl_SetItemText",kwnames,&obj0,&obj1,&obj2,&arg4)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        arg3 = wxString_in_helper(obj2);
+        if (arg3 == NULL) SWIG_fail;
+        temp3 = True;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        wxPyTreeListCtrl_SetItemText(arg1,(wxTreeItemId const &)*arg2,(wxString const &)*arg3,arg4);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        if (temp3)
+        delete arg3;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp3)
+        delete arg3;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_SetItemImage(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    int arg3 ;
+    int arg4 = (int) -1 ;
+    int arg5 = (int) wxTreeItemIcon_Normal ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item",(char *) "image",(char *) "column",(char *) "which", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOi|ii:TreeListCtrl_SetItemImage",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        wxPyTreeListCtrl_SetItemImage(arg1,(wxTreeItemId const &)*arg2,arg3,arg4,(wxTreeItemIcon )arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetItemData(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    wxPyTreeItemData *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_GetItemData",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyTreeItemData *)wxPyTreeListCtrl_GetItemData(arg1,(wxTreeItemId const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxPyTreeItemData, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_SetItemData(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    wxPyTreeItemData *arg3 = (wxPyTreeItemData *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item",(char *) "data", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:TreeListCtrl_SetItemData",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if ((SWIG_ConvertPtr(obj2,(void **) &arg3, SWIGTYPE_p_wxPyTreeItemData,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        wxPyTreeListCtrl_SetItemData(arg1,(wxTreeItemId const &)*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetItemPyData(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    PyObject *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_GetItemPyData",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (PyObject *)wxPyTreeListCtrl_GetItemPyData(arg1,(wxTreeItemId const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = result;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_SetItemPyData(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    PyObject *arg3 = (PyObject *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item",(char *) "obj", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:TreeListCtrl_SetItemPyData",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    arg3 = obj2;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        wxPyTreeListCtrl_SetItemPyData(arg1,(wxTreeItemId const &)*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_SetItemHasChildren(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    bool arg3 = (bool) True ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item",(char *) "has", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:TreeListCtrl_SetItemHasChildren",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetItemHasChildren((wxTreeItemId const &)*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_SetItemBold(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    bool arg3 = (bool) True ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item",(char *) "bold", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:TreeListCtrl_SetItemBold",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetItemBold((wxTreeItemId const &)*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_SetItemTextColour(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    wxColour *arg3 = 0 ;
+    wxColour temp3 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item",(char *) "col", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:TreeListCtrl_SetItemTextColour",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        arg3 = &temp3;
+        if ( ! wxColour_helper(obj2, &arg3)) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetItemTextColour((wxTreeItemId const &)*arg2,(wxColour const &)*arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_SetItemBackgroundColour(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    wxColour *arg3 = 0 ;
+    wxColour temp3 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item",(char *) "col", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:TreeListCtrl_SetItemBackgroundColour",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        arg3 = &temp3;
+        if ( ! wxColour_helper(obj2, &arg3)) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetItemBackgroundColour((wxTreeItemId const &)*arg2,(wxColour const &)*arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_SetItemFont(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    wxFont *arg3 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item",(char *) "font", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:TreeListCtrl_SetItemFont",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if ((SWIG_ConvertPtr(obj2,(void **) &arg3, SWIGTYPE_p_wxFont,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg3 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetItemFont((wxTreeItemId const &)*arg2,(wxFont const &)*arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetItemBold(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_GetItemBold",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)((wxPyTreeListCtrl const *)arg1)->GetItemBold((wxTreeItemId const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetItemTextColour(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    wxColour result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_GetItemTextColour",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = ((wxPyTreeListCtrl const *)arg1)->GetItemTextColour((wxTreeItemId const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        wxColour * resultptr;
+        resultptr = new wxColour((wxColour &) result);
+        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_wxColour, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetItemBackgroundColour(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    wxColour result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_GetItemBackgroundColour",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = ((wxPyTreeListCtrl const *)arg1)->GetItemBackgroundColour((wxTreeItemId const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        wxColour * resultptr;
+        resultptr = new wxColour((wxColour &) result);
+        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_wxColour, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetItemFont(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    wxFont result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_GetItemFont",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = ((wxPyTreeListCtrl const *)arg1)->GetItemFont((wxTreeItemId const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        wxFont * resultptr;
+        resultptr = new wxFont((wxFont &) result);
+        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_wxFont, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_IsVisible(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_IsVisible",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)((wxPyTreeListCtrl const *)arg1)->IsVisible((wxTreeItemId const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_ItemHasChildren(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_ItemHasChildren",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)((wxPyTreeListCtrl const *)arg1)->ItemHasChildren((wxTreeItemId const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_IsExpanded(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_IsExpanded",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)((wxPyTreeListCtrl const *)arg1)->IsExpanded((wxTreeItemId const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_IsSelected(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_IsSelected",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)((wxPyTreeListCtrl const *)arg1)->IsSelected((wxTreeItemId const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_IsBold(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_IsBold",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)((wxPyTreeListCtrl const *)arg1)->IsBold((wxTreeItemId const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetChildrenCount(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    bool arg3 = (bool) True ;
+    size_t result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item",(char *) "recursively", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:TreeListCtrl_GetChildrenCount",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (size_t)(arg1)->GetChildrenCount((wxTreeItemId const &)*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetRootItem(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:TreeListCtrl_GetRootItem",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = ((wxPyTreeListCtrl const *)arg1)->GetRootItem();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        wxTreeItemId * resultptr;
+        resultptr = new wxTreeItemId((wxTreeItemId &) result);
+        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_wxTreeItemId, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetSelection(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:TreeListCtrl_GetSelection",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = ((wxPyTreeListCtrl const *)arg1)->GetSelection();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        wxTreeItemId * resultptr;
+        resultptr = new wxTreeItemId((wxTreeItemId &) result);
+        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_wxTreeItemId, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetSelections(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    PyObject *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:TreeListCtrl_GetSelections",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (PyObject *)wxPyTreeListCtrl_GetSelections(arg1);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = result;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetItemParent(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    wxTreeItemId result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_GetItemParent",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = ((wxPyTreeListCtrl const *)arg1)->GetParent((wxTreeItemId const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        wxTreeItemId * resultptr;
+        resultptr = new wxTreeItemId((wxTreeItemId &) result);
+        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_wxTreeItemId, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetFirstChild(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    PyObject *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_GetFirstChild",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (PyObject *)wxPyTreeListCtrl_GetFirstChild(arg1,(wxTreeItemId const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = result;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetNextChild(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    long arg3 ;
+    PyObject *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item",(char *) "cookie", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOl:TreeListCtrl_GetNextChild",kwnames,&obj0,&obj1,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (PyObject *)wxPyTreeListCtrl_GetNextChild(arg1,(wxTreeItemId const &)*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = result;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetLastChild(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    wxTreeItemId result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_GetLastChild",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = ((wxPyTreeListCtrl const *)arg1)->GetLastChild((wxTreeItemId const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        wxTreeItemId * resultptr;
+        resultptr = new wxTreeItemId((wxTreeItemId &) result);
+        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_wxTreeItemId, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetNextSibling(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    wxTreeItemId result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_GetNextSibling",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = ((wxPyTreeListCtrl const *)arg1)->GetNextSibling((wxTreeItemId const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        wxTreeItemId * resultptr;
+        resultptr = new wxTreeItemId((wxTreeItemId &) result);
+        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_wxTreeItemId, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetPrevSibling(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    wxTreeItemId result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_GetPrevSibling",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = ((wxPyTreeListCtrl const *)arg1)->GetPrevSibling((wxTreeItemId const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        wxTreeItemId * resultptr;
+        resultptr = new wxTreeItemId((wxTreeItemId &) result);
+        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_wxTreeItemId, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetFirstVisibleItem(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:TreeListCtrl_GetFirstVisibleItem",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = ((wxPyTreeListCtrl const *)arg1)->GetFirstVisibleItem();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        wxTreeItemId * resultptr;
+        resultptr = new wxTreeItemId((wxTreeItemId &) result);
+        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_wxTreeItemId, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetNextVisible(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    wxTreeItemId result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_GetNextVisible",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = ((wxPyTreeListCtrl const *)arg1)->GetNextVisible((wxTreeItemId const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        wxTreeItemId * resultptr;
+        resultptr = new wxTreeItemId((wxTreeItemId &) result);
+        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_wxTreeItemId, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetPrevVisible(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    wxTreeItemId result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_GetPrevVisible",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = ((wxPyTreeListCtrl const *)arg1)->GetPrevVisible((wxTreeItemId const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        wxTreeItemId * resultptr;
+        resultptr = new wxTreeItemId((wxTreeItemId &) result);
+        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_wxTreeItemId, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetNext(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    wxTreeItemId result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_GetNext",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = ((wxPyTreeListCtrl const *)arg1)->GetNext((wxTreeItemId const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        wxTreeItemId * resultptr;
+        resultptr = new wxTreeItemId((wxTreeItemId &) result);
+        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_wxTreeItemId, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_AddRoot(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxString *arg2 = 0 ;
+    int arg3 = (int) -1 ;
+    int arg4 = (int) -1 ;
+    wxPyTreeItemData *arg5 = (wxPyTreeItemData *) NULL ;
+    wxTreeItemId result;
+    bool temp2 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj4 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "text",(char *) "image",(char *) "selectedImage",(char *) "data", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|iiO:TreeListCtrl_AddRoot",kwnames,&obj0,&obj1,&arg3,&arg4,&obj4)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = wxString_in_helper(obj1);
+        if (arg2 == NULL) SWIG_fail;
+        temp2 = True;
+    }
+    if (obj4) {
+        if ((SWIG_ConvertPtr(obj4,(void **) &arg5, SWIGTYPE_p_wxPyTreeItemData,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (arg1)->AddRoot((wxString const &)*arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        wxTreeItemId * resultptr;
+        resultptr = new wxTreeItemId((wxTreeItemId &) result);
+        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_wxTreeItemId, 1);
+    }
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_PrependItem(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    wxString *arg3 = 0 ;
+    int arg4 = (int) -1 ;
+    int arg5 = (int) -1 ;
+    wxPyTreeItemData *arg6 = (wxPyTreeItemData *) NULL ;
+    wxTreeItemId result;
+    bool temp3 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj5 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "parent",(char *) "text",(char *) "image",(char *) "selectedImage",(char *) "data", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO|iiO:TreeListCtrl_PrependItem",kwnames,&obj0,&obj1,&obj2,&arg4,&arg5,&obj5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        arg3 = wxString_in_helper(obj2);
+        if (arg3 == NULL) SWIG_fail;
+        temp3 = True;
+    }
+    if (obj5) {
+        if ((SWIG_ConvertPtr(obj5,(void **) &arg6, SWIGTYPE_p_wxPyTreeItemData,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (arg1)->PrependItem((wxTreeItemId const &)*arg2,(wxString const &)*arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        wxTreeItemId * resultptr;
+        resultptr = new wxTreeItemId((wxTreeItemId &) result);
+        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_wxTreeItemId, 1);
+    }
+    {
+        if (temp3)
+        delete arg3;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp3)
+        delete arg3;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_InsertItem(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    wxTreeItemId *arg3 = 0 ;
+    wxString *arg4 = 0 ;
+    int arg5 = (int) -1 ;
+    int arg6 = (int) -1 ;
+    wxPyTreeItemData *arg7 = (wxPyTreeItemData *) NULL ;
+    wxTreeItemId result;
+    bool temp4 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "parent",(char *) "idPrevious",(char *) "text",(char *) "image",(char *) "selectedImage",(char *) "data", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOOO|iiO:TreeListCtrl_InsertItem",kwnames,&obj0,&obj1,&obj2,&obj3,&arg5,&arg6,&obj6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if ((SWIG_ConvertPtr(obj2,(void **) &arg3, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg3 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        arg4 = wxString_in_helper(obj3);
+        if (arg4 == NULL) SWIG_fail;
+        temp4 = True;
+    }
+    if (obj6) {
+        if ((SWIG_ConvertPtr(obj6,(void **) &arg7, SWIGTYPE_p_wxPyTreeItemData,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (arg1)->InsertItem((wxTreeItemId const &)*arg2,(wxTreeItemId const &)*arg3,(wxString const &)*arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        wxTreeItemId * resultptr;
+        resultptr = new wxTreeItemId((wxTreeItemId &) result);
+        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_wxTreeItemId, 1);
+    }
+    {
+        if (temp4)
+        delete arg4;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp4)
+        delete arg4;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_InsertItemBefore(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    size_t arg3 ;
+    wxString *arg4 = 0 ;
+    int arg5 = (int) -1 ;
+    int arg6 = (int) -1 ;
+    wxPyTreeItemData *arg7 = (wxPyTreeItemData *) NULL ;
+    wxTreeItemId result;
+    bool temp4 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "parent",(char *) "index",(char *) "text",(char *) "image",(char *) "selectedImage",(char *) "data", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOOO|iiO:TreeListCtrl_InsertItemBefore",kwnames,&obj0,&obj1,&obj2,&obj3,&arg5,&arg6,&obj6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    arg3 = (size_t) PyInt_AsLong(obj2);
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        arg4 = wxString_in_helper(obj3);
+        if (arg4 == NULL) SWIG_fail;
+        temp4 = True;
+    }
+    if (obj6) {
+        if ((SWIG_ConvertPtr(obj6,(void **) &arg7, SWIGTYPE_p_wxPyTreeItemData,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (arg1)->InsertItem((wxTreeItemId const &)*arg2,arg3,(wxString const &)*arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        wxTreeItemId * resultptr;
+        resultptr = new wxTreeItemId((wxTreeItemId &) result);
+        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_wxTreeItemId, 1);
+    }
+    {
+        if (temp4)
+        delete arg4;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp4)
+        delete arg4;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_AppendItem(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    wxString *arg3 = 0 ;
+    int arg4 = (int) -1 ;
+    int arg5 = (int) -1 ;
+    wxPyTreeItemData *arg6 = (wxPyTreeItemData *) NULL ;
+    wxTreeItemId result;
+    bool temp3 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj5 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "parent",(char *) "text",(char *) "image",(char *) "selectedImage",(char *) "data", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO|iiO:TreeListCtrl_AppendItem",kwnames,&obj0,&obj1,&obj2,&arg4,&arg5,&obj5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        arg3 = wxString_in_helper(obj2);
+        if (arg3 == NULL) SWIG_fail;
+        temp3 = True;
+    }
+    if (obj5) {
+        if ((SWIG_ConvertPtr(obj5,(void **) &arg6, SWIGTYPE_p_wxPyTreeItemData,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (arg1)->AppendItem((wxTreeItemId const &)*arg2,(wxString const &)*arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        wxTreeItemId * resultptr;
+        resultptr = new wxTreeItemId((wxTreeItemId &) result);
+        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_wxTreeItemId, 1);
+    }
+    {
+        if (temp3)
+        delete arg3;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp3)
+        delete arg3;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_Delete(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_Delete",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Delete((wxTreeItemId const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_DeleteChildren(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_DeleteChildren",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DeleteChildren((wxTreeItemId const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_DeleteAllItems(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:TreeListCtrl_DeleteAllItems",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DeleteAllItems();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_Expand(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_Expand",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Expand((wxTreeItemId const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_ExpandAll(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_ExpandAll",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->ExpandAll((wxTreeItemId const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_Collapse(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_Collapse",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Collapse((wxTreeItemId const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_CollapseAndReset(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_CollapseAndReset",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->CollapseAndReset((wxTreeItemId const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_Toggle(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_Toggle",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Toggle((wxTreeItemId const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_Unselect(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:TreeListCtrl_Unselect",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Unselect();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_UnselectAll(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:TreeListCtrl_UnselectAll",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->UnselectAll();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_SelectItem(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    bool arg3 = (bool) True ;
+    bool arg4 = (bool) False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item",(char *) "unselect_others",(char *) "extended_select", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|OO:TreeListCtrl_SelectItem",kwnames,&obj0,&obj1,&obj2,&obj3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    if (obj3) {
+        arg4 = PyInt_AsLong(obj3) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SelectItem((wxTreeItemId const &)*arg2,arg3,arg4);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_EnsureVisible(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_EnsureVisible",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->EnsureVisible((wxTreeItemId const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_ScrollTo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_ScrollTo",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->ScrollTo((wxTreeItemId const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_HitTest(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxPoint *arg2 = 0 ;
+    int *arg3 = 0 ;
+    int *arg4 = 0 ;
+    wxTreeItemId result;
+    wxPoint temp2 ;
+    int temp3 ;
+    int temp4 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "point", NULL 
+    };
+    
+    arg3 = &temp3;
+    arg4 = &temp4;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_HitTest",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = &temp2;
+        if ( ! wxPoint_helper(obj1, &arg2)) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (arg1)->HitTest((wxPoint const &)*arg2,*arg3,*arg4);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        wxTreeItemId * resultptr;
+        resultptr = new wxTreeItemId((wxTreeItemId &) result);
+        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_wxTreeItemId, 1);
+    }
+    {
+        PyObject *o = PyInt_FromLong((long) (*arg3));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    {
+        PyObject *o = PyInt_FromLong((long) (*arg4));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetBoundingRect(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    bool arg3 = (bool) False ;
+    PyObject *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item",(char *) "textOnly", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:TreeListCtrl_GetBoundingRect",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (PyObject *)wxPyTreeListCtrl_GetBoundingRect(arg1,(wxTreeItemId const &)*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = result;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_EditLabel(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_EditLabel",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->EditLabel((wxTreeItemId const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_Edit(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_Edit",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Edit((wxTreeItemId const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_SortChildren(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_SortChildren",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SortChildren((wxTreeItemId const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetItemSelectedImage(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_GetItemSelectedImage",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)((wxPyTreeListCtrl const *)arg1)->GetItemSelectedImage((wxTreeItemId const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_SetItemSelectedImage(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    int arg3 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item",(char *) "image", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOi:TreeListCtrl_SetItemSelectedImage",kwnames,&obj0,&obj1,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetItemSelectedImage((wxTreeItemId const &)*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetHeaderWindow(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxWindow *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:TreeListCtrl_GetHeaderWindow",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxWindow *)((wxPyTreeListCtrl const *)arg1)->GetHeaderWindow();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxObject(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetMainWindow(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxWindow *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:TreeListCtrl_GetMainWindow",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxWindow *)((wxPyTreeListCtrl const *)arg1)->GetMainWindow();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxObject(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * TreeListCtrl_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_wxPyTreeListCtrl, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyMethodDef SwigMethods[] = {
+        { (char *)"new_DynamicSashSplitEvent", (PyCFunction) _wrap_new_DynamicSashSplitEvent, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"DynamicSashSplitEvent_swigregister", DynamicSashSplitEvent_swigregister, METH_VARARGS },
+        { (char *)"new_DynamicSashUnifyEvent", (PyCFunction) _wrap_new_DynamicSashUnifyEvent, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"DynamicSashUnifyEvent_swigregister", DynamicSashUnifyEvent_swigregister, METH_VARARGS },
+        { (char *)"new_DynamicSashWindow", (PyCFunction) _wrap_new_DynamicSashWindow, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"new_PreDynamicSashWindow", (PyCFunction) _wrap_new_PreDynamicSashWindow, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"DynamicSashWindow_Create", (PyCFunction) _wrap_DynamicSashWindow_Create, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"DynamicSashWindow_GetHScrollBar", (PyCFunction) _wrap_DynamicSashWindow_GetHScrollBar, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"DynamicSashWindow_GetVScrollBar", (PyCFunction) _wrap_DynamicSashWindow_GetVScrollBar, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"DynamicSashWindow_swigregister", DynamicSashWindow_swigregister, METH_VARARGS },
+        { (char *)"new_EditableListBox", (PyCFunction) _wrap_new_EditableListBox, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"EditableListBox_SetStrings", (PyCFunction) _wrap_EditableListBox_SetStrings, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"EditableListBox_GetStrings", (PyCFunction) _wrap_EditableListBox_GetStrings, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"EditableListBox_GetListCtrl", (PyCFunction) _wrap_EditableListBox_GetListCtrl, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"EditableListBox_GetDelButton", (PyCFunction) _wrap_EditableListBox_GetDelButton, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"EditableListBox_GetNewButton", (PyCFunction) _wrap_EditableListBox_GetNewButton, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"EditableListBox_GetUpButton", (PyCFunction) _wrap_EditableListBox_GetUpButton, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"EditableListBox_GetDownButton", (PyCFunction) _wrap_EditableListBox_GetDownButton, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"EditableListBox_GetEditButton", (PyCFunction) _wrap_EditableListBox_GetEditButton, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"EditableListBox_swigregister", EditableListBox_swigregister, METH_VARARGS },
+        { (char *)"new_RemotelyScrolledTreeCtrl", (PyCFunction) _wrap_new_RemotelyScrolledTreeCtrl, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"RemotelyScrolledTreeCtrl_HideVScrollbar", (PyCFunction) _wrap_RemotelyScrolledTreeCtrl_HideVScrollbar, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"RemotelyScrolledTreeCtrl_AdjustRemoteScrollbars", (PyCFunction) _wrap_RemotelyScrolledTreeCtrl_AdjustRemoteScrollbars, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"RemotelyScrolledTreeCtrl_GetScrolledWindow", (PyCFunction) _wrap_RemotelyScrolledTreeCtrl_GetScrolledWindow, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"RemotelyScrolledTreeCtrl_ScrollToLine", (PyCFunction) _wrap_RemotelyScrolledTreeCtrl_ScrollToLine, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"RemotelyScrolledTreeCtrl_SetCompanionWindow", (PyCFunction) _wrap_RemotelyScrolledTreeCtrl_SetCompanionWindow, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"RemotelyScrolledTreeCtrl_GetCompanionWindow", (PyCFunction) _wrap_RemotelyScrolledTreeCtrl_GetCompanionWindow, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"RemotelyScrolledTreeCtrl_swigregister", RemotelyScrolledTreeCtrl_swigregister, METH_VARARGS },
+        { (char *)"new_TreeCompanionWindow", (PyCFunction) _wrap_new_TreeCompanionWindow, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeCompanionWindow__setCallbackInfo", (PyCFunction) _wrap_TreeCompanionWindow__setCallbackInfo, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeCompanionWindow_GetTreeCtrl", (PyCFunction) _wrap_TreeCompanionWindow_GetTreeCtrl, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeCompanionWindow_SetTreeCtrl", (PyCFunction) _wrap_TreeCompanionWindow_SetTreeCtrl, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeCompanionWindow_swigregister", TreeCompanionWindow_swigregister, METH_VARARGS },
+        { (char *)"new_ThinSplitterWindow", (PyCFunction) _wrap_new_ThinSplitterWindow, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ThinSplitterWindow_swigregister", ThinSplitterWindow_swigregister, METH_VARARGS },
+        { (char *)"new_SplitterScrolledWindow", (PyCFunction) _wrap_new_SplitterScrolledWindow, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"SplitterScrolledWindow_swigregister", SplitterScrolledWindow_swigregister, METH_VARARGS },
+        { (char *)"new_LEDNumberCtrl", (PyCFunction) _wrap_new_LEDNumberCtrl, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"new_PreLEDNumberCtrl", (PyCFunction) _wrap_new_PreLEDNumberCtrl, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"LEDNumberCtrl_Create", (PyCFunction) _wrap_LEDNumberCtrl_Create, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"LEDNumberCtrl_GetAlignment", (PyCFunction) _wrap_LEDNumberCtrl_GetAlignment, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"LEDNumberCtrl_GetDrawFaded", (PyCFunction) _wrap_LEDNumberCtrl_GetDrawFaded, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"LEDNumberCtrl_GetValue", (PyCFunction) _wrap_LEDNumberCtrl_GetValue, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"LEDNumberCtrl_SetAlignment", (PyCFunction) _wrap_LEDNumberCtrl_SetAlignment, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"LEDNumberCtrl_SetDrawFaded", (PyCFunction) _wrap_LEDNumberCtrl_SetDrawFaded, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"LEDNumberCtrl_SetValue", (PyCFunction) _wrap_LEDNumberCtrl_SetValue, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"LEDNumberCtrl_swigregister", LEDNumberCtrl_swigregister, METH_VARARGS },
+        { (char *)"new_TreeListColumnInfo", (PyCFunction) _wrap_new_TreeListColumnInfo, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListColumnInfo_GetAlignment", (PyCFunction) _wrap_TreeListColumnInfo_GetAlignment, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListColumnInfo_GetText", (PyCFunction) _wrap_TreeListColumnInfo_GetText, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListColumnInfo_GetImage", (PyCFunction) _wrap_TreeListColumnInfo_GetImage, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListColumnInfo_GetSelectedImage", (PyCFunction) _wrap_TreeListColumnInfo_GetSelectedImage, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListColumnInfo_GetWidth", (PyCFunction) _wrap_TreeListColumnInfo_GetWidth, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListColumnInfo_SetAlignment", (PyCFunction) _wrap_TreeListColumnInfo_SetAlignment, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListColumnInfo_SetText", (PyCFunction) _wrap_TreeListColumnInfo_SetText, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListColumnInfo_SetImage", (PyCFunction) _wrap_TreeListColumnInfo_SetImage, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListColumnInfo_SetSelectedImage", (PyCFunction) _wrap_TreeListColumnInfo_SetSelectedImage, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListColumnInfo_SetWidth", (PyCFunction) _wrap_TreeListColumnInfo_SetWidth, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListColumnInfo_swigregister", TreeListColumnInfo_swigregister, METH_VARARGS },
+        { (char *)"new_TreeListCtrl", (PyCFunction) _wrap_new_TreeListCtrl, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"new_PreTreeListCtrl", (PyCFunction) _wrap_new_PreTreeListCtrl, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_Create", (PyCFunction) _wrap_TreeListCtrl_Create, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl__setCallbackInfo", (PyCFunction) _wrap_TreeListCtrl__setCallbackInfo, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetCount", (PyCFunction) _wrap_TreeListCtrl_GetCount, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetIndent", (PyCFunction) _wrap_TreeListCtrl_GetIndent, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_SetIndent", (PyCFunction) _wrap_TreeListCtrl_SetIndent, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetSpacing", (PyCFunction) _wrap_TreeListCtrl_GetSpacing, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_SetSpacing", (PyCFunction) _wrap_TreeListCtrl_SetSpacing, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetLineSpacing", (PyCFunction) _wrap_TreeListCtrl_GetLineSpacing, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_SetLineSpacing", (PyCFunction) _wrap_TreeListCtrl_SetLineSpacing, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetImageList", (PyCFunction) _wrap_TreeListCtrl_GetImageList, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetStateImageList", (PyCFunction) _wrap_TreeListCtrl_GetStateImageList, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetButtonsImageList", (PyCFunction) _wrap_TreeListCtrl_GetButtonsImageList, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_SetImageList", (PyCFunction) _wrap_TreeListCtrl_SetImageList, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_SetStateImageList", (PyCFunction) _wrap_TreeListCtrl_SetStateImageList, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_SetButtonsImageList", (PyCFunction) _wrap_TreeListCtrl_SetButtonsImageList, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_AssignImageList", (PyCFunction) _wrap_TreeListCtrl_AssignImageList, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_AssignStateImageList", (PyCFunction) _wrap_TreeListCtrl_AssignStateImageList, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_AssignButtonsImageList", (PyCFunction) _wrap_TreeListCtrl_AssignButtonsImageList, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_AddColumn", (PyCFunction) _wrap_TreeListCtrl_AddColumn, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_AddColumnInfo", (PyCFunction) _wrap_TreeListCtrl_AddColumnInfo, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_InsertColumn", (PyCFunction) _wrap_TreeListCtrl_InsertColumn, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_InsertColumnInfo", (PyCFunction) _wrap_TreeListCtrl_InsertColumnInfo, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_RemoveColumn", (PyCFunction) _wrap_TreeListCtrl_RemoveColumn, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetColumnCount", (PyCFunction) _wrap_TreeListCtrl_GetColumnCount, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_SetColumnWidth", (PyCFunction) _wrap_TreeListCtrl_SetColumnWidth, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetColumnWidth", (PyCFunction) _wrap_TreeListCtrl_GetColumnWidth, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_SetMainColumn", (PyCFunction) _wrap_TreeListCtrl_SetMainColumn, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetMainColumn", (PyCFunction) _wrap_TreeListCtrl_GetMainColumn, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_SetColumnText", (PyCFunction) _wrap_TreeListCtrl_SetColumnText, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetColumnText", (PyCFunction) _wrap_TreeListCtrl_GetColumnText, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_SetColumn", (PyCFunction) _wrap_TreeListCtrl_SetColumn, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetColumn", (PyCFunction) _wrap_TreeListCtrl_GetColumn, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_SetColumnAlignment", (PyCFunction) _wrap_TreeListCtrl_SetColumnAlignment, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetColumnAlignment", (PyCFunction) _wrap_TreeListCtrl_GetColumnAlignment, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_SetColumnImage", (PyCFunction) _wrap_TreeListCtrl_SetColumnImage, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetColumnImage", (PyCFunction) _wrap_TreeListCtrl_GetColumnImage, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetItemText", (PyCFunction) _wrap_TreeListCtrl_GetItemText, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetItemImage", (PyCFunction) _wrap_TreeListCtrl_GetItemImage, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_SetItemText", (PyCFunction) _wrap_TreeListCtrl_SetItemText, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_SetItemImage", (PyCFunction) _wrap_TreeListCtrl_SetItemImage, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetItemData", (PyCFunction) _wrap_TreeListCtrl_GetItemData, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_SetItemData", (PyCFunction) _wrap_TreeListCtrl_SetItemData, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetItemPyData", (PyCFunction) _wrap_TreeListCtrl_GetItemPyData, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_SetItemPyData", (PyCFunction) _wrap_TreeListCtrl_SetItemPyData, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_SetItemHasChildren", (PyCFunction) _wrap_TreeListCtrl_SetItemHasChildren, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_SetItemBold", (PyCFunction) _wrap_TreeListCtrl_SetItemBold, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_SetItemTextColour", (PyCFunction) _wrap_TreeListCtrl_SetItemTextColour, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_SetItemBackgroundColour", (PyCFunction) _wrap_TreeListCtrl_SetItemBackgroundColour, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_SetItemFont", (PyCFunction) _wrap_TreeListCtrl_SetItemFont, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetItemBold", (PyCFunction) _wrap_TreeListCtrl_GetItemBold, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetItemTextColour", (PyCFunction) _wrap_TreeListCtrl_GetItemTextColour, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetItemBackgroundColour", (PyCFunction) _wrap_TreeListCtrl_GetItemBackgroundColour, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetItemFont", (PyCFunction) _wrap_TreeListCtrl_GetItemFont, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_IsVisible", (PyCFunction) _wrap_TreeListCtrl_IsVisible, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_ItemHasChildren", (PyCFunction) _wrap_TreeListCtrl_ItemHasChildren, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_IsExpanded", (PyCFunction) _wrap_TreeListCtrl_IsExpanded, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_IsSelected", (PyCFunction) _wrap_TreeListCtrl_IsSelected, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_IsBold", (PyCFunction) _wrap_TreeListCtrl_IsBold, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetChildrenCount", (PyCFunction) _wrap_TreeListCtrl_GetChildrenCount, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetRootItem", (PyCFunction) _wrap_TreeListCtrl_GetRootItem, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetSelection", (PyCFunction) _wrap_TreeListCtrl_GetSelection, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetSelections", (PyCFunction) _wrap_TreeListCtrl_GetSelections, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetItemParent", (PyCFunction) _wrap_TreeListCtrl_GetItemParent, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetFirstChild", (PyCFunction) _wrap_TreeListCtrl_GetFirstChild, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetNextChild", (PyCFunction) _wrap_TreeListCtrl_GetNextChild, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetLastChild", (PyCFunction) _wrap_TreeListCtrl_GetLastChild, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetNextSibling", (PyCFunction) _wrap_TreeListCtrl_GetNextSibling, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetPrevSibling", (PyCFunction) _wrap_TreeListCtrl_GetPrevSibling, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetFirstVisibleItem", (PyCFunction) _wrap_TreeListCtrl_GetFirstVisibleItem, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetNextVisible", (PyCFunction) _wrap_TreeListCtrl_GetNextVisible, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetPrevVisible", (PyCFunction) _wrap_TreeListCtrl_GetPrevVisible, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetNext", (PyCFunction) _wrap_TreeListCtrl_GetNext, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_AddRoot", (PyCFunction) _wrap_TreeListCtrl_AddRoot, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_PrependItem", (PyCFunction) _wrap_TreeListCtrl_PrependItem, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_InsertItem", (PyCFunction) _wrap_TreeListCtrl_InsertItem, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_InsertItemBefore", (PyCFunction) _wrap_TreeListCtrl_InsertItemBefore, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_AppendItem", (PyCFunction) _wrap_TreeListCtrl_AppendItem, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_Delete", (PyCFunction) _wrap_TreeListCtrl_Delete, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_DeleteChildren", (PyCFunction) _wrap_TreeListCtrl_DeleteChildren, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_DeleteAllItems", (PyCFunction) _wrap_TreeListCtrl_DeleteAllItems, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_Expand", (PyCFunction) _wrap_TreeListCtrl_Expand, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_ExpandAll", (PyCFunction) _wrap_TreeListCtrl_ExpandAll, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_Collapse", (PyCFunction) _wrap_TreeListCtrl_Collapse, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_CollapseAndReset", (PyCFunction) _wrap_TreeListCtrl_CollapseAndReset, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_Toggle", (PyCFunction) _wrap_TreeListCtrl_Toggle, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_Unselect", (PyCFunction) _wrap_TreeListCtrl_Unselect, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_UnselectAll", (PyCFunction) _wrap_TreeListCtrl_UnselectAll, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_SelectItem", (PyCFunction) _wrap_TreeListCtrl_SelectItem, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_EnsureVisible", (PyCFunction) _wrap_TreeListCtrl_EnsureVisible, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_ScrollTo", (PyCFunction) _wrap_TreeListCtrl_ScrollTo, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_HitTest", (PyCFunction) _wrap_TreeListCtrl_HitTest, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetBoundingRect", (PyCFunction) _wrap_TreeListCtrl_GetBoundingRect, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_EditLabel", (PyCFunction) _wrap_TreeListCtrl_EditLabel, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_Edit", (PyCFunction) _wrap_TreeListCtrl_Edit, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_SortChildren", (PyCFunction) _wrap_TreeListCtrl_SortChildren, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetItemSelectedImage", (PyCFunction) _wrap_TreeListCtrl_GetItemSelectedImage, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_SetItemSelectedImage", (PyCFunction) _wrap_TreeListCtrl_SetItemSelectedImage, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetHeaderWindow", (PyCFunction) _wrap_TreeListCtrl_GetHeaderWindow, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetMainWindow", (PyCFunction) _wrap_TreeListCtrl_GetMainWindow, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_swigregister", TreeListCtrl_swigregister, METH_VARARGS },
+        { NULL, NULL }
+};
+
+
+/* -------- TYPE CONVERSION AND EQUIVALENCE RULES (BEGIN) -------- */
+
+static void *_p_wxPyValidatorTo_p_wxValidator(void *x) {
+    return (void *)((wxValidator *)  ((wxPyValidator *) x));
+}
+static void *_p_wxScrolledWindowTo_p_wxPanel(void *x) {
+    return (void *)((wxPanel *)  ((wxScrolledWindow *) x));
+}
+static void *_p_wxPyVScrolledWindowTo_p_wxPanel(void *x) {
+    return (void *)((wxPanel *)  ((wxPyVScrolledWindow *) x));
+}
+static void *_p_wxSplitterScrolledWindowTo_p_wxPanel(void *x) {
+    return (void *)((wxPanel *) (wxScrolledWindow *) ((wxSplitterScrolledWindow *) x));
+}
+static void *_p_wxPyVListBoxTo_p_wxPanel(void *x) {
+    return (void *)((wxPanel *) (wxPyVScrolledWindow *) ((wxPyVListBox *) x));
+}
+static void *_p_wxPyHtmlListBoxTo_p_wxPanel(void *x) {
+    return (void *)((wxPanel *) (wxPyVScrolledWindow *)(wxPyVListBox *) ((wxPyHtmlListBox *) x));
+}
+static void *_p_wxPyPanelTo_p_wxPanel(void *x) {
+    return (void *)((wxPanel *)  ((wxPyPanel *) x));
+}
+static void *_p_wxEditableListBoxTo_p_wxPanel(void *x) {
+    return (void *)((wxPanel *)  ((wxEditableListBox *) x));
+}
+static void *_p_wxPreviewCanvasTo_p_wxPanel(void *x) {
+    return (void *)((wxPanel *) (wxScrolledWindow *) ((wxPreviewCanvas *) x));
+}
+static void *_p_wxPreviewControlBarTo_p_wxPanel(void *x) {
+    return (void *)((wxPanel *)  ((wxPreviewControlBar *) x));
+}
+static void *_p_wxPyPreviewControlBarTo_p_wxPanel(void *x) {
+    return (void *)((wxPanel *) (wxPreviewControlBar *) ((wxPyPreviewControlBar *) x));
+}
+static void *_p_wxPyPreviewFrameTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxFrame *)(wxPreviewFrame *) ((wxPyPreviewFrame *) x));
+}
+static void *_p_wxPreviewFrameTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxFrame *) ((wxPreviewFrame *) x));
+}
+static void *_p_wxCheckBoxTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *) ((wxCheckBox *) x));
+}
+static void *_p_wxPyTreeCtrlTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *) ((wxPyTreeCtrl *) x));
+}
+static void *_p_wxRemotelyScrolledTreeCtrlTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *)(wxPyTreeCtrl *) ((wxRemotelyScrolledTreeCtrl *) x));
+}
+static void *_p_wxPyPanelTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxPanel *) ((wxPyPanel *) x));
+}
+static void *_p_wxGenericDirCtrlTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *) ((wxGenericDirCtrl *) x));
+}
+static void *_p_wxDirFilterListCtrlTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *)(wxControlWithItems *)(wxChoice *) ((wxDirFilterListCtrl *) x));
+}
+static void *_p_wxPyListCtrlTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *) ((wxPyListCtrl *) x));
+}
+static void *_p_wxPyTreeListCtrlTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *) ((wxPyTreeListCtrl *) x));
+}
+static void *_p_wxPreviewCanvasTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxPanel *)(wxScrolledWindow *) ((wxPreviewCanvas *) x));
+}
+static void *_p_wxStaticLineTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *) ((wxStaticLine *) x));
+}
+static void *_p_wxPyControlTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *) ((wxPyControl *) x));
+}
+static void *_p_wxControlTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *)  ((wxControl *) x));
+}
+static void *_p_wxGaugeTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *) ((wxGauge *) x));
+}
+static void *_p_wxToolBarBaseTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *) ((wxToolBarBase *) x));
+}
+static void *_p_wxToggleButtonTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *) ((wxToggleButton *) x));
+}
+static void *_p_wxRadioButtonTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *) ((wxRadioButton *) x));
+}
+static void *_p_wxChoiceTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *)(wxControlWithItems *) ((wxChoice *) x));
+}
+static void *_p_wxListViewTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *)(wxPyListCtrl *) ((wxListView *) x));
+}
+static void *_p_wxTextCtrlTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *) ((wxTextCtrl *) x));
+}
+static void *_p_wxNotebookTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *)(wxBookCtrl *) ((wxNotebook *) x));
+}
+static void *_p_wxMDIChildFrameTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxFrame *) ((wxMDIChildFrame *) x));
+}
+static void *_p_wxPyWindowTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *)  ((wxPyWindow *) x));
+}
+static void *_p_wxSplashScreenTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxFrame *) ((wxSplashScreen *) x));
+}
+static void *_p_wxListbookTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *)(wxBookCtrl *) ((wxListbook *) x));
+}
+static void *_p_wxFileDialogTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxDialog *) ((wxFileDialog *) x));
+}
+static void *_p_wxMultiChoiceDialogTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxDialog *) ((wxMultiChoiceDialog *) x));
+}
+static void *_p_wxSingleChoiceDialogTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxDialog *) ((wxSingleChoiceDialog *) x));
+}
+static void *_p_wxTextEntryDialogTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxDialog *) ((wxTextEntryDialog *) x));
+}
+static void *_p_wxMessageDialogTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxDialog *) ((wxMessageDialog *) x));
+}
+static void *_p_wxProgressDialogTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxFrame *) ((wxProgressDialog *) x));
+}
+static void *_p_wxFindReplaceDialogTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxDialog *) ((wxFindReplaceDialog *) x));
+}
+static void *_p_wxStaticBitmapTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *) ((wxStaticBitmap *) x));
+}
+static void *_p_wxSliderTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *) ((wxSlider *) x));
+}
+static void *_p_wxStaticBoxTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *) ((wxStaticBox *) x));
+}
+static void *_p_wxCheckListBoxTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *)(wxControlWithItems *)(wxListBox *) ((wxCheckListBox *) x));
+}
+static void *_p_wxListBoxTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *)(wxControlWithItems *) ((wxListBox *) x));
+}
+static void *_p_wxPyVListBoxTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxPanel *)(wxPyVScrolledWindow *) ((wxPyVListBox *) x));
+}
+static void *_p_wxPyHtmlListBoxTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxPanel *)(wxPyVScrolledWindow *)(wxPyVListBox *) ((wxPyHtmlListBox *) x));
+}
+static void *_p_wxEditableListBoxTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxPanel *) ((wxEditableListBox *) x));
+}
+static void *_p_wxBookCtrlTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *) ((wxBookCtrl *) x));
+}
+static void *_p_wxLEDNumberCtrlTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *) ((wxLEDNumberCtrl *) x));
+}
+static void *_p_wxSpinButtonTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *) ((wxSpinButton *) x));
+}
+static void *_p_wxBitmapButtonTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *)(wxButton *) ((wxBitmapButton *) x));
+}
+static void *_p_wxButtonTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *) ((wxButton *) x));
+}
+static void *_p_wxContextHelpButtonTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *)(wxButton *)(wxBitmapButton *) ((wxContextHelpButton *) x));
+}
+static void *_p_wxRadioBoxTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *) ((wxRadioBox *) x));
+}
+static void *_p_wxScrollBarTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *) ((wxScrollBar *) x));
+}
+static void *_p_wxComboBoxTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *) ((wxComboBox *) x));
+}
+static void *_p_wxMiniFrameTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxFrame *) ((wxMiniFrame *) x));
+}
+static void *_p_wxFrameTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *) ((wxFrame *) x));
+}
+static void *_p_wxSpinCtrlTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *) ((wxSpinCtrl *) x));
+}
+static void *_p_wxStatusBarTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *)  ((wxStatusBar *) x));
+}
+static void *_p_wxMDIParentFrameTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxFrame *) ((wxMDIParentFrame *) x));
+}
+static void *_p_wxSashWindowTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *)  ((wxSashWindow *) x));
+}
+static void *_p_wxSplitterWindowTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *)  ((wxSplitterWindow *) x));
+}
+static void *_p_wxSplashScreenWindowTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *)  ((wxSplashScreenWindow *) x));
+}
+static void *_p_wxTopLevelWindowTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *)  ((wxTopLevelWindow *) x));
+}
+static void *_p_wxScrolledWindowTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxPanel *) ((wxScrolledWindow *) x));
+}
+static void *_p_wxSashLayoutWindowTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxSashWindow *) ((wxSashLayoutWindow *) x));
+}
+static void *_p_wxPopupWindowTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *)  ((wxPopupWindow *) x));
+}
+static void *_p_wxPyPopupTransientWindowTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxPopupWindow *) ((wxPyPopupTransientWindow *) x));
+}
+static void *_p_wxTipWindowTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxPopupWindow *)(wxPyPopupTransientWindow *) ((wxTipWindow *) x));
+}
+static void *_p_wxPyVScrolledWindowTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxPanel *) ((wxPyVScrolledWindow *) x));
+}
+static void *_p_wxMDIClientWindowTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *)  ((wxMDIClientWindow *) x));
+}
+static void *_p_wxMenuBarTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *)  ((wxMenuBar *) x));
+}
+static void *_p_wxDynamicSashWindowTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *)  ((wxDynamicSashWindow *) x));
+}
+static void *_p_wxPyTreeCompanionWindowTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *)  ((wxPyTreeCompanionWindow *) x));
+}
+static void *_p_wxThinSplitterWindowTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxSplitterWindow *) ((wxThinSplitterWindow *) x));
+}
+static void *_p_wxSplitterScrolledWindowTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxPanel *)(wxScrolledWindow *) ((wxSplitterScrolledWindow *) x));
+}
+static void *_p_wxPrintDialogTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxDialog *) ((wxPrintDialog *) x));
+}
+static void *_p_wxPageSetupDialogTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxDialog *) ((wxPageSetupDialog *) x));
+}
+static void *_p_wxDialogTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *) ((wxDialog *) x));
+}
+static void *_p_wxColourDialogTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxDialog *) ((wxColourDialog *) x));
+}
+static void *_p_wxDirDialogTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxDialog *) ((wxDirDialog *) x));
+}
+static void *_p_wxFontDialogTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxDialog *) ((wxFontDialog *) x));
+}
+static void *_p_wxPanelTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *)  ((wxPanel *) x));
+}
+static void *_p_wxStaticTextTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *) ((wxStaticText *) x));
+}
+static void *_p_wxPyPreviewControlBarTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxPanel *)(wxPreviewControlBar *) ((wxPyPreviewControlBar *) x));
+}
+static void *_p_wxPreviewControlBarTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxPanel *) ((wxPreviewControlBar *) x));
+}
+static void *_p_wxControlWithItemsTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *) ((wxControlWithItems *) x));
+}
+static void *_p_wxToolBarTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *)(wxToolBarBase *) ((wxToolBar *) x));
+}
+static void *_p_wxThinSplitterWindowTo_p_wxSplitterWindow(void *x) {
+    return (void *)((wxSplitterWindow *)  ((wxThinSplitterWindow *) x));
+}
+static void *_p_wxSplitterScrolledWindowTo_p_wxScrolledWindow(void *x) {
+    return (void *)((wxScrolledWindow *)  ((wxSplitterScrolledWindow *) x));
+}
+static void *_p_wxPreviewCanvasTo_p_wxScrolledWindow(void *x) {
+    return (void *)((wxScrolledWindow *)  ((wxPreviewCanvas *) x));
+}
+static void *_p_wxBookCtrlTo_p_wxControl(void *x) {
+    return (void *)((wxControl *)  ((wxBookCtrl *) x));
+}
+static void *_p_wxToolBarTo_p_wxControl(void *x) {
+    return (void *)((wxControl *) (wxToolBarBase *) ((wxToolBar *) x));
+}
+static void *_p_wxToggleButtonTo_p_wxControl(void *x) {
+    return (void *)((wxControl *)  ((wxToggleButton *) x));
+}
+static void *_p_wxRadioButtonTo_p_wxControl(void *x) {
+    return (void *)((wxControl *)  ((wxRadioButton *) x));
+}
+static void *_p_wxLEDNumberCtrlTo_p_wxControl(void *x) {
+    return (void *)((wxControl *)  ((wxLEDNumberCtrl *) x));
+}
+static void *_p_wxPyControlTo_p_wxControl(void *x) {
+    return (void *)((wxControl *)  ((wxPyControl *) x));
+}
+static void *_p_wxToolBarBaseTo_p_wxControl(void *x) {
+    return (void *)((wxControl *)  ((wxToolBarBase *) x));
+}
+static void *_p_wxDirFilterListCtrlTo_p_wxControl(void *x) {
+    return (void *)((wxControl *) (wxControlWithItems *)(wxChoice *) ((wxDirFilterListCtrl *) x));
+}
+static void *_p_wxPyListCtrlTo_p_wxControl(void *x) {
+    return (void *)((wxControl *)  ((wxPyListCtrl *) x));
+}
+static void *_p_wxComboBoxTo_p_wxControl(void *x) {
+    return (void *)((wxControl *)  ((wxComboBox *) x));
+}
+static void *_p_wxPyTreeListCtrlTo_p_wxControl(void *x) {
+    return (void *)((wxControl *)  ((wxPyTreeListCtrl *) x));
+}
+static void *_p_wxGenericDirCtrlTo_p_wxControl(void *x) {
+    return (void *)((wxControl *)  ((wxGenericDirCtrl *) x));
+}
+static void *_p_wxScrollBarTo_p_wxControl(void *x) {
+    return (void *)((wxControl *)  ((wxScrollBar *) x));
+}
+static void *_p_wxControlWithItemsTo_p_wxControl(void *x) {
+    return (void *)((wxControl *)  ((wxControlWithItems *) x));
+}
+static void *_p_wxGaugeTo_p_wxControl(void *x) {
+    return (void *)((wxControl *)  ((wxGauge *) x));
+}
+static void *_p_wxStaticLineTo_p_wxControl(void *x) {
+    return (void *)((wxControl *)  ((wxStaticLine *) x));
+}
+static void *_p_wxListbookTo_p_wxControl(void *x) {
+    return (void *)((wxControl *) (wxBookCtrl *) ((wxListbook *) x));
+}
+static void *_p_wxRemotelyScrolledTreeCtrlTo_p_wxControl(void *x) {
+    return (void *)((wxControl *) (wxPyTreeCtrl *) ((wxRemotelyScrolledTreeCtrl *) x));
+}
+static void *_p_wxPyTreeCtrlTo_p_wxControl(void *x) {
+    return (void *)((wxControl *)  ((wxPyTreeCtrl *) x));
+}
+static void *_p_wxCheckBoxTo_p_wxControl(void *x) {
+    return (void *)((wxControl *)  ((wxCheckBox *) x));
+}
+static void *_p_wxRadioBoxTo_p_wxControl(void *x) {
+    return (void *)((wxControl *)  ((wxRadioBox *) x));
+}
+static void *_p_wxChoiceTo_p_wxControl(void *x) {
+    return (void *)((wxControl *) (wxControlWithItems *) ((wxChoice *) x));
+}
+static void *_p_wxListBoxTo_p_wxControl(void *x) {
+    return (void *)((wxControl *) (wxControlWithItems *) ((wxListBox *) x));
+}
+static void *_p_wxCheckListBoxTo_p_wxControl(void *x) {
+    return (void *)((wxControl *) (wxControlWithItems *)(wxListBox *) ((wxCheckListBox *) x));
+}
+static void *_p_wxListViewTo_p_wxControl(void *x) {
+    return (void *)((wxControl *) (wxPyListCtrl *) ((wxListView *) x));
+}
+static void *_p_wxNotebookTo_p_wxControl(void *x) {
+    return (void *)((wxControl *) (wxBookCtrl *) ((wxNotebook *) x));
+}
+static void *_p_wxStaticBitmapTo_p_wxControl(void *x) {
+    return (void *)((wxControl *)  ((wxStaticBitmap *) x));
+}
+static void *_p_wxSpinCtrlTo_p_wxControl(void *x) {
+    return (void *)((wxControl *)  ((wxSpinCtrl *) x));
+}
+static void *_p_wxStaticTextTo_p_wxControl(void *x) {
+    return (void *)((wxControl *)  ((wxStaticText *) x));
+}
+static void *_p_wxStaticBoxTo_p_wxControl(void *x) {
+    return (void *)((wxControl *)  ((wxStaticBox *) x));
+}
+static void *_p_wxSliderTo_p_wxControl(void *x) {
+    return (void *)((wxControl *)  ((wxSlider *) x));
+}
+static void *_p_wxContextHelpButtonTo_p_wxControl(void *x) {
+    return (void *)((wxControl *) (wxButton *)(wxBitmapButton *) ((wxContextHelpButton *) x));
+}
+static void *_p_wxSpinButtonTo_p_wxControl(void *x) {
+    return (void *)((wxControl *)  ((wxSpinButton *) x));
+}
+static void *_p_wxButtonTo_p_wxControl(void *x) {
+    return (void *)((wxControl *)  ((wxButton *) x));
+}
+static void *_p_wxBitmapButtonTo_p_wxControl(void *x) {
+    return (void *)((wxControl *) (wxButton *) ((wxBitmapButton *) x));
+}
+static void *_p_wxTextCtrlTo_p_wxControl(void *x) {
+    return (void *)((wxControl *)  ((wxTextCtrl *) x));
+}
+static void *_p_wxContextMenuEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *) (wxCommandEvent *) ((wxContextMenuEvent *) x));
+}
+static void *_p_wxMenuEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *)  ((wxMenuEvent *) x));
+}
+static void *_p_wxCloseEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *)  ((wxCloseEvent *) x));
+}
+static void *_p_wxMouseEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *)  ((wxMouseEvent *) x));
+}
+static void *_p_wxEraseEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *)  ((wxEraseEvent *) x));
+}
+static void *_p_wxTreeEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *) (wxCommandEvent *)(wxNotifyEvent *) ((wxTreeEvent *) x));
+}
+static void *_p_wxSetCursorEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *)  ((wxSetCursorEvent *) x));
+}
+static void *_p_wxSplitterEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *) (wxCommandEvent *)(wxNotifyEvent *) ((wxSplitterEvent *) x));
+}
+static void *_p_wxInitDialogEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *)  ((wxInitDialogEvent *) x));
+}
+static void *_p_wxScrollEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *) (wxCommandEvent *) ((wxScrollEvent *) x));
+}
+static void *_p_wxFindDialogEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *) (wxCommandEvent *) ((wxFindDialogEvent *) x));
+}
+static void *_p_wxTextUrlEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *) (wxCommandEvent *) ((wxTextUrlEvent *) x));
+}
+static void *_p_wxBookCtrlEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *) (wxCommandEvent *)(wxNotifyEvent *) ((wxBookCtrlEvent *) x));
+}
+static void *_p_wxPyEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *)  ((wxPyEvent *) x));
+}
+static void *_p_wxNotifyEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *) (wxCommandEvent *) ((wxNotifyEvent *) x));
+}
+static void *_p_wxCalculateLayoutEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *)  ((wxCalculateLayoutEvent *) x));
+}
+static void *_p_wxListEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *) (wxCommandEvent *)(wxNotifyEvent *) ((wxListEvent *) x));
+}
+static void *_p_wxDynamicSashSplitEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *) (wxCommandEvent *) ((wxDynamicSashSplitEvent *) x));
+}
+static void *_p_wxDynamicSashUnifyEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *) (wxCommandEvent *) ((wxDynamicSashUnifyEvent *) x));
+}
+static void *_p_wxNotebookEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *) (wxCommandEvent *)(wxNotifyEvent *)(wxBookCtrlEvent *) ((wxNotebookEvent *) x));
+}
+static void *_p_wxListbookEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *) (wxCommandEvent *)(wxNotifyEvent *)(wxBookCtrlEvent *) ((wxListbookEvent *) x));
+}
+static void *_p_wxHelpEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *) (wxCommandEvent *) ((wxHelpEvent *) x));
+}
+static void *_p_wxIdleEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *)  ((wxIdleEvent *) x));
+}
+static void *_p_wxWindowCreateEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *) (wxCommandEvent *) ((wxWindowCreateEvent *) x));
+}
+static void *_p_wxQueryNewPaletteEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *)  ((wxQueryNewPaletteEvent *) x));
+}
+static void *_p_wxMaximizeEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *)  ((wxMaximizeEvent *) x));
+}
+static void *_p_wxIconizeEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *)  ((wxIconizeEvent *) x));
+}
+static void *_p_wxActivateEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *)  ((wxActivateEvent *) x));
+}
+static void *_p_wxSizeEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *)  ((wxSizeEvent *) x));
+}
+static void *_p_wxMoveEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *)  ((wxMoveEvent *) x));
+}
+static void *_p_wxPaintEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *)  ((wxPaintEvent *) x));
+}
+static void *_p_wxNcPaintEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *)  ((wxNcPaintEvent *) x));
+}
+static void *_p_wxUpdateUIEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *) (wxCommandEvent *) ((wxUpdateUIEvent *) x));
+}
+static void *_p_wxPaletteChangedEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *)  ((wxPaletteChangedEvent *) x));
+}
+static void *_p_wxDisplayChangedEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *)  ((wxDisplayChangedEvent *) x));
+}
+static void *_p_wxMouseCaptureChangedEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *)  ((wxMouseCaptureChangedEvent *) x));
+}
+static void *_p_wxSysColourChangedEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *)  ((wxSysColourChangedEvent *) x));
+}
+static void *_p_wxDropFilesEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *)  ((wxDropFilesEvent *) x));
+}
+static void *_p_wxFocusEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *)  ((wxFocusEvent *) x));
+}
+static void *_p_wxChildFocusEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *) (wxCommandEvent *) ((wxChildFocusEvent *) x));
+}
+static void *_p_wxSashEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *) (wxCommandEvent *) ((wxSashEvent *) x));
+}
+static void *_p_wxQueryLayoutInfoEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *)  ((wxQueryLayoutInfoEvent *) x));
+}
+static void *_p_wxShowEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *)  ((wxShowEvent *) x));
+}
+static void *_p_wxCommandEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *)  ((wxCommandEvent *) x));
+}
+static void *_p_wxPyCommandEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *) (wxCommandEvent *) ((wxPyCommandEvent *) x));
+}
+static void *_p_wxWindowDestroyEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *) (wxCommandEvent *) ((wxWindowDestroyEvent *) x));
+}
+static void *_p_wxNavigationKeyEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *)  ((wxNavigationKeyEvent *) x));
+}
+static void *_p_wxKeyEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *)  ((wxKeyEvent *) x));
+}
+static void *_p_wxScrollWinEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *)  ((wxScrollWinEvent *) x));
+}
+static void *_p_wxTaskBarIconEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *)  ((wxTaskBarIconEvent *) x));
+}
+static void *_p_wxScrollBarTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *) ((wxScrollBar *) x));
+}
+static void *_p_wxUpdateUIEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxUpdateUIEvent *) x));
+}
+static void *_p_wxPreviewCanvasTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxPanel *)(wxScrolledWindow *) ((wxPreviewCanvas *) x));
+}
+static void *_p_wxEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxEvent *) x));
+}
+static void *_p_wxBookCtrlTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *) ((wxBookCtrl *) x));
+}
+static void *_p_wxFindDialogEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxFindDialogEvent *) x));
+}
+static void *_p_wxInitDialogEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxInitDialogEvent *) x));
+}
+static void *_p_wxIndividualLayoutConstraintTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxIndividualLayoutConstraint *) x));
+}
+static void *_p_wxPyPreviewFrameTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxFrame *)(wxPreviewFrame *) ((wxPyPreviewFrame *) x));
+}
+static void *_p_wxPreviewFrameTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxFrame *) ((wxPreviewFrame *) x));
+}
+static void *_p_wxToolBarBaseTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *) ((wxToolBarBase *) x));
+}
+static void *_p_wxMenuItemTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxMenuItem *) x));
+}
+static void *_p_wxImageTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxImage *) x));
+}
+static void *_p_wxPySizerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxSizer *) ((wxPySizer *) x));
+}
+static void *_p_wxStaticBitmapTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *) ((wxStaticBitmap *) x));
+}
+static void *_p_wxGenericDragImageTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxGenericDragImage *) x));
+}
+static void *_p_wxComboBoxTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *) ((wxComboBox *) x));
+}
+static void *_p_wxTaskBarIconTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *) ((wxTaskBarIcon *) x));
+}
+static void *_p_wxLayoutAlgorithmTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxLayoutAlgorithm *) x));
+}
+static void *_p_wxPyAppTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *) ((wxPyApp *) x));
+}
+static void *_p_wxNotebookTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *)(wxBookCtrl *) ((wxNotebook *) x));
+}
+static void *_p_wxListItemTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxListItem *) x));
+}
+static void *_p_wxNotebookSizerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxSizer *) ((wxNotebookSizer *) x));
+}
+static void *_p_wxPyTreeCtrlTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *) ((wxPyTreeCtrl *) x));
+}
+static void *_p_wxRemotelyScrolledTreeCtrlTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *)(wxPyTreeCtrl *) ((wxRemotelyScrolledTreeCtrl *) x));
+}
+static void *_p_wxPyPreviewControlBarTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxPanel *)(wxPreviewControlBar *) ((wxPyPreviewControlBar *) x));
+}
+static void *_p_wxPreviewControlBarTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxPanel *) ((wxPreviewControlBar *) x));
+}
+static void *_p_wxFindReplaceDataTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxFindReplaceData *) x));
+}
+static void *_p_wxStaticLineTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *) ((wxStaticLine *) x));
+}
+static void *_p_wxValidatorTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *) ((wxValidator *) x));
+}
+static void *_p_wxPyValidatorTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxValidator *) ((wxPyValidator *) x));
+}
+static void *_p_wxEraseEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxEraseEvent *) x));
+}
+static void *_p_wxMouseEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxMouseEvent *) x));
+}
+static void *_p_wxCloseEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxCloseEvent *) x));
+}
+static void *_p_wxTreeEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *)(wxNotifyEvent *) ((wxTreeEvent *) x));
+}
+static void *_p_wxBookCtrlEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *)(wxNotifyEvent *) ((wxBookCtrlEvent *) x));
+}
+static void *_p_wxTextUrlEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxTextUrlEvent *) x));
+}
+static void *_p_wxScrollEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxScrollEvent *) x));
+}
+static void *_p_wxPrintDialogDataTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxPrintDialogData *) x));
+}
+static void *_p_wxPageSetupDialogDataTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxPageSetupDialogData *) x));
+}
+static void *_p_wxPrinterTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxPrinter *) x));
+}
+static void *_p_wxControlWithItemsTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *) ((wxControlWithItems *) x));
+}
+static void *_p_wxRadioBoxTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *) ((wxRadioBox *) x));
+}
+static void *_p_wxGridSizerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxSizer *) ((wxGridSizer *) x));
+}
+static void *_p_wxFlexGridSizerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxSizer *)(wxGridSizer *) ((wxFlexGridSizer *) x));
+}
+static void *_p_wxAcceleratorTableTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxAcceleratorTable *) x));
+}
+static void *_p_wxTreeListColumnInfoTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxTreeListColumnInfo *) x));
+}
+static void *_p_wxControlTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *) ((wxControl *) x));
+}
+static void *_p_wxPyControlTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *) ((wxPyControl *) x));
+}
+static void *_p_wxContextHelpTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxContextHelp *) x));
+}
+static void *_p_wxColourDataTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxColourData *) x));
+}
+static void *_p_wxActivateEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxActivateEvent *) x));
+}
+static void *_p_wxMoveEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxMoveEvent *) x));
+}
+static void *_p_wxSizeEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxSizeEvent *) x));
+}
+static void *_p_wxIconizeEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxIconizeEvent *) x));
+}
+static void *_p_wxMaximizeEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxMaximizeEvent *) x));
+}
+static void *_p_wxQueryNewPaletteEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxQueryNewPaletteEvent *) x));
+}
+static void *_p_wxWindowCreateEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxWindowCreateEvent *) x));
+}
+static void *_p_wxIdleEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxIdleEvent *) x));
+}
+static void *_p_wxStaticTextTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *) ((wxStaticText *) x));
+}
+static void *_p_wxCalculateLayoutEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxCalculateLayoutEvent *) x));
+}
+static void *_p_wxListEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *)(wxNotifyEvent *) ((wxListEvent *) x));
+}
+static void *_p_wxDynamicSashSplitEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxDynamicSashSplitEvent *) x));
+}
+static void *_p_wxPyPrintoutTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxPyPrintout *) x));
+}
+static void *_p_wxGaugeTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *) ((wxGauge *) x));
+}
+static void *_p_wxMDIChildFrameTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxFrame *) ((wxMDIChildFrame *) x));
+}
+static void *_p_wxChoiceTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *)(wxControlWithItems *) ((wxChoice *) x));
+}
+static void *_p_wxSpinButtonTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *) ((wxSpinButton *) x));
+}
+static void *_p_wxBitmapButtonTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *)(wxButton *) ((wxBitmapButton *) x));
+}
+static void *_p_wxButtonTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *) ((wxButton *) x));
+}
+static void *_p_wxContextHelpButtonTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *)(wxButton *)(wxBitmapButton *) ((wxContextHelpButton *) x));
+}
+static void *_p_wxKeyEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxKeyEvent *) x));
+}
+static void *_p_wxNavigationKeyEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxNavigationKeyEvent *) x));
+}
+static void *_p_wxWindowDestroyEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxWindowDestroyEvent *) x));
+}
+static void *_p_wxSashEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxSashEvent *) x));
+}
+static void *_p_wxCheckListBoxTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *)(wxControlWithItems *)(wxListBox *) ((wxCheckListBox *) x));
+}
+static void *_p_wxListBoxTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *)(wxControlWithItems *) ((wxListBox *) x));
+}
+static void *_p_wxPyHtmlListBoxTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxPanel *)(wxPyVScrolledWindow *)(wxPyVListBox *) ((wxPyHtmlListBox *) x));
+}
+static void *_p_wxPyVListBoxTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxPanel *)(wxPyVScrolledWindow *) ((wxPyVListBox *) x));
+}
+static void *_p_wxPrintDataTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxPrintData *) x));
+}
+static void *_p_wxFontDataTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxFontData *) x));
+}
+static void *_p_wxEditableListBoxTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxPanel *) ((wxEditableListBox *) x));
+}
+static void *_p_wxMiniFrameTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxFrame *) ((wxMiniFrame *) x));
+}
+static void *_p_wxListbookTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *)(wxBookCtrl *) ((wxListbook *) x));
+}
+static void *_p_wxFrameTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *) ((wxFrame *) x));
+}
+static void *_p_wxPyPanelTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxPanel *) ((wxPyPanel *) x));
+}
+static void *_p_wxStaticBoxTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *) ((wxStaticBox *) x));
+}
+static void *_p_wxQueryLayoutInfoEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxQueryLayoutInfoEvent *) x));
+}
+static void *_p_wxSplashScreenTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxFrame *) ((wxSplashScreen *) x));
+}
+static void *_p_wxFileSystemTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxFileSystem *) x));
+}
+static void *_p_wxPyPrintPreviewTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxPrintPreview *) ((wxPyPrintPreview *) x));
+}
+static void *_p_wxPrintPreviewTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxPrintPreview *) x));
+}
+static void *_p_wxListViewTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *)(wxPyListCtrl *) ((wxListView *) x));
+}
+static void *_p_wxLayoutConstraintsTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxLayoutConstraints *) x));
+}
+static void *_p_wxPyListCtrlTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *) ((wxPyListCtrl *) x));
+}
+static void *_p_wxDirFilterListCtrlTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *)(wxControlWithItems *)(wxChoice *) ((wxDirFilterListCtrl *) x));
+}
+static void *_p_wxPyTreeListCtrlTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *) ((wxPyTreeListCtrl *) x));
+}
+static void *_p_wxSizerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxSizer *) x));
+}
+static void *_p_wxBoxSizerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxSizer *) ((wxBoxSizer *) x));
+}
+static void *_p_wxStaticBoxSizerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxSizer *)(wxBoxSizer *) ((wxStaticBoxSizer *) x));
+}
+static void *_p_wxGridBagSizerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxSizer *)(wxGridSizer *)(wxFlexGridSizer *) ((wxGridBagSizer *) x));
+}
+static void *_p_wxNcPaintEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxNcPaintEvent *) x));
+}
+static void *_p_wxPaintEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxPaintEvent *) x));
+}
+static void *_p_wxFSFileTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxFSFile *) x));
+}
+static void *_p_wxSplitterEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *)(wxNotifyEvent *) ((wxSplitterEvent *) x));
+}
+static void *_p_wxSetCursorEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxSetCursorEvent *) x));
+}
+static void *_p_wxTextCtrlTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *) ((wxTextCtrl *) x));
+}
+static void *_p_wxMenuTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *) ((wxMenu *) x));
+}
+static void *_p_wxToggleButtonTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *) ((wxToggleButton *) x));
+}
+static void *_p_wxRadioButtonTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *) ((wxRadioButton *) x));
+}
+static void *_p_wxSizerItemTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxSizerItem *) x));
+}
+static void *_p_wxGBSizerItemTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxSizerItem *) ((wxGBSizerItem *) x));
+}
+static void *_p_wxPrintDialogTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxPrintDialog *) x));
+}
+static void *_p_wxPageSetupDialogTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxPageSetupDialog *) x));
+}
+static void *_p_wxFontDialogTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxFontDialog *) x));
+}
+static void *_p_wxDirDialogTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxDirDialog *) x));
+}
+static void *_p_wxColourDialogTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxColourDialog *) x));
+}
+static void *_p_wxDialogTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *) ((wxDialog *) x));
+}
+static void *_p_wxNotifyEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxNotifyEvent *) x));
+}
+static void *_p_wxPyEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxPyEvent *) x));
+}
+static void *_p_wxGenericDirCtrlTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *) ((wxGenericDirCtrl *) x));
+}
+static void *_p_wxDynamicSashUnifyEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxDynamicSashUnifyEvent *) x));
+}
+static void *_p_wxEvtHandlerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxEvtHandler *) x));
+}
+static void *_p_wxTIFFHandlerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxImageHandler *) ((wxTIFFHandler *) x));
+}
+static void *_p_wxImageHandlerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxImageHandler *) x));
+}
+static void *_p_wxBMPHandlerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxImageHandler *) ((wxBMPHandler *) x));
+}
+static void *_p_wxICOHandlerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxImageHandler *)(wxBMPHandler *) ((wxICOHandler *) x));
+}
+static void *_p_wxCURHandlerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxImageHandler *)(wxBMPHandler *)(wxICOHandler *) ((wxCURHandler *) x));
+}
+static void *_p_wxANIHandlerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxImageHandler *)(wxBMPHandler *)(wxICOHandler *)(wxCURHandler *) ((wxANIHandler *) x));
+}
+static void *_p_wxPNGHandlerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxImageHandler *) ((wxPNGHandler *) x));
+}
+static void *_p_wxGIFHandlerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxImageHandler *) ((wxGIFHandler *) x));
+}
+static void *_p_wxPCXHandlerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxImageHandler *) ((wxPCXHandler *) x));
+}
+static void *_p_wxJPEGHandlerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxImageHandler *) ((wxJPEGHandler *) x));
+}
+static void *_p_wxPNMHandlerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxImageHandler *) ((wxPNMHandler *) x));
+}
+static void *_p_wxXPMHandlerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxImageHandler *) ((wxXPMHandler *) x));
+}
+static void *_p_wxShowEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxShowEvent *) x));
+}
+static void *_p_wxMDIClientWindowTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *) ((wxMDIClientWindow *) x));
+}
+static void *_p_wxPyVScrolledWindowTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxPanel *) ((wxPyVScrolledWindow *) x));
+}
+static void *_p_wxTipWindowTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxPopupWindow *)(wxPyPopupTransientWindow *) ((wxTipWindow *) x));
+}
+static void *_p_wxPyPopupTransientWindowTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxPopupWindow *) ((wxPyPopupTransientWindow *) x));
+}
+static void *_p_wxPopupWindowTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *) ((wxPopupWindow *) x));
+}
+static void *_p_wxSashLayoutWindowTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxSashWindow *) ((wxSashLayoutWindow *) x));
+}
+static void *_p_wxSashWindowTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *) ((wxSashWindow *) x));
+}
+static void *_p_wxSplitterWindowTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *) ((wxSplitterWindow *) x));
+}
+static void *_p_wxSplashScreenWindowTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *) ((wxSplashScreenWindow *) x));
+}
+static void *_p_wxTopLevelWindowTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *) ((wxTopLevelWindow *) x));
+}
+static void *_p_wxWindowTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *) ((wxWindow *) x));
+}
+static void *_p_wxScrolledWindowTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxPanel *) ((wxScrolledWindow *) x));
+}
+static void *_p_wxDynamicSashWindowTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *) ((wxDynamicSashWindow *) x));
+}
+static void *_p_wxPyTreeCompanionWindowTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *) ((wxPyTreeCompanionWindow *) x));
+}
+static void *_p_wxThinSplitterWindowTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxSplitterWindow *) ((wxThinSplitterWindow *) x));
+}
+static void *_p_wxSplitterScrolledWindowTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxPanel *)(wxScrolledWindow *) ((wxSplitterScrolledWindow *) x));
+}
+static void *_p_wxSpinCtrlTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *) ((wxSpinCtrl *) x));
+}
+static void *_p_wxListbookEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *)(wxNotifyEvent *)(wxBookCtrlEvent *) ((wxListbookEvent *) x));
+}
+static void *_p_wxNotebookEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *)(wxNotifyEvent *)(wxBookCtrlEvent *) ((wxNotebookEvent *) x));
+}
+static void *_p_wxBookCtrlSizerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxSizer *) ((wxBookCtrlSizer *) x));
+}
+static void *_p_wxFindReplaceDialogTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxFindReplaceDialog *) x));
+}
+static void *_p_wxProgressDialogTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxFrame *) ((wxProgressDialog *) x));
+}
+static void *_p_wxMessageDialogTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxMessageDialog *) x));
+}
+static void *_p_wxTextEntryDialogTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxTextEntryDialog *) x));
+}
+static void *_p_wxSingleChoiceDialogTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxSingleChoiceDialog *) x));
+}
+static void *_p_wxMultiChoiceDialogTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxMultiChoiceDialog *) x));
+}
+static void *_p_wxFileDialogTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxFileDialog *) x));
+}
+static void *_p_wxToolBarToolBaseTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxToolBarToolBase *) x));
+}
+static void *_p_wxSliderTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *) ((wxSlider *) x));
+}
+static void *_p_wxPyWindowTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *) ((wxPyWindow *) x));
+}
+static void *_p_wxSysColourChangedEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxSysColourChangedEvent *) x));
+}
+static void *_p_wxMouseCaptureChangedEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxMouseCaptureChangedEvent *) x));
+}
+static void *_p_wxDisplayChangedEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxDisplayChangedEvent *) x));
+}
+static void *_p_wxPaletteChangedEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxPaletteChangedEvent *) x));
+}
+static void *_p_wxCheckBoxTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *) ((wxCheckBox *) x));
+}
+static void *_p_wxHelpEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxHelpEvent *) x));
+}
+static void *_p_wxPanelTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *) ((wxPanel *) x));
+}
+static void *_p_wxTaskBarIconEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxTaskBarIconEvent *) x));
+}
+static void *_p_wxScrollWinEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxScrollWinEvent *) x));
+}
+static void *_p_wxMenuEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxMenuEvent *) x));
+}
+static void *_p_wxContextMenuEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxContextMenuEvent *) x));
+}
+static void *_p_wxLEDNumberCtrlTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *) ((wxLEDNumberCtrl *) x));
+}
+static void *_p_wxCommandEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxCommandEvent *) x));
+}
+static void *_p_wxPyCommandEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxPyCommandEvent *) x));
+}
+static void *_p_wxToolBarTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *)(wxToolBarBase *) ((wxToolBar *) x));
+}
+static void *_p_wxStatusBarTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *) ((wxStatusBar *) x));
+}
+static void *_p_wxChildFocusEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxChildFocusEvent *) x));
+}
+static void *_p_wxFocusEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxFocusEvent *) x));
+}
+static void *_p_wxDropFilesEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxDropFilesEvent *) x));
+}
+static void *_p_wxMDIParentFrameTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxFrame *) ((wxMDIParentFrame *) x));
+}
+static void *_p_wxMenuBarTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *) ((wxMenuBar *) x));
+}
+static void *_p_wxPyPreviewFrameTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxFrame *)(wxPreviewFrame *) ((wxPyPreviewFrame *) x));
+}
+static void *_p_wxPreviewFrameTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxFrame *) ((wxPreviewFrame *) x));
+}
+static void *_p_wxCheckBoxTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *) ((wxCheckBox *) x));
+}
+static void *_p_wxPyTreeCtrlTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *) ((wxPyTreeCtrl *) x));
+}
+static void *_p_wxRemotelyScrolledTreeCtrlTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *)(wxPyTreeCtrl *) ((wxRemotelyScrolledTreeCtrl *) x));
+}
+static void *_p_wxPyPanelTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxPanel *) ((wxPyPanel *) x));
+}
+static void *_p_wxTaskBarIconTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *)  ((wxTaskBarIcon *) x));
+}
+static void *_p_wxGenericDirCtrlTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *) ((wxGenericDirCtrl *) x));
+}
+static void *_p_wxPyListCtrlTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *) ((wxPyListCtrl *) x));
+}
+static void *_p_wxDirFilterListCtrlTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *)(wxControlWithItems *)(wxChoice *) ((wxDirFilterListCtrl *) x));
+}
+static void *_p_wxPyTreeListCtrlTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *) ((wxPyTreeListCtrl *) x));
+}
+static void *_p_wxPreviewCanvasTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxPanel *)(wxScrolledWindow *) ((wxPreviewCanvas *) x));
+}
+static void *_p_wxStaticLineTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *) ((wxStaticLine *) x));
+}
+static void *_p_wxControlTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *) ((wxControl *) x));
+}
+static void *_p_wxPyControlTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *) ((wxPyControl *) x));
+}
+static void *_p_wxGaugeTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *) ((wxGauge *) x));
+}
+static void *_p_wxToolBarBaseTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *) ((wxToolBarBase *) x));
+}
+static void *_p_wxToggleButtonTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *) ((wxToggleButton *) x));
+}
+static void *_p_wxRadioButtonTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *) ((wxRadioButton *) x));
+}
+static void *_p_wxChoiceTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *)(wxControlWithItems *) ((wxChoice *) x));
+}
+static void *_p_wxListViewTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *)(wxPyListCtrl *) ((wxListView *) x));
+}
+static void *_p_wxTextCtrlTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *) ((wxTextCtrl *) x));
+}
+static void *_p_wxNotebookTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *)(wxBookCtrl *) ((wxNotebook *) x));
+}
+static void *_p_wxMDIChildFrameTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxFrame *) ((wxMDIChildFrame *) x));
+}
+static void *_p_wxPyWindowTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *) ((wxPyWindow *) x));
+}
+static void *_p_wxSplashScreenTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxFrame *) ((wxSplashScreen *) x));
+}
+static void *_p_wxListbookTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *)(wxBookCtrl *) ((wxListbook *) x));
+}
+static void *_p_wxFindReplaceDialogTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxFindReplaceDialog *) x));
+}
+static void *_p_wxProgressDialogTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxFrame *) ((wxProgressDialog *) x));
+}
+static void *_p_wxMessageDialogTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxMessageDialog *) x));
+}
+static void *_p_wxFileDialogTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxFileDialog *) x));
+}
+static void *_p_wxMultiChoiceDialogTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxMultiChoiceDialog *) x));
+}
+static void *_p_wxSingleChoiceDialogTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxSingleChoiceDialog *) x));
+}
+static void *_p_wxTextEntryDialogTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxTextEntryDialog *) x));
+}
+static void *_p_wxStaticBitmapTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *) ((wxStaticBitmap *) x));
+}
+static void *_p_wxSliderTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *) ((wxSlider *) x));
+}
+static void *_p_wxStaticBoxTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *) ((wxStaticBox *) x));
+}
+static void *_p_wxCheckListBoxTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *)(wxControlWithItems *)(wxListBox *) ((wxCheckListBox *) x));
+}
+static void *_p_wxListBoxTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *)(wxControlWithItems *) ((wxListBox *) x));
+}
+static void *_p_wxPyVListBoxTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxPanel *)(wxPyVScrolledWindow *) ((wxPyVListBox *) x));
+}
+static void *_p_wxPyHtmlListBoxTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxPanel *)(wxPyVScrolledWindow *)(wxPyVListBox *) ((wxPyHtmlListBox *) x));
+}
+static void *_p_wxEditableListBoxTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxPanel *) ((wxEditableListBox *) x));
+}
+static void *_p_wxBookCtrlTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *) ((wxBookCtrl *) x));
+}
+static void *_p_wxLEDNumberCtrlTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *) ((wxLEDNumberCtrl *) x));
+}
+static void *_p_wxSpinButtonTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *) ((wxSpinButton *) x));
+}
+static void *_p_wxBitmapButtonTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *)(wxButton *) ((wxBitmapButton *) x));
+}
+static void *_p_wxButtonTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *) ((wxButton *) x));
+}
+static void *_p_wxContextHelpButtonTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *)(wxButton *)(wxBitmapButton *) ((wxContextHelpButton *) x));
+}
+static void *_p_wxRadioBoxTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *) ((wxRadioBox *) x));
+}
+static void *_p_wxScrollBarTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *) ((wxScrollBar *) x));
+}
+static void *_p_wxComboBoxTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *) ((wxComboBox *) x));
+}
+static void *_p_wxMiniFrameTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxFrame *) ((wxMiniFrame *) x));
+}
+static void *_p_wxFrameTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *) ((wxFrame *) x));
+}
+static void *_p_wxSpinCtrlTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *) ((wxSpinCtrl *) x));
+}
+static void *_p_wxStatusBarTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *) ((wxStatusBar *) x));
+}
+static void *_p_wxMDIParentFrameTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxFrame *) ((wxMDIParentFrame *) x));
+}
+static void *_p_wxMDIClientWindowTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *) ((wxMDIClientWindow *) x));
+}
+static void *_p_wxTopLevelWindowTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *) ((wxTopLevelWindow *) x));
+}
+static void *_p_wxScrolledWindowTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxPanel *) ((wxScrolledWindow *) x));
+}
+static void *_p_wxWindowTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *)  ((wxWindow *) x));
+}
+static void *_p_wxSplashScreenWindowTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *) ((wxSplashScreenWindow *) x));
+}
+static void *_p_wxSplitterWindowTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *) ((wxSplitterWindow *) x));
+}
+static void *_p_wxSashWindowTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *) ((wxSashWindow *) x));
+}
+static void *_p_wxSashLayoutWindowTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxSashWindow *) ((wxSashLayoutWindow *) x));
+}
+static void *_p_wxPopupWindowTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *) ((wxPopupWindow *) x));
+}
+static void *_p_wxPyPopupTransientWindowTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxPopupWindow *) ((wxPyPopupTransientWindow *) x));
+}
+static void *_p_wxTipWindowTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxPopupWindow *)(wxPyPopupTransientWindow *) ((wxTipWindow *) x));
+}
+static void *_p_wxPyVScrolledWindowTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxPanel *) ((wxPyVScrolledWindow *) x));
+}
+static void *_p_wxMenuTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *)  ((wxMenu *) x));
+}
+static void *_p_wxMenuBarTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *) ((wxMenuBar *) x));
+}
+static void *_p_wxDynamicSashWindowTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *) ((wxDynamicSashWindow *) x));
+}
+static void *_p_wxPyTreeCompanionWindowTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *) ((wxPyTreeCompanionWindow *) x));
+}
+static void *_p_wxThinSplitterWindowTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxSplitterWindow *) ((wxThinSplitterWindow *) x));
+}
+static void *_p_wxSplitterScrolledWindowTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxPanel *)(wxScrolledWindow *) ((wxSplitterScrolledWindow *) x));
+}
+static void *_p_wxPrintDialogTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxPrintDialog *) x));
+}
+static void *_p_wxPageSetupDialogTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxPageSetupDialog *) x));
+}
+static void *_p_wxDialogTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *) ((wxDialog *) x));
+}
+static void *_p_wxColourDialogTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxColourDialog *) x));
+}
+static void *_p_wxDirDialogTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxDirDialog *) x));
+}
+static void *_p_wxFontDialogTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxFontDialog *) x));
+}
+static void *_p_wxPanelTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *) ((wxPanel *) x));
+}
+static void *_p_wxPyAppTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *)  ((wxPyApp *) x));
+}
+static void *_p_wxStaticTextTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *) ((wxStaticText *) x));
+}
+static void *_p_wxPyPreviewControlBarTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxPanel *)(wxPreviewControlBar *) ((wxPyPreviewControlBar *) x));
+}
+static void *_p_wxPreviewControlBarTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxPanel *) ((wxPreviewControlBar *) x));
+}
+static void *_p_wxControlWithItemsTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *) ((wxControlWithItems *) x));
+}
+static void *_p_wxToolBarTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *)(wxToolBarBase *) ((wxToolBar *) x));
+}
+static void *_p_wxPyValidatorTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxValidator *) ((wxPyValidator *) x));
+}
+static void *_p_wxValidatorTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *)  ((wxValidator *) x));
+}
+static void *_p_wxRemotelyScrolledTreeCtrlTo_p_wxPyTreeCtrl(void *x) {
+    return (void *)((wxPyTreeCtrl *)  ((wxRemotelyScrolledTreeCtrl *) x));
+}
+static void *_p_wxSashEventTo_p_wxCommandEvent(void *x) {
+    return (void *)((wxCommandEvent *)  ((wxSashEvent *) x));
+}
+static void *_p_wxWindowDestroyEventTo_p_wxCommandEvent(void *x) {
+    return (void *)((wxCommandEvent *)  ((wxWindowDestroyEvent *) x));
+}
+static void *_p_wxSplitterEventTo_p_wxCommandEvent(void *x) {
+    return (void *)((wxCommandEvent *) (wxNotifyEvent *) ((wxSplitterEvent *) x));
+}
+static void *_p_wxBookCtrlEventTo_p_wxCommandEvent(void *x) {
+    return (void *)((wxCommandEvent *) (wxNotifyEvent *) ((wxBookCtrlEvent *) x));
+}
+static void *_p_wxTextUrlEventTo_p_wxCommandEvent(void *x) {
+    return (void *)((wxCommandEvent *)  ((wxTextUrlEvent *) x));
+}
+static void *_p_wxScrollEventTo_p_wxCommandEvent(void *x) {
+    return (void *)((wxCommandEvent *)  ((wxScrollEvent *) x));
+}
+static void *_p_wxPyCommandEventTo_p_wxCommandEvent(void *x) {
+    return (void *)((wxCommandEvent *)  ((wxPyCommandEvent *) x));
+}
+static void *_p_wxContextMenuEventTo_p_wxCommandEvent(void *x) {
+    return (void *)((wxCommandEvent *)  ((wxContextMenuEvent *) x));
+}
+static void *_p_wxChildFocusEventTo_p_wxCommandEvent(void *x) {
+    return (void *)((wxCommandEvent *)  ((wxChildFocusEvent *) x));
+}
+static void *_p_wxNotebookEventTo_p_wxCommandEvent(void *x) {
+    return (void *)((wxCommandEvent *) (wxNotifyEvent *)(wxBookCtrlEvent *) ((wxNotebookEvent *) x));
+}
+static void *_p_wxListbookEventTo_p_wxCommandEvent(void *x) {
+    return (void *)((wxCommandEvent *) (wxNotifyEvent *)(wxBookCtrlEvent *) ((wxListbookEvent *) x));
+}
+static void *_p_wxWindowCreateEventTo_p_wxCommandEvent(void *x) {
+    return (void *)((wxCommandEvent *)  ((wxWindowCreateEvent *) x));
+}
+static void *_p_wxListEventTo_p_wxCommandEvent(void *x) {
+    return (void *)((wxCommandEvent *) (wxNotifyEvent *) ((wxListEvent *) x));
+}
+static void *_p_wxDynamicSashSplitEventTo_p_wxCommandEvent(void *x) {
+    return (void *)((wxCommandEvent *)  ((wxDynamicSashSplitEvent *) x));
+}
+static void *_p_wxTreeEventTo_p_wxCommandEvent(void *x) {
+    return (void *)((wxCommandEvent *) (wxNotifyEvent *) ((wxTreeEvent *) x));
+}
+static void *_p_wxHelpEventTo_p_wxCommandEvent(void *x) {
+    return (void *)((wxCommandEvent *)  ((wxHelpEvent *) x));
+}
+static void *_p_wxNotifyEventTo_p_wxCommandEvent(void *x) {
+    return (void *)((wxCommandEvent *)  ((wxNotifyEvent *) x));
+}
+static void *_p_wxDynamicSashUnifyEventTo_p_wxCommandEvent(void *x) {
+    return (void *)((wxCommandEvent *)  ((wxDynamicSashUnifyEvent *) x));
+}
+static void *_p_wxFindDialogEventTo_p_wxCommandEvent(void *x) {
+    return (void *)((wxCommandEvent *)  ((wxFindDialogEvent *) x));
+}
+static void *_p_wxUpdateUIEventTo_p_wxCommandEvent(void *x) {
+    return (void *)((wxCommandEvent *)  ((wxUpdateUIEvent *) x));
+}
+static swig_type_info _swigt__p_wxEditableListBox[] = {{"_p_wxEditableListBox", 0, "wxEditableListBox *", 0},{"_p_wxEditableListBox"},{0}};
+static swig_type_info _swigt__p_wxObject[] = {{"_p_wxObject", 0, "wxObject *", 0},{"_p_wxScrollBar", _p_wxScrollBarTo_p_wxObject},{"_p_wxUpdateUIEvent", _p_wxUpdateUIEventTo_p_wxObject},{"_p_wxPreviewCanvas", _p_wxPreviewCanvasTo_p_wxObject},{"_p_wxEvent", _p_wxEventTo_p_wxObject},{"_p_wxBookCtrl", _p_wxBookCtrlTo_p_wxObject},{"_p_wxFindDialogEvent", _p_wxFindDialogEventTo_p_wxObject},{"_p_wxInitDialogEvent", _p_wxInitDialogEventTo_p_wxObject},{"_p_wxIndividualLayoutConstraint", _p_wxIndividualLayoutConstraintTo_p_wxObject},{"_p_wxPyPreviewFrame", _p_wxPyPreviewFrameTo_p_wxObject},{"_p_wxPreviewFrame", _p_wxPreviewFrameTo_p_wxObject},{"_p_wxToolBarBase", _p_wxToolBarBaseTo_p_wxObject},{"_p_wxMenuItem", _p_wxMenuItemTo_p_wxObject},{"_p_wxImage", _p_wxImageTo_p_wxObject},{"_p_wxPySizer", _p_wxPySizerTo_p_wxObject},{"_p_wxGenericDragImage", _p_wxGenericDragImageTo_p_wxObject},{"_p_wxStaticBitmap", _p_wxStaticBitmapTo_p_wxObject},{"_p_wxComboBox", _p_wxComboBoxTo_p_wxObject},{"_p_wxLayoutAlgorithm", _p_wxLayoutAlgorithmTo_p_wxObject},{"_p_wxTaskBarIcon", _p_wxTaskBarIconTo_p_wxObject},{"_p_wxPyApp", _p_wxPyAppTo_p_wxObject},{"_p_wxNotebook", _p_wxNotebookTo_p_wxObject},{"_p_wxListItem", _p_wxListItemTo_p_wxObject},{"_p_wxNotebookSizer", _p_wxNotebookSizerTo_p_wxObject},{"_p_wxRemotelyScrolledTreeCtrl", _p_wxRemotelyScrolledTreeCtrlTo_p_wxObject},{"_p_wxPyTreeCtrl", _p_wxPyTreeCtrlTo_p_wxObject},{"_p_wxPyPreviewControlBar", _p_wxPyPreviewControlBarTo_p_wxObject},{"_p_wxPreviewControlBar", _p_wxPreviewControlBarTo_p_wxObject},{"_p_wxFindReplaceData", _p_wxFindReplaceDataTo_p_wxObject},{"_p_wxStaticLine", _p_wxStaticLineTo_p_wxObject},{"_p_wxValidator", _p_wxValidatorTo_p_wxObject},{"_p_wxPyValidator", _p_wxPyValidatorTo_p_wxObject},{"_p_wxCloseEvent", _p_wxCloseEventTo_p_wxObject},{"_p_wxMouseEvent", _p_wxMouseEventTo_p_wxObject},{"_p_wxEraseEvent", _p_wxEraseEventTo_p_wxObject},{"_p_wxTreeEvent", _p_wxTreeEventTo_p_wxObject},{"_p_wxBookCtrlEvent", _p_wxBookCtrlEventTo_p_wxObject},{"_p_wxTextUrlEvent", _p_wxTextUrlEventTo_p_wxObject},{"_p_wxScrollEvent", _p_wxScrollEventTo_p_wxObject},{"_p_wxPageSetupDialogData", _p_wxPageSetupDialogDataTo_p_wxObject},{"_p_wxPrintDialogData", _p_wxPrintDialogDataTo_p_wxObject},{"_p_wxPrinter", _p_wxPrinterTo_p_wxObject},{"_p_wxControlWithItems", _p_wxControlWithItemsTo_p_wxObject},{"_p_wxObject"},{"_p_wxRadioBox", _p_wxRadioBoxTo_p_wxObject},{"_p_wxFlexGridSizer", _p_wxFlexGridSizerTo_p_wxObject},{"_p_wxGridSizer", _p_wxGridSizerTo_p_wxObject},{"_p_wxTreeListColumnInfo", _p_wxTreeListColumnInfoTo_p_wxObject},{"_p_wxAcceleratorTable", _p_wxAcceleratorTableTo_p_wxObject},{"_p_wxPyControl", _p_wxPyControlTo_p_wxObject},{"_p_wxControl", _p_wxControlTo_p_wxObject},{"_p_wxContextHelp", _p_wxContextHelpTo_p_wxObject},{"_p_wxColourData", _p_wxColourDataTo_p_wxObject},{"_p_wxWindowCreateEvent", _p_wxWindowCreateEventTo_p_wxObject},{"_p_wxQueryNewPaletteEvent", _p_wxQueryNewPaletteEventTo_p_wxObject},{"_p_wxMaximizeEvent", _p_wxMaximizeEventTo_p_wxObject},{"_p_wxIconizeEvent", _p_wxIconizeEventTo_p_wxObject},{"_p_wxActivateEvent", _p_wxActivateEventTo_p_wxObject},{"_p_wxSizeEvent", _p_wxSizeEventTo_p_wxObject},{"_p_wxMoveEvent", _p_wxMoveEventTo_p_wxObject},{"_p_wxIdleEvent", _p_wxIdleEventTo_p_wxObject},{"_p_wxStaticText", _p_wxStaticTextTo_p_wxObject},{"_p_wxCalculateLayoutEvent", _p_wxCalculateLayoutEventTo_p_wxObject},{"_p_wxListEvent", _p_wxListEventTo_p_wxObject},{"_p_wxDynamicSashSplitEvent", _p_wxDynamicSashSplitEventTo_p_wxObject},{"_p_wxPyPrintout", _p_wxPyPrintoutTo_p_wxObject},{"_p_wxGauge", _p_wxGaugeTo_p_wxObject},{"_p_wxMDIChildFrame", _p_wxMDIChildFrameTo_p_wxObject},{"_p_wxChoice", _p_wxChoiceTo_p_wxObject},{"_p_wxMenu", _p_wxMenuTo_p_wxObject},{"_p_wxBitmapButton", _p_wxBitmapButtonTo_p_wxObject},{"_p_wxButton", _p_wxButtonTo_p_wxObject},{"_p_wxContextHelpButton", _p_wxContextHelpButtonTo_p_wxObject},{"_p_wxSpinButton", _p_wxSpinButtonTo_p_wxObject},{"_p_wxWindowDestroyEvent", _p_wxWindowDestroyEventTo_p_wxObject},{"_p_wxNavigationKeyEvent", _p_wxNavigationKeyEventTo_p_wxObject},{"_p_wxKeyEvent", _p_wxKeyEventTo_p_wxObject},{"_p_wxSashEvent", _p_wxSashEventTo_p_wxObject},{"_p_wxPyHtmlListBox", _p_wxPyHtmlListBoxTo_p_wxObject},{"_p_wxPyVListBox", _p_wxPyVListBoxTo_p_wxObject},{"_p_wxEditableListBox", _p_wxEditableListBoxTo_p_wxObject},{"_p_wxListBox", _p_wxListBoxTo_p_wxObject},{"_p_wxCheckListBox", _p_wxCheckListBoxTo_p_wxObject},{"_p_wxPrintData", _p_wxPrintDataTo_p_wxObject},{"_p_wxFontData", _p_wxFontDataTo_p_wxObject},{"_p_wxMiniFrame", _p_wxMiniFrameTo_p_wxObject},{"_p_wxListbook", _p_wxListbookTo_p_wxObject},{"_p_wxFrame", _p_wxFrameTo_p_wxObject},{"_p_wxPyPanel", _p_wxPyPanelTo_p_wxObject},{"_p_wxStaticBox", _p_wxStaticBoxTo_p_wxObject},{"_p_wxQueryLayoutInfoEvent", _p_wxQueryLayoutInfoEventTo_p_wxObject},{"_p_wxSplashScreen", _p_wxSplashScreenTo_p_wxObject},{"_p_wxFileSystem", _p_wxFileSystemTo_p_wxObject},{"_p_wxPyPrintPreview", _p_wxPyPrintPreviewTo_p_wxObject},{"_p_wxPrintPreview", _p_wxPrintPreviewTo_p_wxObject},{"_p_wxListView", _p_wxListViewTo_p_wxObject},{"_p_wxPyTreeListCtrl", _p_wxPyTreeListCtrlTo_p_wxObject},{"_p_wxPyListCtrl", _p_wxPyListCtrlTo_p_wxObject},{"_p_wxDirFilterListCtrl", _p_wxDirFilterListCtrlTo_p_wxObject},{"_p_wxLayoutConstraints", _p_wxLayoutConstraintsTo_p_wxObject},{"_p_wxSizer", _p_wxSizerTo_p_wxObject},{"_p_wxBoxSizer", _p_wxBoxSizerTo_p_wxObject},{"_p_wxStaticBoxSizer", _p_wxStaticBoxSizerTo_p_wxObject},{"_p_wxGridBagSizer", _p_wxGridBagSizerTo_p_wxObject},{"_p_wxNcPaintEvent", _p_wxNcPaintEventTo_p_wxObject},{"_p_wxPaintEvent", _p_wxPaintEventTo_p_wxObject},{"_p_wxFSFile", _p_wxFSFileTo_p_wxObject},{"_p_wxSetCursorEvent", _p_wxSetCursorEventTo_p_wxObject},{"_p_wxSplitterEvent", _p_wxSplitterEventTo_p_wxObject},{"_p_wxTextCtrl", _p_wxTextCtrlTo_p_wxObject},{"_p_wxRadioButton", _p_wxRadioButtonTo_p_wxObject},{"_p_wxToggleButton", _p_wxToggleButtonTo_p_wxObject},{"_p_wxSizerItem", _p_wxSizerItemTo_p_wxObject},{"_p_wxGBSizerItem", _p_wxGBSizerItemTo_p_wxObject},{"_p_wxPrintDialog", _p_wxPrintDialogTo_p_wxObject},{"_p_wxPageSetupDialog", _p_wxPageSetupDialogTo_p_wxObject},{"_p_wxFontDialog", _p_wxFontDialogTo_p_wxObject},{"_p_wxDirDialog", _p_wxDirDialogTo_p_wxObject},{"_p_wxColourDialog", _p_wxColourDialogTo_p_wxObject},{"_p_wxDialog", _p_wxDialogTo_p_wxObject},{"_p_wxPyEvent", _p_wxPyEventTo_p_wxObject},{"_p_wxNotifyEvent", _p_wxNotifyEventTo_p_wxObject},{"_p_wxDynamicSashUnifyEvent", _p_wxDynamicSashUnifyEventTo_p_wxObject},{"_p_wxGenericDirCtrl", _p_wxGenericDirCtrlTo_p_wxObject},{"_p_wxEvtHandler", _p_wxEvtHandlerTo_p_wxObject},{"_p_wxTIFFHandler", _p_wxTIFFHandlerTo_p_wxObject},{"_p_wxImageHandler", _p_wxImageHandlerTo_p_wxObject},{"_p_wxBMPHandler", _p_wxBMPHandlerTo_p_wxObject},{"_p_wxICOHandler", _p_wxICOHandlerTo_p_wxObject},{"_p_wxCURHandler", _p_wxCURHandlerTo_p_wxObject},{"_p_wxANIHandler", _p_wxANIHandlerTo_p_wxObject},{"_p_wxPNGHandler", _p_wxPNGHandlerTo_p_wxObject},{"_p_wxGIFHandler", _p_wxGIFHandlerTo_p_wxObject},{"_p_wxPCXHandler", _p_wxPCXHandlerTo_p_wxObject},{"_p_wxJPEGHandler", _p_wxJPEGHandlerTo_p_wxObject},{"_p_wxPNMHandler", _p_wxPNMHandlerTo_p_wxObject},{"_p_wxXPMHandler", _p_wxXPMHandlerTo_p_wxObject},{"_p_wxShowEvent", _p_wxShowEventTo_p_wxObject},{"_p_wxThinSplitterWindow", _p_wxThinSplitterWindowTo_p_wxObject},{"_p_wxPyTreeCompanionWindow", _p_wxPyTreeCompanionWindowTo_p_wxObject},{"_p_wxDynamicSashWindow", _p_wxDynamicSashWindowTo_p_wxObject},{"_p_wxPyVScrolledWindow", _p_wxPyVScrolledWindowTo_p_wxObject},{"_p_wxTipWindow", _p_wxTipWindowTo_p_wxObject},{"_p_wxPyPopupTransientWindow", _p_wxPyPopupTransientWindowTo_p_wxObject},{"_p_wxPopupWindow", _p_wxPopupWindowTo_p_wxObject},{"_p_wxSashLayoutWindow", _p_wxSashLayoutWindowTo_p_wxObject},{"_p_wxSashWindow", _p_wxSashWindowTo_p_wxObject},{"_p_wxSplitterWindow", _p_wxSplitterWindowTo_p_wxObject},{"_p_wxSplashScreenWindow", _p_wxSplashScreenWindowTo_p_wxObject},{"_p_wxWindow", _p_wxWindowTo_p_wxObject},{"_p_wxSplitterScrolledWindow", _p_wxSplitterScrolledWindowTo_p_wxObject},{"_p_wxMDIClientWindow", _p_wxMDIClientWindowTo_p_wxObject},{"_p_wxScrolledWindow", _p_wxScrolledWindowTo_p_wxObject},{"_p_wxTopLevelWindow", _p_wxTopLevelWindowTo_p_wxObject},{"_p_wxSpinCtrl", _p_wxSpinCtrlTo_p_wxObject},{"_p_wxNotebookEvent", _p_wxNotebookEventTo_p_wxObject},{"_p_wxListbookEvent", _p_wxListbookEventTo_p_wxObject},{"_p_wxBookCtrlSizer", _p_wxBookCtrlSizerTo_p_wxObject},{"_p_wxTextEntryDialog", _p_wxTextEntryDialogTo_p_wxObject},{"_p_wxFindReplaceDialog", _p_wxFindReplaceDialogTo_p_wxObject},{"_p_wxProgressDialog", _p_wxProgressDialogTo_p_wxObject},{"_p_wxMessageDialog", _p_wxMessageDialogTo_p_wxObject},{"_p_wxFileDialog", _p_wxFileDialogTo_p_wxObject},{"_p_wxMultiChoiceDialog", _p_wxMultiChoiceDialogTo_p_wxObject},{"_p_wxSingleChoiceDialog", _p_wxSingleChoiceDialogTo_p_wxObject},{"_p_wxToolBarToolBase", _p_wxToolBarToolBaseTo_p_wxObject},{"_p_wxSlider", _p_wxSliderTo_p_wxObject},{"_p_wxPyWindow", _p_wxPyWindowTo_p_wxObject},{"_p_wxPaletteChangedEvent", _p_wxPaletteChangedEventTo_p_wxObject},{"_p_wxDisplayChangedEvent", _p_wxDisplayChangedEventTo_p_wxObject},{"_p_wxMouseCaptureChangedEvent", _p_wxMouseCaptureChangedEventTo_p_wxObject},{"_p_wxSysColourChangedEvent", _p_wxSysColourChangedEventTo_p_wxObject},{"_p_wxCheckBox", _p_wxCheckBoxTo_p_wxObject},{"_p_wxHelpEvent", _p_wxHelpEventTo_p_wxObject},{"_p_wxPanel", _p_wxPanelTo_p_wxObject},{"_p_wxScrollWinEvent", _p_wxScrollWinEventTo_p_wxObject},{"_p_wxTaskBarIconEvent", _p_wxTaskBarIconEventTo_p_wxObject},{"_p_wxContextMenuEvent", _p_wxContextMenuEventTo_p_wxObject},{"_p_wxMenuEvent", _p_wxMenuEventTo_p_wxObject},{"_p_wxLEDNumberCtrl", _p_wxLEDNumberCtrlTo_p_wxObject},{"_p_wxToolBar", _p_wxToolBarTo_p_wxObject},{"_p_wxCommandEvent", _p_wxCommandEventTo_p_wxObject},{"_p_wxPyCommandEvent", _p_wxPyCommandEventTo_p_wxObject},{"_p_wxStatusBar", _p_wxStatusBarTo_p_wxObject},{"_p_wxDropFilesEvent", _p_wxDropFilesEventTo_p_wxObject},{"_p_wxFocusEvent", _p_wxFocusEventTo_p_wxObject},{"_p_wxChildFocusEvent", _p_wxChildFocusEventTo_p_wxObject},{"_p_wxMDIParentFrame", _p_wxMDIParentFrameTo_p_wxObject},{"_p_wxMenuBar", _p_wxMenuBarTo_p_wxObject},{0}};
+static swig_type_info _swigt__p_wxColour[] = {{"_p_wxColour", 0, "wxColour *", 0},{"_p_wxColour"},{0}};
+static swig_type_info _swigt__p_wxPyTreeCtrl[] = {{"_p_wxPyTreeCtrl", 0, "wxPyTreeCtrl *", 0},{"_p_wxPyTreeCtrl"},{"_p_wxRemotelyScrolledTreeCtrl", _p_wxRemotelyScrolledTreeCtrlTo_p_wxPyTreeCtrl},{0}};
+static swig_type_info _swigt__p_wxRemotelyScrolledTreeCtrl[] = {{"_p_wxRemotelyScrolledTreeCtrl", 0, "wxRemotelyScrolledTreeCtrl *", 0},{"_p_wxRemotelyScrolledTreeCtrl"},{0}};
+static swig_type_info _swigt__p_wxTreeListColumnInfo[] = {{"_p_wxTreeListColumnInfo", 0, "wxTreeListColumnInfo *", 0},{"_p_wxTreeListColumnInfo"},{0}};
+static swig_type_info _swigt__p_wxPyTreeListCtrl[] = {{"_p_wxPyTreeListCtrl", 0, "wxPyTreeListCtrl *", 0},{"_p_wxPyTreeListCtrl"},{0}};
+static swig_type_info _swigt__p_wxImageList[] = {{"_p_wxImageList", 0, "wxImageList *", 0},{"_p_wxImageList"},{0}};
+static swig_type_info _swigt__p_wxScrollBar[] = {{"_p_wxScrollBar", 0, "wxScrollBar *", 0},{"_p_wxScrollBar"},{0}};
+static swig_type_info _swigt__p_wxDynamicSashWindow[] = {{"_p_wxDynamicSashWindow", 0, "wxDynamicSashWindow *", 0},{"_p_wxDynamicSashWindow"},{0}};
+static swig_type_info _swigt__p_wxScrolledWindow[] = {{"_p_wxScrolledWindow", 0, "wxScrolledWindow *", 0},{"_p_wxScrolledWindow"},{"_p_wxSplitterScrolledWindow", _p_wxSplitterScrolledWindowTo_p_wxScrolledWindow},{"_p_wxPreviewCanvas", _p_wxPreviewCanvasTo_p_wxScrolledWindow},{0}};
+static swig_type_info _swigt__p_wxSplitterWindow[] = {{"_p_wxSplitterWindow", 0, "wxSplitterWindow *", 0},{"_p_wxSplitterWindow"},{"_p_wxThinSplitterWindow", _p_wxThinSplitterWindowTo_p_wxSplitterWindow},{0}};
+static swig_type_info _swigt__p_wxWindow[] = {{"_p_wxWindow", 0, "wxWindow *", 0},{"_p_wxPyPreviewFrame", _p_wxPyPreviewFrameTo_p_wxWindow},{"_p_wxPreviewFrame", _p_wxPreviewFrameTo_p_wxWindow},{"_p_wxCheckBox", _p_wxCheckBoxTo_p_wxWindow},{"_p_wxPyTreeCtrl", _p_wxPyTreeCtrlTo_p_wxWindow},{"_p_wxRemotelyScrolledTreeCtrl", _p_wxRemotelyScrolledTreeCtrlTo_p_wxWindow},{"_p_wxPyPanel", _p_wxPyPanelTo_p_wxWindow},{"_p_wxGenericDirCtrl", _p_wxGenericDirCtrlTo_p_wxWindow},{"_p_wxDirFilterListCtrl", _p_wxDirFilterListCtrlTo_p_wxWindow},{"_p_wxPyListCtrl", _p_wxPyListCtrlTo_p_wxWindow},{"_p_wxPyTreeListCtrl", _p_wxPyTreeListCtrlTo_p_wxWindow},{"_p_wxPreviewCanvas", _p_wxPreviewCanvasTo_p_wxWindow},{"_p_wxStaticLine", _p_wxStaticLineTo_p_wxWindow},{"_p_wxPyControl", _p_wxPyControlTo_p_wxWindow},{"_p_wxControl", _p_wxControlTo_p_wxWindow},{"_p_wxGauge", _p_wxGaugeTo_p_wxWindow},{"_p_wxToolBarBase", _p_wxToolBarBaseTo_p_wxWindow},{"_p_wxToggleButton", _p_wxToggleButtonTo_p_wxWindow},{"_p_wxRadioButton", _p_wxRadioButtonTo_p_wxWindow},{"_p_wxChoice", _p_wxChoiceTo_p_wxWindow},{"_p_wxListView", _p_wxListViewTo_p_wxWindow},{"_p_wxTextCtrl", _p_wxTextCtrlTo_p_wxWindow},{"_p_wxNotebook", _p_wxNotebookTo_p_wxWindow},{"_p_wxMDIChildFrame", _p_wxMDIChildFrameTo_p_wxWindow},{"_p_wxPyWindow", _p_wxPyWindowTo_p_wxWindow},{"_p_wxSplashScreen", _p_wxSplashScreenTo_p_wxWindow},{"_p_wxListbook", _p_wxListbookTo_p_wxWindow},{"_p_wxFindReplaceDialog", _p_wxFindReplaceDialogTo_p_wxWindow},{"_p_wxProgressDialog", _p_wxProgressDialogTo_p_wxWindow},{"_p_wxMessageDialog", _p_wxMessageDialogTo_p_wxWindow},{"_p_wxTextEntryDialog", _p_wxTextEntryDialogTo_p_wxWindow},{"_p_wxSingleChoiceDialog", _p_wxSingleChoiceDialogTo_p_wxWindow},{"_p_wxMultiChoiceDialog", _p_wxMultiChoiceDialogTo_p_wxWindow},{"_p_wxFileDialog", _p_wxFileDialogTo_p_wxWindow},{"_p_wxStaticBitmap", _p_wxStaticBitmapTo_p_wxWindow},{"_p_wxSlider", _p_wxSliderTo_p_wxWindow},{"_p_wxStaticBox", _p_wxStaticBoxTo_p_wxWindow},{"_p_wxPyVListBox", _p_wxPyVListBoxTo_p_wxWindow},{"_p_wxPyHtmlListBox", _p_wxPyHtmlListBoxTo_p_wxWindow},{"_p_wxEditableListBox", _p_wxEditableListBoxTo_p_wxWindow},{"_p_wxCheckListBox", _p_wxCheckListBoxTo_p_wxWindow},{"_p_wxListBox", _p_wxListBoxTo_p_wxWindow},{"_p_wxLEDNumberCtrl", _p_wxLEDNumberCtrlTo_p_wxWindow},{"_p_wxBookCtrl", _p_wxBookCtrlTo_p_wxWindow},{"_p_wxBitmapButton", _p_wxBitmapButtonTo_p_wxWindow},{"_p_wxButton", _p_wxButtonTo_p_wxWindow},{"_p_wxContextHelpButton", _p_wxContextHelpButtonTo_p_wxWindow},{"_p_wxSpinButton", _p_wxSpinButtonTo_p_wxWindow},{"_p_wxRadioBox", _p_wxRadioBoxTo_p_wxWindow},{"_p_wxScrollBar", _p_wxScrollBarTo_p_wxWindow},{"_p_wxComboBox", _p_wxComboBoxTo_p_wxWindow},{"_p_wxMiniFrame", _p_wxMiniFrameTo_p_wxWindow},{"_p_wxFrame", _p_wxFrameTo_p_wxWindow},{"_p_wxSpinCtrl", _p_wxSpinCtrlTo_p_wxWindow},{"_p_wxStatusBar", _p_wxStatusBarTo_p_wxWindow},{"_p_wxMDIParentFrame", _p_wxMDIParentFrameTo_p_wxWindow},{"_p_wxSashWindow", _p_wxSashWindowTo_p_wxWindow},{"_p_wxSplitterWindow", _p_wxSplitterWindowTo_p_wxWindow},{"_p_wxSplashScreenWindow", _p_wxSplashScreenWindowTo_p_wxWindow},{"_p_wxTopLevelWindow", _p_wxTopLevelWindowTo_p_wxWindow},{"_p_wxScrolledWindow", _p_wxScrolledWindowTo_p_wxWindow},{"_p_wxSashLayoutWindow", _p_wxSashLayoutWindowTo_p_wxWindow},{"_p_wxPopupWindow", _p_wxPopupWindowTo_p_wxWindow},{"_p_wxPyPopupTransientWindow", _p_wxPyPopupTransientWindowTo_p_wxWindow},{"_p_wxTipWindow", _p_wxTipWindowTo_p_wxWindow},{"_p_wxPyVScrolledWindow", _p_wxPyVScrolledWindowTo_p_wxWindow},{"_p_wxMDIClientWindow", _p_wxMDIClientWindowTo_p_wxWindow},{"_p_wxDynamicSashWindow", _p_wxDynamicSashWindowTo_p_wxWindow},{"_p_wxPyTreeCompanionWindow", _p_wxPyTreeCompanionWindowTo_p_wxWindow},{"_p_wxThinSplitterWindow", _p_wxThinSplitterWindowTo_p_wxWindow},{"_p_wxSplitterScrolledWindow", _p_wxSplitterScrolledWindowTo_p_wxWindow},{"_p_wxWindow"},{"_p_wxMenuBar", _p_wxMenuBarTo_p_wxWindow},{"_p_wxPageSetupDialog", _p_wxPageSetupDialogTo_p_wxWindow},{"_p_wxPrintDialog", _p_wxPrintDialogTo_p_wxWindow},{"_p_wxDialog", _p_wxDialogTo_p_wxWindow},{"_p_wxColourDialog", _p_wxColourDialogTo_p_wxWindow},{"_p_wxDirDialog", _p_wxDirDialogTo_p_wxWindow},{"_p_wxFontDialog", _p_wxFontDialogTo_p_wxWindow},{"_p_wxPanel", _p_wxPanelTo_p_wxWindow},{"_p_wxStaticText", _p_wxStaticTextTo_p_wxWindow},{"_p_wxPreviewControlBar", _p_wxPreviewControlBarTo_p_wxWindow},{"_p_wxPyPreviewControlBar", _p_wxPyPreviewControlBarTo_p_wxWindow},{"_p_wxControlWithItems", _p_wxControlWithItemsTo_p_wxWindow},{"_p_wxToolBar", _p_wxToolBarTo_p_wxWindow},{0}};
+static swig_type_info _swigt__p_wxPyTreeCompanionWindow[] = {{"_p_wxPyTreeCompanionWindow", 0, "wxPyTreeCompanionWindow *", 0},{"_p_wxPyTreeCompanionWindow"},{0}};
+static swig_type_info _swigt__p_wxThinSplitterWindow[] = {{"_p_wxThinSplitterWindow", 0, "wxThinSplitterWindow *", 0},{"_p_wxThinSplitterWindow"},{0}};
+static swig_type_info _swigt__p_wxSplitterScrolledWindow[] = {{"_p_wxSplitterScrolledWindow", 0, "wxSplitterScrolledWindow *", 0},{"_p_wxSplitterScrolledWindow"},{0}};
+static swig_type_info _swigt__p_wxValidator[] = {{"_p_wxValidator", 0, "wxValidator *", 0},{"_p_wxValidator"},{"_p_wxPyValidator", _p_wxPyValidatorTo_p_wxValidator},{0}};
+static swig_type_info _swigt__p_wxCommandEvent[] = {{"_p_wxCommandEvent", 0, "wxCommandEvent *", 0},{"_p_wxSashEvent", _p_wxSashEventTo_p_wxCommandEvent},{"_p_wxWindowDestroyEvent", _p_wxWindowDestroyEventTo_p_wxCommandEvent},{"_p_wxSplitterEvent", _p_wxSplitterEventTo_p_wxCommandEvent},{"_p_wxBookCtrlEvent", _p_wxBookCtrlEventTo_p_wxCommandEvent},{"_p_wxTextUrlEvent", _p_wxTextUrlEventTo_p_wxCommandEvent},{"_p_wxScrollEvent", _p_wxScrollEventTo_p_wxCommandEvent},{"_p_wxPyCommandEvent", _p_wxPyCommandEventTo_p_wxCommandEvent},{"_p_wxCommandEvent"},{"_p_wxContextMenuEvent", _p_wxContextMenuEventTo_p_wxCommandEvent},{"_p_wxChildFocusEvent", _p_wxChildFocusEventTo_p_wxCommandEvent},{"_p_wxNotebookEvent", _p_wxNotebookEventTo_p_wxCommandEvent},{"_p_wxListbookEvent", _p_wxListbookEventTo_p_wxCommandEvent},{"_p_wxListEvent", _p_wxListEventTo_p_wxCommandEvent},{"_p_wxWindowCreateEvent", _p_wxWindowCreateEventTo_p_wxCommandEvent},{"_p_wxDynamicSashSplitEvent", _p_wxDynamicSashSplitEventTo_p_wxCommandEvent},{"_p_wxTreeEvent", _p_wxTreeEventTo_p_wxCommandEvent},{"_p_wxHelpEvent", _p_wxHelpEventTo_p_wxCommandEvent},{"_p_wxNotifyEvent", _p_wxNotifyEventTo_p_wxCommandEvent},{"_p_wxDynamicSashUnifyEvent", _p_wxDynamicSashUnifyEventTo_p_wxCommandEvent},{"_p_wxFindDialogEvent", _p_wxFindDialogEventTo_p_wxCommandEvent},{"_p_wxUpdateUIEvent", _p_wxUpdateUIEventTo_p_wxCommandEvent},{0}};
+static swig_type_info _swigt__p_wxArrayString[] = {{"_p_wxArrayString", 0, "wxArrayString *", 0},{"_p_wxArrayString"},{0}};
+static swig_type_info _swigt__p_wxLEDNumberCtrl[] = {{"_p_wxLEDNumberCtrl", 0, "wxLEDNumberCtrl *", 0},{"_p_wxLEDNumberCtrl"},{0}};
+static swig_type_info _swigt__p_wxDynamicSashSplitEvent[] = {{"_p_wxDynamicSashSplitEvent", 0, "wxDynamicSashSplitEvent *", 0},{"_p_wxDynamicSashSplitEvent"},{0}};
+static swig_type_info _swigt__p_wxTreeItemId[] = {{"_p_wxTreeItemId", 0, "wxTreeItemId *", 0},{"_p_wxTreeItemId"},{0}};
+static swig_type_info _swigt__p_wxString[] = {{"_p_wxString", 0, "wxString *", 0},{"_p_wxString"},{0}};
+static swig_type_info _swigt__p_wxEvtHandler[] = {{"_p_wxEvtHandler", 0, "wxEvtHandler *", 0},{"_p_wxPyPreviewFrame", _p_wxPyPreviewFrameTo_p_wxEvtHandler},{"_p_wxPreviewFrame", _p_wxPreviewFrameTo_p_wxEvtHandler},{"_p_wxCheckBox", _p_wxCheckBoxTo_p_wxEvtHandler},{"_p_wxPyTreeCtrl", _p_wxPyTreeCtrlTo_p_wxEvtHandler},{"_p_wxRemotelyScrolledTreeCtrl", _p_wxRemotelyScrolledTreeCtrlTo_p_wxEvtHandler},{"_p_wxPyPanel", _p_wxPyPanelTo_p_wxEvtHandler},{"_p_wxMenu", _p_wxMenuTo_p_wxEvtHandler},{"_p_wxTaskBarIcon", _p_wxTaskBarIconTo_p_wxEvtHandler},{"_p_wxGenericDirCtrl", _p_wxGenericDirCtrlTo_p_wxEvtHandler},{"_p_wxPyListCtrl", _p_wxPyListCtrlTo_p_wxEvtHandler},{"_p_wxDirFilterListCtrl", _p_wxDirFilterListCtrlTo_p_wxEvtHandler},{"_p_wxPyTreeListCtrl", _p_wxPyTreeListCtrlTo_p_wxEvtHandler},{"_p_wxPreviewCanvas", _p_wxPreviewCanvasTo_p_wxEvtHandler},{"_p_wxStaticLine", _p_wxStaticLineTo_p_wxEvtHandler},{"_p_wxControl", _p_wxControlTo_p_wxEvtHandler},{"_p_wxPyControl", _p_wxPyControlTo_p_wxEvtHandler},{"_p_wxGauge", _p_wxGaugeTo_p_wxEvtHandler},{"_p_wxToolBarBase", _p_wxToolBarBaseTo_p_wxEvtHandler},{"_p_wxToggleButton", _p_wxToggleButtonTo_p_wxEvtHandler},{"_p_wxRadioButton", _p_wxRadioButtonTo_p_wxEvtHandler},{"_p_wxChoice", _p_wxChoiceTo_p_wxEvtHandler},{"_p_wxListView", _p_wxListViewTo_p_wxEvtHandler},{"_p_wxTextCtrl", _p_wxTextCtrlTo_p_wxEvtHandler},{"_p_wxNotebook", _p_wxNotebookTo_p_wxEvtHandler},{"_p_wxMDIChildFrame", _p_wxMDIChildFrameTo_p_wxEvtHandler},{"_p_wxPyWindow", _p_wxPyWindowTo_p_wxEvtHandler},{"_p_wxSplashScreen", _p_wxSplashScreenTo_p_wxEvtHandler},{"_p_wxListbook", _p_wxListbookTo_p_wxEvtHandler},{"_p_wxSingleChoiceDialog", _p_wxSingleChoiceDialogTo_p_wxEvtHandler},{"_p_wxMultiChoiceDialog", _p_wxMultiChoiceDialogTo_p_wxEvtHandler},{"_p_wxFileDialog", _p_wxFileDialogTo_p_wxEvtHandler},{"_p_wxMessageDialog", _p_wxMessageDialogTo_p_wxEvtHandler},{"_p_wxProgressDialog", _p_wxProgressDialogTo_p_wxEvtHandler},{"_p_wxFindReplaceDialog", _p_wxFindReplaceDialogTo_p_wxEvtHandler},{"_p_wxTextEntryDialog", _p_wxTextEntryDialogTo_p_wxEvtHandler},{"_p_wxStaticBitmap", _p_wxStaticBitmapTo_p_wxEvtHandler},{"_p_wxSlider", _p_wxSliderTo_p_wxEvtHandler},{"_p_wxStaticBox", _p_wxStaticBoxTo_p_wxEvtHandler},{"_p_wxEvtHandler"},{"_p_wxPyVListBox", _p_wxPyVListBoxTo_p_wxEvtHandler},{"_p_wxPyHtmlListBox", _p_wxPyHtmlListBoxTo_p_wxEvtHandler},{"_p_wxEditableListBox", _p_wxEditableListBoxTo_p_wxEvtHandler},{"_p_wxCheckListBox", _p_wxCheckListBoxTo_p_wxEvtHandler},{"_p_wxListBox", _p_wxListBoxTo_p_wxEvtHandler},{"_p_wxLEDNumberCtrl", _p_wxLEDNumberCtrlTo_p_wxEvtHandler},{"_p_wxBookCtrl", _p_wxBookCtrlTo_p_wxEvtHandler},{"_p_wxBitmapButton", _p_wxBitmapButtonTo_p_wxEvtHandler},{"_p_wxButton", _p_wxButtonTo_p_wxEvtHandler},{"_p_wxContextHelpButton", _p_wxContextHelpButtonTo_p_wxEvtHandler},{"_p_wxSpinButton", _p_wxSpinButtonTo_p_wxEvtHandler},{"_p_wxRadioBox", _p_wxRadioBoxTo_p_wxEvtHandler},{"_p_wxScrollBar", _p_wxScrollBarTo_p_wxEvtHandler},{"_p_wxComboBox", _p_wxComboBoxTo_p_wxEvtHandler},{"_p_wxMiniFrame", _p_wxMiniFrameTo_p_wxEvtHandler},{"_p_wxFrame", _p_wxFrameTo_p_wxEvtHandler},{"_p_wxSpinCtrl", _p_wxSpinCtrlTo_p_wxEvtHandler},{"_p_wxStatusBar", _p_wxStatusBarTo_p_wxEvtHandler},{"_p_wxMDIParentFrame", _p_wxMDIParentFrameTo_p_wxEvtHandler},{"_p_wxSplitterScrolledWindow", _p_wxSplitterScrolledWindowTo_p_wxEvtHandler},{"_p_wxWindow", _p_wxWindowTo_p_wxEvtHandler},{"_p_wxSplashScreenWindow", _p_wxSplashScreenWindowTo_p_wxEvtHandler},{"_p_wxSplitterWindow", _p_wxSplitterWindowTo_p_wxEvtHandler},{"_p_wxSashWindow", _p_wxSashWindowTo_p_wxEvtHandler},{"_p_wxSashLayoutWindow", _p_wxSashLayoutWindowTo_p_wxEvtHandler},{"_p_wxPopupWindow", _p_wxPopupWindowTo_p_wxEvtHandler},{"_p_wxPyPopupTransientWindow", _p_wxPyPopupTransientWindowTo_p_wxEvtHandler},{"_p_wxTipWindow", _p_wxTipWindowTo_p_wxEvtHandler},{"_p_wxPyVScrolledWindow", _p_wxPyVScrolledWindowTo_p_wxEvtHandler},{"_p_wxDynamicSashWindow", _p_wxDynamicSashWindowTo_p_wxEvtHandler},{"_p_wxPyTreeCompanionWindow", _p_wxPyTreeCompanionWindowTo_p_wxEvtHandler},{"_p_wxThinSplitterWindow", _p_wxThinSplitterWindowTo_p_wxEvtHandler},{"_p_wxMDIClientWindow", _p_wxMDIClientWindowTo_p_wxEvtHandler},{"_p_wxScrolledWindow", _p_wxScrolledWindowTo_p_wxEvtHandler},{"_p_wxTopLevelWindow", _p_wxTopLevelWindowTo_p_wxEvtHandler},{"_p_wxMenuBar", _p_wxMenuBarTo_p_wxEvtHandler},{"_p_wxPageSetupDialog", _p_wxPageSetupDialogTo_p_wxEvtHandler},{"_p_wxPrintDialog", _p_wxPrintDialogTo_p_wxEvtHandler},{"_p_wxDialog", _p_wxDialogTo_p_wxEvtHandler},{"_p_wxColourDialog", _p_wxColourDialogTo_p_wxEvtHandler},{"_p_wxDirDialog", _p_wxDirDialogTo_p_wxEvtHandler},{"_p_wxFontDialog", _p_wxFontDialogTo_p_wxEvtHandler},{"_p_wxPanel", _p_wxPanelTo_p_wxEvtHandler},{"_p_wxPyApp", _p_wxPyAppTo_p_wxEvtHandler},{"_p_wxStaticText", _p_wxStaticTextTo_p_wxEvtHandler},{"_p_wxPreviewControlBar", _p_wxPreviewControlBarTo_p_wxEvtHandler},{"_p_wxPyPreviewControlBar", _p_wxPyPreviewControlBarTo_p_wxEvtHandler},{"_p_wxControlWithItems", _p_wxControlWithItemsTo_p_wxEvtHandler},{"_p_wxToolBar", _p_wxToolBarTo_p_wxEvtHandler},{"_p_wxPyValidator", _p_wxPyValidatorTo_p_wxEvtHandler},{"_p_wxValidator", _p_wxValidatorTo_p_wxEvtHandler},{0}};
+static swig_type_info _swigt__p_wxFont[] = {{"_p_wxFont", 0, "wxFont *", 0},{"_p_wxFont"},{0}};
+static swig_type_info _swigt__p_wxDynamicSashUnifyEvent[] = {{"_p_wxDynamicSashUnifyEvent", 0, "wxDynamicSashUnifyEvent *", 0},{"_p_wxDynamicSashUnifyEvent"},{0}};
+static swig_type_info _swigt__p_wxControl[] = {{"_p_wxControl", 0, "wxControl *", 0},{"_p_wxBookCtrl", _p_wxBookCtrlTo_p_wxControl},{"_p_wxToolBar", _p_wxToolBarTo_p_wxControl},{"_p_wxToggleButton", _p_wxToggleButtonTo_p_wxControl},{"_p_wxRadioButton", _p_wxRadioButtonTo_p_wxControl},{"_p_wxLEDNumberCtrl", _p_wxLEDNumberCtrlTo_p_wxControl},{"_p_wxControl"},{"_p_wxPyControl", _p_wxPyControlTo_p_wxControl},{"_p_wxToolBarBase", _p_wxToolBarBaseTo_p_wxControl},{"_p_wxDirFilterListCtrl", _p_wxDirFilterListCtrlTo_p_wxControl},{"_p_wxPyListCtrl", _p_wxPyListCtrlTo_p_wxControl},{"_p_wxPyTreeListCtrl", _p_wxPyTreeListCtrlTo_p_wxControl},{"_p_wxComboBox", _p_wxComboBoxTo_p_wxControl},{"_p_wxGenericDirCtrl", _p_wxGenericDirCtrlTo_p_wxControl},{"_p_wxScrollBar", _p_wxScrollBarTo_p_wxControl},{"_p_wxControlWithItems", _p_wxControlWithItemsTo_p_wxControl},{"_p_wxGauge", _p_wxGaugeTo_p_wxControl},{"_p_wxStaticLine", _p_wxStaticLineTo_p_wxControl},{"_p_wxListbook", _p_wxListbookTo_p_wxControl},{"_p_wxRemotelyScrolledTreeCtrl", _p_wxRemotelyScrolledTreeCtrlTo_p_wxControl},{"_p_wxPyTreeCtrl", _p_wxPyTreeCtrlTo_p_wxControl},{"_p_wxCheckBox", _p_wxCheckBoxTo_p_wxControl},{"_p_wxRadioBox", _p_wxRadioBoxTo_p_wxControl},{"_p_wxChoice", _p_wxChoiceTo_p_wxControl},{"_p_wxListBox", _p_wxListBoxTo_p_wxControl},{"_p_wxCheckListBox", _p_wxCheckListBoxTo_p_wxControl},{"_p_wxListView", _p_wxListViewTo_p_wxControl},{"_p_wxNotebook", _p_wxNotebookTo_p_wxControl},{"_p_wxStaticBitmap", _p_wxStaticBitmapTo_p_wxControl},{"_p_wxSpinCtrl", _p_wxSpinCtrlTo_p_wxControl},{"_p_wxStaticText", _p_wxStaticTextTo_p_wxControl},{"_p_wxStaticBox", _p_wxStaticBoxTo_p_wxControl},{"_p_wxSlider", _p_wxSliderTo_p_wxControl},{"_p_wxContextHelpButton", _p_wxContextHelpButtonTo_p_wxControl},{"_p_wxSpinButton", _p_wxSpinButtonTo_p_wxControl},{"_p_wxButton", _p_wxButtonTo_p_wxControl},{"_p_wxBitmapButton", _p_wxBitmapButtonTo_p_wxControl},{"_p_wxTextCtrl", _p_wxTextCtrlTo_p_wxControl},{0}};
+static swig_type_info _swigt__p_wxPanel[] = {{"_p_wxPanel", 0, "wxPanel *", 0},{"_p_wxPanel"},{"_p_wxScrolledWindow", _p_wxScrolledWindowTo_p_wxPanel},{"_p_wxSplitterScrolledWindow", _p_wxSplitterScrolledWindowTo_p_wxPanel},{"_p_wxPyVScrolledWindow", _p_wxPyVScrolledWindowTo_p_wxPanel},{"_p_wxPyVListBox", _p_wxPyVListBoxTo_p_wxPanel},{"_p_wxPyHtmlListBox", _p_wxPyHtmlListBoxTo_p_wxPanel},{"_p_wxPyPanel", _p_wxPyPanelTo_p_wxPanel},{"_p_wxEditableListBox", _p_wxEditableListBoxTo_p_wxPanel},{"_p_wxPreviewCanvas", _p_wxPreviewCanvasTo_p_wxPanel},{"_p_wxPreviewControlBar", _p_wxPreviewControlBarTo_p_wxPanel},{"_p_wxPyPreviewControlBar", _p_wxPyPreviewControlBarTo_p_wxPanel},{0}};
+static swig_type_info _swigt__p_wxPyTreeItemData[] = {{"_p_wxPyTreeItemData", 0, "wxPyTreeItemData *", 0},{"_p_wxPyTreeItemData"},{0}};
+static swig_type_info _swigt__p_wxEvent[] = {{"_p_wxEvent", 0, "wxEvent *", 0},{"_p_wxContextMenuEvent", _p_wxContextMenuEventTo_p_wxEvent},{"_p_wxMenuEvent", _p_wxMenuEventTo_p_wxEvent},{"_p_wxCloseEvent", _p_wxCloseEventTo_p_wxEvent},{"_p_wxMouseEvent", _p_wxMouseEventTo_p_wxEvent},{"_p_wxEraseEvent", _p_wxEraseEventTo_p_wxEvent},{"_p_wxTreeEvent", _p_wxTreeEventTo_p_wxEvent},{"_p_wxSetCursorEvent", _p_wxSetCursorEventTo_p_wxEvent},{"_p_wxSplitterEvent", _p_wxSplitterEventTo_p_wxEvent},{"_p_wxInitDialogEvent", _p_wxInitDialogEventTo_p_wxEvent},{"_p_wxFindDialogEvent", _p_wxFindDialogEventTo_p_wxEvent},{"_p_wxScrollEvent", _p_wxScrollEventTo_p_wxEvent},{"_p_wxTextUrlEvent", _p_wxTextUrlEventTo_p_wxEvent},{"_p_wxBookCtrlEvent", _p_wxBookCtrlEventTo_p_wxEvent},{"_p_wxPyEvent", _p_wxPyEventTo_p_wxEvent},{"_p_wxNotifyEvent", _p_wxNotifyEventTo_p_wxEvent},{"_p_wxDynamicSashUnifyEvent", _p_wxDynamicSashUnifyEventTo_p_wxEvent},{"_p_wxCalculateLayoutEvent", _p_wxCalculateLayoutEventTo_p_wxEvent},{"_p_wxListEvent", _p_wxListEventTo_p_wxEvent},{"_p_wxDynamicSashSplitEvent", _p_wxDynamicSashSplitEventTo_p_wxEvent},{"_p_wxHelpEvent", _p_wxHelpEventTo_p_wxEvent},{"_p_wxNotebookEvent", _p_wxNotebookEventTo_p_wxEvent},{"_p_wxListbookEvent", _p_wxListbookEventTo_p_wxEvent},{"_p_wxEvent"},{"_p_wxIdleEvent", _p_wxIdleEventTo_p_wxEvent},{"_p_wxWindowCreateEvent", _p_wxWindowCreateEventTo_p_wxEvent},{"_p_wxQueryNewPaletteEvent", _p_wxQueryNewPaletteEventTo_p_wxEvent},{"_p_wxMaximizeEvent", _p_wxMaximizeEventTo_p_wxEvent},{"_p_wxIconizeEvent", _p_wxIconizeEventTo_p_wxEvent},{"_p_wxActivateEvent", _p_wxActivateEventTo_p_wxEvent},{"_p_wxSizeEvent", _p_wxSizeEventTo_p_wxEvent},{"_p_wxMoveEvent", _p_wxMoveEventTo_p_wxEvent},{"_p_wxPaintEvent", _p_wxPaintEventTo_p_wxEvent},{"_p_wxNcPaintEvent", _p_wxNcPaintEventTo_p_wxEvent},{"_p_wxUpdateUIEvent", _p_wxUpdateUIEventTo_p_wxEvent},{"_p_wxPaletteChangedEvent", _p_wxPaletteChangedEventTo_p_wxEvent},{"_p_wxDisplayChangedEvent", _p_wxDisplayChangedEventTo_p_wxEvent},{"_p_wxMouseCaptureChangedEvent", _p_wxMouseCaptureChangedEventTo_p_wxEvent},{"_p_wxSysColourChangedEvent", _p_wxSysColourChangedEventTo_p_wxEvent},{"_p_wxDropFilesEvent", _p_wxDropFilesEventTo_p_wxEvent},{"_p_wxFocusEvent", _p_wxFocusEventTo_p_wxEvent},{"_p_wxChildFocusEvent", _p_wxChildFocusEventTo_p_wxEvent},{"_p_wxSashEvent", _p_wxSashEventTo_p_wxEvent},{"_p_wxQueryLayoutInfoEvent", _p_wxQueryLayoutInfoEventTo_p_wxEvent},{"_p_wxShowEvent", _p_wxShowEventTo_p_wxEvent},{"_p_wxCommandEvent", _p_wxCommandEventTo_p_wxEvent},{"_p_wxPyCommandEvent", _p_wxPyCommandEventTo_p_wxEvent},{"_p_wxWindowDestroyEvent", _p_wxWindowDestroyEventTo_p_wxEvent},{"_p_wxNavigationKeyEvent", _p_wxNavigationKeyEventTo_p_wxEvent},{"_p_wxKeyEvent", _p_wxKeyEventTo_p_wxEvent},{"_p_wxScrollWinEvent", _p_wxScrollWinEventTo_p_wxEvent},{"_p_wxTaskBarIconEvent", _p_wxTaskBarIconEventTo_p_wxEvent},{0}};
+static swig_type_info _swigt__p_int[] = {{"_p_int", 0, "int *", 0},{"_p_int"},{0}};
+
+static swig_type_info *swig_types_initial[] = {
+_swigt__p_wxEditableListBox, 
+_swigt__p_wxObject, 
+_swigt__p_wxColour, 
+_swigt__p_wxPyTreeCtrl, 
+_swigt__p_wxRemotelyScrolledTreeCtrl, 
+_swigt__p_wxTreeListColumnInfo, 
+_swigt__p_wxPyTreeListCtrl, 
+_swigt__p_wxImageList, 
+_swigt__p_wxScrollBar, 
+_swigt__p_wxDynamicSashWindow, 
+_swigt__p_wxScrolledWindow, 
+_swigt__p_wxSplitterWindow, 
+_swigt__p_wxWindow, 
+_swigt__p_wxPyTreeCompanionWindow, 
+_swigt__p_wxThinSplitterWindow, 
+_swigt__p_wxSplitterScrolledWindow, 
+_swigt__p_wxValidator, 
+_swigt__p_wxCommandEvent, 
+_swigt__p_wxArrayString, 
+_swigt__p_wxLEDNumberCtrl, 
+_swigt__p_wxDynamicSashSplitEvent, 
+_swigt__p_wxTreeItemId, 
+_swigt__p_wxString, 
+_swigt__p_wxEvtHandler, 
+_swigt__p_wxFont, 
+_swigt__p_wxDynamicSashUnifyEvent, 
+_swigt__p_wxControl, 
+_swigt__p_wxPanel, 
+_swigt__p_wxPyTreeItemData, 
+_swigt__p_wxEvent, 
+_swigt__p_int, 
+0
+};
+
+
+/* -------- TYPE CONVERSION AND EQUIVALENCE RULES (END) -------- */
+
+static swig_const_info swig_const_table[] = {
+{ SWIG_PY_INT,     (char *)"wxEVT_DYNAMIC_SASH_SPLIT", (long) wxEVT_DYNAMIC_SASH_SPLIT, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"wxEVT_DYNAMIC_SASH_UNIFY", (long) wxEVT_DYNAMIC_SASH_UNIFY, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"DS_MANAGE_SCROLLBARS", (long) wxDS_MANAGE_SCROLLBARS, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"DS_DRAG_CORNER", (long) wxDS_DRAG_CORNER, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"EL_ALLOW_NEW", (long) wxEL_ALLOW_NEW, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"EL_ALLOW_EDIT", (long) wxEL_ALLOW_EDIT, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"EL_ALLOW_DELETE", (long) wxEL_ALLOW_DELETE, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"LED_ALIGN_LEFT", (long) wxLED_ALIGN_LEFT, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"LED_ALIGN_RIGHT", (long) wxLED_ALIGN_RIGHT, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"LED_ALIGN_CENTER", (long) wxLED_ALIGN_CENTER, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"LED_ALIGN_MASK", (long) wxLED_ALIGN_MASK, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"LED_DRAW_FADED", (long) wxLED_DRAW_FADED, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"TL_ALIGN_LEFT", (long) wxTL_ALIGN_LEFT, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"TL_ALIGN_RIGHT", (long) wxTL_ALIGN_RIGHT, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"TL_ALIGN_CENTER", (long) wxTL_ALIGN_CENTER, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"TREE_HITTEST_ONITEMCOLUMN", (long) wxTREE_HITTEST_ONITEMCOLUMN, 0, 0, 0},
+{0}};
+
+#ifdef __cplusplus
+}
+#endif
+
+#ifdef __cplusplus
+extern "C"
+#endif
+SWIGEXPORT(void) SWIG_init(void) {
+    static PyObject *SWIG_globals = 0; 
+    static int       typeinit = 0;
+    PyObject *m, *d;
+    int       i;
+    if (!SWIG_globals) SWIG_globals = SWIG_newvarlink();
+    m = Py_InitModule((char *) SWIG_name, SwigMethods);
+    d = PyModule_GetDict(m);
+    
+    if (!typeinit) {
+        for (i = 0; swig_types_initial[i]; i++) {
+            swig_types[i] = SWIG_TypeRegister(swig_types_initial[i]);
+        }
+        typeinit = 1;
+    }
+    SWIG_InstallConstants(d,swig_const_table);
+    
+    
+    
+    wxPyPtrTypeMap_Add("wxTreeCompanionWindow", "wxPyTreeCompanionWindow");
+    wxPyPtrTypeMap_Add("wxTreeListCtrl", "wxPyTreeListCtrl");
+    
+}
+
diff --git a/wxPython/contrib/gizmos/mac/gizmos.py b/wxPython/contrib/gizmos/mac/gizmos.py
new file mode 100644 (file)
index 0000000..61d68a4
--- /dev/null
@@ -0,0 +1,835 @@
+# This file was created automatically by SWIG.
+# Don't modify this file, modify the SWIG interface instead.
+
+import _gizmos
+
+import windows
+import core
+import controls
+wx = core 
+wxEVT_DYNAMIC_SASH_SPLIT = _gizmos.wxEVT_DYNAMIC_SASH_SPLIT
+wxEVT_DYNAMIC_SASH_UNIFY = _gizmos.wxEVT_DYNAMIC_SASH_UNIFY
+DS_MANAGE_SCROLLBARS = _gizmos.DS_MANAGE_SCROLLBARS
+DS_DRAG_CORNER = _gizmos.DS_DRAG_CORNER
+class DynamicSashSplitEvent(core.CommandEvent):
+    """"""
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxDynamicSashSplitEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__(Object target) -> DynamicSashSplitEvent"""
+        newobj = _gizmos.new_DynamicSashSplitEvent(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+
+class DynamicSashSplitEventPtr(DynamicSashSplitEvent):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = DynamicSashSplitEvent
+_gizmos.DynamicSashSplitEvent_swigregister(DynamicSashSplitEventPtr)
+
+class DynamicSashUnifyEvent(core.CommandEvent):
+    """"""
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxDynamicSashUnifyEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__(Object target) -> DynamicSashUnifyEvent"""
+        newobj = _gizmos.new_DynamicSashUnifyEvent(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+
+class DynamicSashUnifyEventPtr(DynamicSashUnifyEvent):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = DynamicSashUnifyEvent
+_gizmos.DynamicSashUnifyEvent_swigregister(DynamicSashUnifyEventPtr)
+
+class DynamicSashWindow(core.Window):
+    """"""
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxDynamicSashWindow instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__(Window parent, int id, Point pos=DefaultPosition, Size size=DefaultSize, 
+    long style=wxCLIP_CHILDREN|wxDS_MANAGE_SCROLLBARS|wxDS_DRAG_CORNER, 
+    wxString name=wxPyDynamicSashNameStr) -> DynamicSashWindow"""
+        newobj = _gizmos.new_DynamicSashWindow(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+        self._setOORInfo(self)
+
+    def Create(*args, **kwargs):
+        """Create(Window parent, int id, Point pos=DefaultPosition, Size size=DefaultSize, 
+    long style=wxCLIP_CHILDREN|wxDS_MANAGE_SCROLLBARS|wxDS_DRAG_CORNER, 
+    wxString name=wxPyDynamicSashNameStr) -> bool"""
+        return _gizmos.DynamicSashWindow_Create(*args, **kwargs)
+
+    def GetHScrollBar(*args, **kwargs):
+        """GetHScrollBar(Window child) -> ScrollBar"""
+        return _gizmos.DynamicSashWindow_GetHScrollBar(*args, **kwargs)
+
+    def GetVScrollBar(*args, **kwargs):
+        """GetVScrollBar(Window child) -> ScrollBar"""
+        return _gizmos.DynamicSashWindow_GetVScrollBar(*args, **kwargs)
+
+
+class DynamicSashWindowPtr(DynamicSashWindow):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = DynamicSashWindow
+_gizmos.DynamicSashWindow_swigregister(DynamicSashWindowPtr)
+
+def PreDynamicSashWindow(*args, **kwargs):
+    """PreDynamicSashWindow() -> DynamicSashWindow"""
+    val = _gizmos.new_PreDynamicSashWindow(*args, **kwargs)
+    val.thisown = 1
+    return val
+
+EVT_DYNAMIC_SASH_SPLIT = wx.PyEventBinder( wxEVT_DYNAMIC_SASH_SPLIT, 1 )
+EVT_DYNAMIC_SASH_UNIFY = wx.PyEventBinder( wxEVT_DYNAMIC_SASH_UNIFY, 1 )
+
+EL_ALLOW_NEW = _gizmos.EL_ALLOW_NEW
+EL_ALLOW_EDIT = _gizmos.EL_ALLOW_EDIT
+EL_ALLOW_DELETE = _gizmos.EL_ALLOW_DELETE
+class EditableListBox(windows.Panel):
+    """"""
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxEditableListBox instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__(Window parent, int id, wxString label, Point pos=DefaultPosition, 
+    Size size=DefaultSize, long style=wxEL_ALLOW_NEW|wxEL_ALLOW_EDIT|wxEL_ALLOW_DELETE, 
+    wxString name=wxPyEditableListBoxNameStr) -> EditableListBox"""
+        newobj = _gizmos.new_EditableListBox(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+        self._setOORInfo(self)
+
+    def SetStrings(*args, **kwargs):
+        """SetStrings(wxArrayString strings)"""
+        return _gizmos.EditableListBox_SetStrings(*args, **kwargs)
+
+    def GetStrings(*args, **kwargs):
+        """GetStrings() -> PyObject"""
+        return _gizmos.EditableListBox_GetStrings(*args, **kwargs)
+
+    def GetListCtrl(*args, **kwargs):
+        """GetListCtrl() -> wxListCtrl"""
+        return _gizmos.EditableListBox_GetListCtrl(*args, **kwargs)
+
+    def GetDelButton(*args, **kwargs):
+        """GetDelButton() -> BitmapButton"""
+        return _gizmos.EditableListBox_GetDelButton(*args, **kwargs)
+
+    def GetNewButton(*args, **kwargs):
+        """GetNewButton() -> BitmapButton"""
+        return _gizmos.EditableListBox_GetNewButton(*args, **kwargs)
+
+    def GetUpButton(*args, **kwargs):
+        """GetUpButton() -> BitmapButton"""
+        return _gizmos.EditableListBox_GetUpButton(*args, **kwargs)
+
+    def GetDownButton(*args, **kwargs):
+        """GetDownButton() -> BitmapButton"""
+        return _gizmos.EditableListBox_GetDownButton(*args, **kwargs)
+
+    def GetEditButton(*args, **kwargs):
+        """GetEditButton() -> BitmapButton"""
+        return _gizmos.EditableListBox_GetEditButton(*args, **kwargs)
+
+
+class EditableListBoxPtr(EditableListBox):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = EditableListBox
+_gizmos.EditableListBox_swigregister(EditableListBoxPtr)
+
+class RemotelyScrolledTreeCtrl(controls.TreeCtrl):
+    """"""
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxRemotelyScrolledTreeCtrl instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__(Window parent, int id, Point pos=DefaultPosition, Size size=DefaultSize, 
+    long style=TR_HAS_BUTTONS) -> RemotelyScrolledTreeCtrl"""
+        newobj = _gizmos.new_RemotelyScrolledTreeCtrl(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+        self._setOORInfo(self)
+
+    def HideVScrollbar(*args, **kwargs):
+        """HideVScrollbar()"""
+        return _gizmos.RemotelyScrolledTreeCtrl_HideVScrollbar(*args, **kwargs)
+
+    def AdjustRemoteScrollbars(*args, **kwargs):
+        """AdjustRemoteScrollbars()"""
+        return _gizmos.RemotelyScrolledTreeCtrl_AdjustRemoteScrollbars(*args, **kwargs)
+
+    def GetScrolledWindow(*args, **kwargs):
+        """GetScrolledWindow() -> ScrolledWindow"""
+        return _gizmos.RemotelyScrolledTreeCtrl_GetScrolledWindow(*args, **kwargs)
+
+    def ScrollToLine(*args, **kwargs):
+        """ScrollToLine(int posHoriz, int posVert)"""
+        return _gizmos.RemotelyScrolledTreeCtrl_ScrollToLine(*args, **kwargs)
+
+    def SetCompanionWindow(*args, **kwargs):
+        """SetCompanionWindow(Window companion)"""
+        return _gizmos.RemotelyScrolledTreeCtrl_SetCompanionWindow(*args, **kwargs)
+
+    def GetCompanionWindow(*args, **kwargs):
+        """GetCompanionWindow() -> Window"""
+        return _gizmos.RemotelyScrolledTreeCtrl_GetCompanionWindow(*args, **kwargs)
+
+
+class RemotelyScrolledTreeCtrlPtr(RemotelyScrolledTreeCtrl):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = RemotelyScrolledTreeCtrl
+_gizmos.RemotelyScrolledTreeCtrl_swigregister(RemotelyScrolledTreeCtrlPtr)
+
+class TreeCompanionWindow(core.Window):
+    """"""
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxPyTreeCompanionWindow instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__(Window parent, int id=-1, Point pos=DefaultPosition, 
+    Size size=DefaultSize, long style=0) -> TreeCompanionWindow"""
+        newobj = _gizmos.new_TreeCompanionWindow(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+        self._setOORInfo(self);self._setCallbackInfo(self, TreeCompanionWindow)
+
+    def _setCallbackInfo(*args, **kwargs):
+        """_setCallbackInfo(PyObject self, PyObject _class)"""
+        return _gizmos.TreeCompanionWindow__setCallbackInfo(*args, **kwargs)
+
+    def GetTreeCtrl(*args, **kwargs):
+        """GetTreeCtrl() -> RemotelyScrolledTreeCtrl"""
+        return _gizmos.TreeCompanionWindow_GetTreeCtrl(*args, **kwargs)
+
+    def SetTreeCtrl(*args, **kwargs):
+        """SetTreeCtrl(RemotelyScrolledTreeCtrl treeCtrl)"""
+        return _gizmos.TreeCompanionWindow_SetTreeCtrl(*args, **kwargs)
+
+
+class TreeCompanionWindowPtr(TreeCompanionWindow):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = TreeCompanionWindow
+_gizmos.TreeCompanionWindow_swigregister(TreeCompanionWindowPtr)
+
+class ThinSplitterWindow(windows.SplitterWindow):
+    """"""
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxThinSplitterWindow instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__(Window parent, int id=-1, Point pos=DefaultPosition, 
+    Size size=DefaultSize, long style=wxSP_3D|wxCLIP_CHILDREN) -> ThinSplitterWindow"""
+        newobj = _gizmos.new_ThinSplitterWindow(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+        self._setOORInfo(self)
+
+
+class ThinSplitterWindowPtr(ThinSplitterWindow):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = ThinSplitterWindow
+_gizmos.ThinSplitterWindow_swigregister(ThinSplitterWindowPtr)
+
+class SplitterScrolledWindow(windows.ScrolledWindow):
+    """"""
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxSplitterScrolledWindow instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__(Window parent, int id=-1, Point pos=DefaultPosition, 
+    Size size=DefaultSize, long style=0) -> SplitterScrolledWindow"""
+        newobj = _gizmos.new_SplitterScrolledWindow(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+        self._setOORInfo(self)
+
+
+class SplitterScrolledWindowPtr(SplitterScrolledWindow):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = SplitterScrolledWindow
+_gizmos.SplitterScrolledWindow_swigregister(SplitterScrolledWindowPtr)
+
+LED_ALIGN_LEFT = _gizmos.LED_ALIGN_LEFT
+LED_ALIGN_RIGHT = _gizmos.LED_ALIGN_RIGHT
+LED_ALIGN_CENTER = _gizmos.LED_ALIGN_CENTER
+LED_ALIGN_MASK = _gizmos.LED_ALIGN_MASK
+LED_DRAW_FADED = _gizmos.LED_DRAW_FADED
+class LEDNumberCtrl(core.Control):
+    """"""
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxLEDNumberCtrl instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__(Window parent, int id=-1, Point pos=DefaultPosition, 
+    Size size=DefaultSize, long style=wxLED_ALIGN_LEFT|wxLED_DRAW_FADED) -> LEDNumberCtrl"""
+        newobj = _gizmos.new_LEDNumberCtrl(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+        self._setOORInfo(self)
+
+    def Create(*args, **kwargs):
+        """Create(Window parent, int id=-1, Point pos=DefaultPosition, 
+    Size size=DefaultSize, long style=wxLED_ALIGN_LEFT|wxLED_DRAW_FADED) -> bool"""
+        return _gizmos.LEDNumberCtrl_Create(*args, **kwargs)
+
+    def GetAlignment(*args, **kwargs):
+        """GetAlignment() -> wxLEDValueAlign"""
+        return _gizmos.LEDNumberCtrl_GetAlignment(*args, **kwargs)
+
+    def GetDrawFaded(*args, **kwargs):
+        """GetDrawFaded() -> bool"""
+        return _gizmos.LEDNumberCtrl_GetDrawFaded(*args, **kwargs)
+
+    def GetValue(*args, **kwargs):
+        """GetValue() -> wxString"""
+        return _gizmos.LEDNumberCtrl_GetValue(*args, **kwargs)
+
+    def SetAlignment(*args, **kwargs):
+        """SetAlignment(wxLEDValueAlign Alignment, bool Redraw=true)"""
+        return _gizmos.LEDNumberCtrl_SetAlignment(*args, **kwargs)
+
+    def SetDrawFaded(*args, **kwargs):
+        """SetDrawFaded(bool DrawFaded, bool Redraw=true)"""
+        return _gizmos.LEDNumberCtrl_SetDrawFaded(*args, **kwargs)
+
+    def SetValue(*args, **kwargs):
+        """SetValue(wxString Value, bool Redraw=true)"""
+        return _gizmos.LEDNumberCtrl_SetValue(*args, **kwargs)
+
+
+class LEDNumberCtrlPtr(LEDNumberCtrl):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = LEDNumberCtrl
+_gizmos.LEDNumberCtrl_swigregister(LEDNumberCtrlPtr)
+
+def PreLEDNumberCtrl(*args, **kwargs):
+    """PreLEDNumberCtrl() -> LEDNumberCtrl"""
+    val = _gizmos.new_PreLEDNumberCtrl(*args, **kwargs)
+    val.thisown = 1
+    return val
+
+TL_ALIGN_LEFT = _gizmos.TL_ALIGN_LEFT
+TL_ALIGN_RIGHT = _gizmos.TL_ALIGN_RIGHT
+TL_ALIGN_CENTER = _gizmos.TL_ALIGN_CENTER
+TREE_HITTEST_ONITEMCOLUMN = _gizmos.TREE_HITTEST_ONITEMCOLUMN
+class TreeListColumnInfo(core.Object):
+    """"""
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxTreeListColumnInfo instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__(wxString text=wxPyEmptyString, int image=-1, size_t width=100, 
+    wxTreeListColumnAlign alignment=TL_ALIGN_LEFT) -> TreeListColumnInfo"""
+        newobj = _gizmos.new_TreeListColumnInfo(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+    def GetAlignment(*args, **kwargs):
+        """GetAlignment() -> wxTreeListColumnAlign"""
+        return _gizmos.TreeListColumnInfo_GetAlignment(*args, **kwargs)
+
+    def GetText(*args, **kwargs):
+        """GetText() -> wxString"""
+        return _gizmos.TreeListColumnInfo_GetText(*args, **kwargs)
+
+    def GetImage(*args, **kwargs):
+        """GetImage() -> int"""
+        return _gizmos.TreeListColumnInfo_GetImage(*args, **kwargs)
+
+    def GetSelectedImage(*args, **kwargs):
+        """GetSelectedImage() -> int"""
+        return _gizmos.TreeListColumnInfo_GetSelectedImage(*args, **kwargs)
+
+    def GetWidth(*args, **kwargs):
+        """GetWidth() -> size_t"""
+        return _gizmos.TreeListColumnInfo_GetWidth(*args, **kwargs)
+
+    def SetAlignment(*args, **kwargs):
+        """SetAlignment(wxTreeListColumnAlign alignment)"""
+        return _gizmos.TreeListColumnInfo_SetAlignment(*args, **kwargs)
+
+    def SetText(*args, **kwargs):
+        """SetText(wxString text)"""
+        return _gizmos.TreeListColumnInfo_SetText(*args, **kwargs)
+
+    def SetImage(*args, **kwargs):
+        """SetImage(int image)"""
+        return _gizmos.TreeListColumnInfo_SetImage(*args, **kwargs)
+
+    def SetSelectedImage(*args, **kwargs):
+        """SetSelectedImage(int image)"""
+        return _gizmos.TreeListColumnInfo_SetSelectedImage(*args, **kwargs)
+
+    def SetWidth(*args, **kwargs):
+        """SetWidth(size_t with)"""
+        return _gizmos.TreeListColumnInfo_SetWidth(*args, **kwargs)
+
+
+class TreeListColumnInfoPtr(TreeListColumnInfo):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = TreeListColumnInfo
+_gizmos.TreeListColumnInfo_swigregister(TreeListColumnInfoPtr)
+
+class TreeListCtrl(core.Control):
+    """"""
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxPyTreeListCtrl instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__(Window parent, int id=-1, Point pos=DefaultPosition, 
+    Size size=DefaultSize, long style=TR_DEFAULT_STYLE, 
+    Validator validator=DefaultValidator, 
+    wxString name=wxPyTreeListCtrlNameStr) -> TreeListCtrl"""
+        newobj = _gizmos.new_TreeListCtrl(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+        self._setOORInfo(self);self._setCallbackInfo(self, TreeListCtrl)
+
+    def Create(*args, **kwargs):
+        """Create(Window parent, int id=-1, Point pos=DefaultPosition, 
+    Size size=DefaultSize, long style=TR_DEFAULT_STYLE, 
+    Validator validator=DefaultValidator, 
+    wxString name=wxPyTreeListCtrlNameStr) -> bool"""
+        return _gizmos.TreeListCtrl_Create(*args, **kwargs)
+
+    def _setCallbackInfo(*args, **kwargs):
+        """_setCallbackInfo(PyObject self, PyObject _class)"""
+        return _gizmos.TreeListCtrl__setCallbackInfo(*args, **kwargs)
+
+    def GetCount(*args, **kwargs):
+        """GetCount() -> size_t"""
+        return _gizmos.TreeListCtrl_GetCount(*args, **kwargs)
+
+    def GetIndent(*args, **kwargs):
+        """GetIndent() -> unsigned int"""
+        return _gizmos.TreeListCtrl_GetIndent(*args, **kwargs)
+
+    def SetIndent(*args, **kwargs):
+        """SetIndent(unsigned int indent)"""
+        return _gizmos.TreeListCtrl_SetIndent(*args, **kwargs)
+
+    def GetSpacing(*args, **kwargs):
+        """GetSpacing() -> unsigned int"""
+        return _gizmos.TreeListCtrl_GetSpacing(*args, **kwargs)
+
+    def SetSpacing(*args, **kwargs):
+        """SetSpacing(unsigned int spacing)"""
+        return _gizmos.TreeListCtrl_SetSpacing(*args, **kwargs)
+
+    def GetLineSpacing(*args, **kwargs):
+        """GetLineSpacing() -> unsigned int"""
+        return _gizmos.TreeListCtrl_GetLineSpacing(*args, **kwargs)
+
+    def SetLineSpacing(*args, **kwargs):
+        """SetLineSpacing(unsigned int spacing)"""
+        return _gizmos.TreeListCtrl_SetLineSpacing(*args, **kwargs)
+
+    def GetImageList(*args, **kwargs):
+        """GetImageList() -> wxImageList"""
+        return _gizmos.TreeListCtrl_GetImageList(*args, **kwargs)
+
+    def GetStateImageList(*args, **kwargs):
+        """GetStateImageList() -> wxImageList"""
+        return _gizmos.TreeListCtrl_GetStateImageList(*args, **kwargs)
+
+    def GetButtonsImageList(*args, **kwargs):
+        """GetButtonsImageList() -> wxImageList"""
+        return _gizmos.TreeListCtrl_GetButtonsImageList(*args, **kwargs)
+
+    def SetImageList(*args, **kwargs):
+        """SetImageList(wxImageList imageList)"""
+        return _gizmos.TreeListCtrl_SetImageList(*args, **kwargs)
+
+    def SetStateImageList(*args, **kwargs):
+        """SetStateImageList(wxImageList imageList)"""
+        return _gizmos.TreeListCtrl_SetStateImageList(*args, **kwargs)
+
+    def SetButtonsImageList(*args, **kwargs):
+        """SetButtonsImageList(wxImageList imageList)"""
+        return _gizmos.TreeListCtrl_SetButtonsImageList(*args, **kwargs)
+
+    def AssignImageList(*args, **kwargs):
+        """AssignImageList(wxImageList imageList)"""
+        val = _gizmos.TreeListCtrl_AssignImageList(*args, **kwargs)
+        args[1].thisown = 0
+        return val
+
+    def AssignStateImageList(*args, **kwargs):
+        """AssignStateImageList(wxImageList imageList)"""
+        val = _gizmos.TreeListCtrl_AssignStateImageList(*args, **kwargs)
+        args[1].thisown = 0
+        return val
+
+    def AssignButtonsImageList(*args, **kwargs):
+        """AssignButtonsImageList(wxImageList imageList)"""
+        val = _gizmos.TreeListCtrl_AssignButtonsImageList(*args, **kwargs)
+        args[1].thisown = 0
+        return val
+
+    def AddColumn(*args, **kwargs):
+        """AddColumn(wxString text)"""
+        return _gizmos.TreeListCtrl_AddColumn(*args, **kwargs)
+
+    def AddColumnInfo(*args, **kwargs):
+        """AddColumnInfo(TreeListColumnInfo col)"""
+        return _gizmos.TreeListCtrl_AddColumnInfo(*args, **kwargs)
+
+    def InsertColumn(*args, **kwargs):
+        """InsertColumn(size_t before, wxString text)"""
+        return _gizmos.TreeListCtrl_InsertColumn(*args, **kwargs)
+
+    def InsertColumnInfo(*args, **kwargs):
+        """InsertColumnInfo(size_t before, TreeListColumnInfo col)"""
+        return _gizmos.TreeListCtrl_InsertColumnInfo(*args, **kwargs)
+
+    def RemoveColumn(*args, **kwargs):
+        """RemoveColumn(size_t column)"""
+        return _gizmos.TreeListCtrl_RemoveColumn(*args, **kwargs)
+
+    def GetColumnCount(*args, **kwargs):
+        """GetColumnCount() -> size_t"""
+        return _gizmos.TreeListCtrl_GetColumnCount(*args, **kwargs)
+
+    def SetColumnWidth(*args, **kwargs):
+        """SetColumnWidth(size_t column, size_t width)"""
+        return _gizmos.TreeListCtrl_SetColumnWidth(*args, **kwargs)
+
+    def GetColumnWidth(*args, **kwargs):
+        """GetColumnWidth(size_t column) -> int"""
+        return _gizmos.TreeListCtrl_GetColumnWidth(*args, **kwargs)
+
+    def SetMainColumn(*args, **kwargs):
+        """SetMainColumn(size_t column)"""
+        return _gizmos.TreeListCtrl_SetMainColumn(*args, **kwargs)
+
+    def GetMainColumn(*args, **kwargs):
+        """GetMainColumn() -> size_t"""
+        return _gizmos.TreeListCtrl_GetMainColumn(*args, **kwargs)
+
+    def SetColumnText(*args, **kwargs):
+        """SetColumnText(size_t column, wxString text)"""
+        return _gizmos.TreeListCtrl_SetColumnText(*args, **kwargs)
+
+    def GetColumnText(*args, **kwargs):
+        """GetColumnText(size_t column) -> wxString"""
+        return _gizmos.TreeListCtrl_GetColumnText(*args, **kwargs)
+
+    def SetColumn(*args, **kwargs):
+        """SetColumn(size_t column, TreeListColumnInfo info)"""
+        return _gizmos.TreeListCtrl_SetColumn(*args, **kwargs)
+
+    def GetColumn(*args, **kwargs):
+        """GetColumn(size_t column) -> TreeListColumnInfo"""
+        return _gizmos.TreeListCtrl_GetColumn(*args, **kwargs)
+
+    def SetColumnAlignment(*args, **kwargs):
+        """SetColumnAlignment(size_t column, wxTreeListColumnAlign align)"""
+        return _gizmos.TreeListCtrl_SetColumnAlignment(*args, **kwargs)
+
+    def GetColumnAlignment(*args, **kwargs):
+        """GetColumnAlignment(size_t column) -> wxTreeListColumnAlign"""
+        return _gizmos.TreeListCtrl_GetColumnAlignment(*args, **kwargs)
+
+    def SetColumnImage(*args, **kwargs):
+        """SetColumnImage(size_t column, int image)"""
+        return _gizmos.TreeListCtrl_SetColumnImage(*args, **kwargs)
+
+    def GetColumnImage(*args, **kwargs):
+        """GetColumnImage(size_t column) -> int"""
+        return _gizmos.TreeListCtrl_GetColumnImage(*args, **kwargs)
+
+    def GetItemText(*args, **kwargs):
+        """GetItemText(TreeItemId item, int column=-1) -> wxString"""
+        return _gizmos.TreeListCtrl_GetItemText(*args, **kwargs)
+
+    def GetItemImage(*args, **kwargs):
+        """GetItemImage(TreeItemId item, int column=-1, wxTreeItemIcon which=TreeItemIcon_Normal) -> int"""
+        return _gizmos.TreeListCtrl_GetItemImage(*args, **kwargs)
+
+    def SetItemText(*args, **kwargs):
+        """SetItemText(TreeItemId item, wxString text, int column=-1)"""
+        return _gizmos.TreeListCtrl_SetItemText(*args, **kwargs)
+
+    def SetItemImage(*args, **kwargs):
+        """SetItemImage(TreeItemId item, int image, int column=-1, wxTreeItemIcon which=TreeItemIcon_Normal)"""
+        return _gizmos.TreeListCtrl_SetItemImage(*args, **kwargs)
+
+    def GetItemData(*args, **kwargs):
+        """GetItemData(TreeItemId item) -> TreeItemData"""
+        return _gizmos.TreeListCtrl_GetItemData(*args, **kwargs)
+
+    def SetItemData(*args, **kwargs):
+        """SetItemData(TreeItemId item, TreeItemData data)"""
+        return _gizmos.TreeListCtrl_SetItemData(*args, **kwargs)
+
+    def GetItemPyData(*args, **kwargs):
+        """GetItemPyData(TreeItemId item) -> PyObject"""
+        return _gizmos.TreeListCtrl_GetItemPyData(*args, **kwargs)
+
+    def SetItemPyData(*args, **kwargs):
+        """SetItemPyData(TreeItemId item, PyObject obj)"""
+        return _gizmos.TreeListCtrl_SetItemPyData(*args, **kwargs)
+
+    def SetItemHasChildren(*args, **kwargs):
+        """SetItemHasChildren(TreeItemId item, bool has=True)"""
+        return _gizmos.TreeListCtrl_SetItemHasChildren(*args, **kwargs)
+
+    def SetItemBold(*args, **kwargs):
+        """SetItemBold(TreeItemId item, bool bold=True)"""
+        return _gizmos.TreeListCtrl_SetItemBold(*args, **kwargs)
+
+    def SetItemTextColour(*args, **kwargs):
+        """SetItemTextColour(TreeItemId item, wxColour col)"""
+        return _gizmos.TreeListCtrl_SetItemTextColour(*args, **kwargs)
+
+    def SetItemBackgroundColour(*args, **kwargs):
+        """SetItemBackgroundColour(TreeItemId item, wxColour col)"""
+        return _gizmos.TreeListCtrl_SetItemBackgroundColour(*args, **kwargs)
+
+    def SetItemFont(*args, **kwargs):
+        """SetItemFont(TreeItemId item, wxFont font)"""
+        return _gizmos.TreeListCtrl_SetItemFont(*args, **kwargs)
+
+    def GetItemBold(*args, **kwargs):
+        """GetItemBold(TreeItemId item) -> bool"""
+        return _gizmos.TreeListCtrl_GetItemBold(*args, **kwargs)
+
+    def GetItemTextColour(*args, **kwargs):
+        """GetItemTextColour(TreeItemId item) -> wxColour"""
+        return _gizmos.TreeListCtrl_GetItemTextColour(*args, **kwargs)
+
+    def GetItemBackgroundColour(*args, **kwargs):
+        """GetItemBackgroundColour(TreeItemId item) -> wxColour"""
+        return _gizmos.TreeListCtrl_GetItemBackgroundColour(*args, **kwargs)
+
+    def GetItemFont(*args, **kwargs):
+        """GetItemFont(TreeItemId item) -> wxFont"""
+        return _gizmos.TreeListCtrl_GetItemFont(*args, **kwargs)
+
+    def IsVisible(*args, **kwargs):
+        """IsVisible(TreeItemId item) -> bool"""
+        return _gizmos.TreeListCtrl_IsVisible(*args, **kwargs)
+
+    def ItemHasChildren(*args, **kwargs):
+        """ItemHasChildren(TreeItemId item) -> bool"""
+        return _gizmos.TreeListCtrl_ItemHasChildren(*args, **kwargs)
+
+    def IsExpanded(*args, **kwargs):
+        """IsExpanded(TreeItemId item) -> bool"""
+        return _gizmos.TreeListCtrl_IsExpanded(*args, **kwargs)
+
+    def IsSelected(*args, **kwargs):
+        """IsSelected(TreeItemId item) -> bool"""
+        return _gizmos.TreeListCtrl_IsSelected(*args, **kwargs)
+
+    def IsBold(*args, **kwargs):
+        """IsBold(TreeItemId item) -> bool"""
+        return _gizmos.TreeListCtrl_IsBold(*args, **kwargs)
+
+    def GetChildrenCount(*args, **kwargs):
+        """GetChildrenCount(TreeItemId item, bool recursively=True) -> size_t"""
+        return _gizmos.TreeListCtrl_GetChildrenCount(*args, **kwargs)
+
+    def GetRootItem(*args, **kwargs):
+        """GetRootItem() -> TreeItemId"""
+        return _gizmos.TreeListCtrl_GetRootItem(*args, **kwargs)
+
+    def GetSelection(*args, **kwargs):
+        """GetSelection() -> TreeItemId"""
+        return _gizmos.TreeListCtrl_GetSelection(*args, **kwargs)
+
+    def GetSelections(*args, **kwargs):
+        """GetSelections() -> PyObject"""
+        return _gizmos.TreeListCtrl_GetSelections(*args, **kwargs)
+
+    def GetItemParent(*args, **kwargs):
+        """GetItemParent(TreeItemId item) -> TreeItemId"""
+        return _gizmos.TreeListCtrl_GetItemParent(*args, **kwargs)
+
+    def GetFirstChild(*args, **kwargs):
+        """GetFirstChild(TreeItemId item) -> PyObject"""
+        return _gizmos.TreeListCtrl_GetFirstChild(*args, **kwargs)
+
+    def GetNextChild(*args, **kwargs):
+        """GetNextChild(TreeItemId item, long cookie) -> PyObject"""
+        return _gizmos.TreeListCtrl_GetNextChild(*args, **kwargs)
+
+    def GetLastChild(*args, **kwargs):
+        """GetLastChild(TreeItemId item) -> TreeItemId"""
+        return _gizmos.TreeListCtrl_GetLastChild(*args, **kwargs)
+
+    def GetNextSibling(*args, **kwargs):
+        """GetNextSibling(TreeItemId item) -> TreeItemId"""
+        return _gizmos.TreeListCtrl_GetNextSibling(*args, **kwargs)
+
+    def GetPrevSibling(*args, **kwargs):
+        """GetPrevSibling(TreeItemId item) -> TreeItemId"""
+        return _gizmos.TreeListCtrl_GetPrevSibling(*args, **kwargs)
+
+    def GetFirstVisibleItem(*args, **kwargs):
+        """GetFirstVisibleItem() -> TreeItemId"""
+        return _gizmos.TreeListCtrl_GetFirstVisibleItem(*args, **kwargs)
+
+    def GetNextVisible(*args, **kwargs):
+        """GetNextVisible(TreeItemId item) -> TreeItemId"""
+        return _gizmos.TreeListCtrl_GetNextVisible(*args, **kwargs)
+
+    def GetPrevVisible(*args, **kwargs):
+        """GetPrevVisible(TreeItemId item) -> TreeItemId"""
+        return _gizmos.TreeListCtrl_GetPrevVisible(*args, **kwargs)
+
+    def GetNext(*args, **kwargs):
+        """GetNext(TreeItemId item) -> TreeItemId"""
+        return _gizmos.TreeListCtrl_GetNext(*args, **kwargs)
+
+    def AddRoot(*args, **kwargs):
+        """AddRoot(wxString text, int image=-1, int selectedImage=-1, 
+    TreeItemData data=None) -> TreeItemId"""
+        return _gizmos.TreeListCtrl_AddRoot(*args, **kwargs)
+
+    def PrependItem(*args, **kwargs):
+        """PrependItem(TreeItemId parent, wxString text, int image=-1, int selectedImage=-1, 
+    TreeItemData data=None) -> TreeItemId"""
+        return _gizmos.TreeListCtrl_PrependItem(*args, **kwargs)
+
+    def InsertItem(*args, **kwargs):
+        """InsertItem(TreeItemId parent, TreeItemId idPrevious, wxString text, 
+    int image=-1, int selectedImage=-1, TreeItemData data=None) -> TreeItemId"""
+        return _gizmos.TreeListCtrl_InsertItem(*args, **kwargs)
+
+    def InsertItemBefore(*args, **kwargs):
+        """InsertItemBefore(TreeItemId parent, size_t index, wxString text, int image=-1, 
+    int selectedImage=-1, TreeItemData data=None) -> TreeItemId"""
+        return _gizmos.TreeListCtrl_InsertItemBefore(*args, **kwargs)
+
+    def AppendItem(*args, **kwargs):
+        """AppendItem(TreeItemId parent, wxString text, int image=-1, int selectedImage=-1, 
+    TreeItemData data=None) -> TreeItemId"""
+        return _gizmos.TreeListCtrl_AppendItem(*args, **kwargs)
+
+    def Delete(*args, **kwargs):
+        """Delete(TreeItemId item)"""
+        return _gizmos.TreeListCtrl_Delete(*args, **kwargs)
+
+    def DeleteChildren(*args, **kwargs):
+        """DeleteChildren(TreeItemId item)"""
+        return _gizmos.TreeListCtrl_DeleteChildren(*args, **kwargs)
+
+    def DeleteAllItems(*args, **kwargs):
+        """DeleteAllItems()"""
+        return _gizmos.TreeListCtrl_DeleteAllItems(*args, **kwargs)
+
+    def Expand(*args, **kwargs):
+        """Expand(TreeItemId item)"""
+        return _gizmos.TreeListCtrl_Expand(*args, **kwargs)
+
+    def ExpandAll(*args, **kwargs):
+        """ExpandAll(TreeItemId item)"""
+        return _gizmos.TreeListCtrl_ExpandAll(*args, **kwargs)
+
+    def Collapse(*args, **kwargs):
+        """Collapse(TreeItemId item)"""
+        return _gizmos.TreeListCtrl_Collapse(*args, **kwargs)
+
+    def CollapseAndReset(*args, **kwargs):
+        """CollapseAndReset(TreeItemId item)"""
+        return _gizmos.TreeListCtrl_CollapseAndReset(*args, **kwargs)
+
+    def Toggle(*args, **kwargs):
+        """Toggle(TreeItemId item)"""
+        return _gizmos.TreeListCtrl_Toggle(*args, **kwargs)
+
+    def Unselect(*args, **kwargs):
+        """Unselect()"""
+        return _gizmos.TreeListCtrl_Unselect(*args, **kwargs)
+
+    def UnselectAll(*args, **kwargs):
+        """UnselectAll()"""
+        return _gizmos.TreeListCtrl_UnselectAll(*args, **kwargs)
+
+    def SelectItem(*args, **kwargs):
+        """SelectItem(TreeItemId item, bool unselect_others=True, bool extended_select=False)"""
+        return _gizmos.TreeListCtrl_SelectItem(*args, **kwargs)
+
+    def EnsureVisible(*args, **kwargs):
+        """EnsureVisible(TreeItemId item)"""
+        return _gizmos.TreeListCtrl_EnsureVisible(*args, **kwargs)
+
+    def ScrollTo(*args, **kwargs):
+        """ScrollTo(TreeItemId item)"""
+        return _gizmos.TreeListCtrl_ScrollTo(*args, **kwargs)
+
+    def HitTest(*args, **kwargs):
+        """HitTest(Point point, int OUTPUT, int OUTPUT) -> TreeItemId"""
+        return _gizmos.TreeListCtrl_HitTest(*args, **kwargs)
+
+    def GetBoundingRect(*args, **kwargs):
+        """GetBoundingRect(TreeItemId item, bool textOnly=False) -> PyObject"""
+        return _gizmos.TreeListCtrl_GetBoundingRect(*args, **kwargs)
+
+    def EditLabel(*args, **kwargs):
+        """EditLabel(TreeItemId item)"""
+        return _gizmos.TreeListCtrl_EditLabel(*args, **kwargs)
+
+    def Edit(*args, **kwargs):
+        """Edit(TreeItemId item)"""
+        return _gizmos.TreeListCtrl_Edit(*args, **kwargs)
+
+    def SortChildren(*args, **kwargs):
+        """SortChildren(TreeItemId item)"""
+        return _gizmos.TreeListCtrl_SortChildren(*args, **kwargs)
+
+    def GetItemSelectedImage(*args, **kwargs):
+        """GetItemSelectedImage(TreeItemId item) -> int"""
+        return _gizmos.TreeListCtrl_GetItemSelectedImage(*args, **kwargs)
+
+    def SetItemSelectedImage(*args, **kwargs):
+        """SetItemSelectedImage(TreeItemId item, int image)"""
+        return _gizmos.TreeListCtrl_SetItemSelectedImage(*args, **kwargs)
+
+    def GetHeaderWindow(*args, **kwargs):
+        """GetHeaderWindow() -> Window"""
+        return _gizmos.TreeListCtrl_GetHeaderWindow(*args, **kwargs)
+
+    def GetMainWindow(*args, **kwargs):
+        """GetMainWindow() -> Window"""
+        return _gizmos.TreeListCtrl_GetMainWindow(*args, **kwargs)
+
+
+class TreeListCtrlPtr(TreeListCtrl):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = TreeListCtrl
+_gizmos.TreeListCtrl_swigregister(TreeListCtrlPtr)
+
+def PreTreeListCtrl(*args, **kwargs):
+    """PreTreeListCtrl() -> TreeListCtrl"""
+    val = _gizmos.new_PreTreeListCtrl(*args, **kwargs)
+    val.thisown = 1
+    return val
+
+
diff --git a/wxPython/contrib/gizmos/mac/gizmos_wrap.cpp b/wxPython/contrib/gizmos/mac/gizmos_wrap.cpp
new file mode 100644 (file)
index 0000000..5371cd2
--- /dev/null
@@ -0,0 +1,7309 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.20
+ * 
+ * This file is not intended to be easily readable and contains a number of 
+ * coding conventions designed to improve portability and efficiency. Do not make
+ * changes to this file unless you know what you are doing--modify the SWIG 
+ * interface file instead. 
+ * ----------------------------------------------------------------------------- */
+
+#define SWIGPYTHON
+#define SWIG_NOINCLUDE
+
+#ifdef __cplusplus
+template<class T> class SwigValueWrapper {
+    T *tt;
+public:
+    SwigValueWrapper() : tt(0) { }
+    SwigValueWrapper(const SwigValueWrapper<T>& rhs) : tt(new T(*rhs.tt)) { }
+    SwigValueWrapper(const T& t) : tt(new T(t)) { }
+    ~SwigValueWrapper() { delete tt; } 
+    SwigValueWrapper& operator=(const T& t) { delete tt; tt = new T(t); return *this; }
+    operator T&() const { return *tt; }
+    T *operator&() { return tt; }
+private:
+    SwigValueWrapper& operator=(const SwigValueWrapper<T>& rhs);
+};                                                    
+#endif
+
+
+#include "Python.h"
+
+/*************************************************************** -*- c -*-
+ * python/precommon.swg
+ *
+ * Rename all exported symbols from common.swg, to avoid symbol
+ * clashes if multiple interpreters are included
+ *
+ ************************************************************************/
+
+#define SWIG_TypeRegister    SWIG_Python_TypeRegister
+#define SWIG_TypeCheck       SWIG_Python_TypeCheck
+#define SWIG_TypeCast        SWIG_Python_TypeCast
+#define SWIG_TypeDynamicCast SWIG_Python_TypeDynamicCast
+#define SWIG_TypeName        SWIG_Python_TypeName
+#define SWIG_TypeQuery       SWIG_Python_TypeQuery
+#define SWIG_TypeClientData  SWIG_Python_TypeClientData
+
+
+/***********************************************************************
+ * common.swg for wxPython
+ *
+ * Include only the function prototypes and such from SWIG's common.swg,
+ * but not the runtime functions themselves.  This helps keep the
+ * wrapper files clean of unnecessary stuff that is in the libpy.c file
+ * anyway.
+ *
+ ************************************************************************/
+
+#include <string.h>
+
+#if defined(_WIN32) || defined(__WIN32__)
+#       if defined(_MSC_VER)
+#               if defined(STATIC_LINKED)
+#                       define SWIGEXPORT(a) a
+#                       define SWIGIMPORT(a) extern a
+#               else
+#                       define SWIGEXPORT(a) __declspec(dllexport) a
+#                       define SWIGIMPORT(a) extern a
+#               endif
+#       else
+#               if defined(__BORLANDC__)
+#                       define SWIGEXPORT(a) a _export
+#                       define SWIGIMPORT(a) a _export
+#               else
+#                       define SWIGEXPORT(a) a
+#                       define SWIGIMPORT(a) a
+#               endif
+#       endif
+#else
+#       define SWIGEXPORT(a) a
+#       define SWIGIMPORT(a) a
+#endif
+
+#ifdef SWIG_GLOBAL
+#define SWIGRUNTIME(a) SWIGEXPORT(a)
+#else
+#define SWIGRUNTIME(a) static a
+#endif
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef void *(*swig_converter_func)(void *);
+typedef struct swig_type_info *(*swig_dycast_func)(void **);
+
+typedef struct swig_type_info {
+  const char             *name;                 
+  swig_converter_func     converter;
+  const char             *str;
+  void                   *clientdata;  
+  swig_dycast_func        dcast;
+  struct swig_type_info  *next;
+  struct swig_type_info  *prev;
+} swig_type_info;
+
+
+SWIGIMPORT(swig_type_info *) SWIG_TypeRegister(swig_type_info *);
+SWIGIMPORT(swig_type_info *) SWIG_TypeCheck(char *c, swig_type_info *);
+SWIGIMPORT(void *)           SWIG_TypeCast(swig_type_info *, void *);
+SWIGIMPORT(swig_type_info *) SWIG_TypeDynamicCast(swig_type_info *, void **);
+SWIGIMPORT(const char *)     SWIG_TypeName(const swig_type_info *);
+SWIGIMPORT(swig_type_info *) SWIG_TypeQuery(const char *);
+SWIGIMPORT(void)             SWIG_TypeClientData(swig_type_info *, void *);
+
+
+#ifdef __cplusplus
+}
+
+#endif
+
+/***********************************************************************
+ * pyrun.swg for wxPython
+ *
+ * Include only the function prototypes and such from SWIG's pyrun.swg,
+ * but not the runtime functions themselves.  This helps keep the
+ * wrapper files clean of unnecessary stuff that is in the libpy.c file
+ * anyway.
+ *
+ ************************************************************************/
+
+
+#include "Python.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define SWIG_PY_INT     1
+#define SWIG_PY_FLOAT   2
+#define SWIG_PY_STRING  3
+#define SWIG_PY_POINTER 4
+#define SWIG_PY_BINARY  5
+
+/* Flags for pointer conversion */
+
+#define SWIG_POINTER_EXCEPTION     0x1
+#define SWIG_POINTER_DISOWN        0x2
+
+/* Exception handling in wrappers */
+#define SWIG_fail   goto fail
+
+/* Constant information structure */
+typedef struct swig_const_info {
+    int type;
+    char *name;
+    long lvalue;
+    double dvalue;
+    void   *pvalue;
+    swig_type_info **ptype;
+} swig_const_info;
+
+
+
+/* Common SWIG API */
+#define SWIG_ConvertPtr(obj, pp, type, flags) \
+  SWIG_Python_ConvertPtr(obj, pp, type, flags)
+#define SWIG_NewPointerObj(p, type, flags) \
+  SWIG_Python_NewPointerObj(p, type, flags)
+#define SWIG_MustGetPtr(p, type, argnum, flags) \
+  SWIG_Python_MustGetPtr(p, type, argnum, flags)
+
+/* Python-specific SWIG API */
+#define SWIG_newvarlink() \
+  SWIG_Python_newvarlink()
+#define SWIG_addvarlink(p, name, get_attr, set_attr) \
+  SWIG_Python_addvarlink(p, name, get_attr, set_attr)
+#define SWIG_ConvertPacked(obj, ptr, sz, ty, flags) \
+  SWIG_Python_ConvertPacked(obj, ptr, sz, ty, flags)
+#define SWIG_PackData(c, ptr, sz) \
+  SWIG_Python_PackData(c, ptr, sz)
+#define SWIG_UnpackData(c, ptr, sz) \
+  SWIG_Python_UnpackData(c, ptr, sz)
+#define SWIG_NewPackedObj(ptr, sz, type) \
+  SWIG_Python_NewPackedObj(ptr, sz, type)
+#define SWIG_InstallConstants(d, constants) \
+  SWIG_Python_InstallConstants(d, constants)
+
+
+SWIGEXPORT(int)               SWIG_Python_ConvertPtr(PyObject *, void **, swig_type_info *, int);
+SWIGEXPORT(PyObject *)        SWIG_Python_NewPointerObj(void *, swig_type_info *,int own);
+SWIGEXPORT(void *)           SWIG_Python_MustGetPtr(PyObject *, swig_type_info *, int, int);
+
+SWIGEXPORT(PyObject *)        SWIG_Python_newvarlink(void);
+SWIGEXPORT(void)              SWIG_Python_addvarlink(PyObject *, char *, PyObject *(*)(void), int (*)(PyObject *));
+SWIGEXPORT(int)               SWIG_Python_ConvertPacked(PyObject *, void *, int sz, swig_type_info *, int);
+SWIGEXPORT(char *)            SWIG_Python_PackData(char *c, void *, int);
+SWIGEXPORT(char *)            SWIG_Python_UnpackData(char *c, void *, int);
+SWIGEXPORT(PyObject *)        SWIG_Python_NewPackedObj(void *, int sz, swig_type_info *);
+SWIGEXPORT(void)              SWIG_Python_InstallConstants(PyObject *d, swig_const_info constants[]);
+
+
+/* Contract support */
+
+#define SWIG_contract_assert(expr, msg) if (!(expr)) { PyErr_SetString(PyExc_RuntimeError, (char *) msg ); goto fail; } else
+
+
+#ifdef __cplusplus
+}
+#endif
+
+
+
+/* -------- TYPES TABLE (BEGIN) -------- */
+
+#define  SWIGTYPE_p_wxEditableListBox swig_types[0] 
+#define  SWIGTYPE_p_wxObject swig_types[1] 
+#define  SWIGTYPE_p_wxColour swig_types[2] 
+#define  SWIGTYPE_p_wxPyTreeCtrl swig_types[3] 
+#define  SWIGTYPE_p_wxRemotelyScrolledTreeCtrl swig_types[4] 
+#define  SWIGTYPE_p_wxTreeListColumnInfo swig_types[5] 
+#define  SWIGTYPE_p_wxPyTreeListCtrl swig_types[6] 
+#define  SWIGTYPE_p_wxImageList swig_types[7] 
+#define  SWIGTYPE_p_wxScrollBar swig_types[8] 
+#define  SWIGTYPE_p_wxDynamicSashWindow swig_types[9] 
+#define  SWIGTYPE_p_wxScrolledWindow swig_types[10] 
+#define  SWIGTYPE_p_wxSplitterWindow swig_types[11] 
+#define  SWIGTYPE_p_wxWindow swig_types[12] 
+#define  SWIGTYPE_p_wxPyTreeCompanionWindow swig_types[13] 
+#define  SWIGTYPE_p_wxThinSplitterWindow swig_types[14] 
+#define  SWIGTYPE_p_wxSplitterScrolledWindow swig_types[15] 
+#define  SWIGTYPE_p_wxValidator swig_types[16] 
+#define  SWIGTYPE_p_wxCommandEvent swig_types[17] 
+#define  SWIGTYPE_p_wxArrayString swig_types[18] 
+#define  SWIGTYPE_p_wxLEDNumberCtrl swig_types[19] 
+#define  SWIGTYPE_p_wxDynamicSashSplitEvent swig_types[20] 
+#define  SWIGTYPE_p_wxTreeItemId swig_types[21] 
+#define  SWIGTYPE_p_wxString swig_types[22] 
+#define  SWIGTYPE_p_wxEvtHandler swig_types[23] 
+#define  SWIGTYPE_p_wxFont swig_types[24] 
+#define  SWIGTYPE_p_wxDynamicSashUnifyEvent swig_types[25] 
+#define  SWIGTYPE_p_wxControl swig_types[26] 
+#define  SWIGTYPE_p_wxPanel swig_types[27] 
+#define  SWIGTYPE_p_wxPyTreeItemData swig_types[28] 
+#define  SWIGTYPE_p_wxEvent swig_types[29] 
+#define  SWIGTYPE_p_int swig_types[30] 
+static swig_type_info *swig_types[32];
+
+/* -------- TYPES TABLE (END) -------- */
+
+
+/*-----------------------------------------------
+              @(target):= _gizmos.so
+  ------------------------------------------------*/
+#define SWIG_init    init_gizmos
+
+#define SWIG_name    "_gizmos"
+
+#include "wx/wxPython/wxPython.h"
+#include "wx/wxPython/pyclasses.h"
+    
+#include <wx/gizmos/dynamicsash.h>
+#include <wx/gizmos/editlbox.h>
+#include <wx/gizmos/splittree.h>
+#include <wx/gizmos/ledctrl.h>
+
+#include <wx/listctrl.h>
+#include <wx/treectrl.h>
+#include <wx/imaglist.h>
+    
+#include "treelistctrl.h"
+#include "wx/wxPython/pytree.h"
+
+    
+    static const wxString wxPyDynamicSashNameStr(wxT("dynamicSashWindow"));
+    static const wxString wxPyEditableListBoxNameStr(wxT("editableListBox"));
+    static const wxString wxPyTreeListCtrlNameStr(wxT("treelistctrl"));
+    static const wxString wxPyEmptyString(wxT(""));
+
+PyObject *wxEditableListBox_GetStrings(wxEditableListBox *self){
+            wxArrayString strings;
+            self->GetStrings(strings);
+            return wxArrayString2PyList_helper(strings);
+        }
+
+    typedef wxTreeCtrl wxPyTreeCtrl;
+
+
+class wxPyTreeCompanionWindow: public wxTreeCompanionWindow
+{
+public:
+    wxPyTreeCompanionWindow(wxWindow* parent, wxWindowID id = -1,
+                            const wxPoint& pos = wxDefaultPosition,
+                            const wxSize& size = wxDefaultSize,
+                            long style = 0)
+        : wxTreeCompanionWindow(parent, id, pos, size, style) {}
+
+
+    virtual void DrawItem(wxDC& dc, wxTreeItemId id, const wxRect& rect) {
+        bool found;
+        wxPyBeginBlockThreads();
+        if ((found = wxPyCBH_findCallback(m_myInst, "DrawItem"))) {
+            PyObject* dcobj = wxPyMake_wxObject(&dc);
+            PyObject* idobj = wxPyConstructObject((void*)&id, wxT("wxTreeItemId"), False);
+            PyObject* recobj= wxPyConstructObject((void*)&rect, wxT("wxRect"), False);
+            wxPyCBH_callCallback(m_myInst, Py_BuildValue("(OOO)", dcobj, idobj, recobj));
+            Py_DECREF(dcobj);
+            Py_DECREF(idobj);
+            Py_DECREF(recobj);
+        }
+        wxPyEndBlockThreads();
+        if (! found)
+            wxTreeCompanionWindow::DrawItem(dc, id, rect);
+    }
+
+    PYPRIVATE;
+};
+
+ // C++ version of Python aware control
+class wxPyTreeListCtrl : public wxTreeListCtrl {
+    DECLARE_ABSTRACT_CLASS(wxPyTreeListCtrl);
+public:
+    wxPyTreeListCtrl() : wxTreeListCtrl() {}
+    wxPyTreeListCtrl(wxWindow *parent, wxWindowID id,
+                     const wxPoint& pos,
+                     const wxSize& size,
+                     long style,
+                     const wxValidator &validator,
+                     const wxString& name) :
+        wxTreeListCtrl(parent, id, pos, size, style, validator, name) {}
+
+    int OnCompareItems(const wxTreeItemId& item1,
+                       const wxTreeItemId& item2) {
+        int rval = 0;
+        bool found;
+        wxPyBeginBlockThreads();
+        if ((found = wxPyCBH_findCallback(m_myInst, "OnCompareItems"))) {
+            PyObject *o1 = wxPyConstructObject((void*)&item1, wxT("wxTreeItemId"), 0);
+            PyObject *o2 = wxPyConstructObject((void*)&item2, wxT("wxTreeItemId"), 0);
+            rval = wxPyCBH_callCallback(m_myInst, Py_BuildValue("(OO)",o1,o2));
+            Py_DECREF(o1);
+            Py_DECREF(o2);
+        }
+        wxPyEndBlockThreads();
+        if (! found)
+            rval = wxTreeListCtrl::OnCompareItems(item1, item2);
+        return rval;
+    }
+    PYPRIVATE;
+};
+
+IMPLEMENT_ABSTRACT_CLASS(wxPyTreeListCtrl, wxTreeListCtrl)
+
+
+wxString wxPyTreeListCtrl_GetItemText(wxPyTreeListCtrl *self,wxTreeItemId const &item,int column){
+            if (column < 0) column = self->GetMainColumn();
+            return self->GetItemText(item, column);
+        }
+int wxPyTreeListCtrl_GetItemImage(wxPyTreeListCtrl *self,wxTreeItemId const &item,int column,wxTreeItemIcon which){
+            if (column < 0) column = self->GetMainColumn();
+            return self->GetItemImage(item, column, which);
+        }
+void wxPyTreeListCtrl_SetItemText(wxPyTreeListCtrl *self,wxTreeItemId const &item,wxString const &text,int column){
+            if (column < 0) column = self->GetMainColumn();
+            self->SetItemText(item, column, text);
+        }
+void wxPyTreeListCtrl_SetItemImage(wxPyTreeListCtrl *self,wxTreeItemId const &item,int image,int column,wxTreeItemIcon which){
+            if (column < 0) column = self->GetMainColumn();
+            self->SetItemImage(item, column, image, which);
+        }
+wxPyTreeItemData *wxPyTreeListCtrl_GetItemData(wxPyTreeListCtrl *self,wxTreeItemId const &item){
+            wxPyTreeItemData* data = (wxPyTreeItemData*)self->GetItemData(item);
+            if (data == NULL) {
+                data = new wxPyTreeItemData();
+                data->SetId(item); // set the id
+                self->SetItemData(item, data);
+            }
+            return data;
+        }
+void wxPyTreeListCtrl_SetItemData(wxPyTreeListCtrl *self,wxTreeItemId const &item,wxPyTreeItemData *data){
+            data->SetId(item); // set the id
+            self->SetItemData(item, data);
+        }
+PyObject *wxPyTreeListCtrl_GetItemPyData(wxPyTreeListCtrl *self,wxTreeItemId const &item){
+            wxPyTreeItemData* data = (wxPyTreeItemData*)self->GetItemData(item);
+            if (data == NULL) {
+                data = new wxPyTreeItemData();
+                data->SetId(item); // set the id
+                self->SetItemData(item, data);
+            }
+            return data->GetData();
+        }
+void wxPyTreeListCtrl_SetItemPyData(wxPyTreeListCtrl *self,wxTreeItemId const &item,PyObject *obj){
+            wxPyTreeItemData* data = (wxPyTreeItemData*)self->GetItemData(item);
+            if (data == NULL) {
+                data = new wxPyTreeItemData(obj);
+                data->SetId(item); // set the id
+                self->SetItemData(item, data);
+            } else
+                data->SetData(obj);
+        }
+PyObject *wxPyTreeListCtrl_GetSelections(wxPyTreeListCtrl *self){
+            wxPyBeginBlockThreads();
+            PyObject*           rval = PyList_New(0);
+            wxArrayTreeItemIds  array;
+            size_t              num, x;
+            num = self->GetSelections(array);
+            for (x=0; x < num; x++) {
+                wxTreeItemId *tii = new wxTreeItemId(array.Item(x));
+                PyObject* item = wxPyConstructObject((void*)tii, wxT("wxTreeItemId"), True);
+                PyList_Append(rval, item);
+            }
+            wxPyEndBlockThreads();
+            return rval;
+        }
+PyObject *wxPyTreeListCtrl_GetFirstChild(wxPyTreeListCtrl *self,wxTreeItemId const &item){
+            long cookie = 0;
+            wxTreeItemId ritem = self->GetFirstChild(item, cookie);
+            wxPyBeginBlockThreads();
+            PyObject* tup = PyTuple_New(2);
+            PyTuple_SET_ITEM(tup, 0, wxPyConstructObject(&ritem, wxT("wxTreeItemId"), true));
+            PyTuple_SET_ITEM(tup, 1, PyInt_FromLong(cookie));
+            wxPyEndBlockThreads();
+            return tup;
+        }
+PyObject *wxPyTreeListCtrl_GetNextChild(wxPyTreeListCtrl *self,wxTreeItemId const &item,long cookie){
+            wxTreeItemId ritem = self->GetNextChild(item, cookie);
+            wxPyBeginBlockThreads();
+            PyObject* tup = PyTuple_New(2);
+            PyTuple_SET_ITEM(tup, 0, wxPyConstructObject(&ritem, wxT("wxTreeItemId"), true));
+            PyTuple_SET_ITEM(tup, 1, PyInt_FromLong(cookie));
+            wxPyEndBlockThreads();
+            return tup;
+        }
+
+static PyObject* t_output_helper(PyObject* target, PyObject* o) {
+    PyObject*   o2;
+    PyObject*   o3;
+
+    if (!target) {                   
+        target = o;
+    } else if (target == Py_None) {  
+        Py_DECREF(Py_None);
+        target = o;
+    } else {                         
+        if (!PyTuple_Check(target)) {
+            o2 = target;
+            target = PyTuple_New(1);
+            PyTuple_SetItem(target, 0, o2);
+        }
+        o3 = PyTuple_New(1);            
+        PyTuple_SetItem(o3, 0, o);      
+
+        o2 = target;
+        target = PySequence_Concat(o2, o3); 
+        Py_DECREF(o2);                      
+        Py_DECREF(o3);
+    }
+    return target;
+}
+
+PyObject *wxPyTreeListCtrl_GetBoundingRect(wxPyTreeListCtrl *self,wxTreeItemId const &item,bool textOnly){
+            wxRect rect;
+            if (self->GetBoundingRect(item, rect, textOnly)) {
+                wxPyBeginBlockThreads();
+                wxRect* r = new wxRect(rect);
+                PyObject* val = wxPyConstructObject((void*)r, wxT("wxRect"), 1);
+                wxPyEndBlockThreads();
+                return val;
+            }
+            else {
+                RETURN_NONE();
+            }
+        }
+#ifdef __cplusplus
+extern "C" {
+#endif
+static PyObject *_wrap_new_DynamicSashSplitEvent(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxObject *arg1 = (wxObject *) 0 ;
+    wxDynamicSashSplitEvent *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "target", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:new_DynamicSashSplitEvent",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxObject,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxDynamicSashSplitEvent *)new wxDynamicSashSplitEvent(arg1);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxDynamicSashSplitEvent, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * DynamicSashSplitEvent_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_wxDynamicSashSplitEvent, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_DynamicSashUnifyEvent(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxObject *arg1 = (wxObject *) 0 ;
+    wxDynamicSashUnifyEvent *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "target", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:new_DynamicSashUnifyEvent",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxObject,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxDynamicSashUnifyEvent *)new wxDynamicSashUnifyEvent(arg1);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxDynamicSashUnifyEvent, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * DynamicSashUnifyEvent_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_wxDynamicSashUnifyEvent, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_DynamicSashWindow(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxWindow *arg1 = (wxWindow *) 0 ;
+    int arg2 ;
+    wxPoint const &arg3_defvalue = wxDefaultPosition ;
+    wxPoint *arg3 = (wxPoint *) &arg3_defvalue ;
+    wxSize const &arg4_defvalue = wxDefaultSize ;
+    wxSize *arg4 = (wxSize *) &arg4_defvalue ;
+    long arg5 = (long) wxCLIP_CHILDREN|wxDS_MANAGE_SCROLLBARS|wxDS_DRAG_CORNER ;
+    wxString const &arg6_defvalue = wxPyDynamicSashNameStr ;
+    wxString *arg6 = (wxString *) &arg6_defvalue ;
+    wxDynamicSashWindow *result;
+    wxPoint temp3 ;
+    wxSize temp4 ;
+    bool temp6 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    PyObject * obj5 = 0 ;
+    char *kwnames[] = {
+        (char *) "parent",(char *) "id",(char *) "pos",(char *) "size",(char *) "style",(char *) "name", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi|OOlO:new_DynamicSashWindow",kwnames,&obj0,&arg2,&obj2,&obj3,&arg5,&obj5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxWindow,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (obj2) {
+        {
+            arg3 = &temp3;
+            if ( ! wxPoint_helper(obj2, &arg3)) SWIG_fail;
+        }
+    }
+    if (obj3) {
+        {
+            arg4 = &temp4;
+            if ( ! wxSize_helper(obj3, &arg4)) SWIG_fail;
+        }
+    }
+    if (obj5) {
+        {
+            arg6 = wxString_in_helper(obj5);
+            if (arg6 == NULL) SWIG_fail;
+            temp6 = True;
+        }
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxDynamicSashWindow *)new wxDynamicSashWindow(arg1,arg2,(wxPoint const &)*arg3,(wxSize const &)*arg4,arg5,(wxString const &)*arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxDynamicSashWindow, 1);
+    {
+        if (temp6)
+        delete arg6;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp6)
+        delete arg6;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_PreDynamicSashWindow(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxDynamicSashWindow *result;
+    char *kwnames[] = {
+        NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)":new_PreDynamicSashWindow",kwnames)) goto fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxDynamicSashWindow *)new wxDynamicSashWindow();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxDynamicSashWindow, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DynamicSashWindow_Create(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxDynamicSashWindow *arg1 = (wxDynamicSashWindow *) 0 ;
+    wxWindow *arg2 = (wxWindow *) 0 ;
+    int arg3 ;
+    wxPoint const &arg4_defvalue = wxDefaultPosition ;
+    wxPoint *arg4 = (wxPoint *) &arg4_defvalue ;
+    wxSize const &arg5_defvalue = wxDefaultSize ;
+    wxSize *arg5 = (wxSize *) &arg5_defvalue ;
+    long arg6 = (long) wxCLIP_CHILDREN|wxDS_MANAGE_SCROLLBARS|wxDS_DRAG_CORNER ;
+    wxString const &arg7_defvalue = wxPyDynamicSashNameStr ;
+    wxString *arg7 = (wxString *) &arg7_defvalue ;
+    bool result;
+    wxPoint temp4 ;
+    wxSize temp5 ;
+    bool temp7 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj3 = 0 ;
+    PyObject * obj4 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "parent",(char *) "id",(char *) "pos",(char *) "size",(char *) "style",(char *) "name", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOi|OOlO:DynamicSashWindow_Create",kwnames,&obj0,&obj1,&arg3,&obj3,&obj4,&arg6,&obj6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDynamicSashWindow,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxWindow,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (obj3) {
+        {
+            arg4 = &temp4;
+            if ( ! wxPoint_helper(obj3, &arg4)) SWIG_fail;
+        }
+    }
+    if (obj4) {
+        {
+            arg5 = &temp5;
+            if ( ! wxSize_helper(obj4, &arg5)) SWIG_fail;
+        }
+    }
+    if (obj6) {
+        {
+            arg7 = wxString_in_helper(obj6);
+            if (arg7 == NULL) SWIG_fail;
+            temp7 = True;
+        }
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->Create(arg2,arg3,(wxPoint const &)*arg4,(wxSize const &)*arg5,arg6,(wxString const &)*arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    {
+        if (temp7)
+        delete arg7;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp7)
+        delete arg7;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_DynamicSashWindow_GetHScrollBar(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxDynamicSashWindow *arg1 = (wxDynamicSashWindow *) 0 ;
+    wxWindow *arg2 = (wxWindow *) 0 ;
+    wxScrollBar *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "child", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:DynamicSashWindow_GetHScrollBar",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDynamicSashWindow,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxWindow,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxScrollBar *)((wxDynamicSashWindow const *)arg1)->GetHScrollBar((wxWindow const *)arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxScrollBar, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DynamicSashWindow_GetVScrollBar(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxDynamicSashWindow *arg1 = (wxDynamicSashWindow *) 0 ;
+    wxWindow *arg2 = (wxWindow *) 0 ;
+    wxScrollBar *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "child", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:DynamicSashWindow_GetVScrollBar",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDynamicSashWindow,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxWindow,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxScrollBar *)((wxDynamicSashWindow const *)arg1)->GetVScrollBar((wxWindow const *)arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxScrollBar, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * DynamicSashWindow_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_wxDynamicSashWindow, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_EditableListBox(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxWindow *arg1 = (wxWindow *) 0 ;
+    int arg2 ;
+    wxString *arg3 = 0 ;
+    wxPoint const &arg4_defvalue = wxDefaultPosition ;
+    wxPoint *arg4 = (wxPoint *) &arg4_defvalue ;
+    wxSize const &arg5_defvalue = wxDefaultSize ;
+    wxSize *arg5 = (wxSize *) &arg5_defvalue ;
+    long arg6 = (long) wxEL_ALLOW_NEW|wxEL_ALLOW_EDIT|wxEL_ALLOW_DELETE ;
+    wxString const &arg7_defvalue = wxPyEditableListBoxNameStr ;
+    wxString *arg7 = (wxString *) &arg7_defvalue ;
+    wxEditableListBox *result;
+    bool temp3 = False ;
+    wxPoint temp4 ;
+    wxSize temp5 ;
+    bool temp7 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    PyObject * obj4 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "parent",(char *) "id",(char *) "label",(char *) "pos",(char *) "size",(char *) "style",(char *) "name", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OiO|OOlO:new_EditableListBox",kwnames,&obj0,&arg2,&obj2,&obj3,&obj4,&arg6,&obj6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxWindow,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg3 = wxString_in_helper(obj2);
+        if (arg3 == NULL) SWIG_fail;
+        temp3 = True;
+    }
+    if (obj3) {
+        {
+            arg4 = &temp4;
+            if ( ! wxPoint_helper(obj3, &arg4)) SWIG_fail;
+        }
+    }
+    if (obj4) {
+        {
+            arg5 = &temp5;
+            if ( ! wxSize_helper(obj4, &arg5)) SWIG_fail;
+        }
+    }
+    if (obj6) {
+        {
+            arg7 = wxString_in_helper(obj6);
+            if (arg7 == NULL) SWIG_fail;
+            temp7 = True;
+        }
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxEditableListBox *)new wxEditableListBox(arg1,arg2,(wxString const &)*arg3,(wxPoint const &)*arg4,(wxSize const &)*arg5,arg6,(wxString const &)*arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxEditableListBox, 1);
+    {
+        if (temp3)
+        delete arg3;
+    }
+    {
+        if (temp7)
+        delete arg7;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp3)
+        delete arg3;
+    }
+    {
+        if (temp7)
+        delete arg7;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_EditableListBox_SetStrings(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxEditableListBox *arg1 = (wxEditableListBox *) 0 ;
+    wxArrayString *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "strings", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:EditableListBox_SetStrings",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxEditableListBox,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        if (! PySequence_Check(obj1)) {
+            PyErr_SetString(PyExc_TypeError, "Sequence of strings expected.");
+            SWIG_fail;
+        }
+        arg2 = new wxArrayString;
+        int i, len=PySequence_Length(obj1);
+        for (i=0; i<len; i++) {
+            PyObject* item = PySequence_GetItem(obj1, i);
+#if wxUSE_UNICODE
+            PyObject* str  = PyObject_Unicode(item);
+#else
+            PyObject* str  = PyObject_Str(item);
+#endif
+            arg2->Add(Py2wxString(str));
+            Py_DECREF(item);
+            Py_DECREF(str);
+        }
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetStrings((wxArrayString const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        if (arg2) delete arg2;
+    }
+    return resultobj;
+    fail:
+    {
+        if (arg2) delete arg2;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_EditableListBox_GetStrings(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxEditableListBox *arg1 = (wxEditableListBox *) 0 ;
+    PyObject *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:EditableListBox_GetStrings",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxEditableListBox,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (PyObject *)wxEditableListBox_GetStrings(arg1);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = result;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EditableListBox_GetListCtrl(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxEditableListBox *arg1 = (wxEditableListBox *) 0 ;
+    wxListCtrl *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:EditableListBox_GetListCtrl",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxEditableListBox,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxListCtrl *)(arg1)->GetListCtrl();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxObject(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EditableListBox_GetDelButton(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxEditableListBox *arg1 = (wxEditableListBox *) 0 ;
+    wxBitmapButton *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:EditableListBox_GetDelButton",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxEditableListBox,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxBitmapButton *)(arg1)->GetDelButton();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxObject(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EditableListBox_GetNewButton(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxEditableListBox *arg1 = (wxEditableListBox *) 0 ;
+    wxBitmapButton *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:EditableListBox_GetNewButton",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxEditableListBox,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxBitmapButton *)(arg1)->GetNewButton();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxObject(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EditableListBox_GetUpButton(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxEditableListBox *arg1 = (wxEditableListBox *) 0 ;
+    wxBitmapButton *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:EditableListBox_GetUpButton",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxEditableListBox,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxBitmapButton *)(arg1)->GetUpButton();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxObject(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EditableListBox_GetDownButton(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxEditableListBox *arg1 = (wxEditableListBox *) 0 ;
+    wxBitmapButton *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:EditableListBox_GetDownButton",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxEditableListBox,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxBitmapButton *)(arg1)->GetDownButton();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxObject(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EditableListBox_GetEditButton(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxEditableListBox *arg1 = (wxEditableListBox *) 0 ;
+    wxBitmapButton *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:EditableListBox_GetEditButton",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxEditableListBox,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxBitmapButton *)(arg1)->GetEditButton();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxObject(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * EditableListBox_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_wxEditableListBox, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_RemotelyScrolledTreeCtrl(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxWindow *arg1 = (wxWindow *) 0 ;
+    int arg2 ;
+    wxPoint const &arg3_defvalue = wxDefaultPosition ;
+    wxPoint *arg3 = (wxPoint *) &arg3_defvalue ;
+    wxSize const &arg4_defvalue = wxDefaultSize ;
+    wxSize *arg4 = (wxSize *) &arg4_defvalue ;
+    long arg5 = (long) wxTR_HAS_BUTTONS ;
+    wxRemotelyScrolledTreeCtrl *result;
+    wxPoint temp3 ;
+    wxSize temp4 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    char *kwnames[] = {
+        (char *) "parent",(char *) "id",(char *) "pos",(char *) "size",(char *) "style", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi|OOl:new_RemotelyScrolledTreeCtrl",kwnames,&obj0,&arg2,&obj2,&obj3,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxWindow,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (obj2) {
+        {
+            arg3 = &temp3;
+            if ( ! wxPoint_helper(obj2, &arg3)) SWIG_fail;
+        }
+    }
+    if (obj3) {
+        {
+            arg4 = &temp4;
+            if ( ! wxSize_helper(obj3, &arg4)) SWIG_fail;
+        }
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxRemotelyScrolledTreeCtrl *)new wxRemotelyScrolledTreeCtrl(arg1,arg2,(wxPoint const &)*arg3,(wxSize const &)*arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxRemotelyScrolledTreeCtrl, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RemotelyScrolledTreeCtrl_HideVScrollbar(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxRemotelyScrolledTreeCtrl *arg1 = (wxRemotelyScrolledTreeCtrl *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:RemotelyScrolledTreeCtrl_HideVScrollbar",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxRemotelyScrolledTreeCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->HideVScrollbar();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RemotelyScrolledTreeCtrl_AdjustRemoteScrollbars(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxRemotelyScrolledTreeCtrl *arg1 = (wxRemotelyScrolledTreeCtrl *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:RemotelyScrolledTreeCtrl_AdjustRemoteScrollbars",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxRemotelyScrolledTreeCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->AdjustRemoteScrollbars();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RemotelyScrolledTreeCtrl_GetScrolledWindow(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxRemotelyScrolledTreeCtrl *arg1 = (wxRemotelyScrolledTreeCtrl *) 0 ;
+    wxScrolledWindow *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:RemotelyScrolledTreeCtrl_GetScrolledWindow",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxRemotelyScrolledTreeCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxScrolledWindow *)((wxRemotelyScrolledTreeCtrl const *)arg1)->GetScrolledWindow();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxScrolledWindow, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RemotelyScrolledTreeCtrl_ScrollToLine(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxRemotelyScrolledTreeCtrl *arg1 = (wxRemotelyScrolledTreeCtrl *) 0 ;
+    int arg2 ;
+    int arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "posHoriz",(char *) "posVert", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oii:RemotelyScrolledTreeCtrl_ScrollToLine",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxRemotelyScrolledTreeCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->ScrollToLine(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RemotelyScrolledTreeCtrl_SetCompanionWindow(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxRemotelyScrolledTreeCtrl *arg1 = (wxRemotelyScrolledTreeCtrl *) 0 ;
+    wxWindow *arg2 = (wxWindow *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "companion", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:RemotelyScrolledTreeCtrl_SetCompanionWindow",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxRemotelyScrolledTreeCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxWindow,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetCompanionWindow(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RemotelyScrolledTreeCtrl_GetCompanionWindow(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxRemotelyScrolledTreeCtrl *arg1 = (wxRemotelyScrolledTreeCtrl *) 0 ;
+    wxWindow *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:RemotelyScrolledTreeCtrl_GetCompanionWindow",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxRemotelyScrolledTreeCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxWindow *)((wxRemotelyScrolledTreeCtrl const *)arg1)->GetCompanionWindow();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxObject(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * RemotelyScrolledTreeCtrl_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_wxRemotelyScrolledTreeCtrl, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_TreeCompanionWindow(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxWindow *arg1 = (wxWindow *) 0 ;
+    int arg2 = (int) -1 ;
+    wxPoint const &arg3_defvalue = wxDefaultPosition ;
+    wxPoint *arg3 = (wxPoint *) &arg3_defvalue ;
+    wxSize const &arg4_defvalue = wxDefaultSize ;
+    wxSize *arg4 = (wxSize *) &arg4_defvalue ;
+    long arg5 = (long) 0 ;
+    wxPyTreeCompanionWindow *result;
+    wxPoint temp3 ;
+    wxSize temp4 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    char *kwnames[] = {
+        (char *) "parent",(char *) "id",(char *) "pos",(char *) "size",(char *) "style", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O|iOOl:new_TreeCompanionWindow",kwnames,&obj0,&arg2,&obj2,&obj3,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxWindow,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (obj2) {
+        {
+            arg3 = &temp3;
+            if ( ! wxPoint_helper(obj2, &arg3)) SWIG_fail;
+        }
+    }
+    if (obj3) {
+        {
+            arg4 = &temp4;
+            if ( ! wxSize_helper(obj3, &arg4)) SWIG_fail;
+        }
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyTreeCompanionWindow *)new wxPyTreeCompanionWindow(arg1,arg2,(wxPoint const &)*arg3,(wxSize const &)*arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxPyTreeCompanionWindow, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeCompanionWindow__setCallbackInfo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeCompanionWindow *arg1 = (wxPyTreeCompanionWindow *) 0 ;
+    PyObject *arg2 = (PyObject *) 0 ;
+    PyObject *arg3 = (PyObject *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "self",(char *) "_class", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:TreeCompanionWindow__setCallbackInfo",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeCompanionWindow,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = obj1;
+    arg3 = obj2;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->_setCallbackInfo(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeCompanionWindow_GetTreeCtrl(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeCompanionWindow *arg1 = (wxPyTreeCompanionWindow *) 0 ;
+    wxRemotelyScrolledTreeCtrl *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:TreeCompanionWindow_GetTreeCtrl",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeCompanionWindow,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxRemotelyScrolledTreeCtrl *)((wxPyTreeCompanionWindow const *)arg1)->GetTreeCtrl();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxRemotelyScrolledTreeCtrl, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeCompanionWindow_SetTreeCtrl(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeCompanionWindow *arg1 = (wxPyTreeCompanionWindow *) 0 ;
+    wxRemotelyScrolledTreeCtrl *arg2 = (wxRemotelyScrolledTreeCtrl *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "treeCtrl", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeCompanionWindow_SetTreeCtrl",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeCompanionWindow,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxRemotelyScrolledTreeCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetTreeCtrl(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * TreeCompanionWindow_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_wxPyTreeCompanionWindow, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_ThinSplitterWindow(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxWindow *arg1 = (wxWindow *) 0 ;
+    int arg2 = (int) -1 ;
+    wxPoint const &arg3_defvalue = wxDefaultPosition ;
+    wxPoint *arg3 = (wxPoint *) &arg3_defvalue ;
+    wxSize const &arg4_defvalue = wxDefaultSize ;
+    wxSize *arg4 = (wxSize *) &arg4_defvalue ;
+    long arg5 = (long) wxSP_3D|wxCLIP_CHILDREN ;
+    wxThinSplitterWindow *result;
+    wxPoint temp3 ;
+    wxSize temp4 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    char *kwnames[] = {
+        (char *) "parent",(char *) "id",(char *) "pos",(char *) "size",(char *) "style", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O|iOOl:new_ThinSplitterWindow",kwnames,&obj0,&arg2,&obj2,&obj3,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxWindow,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (obj2) {
+        {
+            arg3 = &temp3;
+            if ( ! wxPoint_helper(obj2, &arg3)) SWIG_fail;
+        }
+    }
+    if (obj3) {
+        {
+            arg4 = &temp4;
+            if ( ! wxSize_helper(obj3, &arg4)) SWIG_fail;
+        }
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxThinSplitterWindow *)new wxThinSplitterWindow(arg1,arg2,(wxPoint const &)*arg3,(wxSize const &)*arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxThinSplitterWindow, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * ThinSplitterWindow_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_wxThinSplitterWindow, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_SplitterScrolledWindow(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxWindow *arg1 = (wxWindow *) 0 ;
+    int arg2 = (int) -1 ;
+    wxPoint const &arg3_defvalue = wxDefaultPosition ;
+    wxPoint *arg3 = (wxPoint *) &arg3_defvalue ;
+    wxSize const &arg4_defvalue = wxDefaultSize ;
+    wxSize *arg4 = (wxSize *) &arg4_defvalue ;
+    long arg5 = (long) 0 ;
+    wxSplitterScrolledWindow *result;
+    wxPoint temp3 ;
+    wxSize temp4 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    char *kwnames[] = {
+        (char *) "parent",(char *) "id",(char *) "pos",(char *) "size",(char *) "style", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O|iOOl:new_SplitterScrolledWindow",kwnames,&obj0,&arg2,&obj2,&obj3,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxWindow,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (obj2) {
+        {
+            arg3 = &temp3;
+            if ( ! wxPoint_helper(obj2, &arg3)) SWIG_fail;
+        }
+    }
+    if (obj3) {
+        {
+            arg4 = &temp4;
+            if ( ! wxSize_helper(obj3, &arg4)) SWIG_fail;
+        }
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxSplitterScrolledWindow *)new wxSplitterScrolledWindow(arg1,arg2,(wxPoint const &)*arg3,(wxSize const &)*arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxSplitterScrolledWindow, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * SplitterScrolledWindow_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_wxSplitterScrolledWindow, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_LEDNumberCtrl(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxWindow *arg1 = (wxWindow *) 0 ;
+    int arg2 = (int) -1 ;
+    wxPoint const &arg3_defvalue = wxDefaultPosition ;
+    wxPoint *arg3 = (wxPoint *) &arg3_defvalue ;
+    wxSize const &arg4_defvalue = wxDefaultSize ;
+    wxSize *arg4 = (wxSize *) &arg4_defvalue ;
+    long arg5 = (long) wxLED_ALIGN_LEFT|wxLED_DRAW_FADED ;
+    wxLEDNumberCtrl *result;
+    wxPoint temp3 ;
+    wxSize temp4 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    char *kwnames[] = {
+        (char *) "parent",(char *) "id",(char *) "pos",(char *) "size",(char *) "style", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O|iOOl:new_LEDNumberCtrl",kwnames,&obj0,&arg2,&obj2,&obj3,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxWindow,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (obj2) {
+        {
+            arg3 = &temp3;
+            if ( ! wxPoint_helper(obj2, &arg3)) SWIG_fail;
+        }
+    }
+    if (obj3) {
+        {
+            arg4 = &temp4;
+            if ( ! wxSize_helper(obj3, &arg4)) SWIG_fail;
+        }
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxLEDNumberCtrl *)new wxLEDNumberCtrl(arg1,arg2,(wxPoint const &)*arg3,(wxSize const &)*arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxLEDNumberCtrl, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_PreLEDNumberCtrl(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxLEDNumberCtrl *result;
+    char *kwnames[] = {
+        NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)":new_PreLEDNumberCtrl",kwnames)) goto fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxLEDNumberCtrl *)new wxLEDNumberCtrl();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxLEDNumberCtrl, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_LEDNumberCtrl_Create(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxLEDNumberCtrl *arg1 = (wxLEDNumberCtrl *) 0 ;
+    wxWindow *arg2 = (wxWindow *) 0 ;
+    int arg3 = (int) -1 ;
+    wxPoint const &arg4_defvalue = wxDefaultPosition ;
+    wxPoint *arg4 = (wxPoint *) &arg4_defvalue ;
+    wxSize const &arg5_defvalue = wxDefaultSize ;
+    wxSize *arg5 = (wxSize *) &arg5_defvalue ;
+    long arg6 = (long) wxLED_ALIGN_LEFT|wxLED_DRAW_FADED ;
+    bool result;
+    wxPoint temp4 ;
+    wxSize temp5 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj3 = 0 ;
+    PyObject * obj4 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "parent",(char *) "id",(char *) "pos",(char *) "size",(char *) "style", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|iOOl:LEDNumberCtrl_Create",kwnames,&obj0,&obj1,&arg3,&obj3,&obj4,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxLEDNumberCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxWindow,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (obj3) {
+        {
+            arg4 = &temp4;
+            if ( ! wxPoint_helper(obj3, &arg4)) SWIG_fail;
+        }
+    }
+    if (obj4) {
+        {
+            arg5 = &temp5;
+            if ( ! wxSize_helper(obj4, &arg5)) SWIG_fail;
+        }
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->Create(arg2,arg3,(wxPoint const &)*arg4,(wxSize const &)*arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_LEDNumberCtrl_GetAlignment(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxLEDNumberCtrl *arg1 = (wxLEDNumberCtrl *) 0 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:LEDNumberCtrl_GetAlignment",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxLEDNumberCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)((wxLEDNumberCtrl const *)arg1)->GetAlignment();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_LEDNumberCtrl_GetDrawFaded(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxLEDNumberCtrl *arg1 = (wxLEDNumberCtrl *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:LEDNumberCtrl_GetDrawFaded",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxLEDNumberCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)((wxLEDNumberCtrl const *)arg1)->GetDrawFaded();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_LEDNumberCtrl_GetValue(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxLEDNumberCtrl *arg1 = (wxLEDNumberCtrl *) 0 ;
+    wxString *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:LEDNumberCtrl_GetValue",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxLEDNumberCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        {
+            wxString const &_result_ref = ((wxLEDNumberCtrl const *)arg1)->GetValue();
+            result = (wxString *) &_result_ref;
+        }
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxString, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_LEDNumberCtrl_SetAlignment(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxLEDNumberCtrl *arg1 = (wxLEDNumberCtrl *) 0 ;
+    int arg2 ;
+    bool arg3 = (bool) true ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "Alignment",(char *) "Redraw", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi|O:LEDNumberCtrl_SetAlignment",kwnames,&obj0,&arg2,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxLEDNumberCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetAlignment((wxLEDValueAlign )arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_LEDNumberCtrl_SetDrawFaded(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxLEDNumberCtrl *arg1 = (wxLEDNumberCtrl *) 0 ;
+    bool arg2 ;
+    bool arg3 = (bool) true ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "DrawFaded",(char *) "Redraw", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:LEDNumberCtrl_SetDrawFaded",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxLEDNumberCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetDrawFaded(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_LEDNumberCtrl_SetValue(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxLEDNumberCtrl *arg1 = (wxLEDNumberCtrl *) 0 ;
+    wxString *arg2 = 0 ;
+    bool arg3 = (bool) true ;
+    bool temp2 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "Value",(char *) "Redraw", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:LEDNumberCtrl_SetValue",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxLEDNumberCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = wxString_in_helper(obj1);
+        if (arg2 == NULL) SWIG_fail;
+        temp2 = True;
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetValue((wxString const &)*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return NULL;
+}
+
+
+static PyObject * LEDNumberCtrl_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_wxLEDNumberCtrl, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_TreeListColumnInfo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxString const &arg1_defvalue = wxPyEmptyString ;
+    wxString *arg1 = (wxString *) &arg1_defvalue ;
+    int arg2 = (int) -1 ;
+    size_t arg3 = (size_t) 100 ;
+    int arg4 = (int) wxTL_ALIGN_LEFT ;
+    wxTreeListColumnInfo *result;
+    bool temp1 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "text",(char *) "image",(char *) "width",(char *) "alignment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"|OiOi:new_TreeListColumnInfo",kwnames,&obj0,&arg2,&obj2,&arg4)) goto fail;
+    if (obj0) {
+        {
+            arg1 = wxString_in_helper(obj0);
+            if (arg1 == NULL) SWIG_fail;
+            temp1 = True;
+        }
+    }
+    if (obj2) {
+        arg3 = (size_t) PyInt_AsLong(obj2);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxTreeListColumnInfo *)new wxTreeListColumnInfo((wxString const &)*arg1,arg2,arg3,(wxTreeListColumnAlign )arg4);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxTreeListColumnInfo, 1);
+    {
+        if (temp1)
+        delete arg1;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp1)
+        delete arg1;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListColumnInfo_GetAlignment(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxTreeListColumnInfo *arg1 = (wxTreeListColumnInfo *) 0 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:TreeListColumnInfo_GetAlignment",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxTreeListColumnInfo,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)((wxTreeListColumnInfo const *)arg1)->GetAlignment();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListColumnInfo_GetText(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxTreeListColumnInfo *arg1 = (wxTreeListColumnInfo *) 0 ;
+    wxString result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:TreeListColumnInfo_GetText",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxTreeListColumnInfo,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = ((wxTreeListColumnInfo const *)arg1)->GetText();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+#if wxUSE_UNICODE
+        resultobj = PyUnicode_FromWideChar((&result)->c_str(), (&result)->Len());
+#else
+        resultobj = PyString_FromStringAndSize((&result)->c_str(), (&result)->Len());
+#endif
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListColumnInfo_GetImage(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxTreeListColumnInfo *arg1 = (wxTreeListColumnInfo *) 0 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:TreeListColumnInfo_GetImage",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxTreeListColumnInfo,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)((wxTreeListColumnInfo const *)arg1)->GetImage();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListColumnInfo_GetSelectedImage(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxTreeListColumnInfo *arg1 = (wxTreeListColumnInfo *) 0 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:TreeListColumnInfo_GetSelectedImage",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxTreeListColumnInfo,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)((wxTreeListColumnInfo const *)arg1)->GetSelectedImage();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListColumnInfo_GetWidth(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxTreeListColumnInfo *arg1 = (wxTreeListColumnInfo *) 0 ;
+    size_t result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:TreeListColumnInfo_GetWidth",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxTreeListColumnInfo,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (size_t)((wxTreeListColumnInfo const *)arg1)->GetWidth();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListColumnInfo_SetAlignment(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxTreeListColumnInfo *arg1 = (wxTreeListColumnInfo *) 0 ;
+    int arg2 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "alignment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:TreeListColumnInfo_SetAlignment",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxTreeListColumnInfo,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetAlignment((wxTreeListColumnAlign )arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListColumnInfo_SetText(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxTreeListColumnInfo *arg1 = (wxTreeListColumnInfo *) 0 ;
+    wxString *arg2 = 0 ;
+    bool temp2 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "text", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListColumnInfo_SetText",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxTreeListColumnInfo,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = wxString_in_helper(obj1);
+        if (arg2 == NULL) SWIG_fail;
+        temp2 = True;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetText((wxString const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListColumnInfo_SetImage(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxTreeListColumnInfo *arg1 = (wxTreeListColumnInfo *) 0 ;
+    int arg2 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "image", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:TreeListColumnInfo_SetImage",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxTreeListColumnInfo,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetImage(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListColumnInfo_SetSelectedImage(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxTreeListColumnInfo *arg1 = (wxTreeListColumnInfo *) 0 ;
+    int arg2 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "image", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:TreeListColumnInfo_SetSelectedImage",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxTreeListColumnInfo,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetSelectedImage(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListColumnInfo_SetWidth(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxTreeListColumnInfo *arg1 = (wxTreeListColumnInfo *) 0 ;
+    size_t arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "with", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListColumnInfo_SetWidth",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxTreeListColumnInfo,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (size_t) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetWidth(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * TreeListColumnInfo_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_wxTreeListColumnInfo, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_TreeListCtrl(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxWindow *arg1 = (wxWindow *) 0 ;
+    int arg2 = (int) -1 ;
+    wxPoint const &arg3_defvalue = wxDefaultPosition ;
+    wxPoint *arg3 = (wxPoint *) &arg3_defvalue ;
+    wxSize const &arg4_defvalue = wxDefaultSize ;
+    wxSize *arg4 = (wxSize *) &arg4_defvalue ;
+    long arg5 = (long) wxTR_DEFAULT_STYLE ;
+    wxValidator const &arg6_defvalue = wxDefaultValidator ;
+    wxValidator *arg6 = (wxValidator *) &arg6_defvalue ;
+    wxString const &arg7_defvalue = wxPyTreeListCtrlNameStr ;
+    wxString *arg7 = (wxString *) &arg7_defvalue ;
+    wxPyTreeListCtrl *result;
+    wxPoint temp3 ;
+    wxSize temp4 ;
+    bool temp7 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    PyObject * obj5 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "parent",(char *) "id",(char *) "pos",(char *) "size",(char *) "style",(char *) "validator",(char *) "name", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O|iOOlOO:new_TreeListCtrl",kwnames,&obj0,&arg2,&obj2,&obj3,&arg5,&obj5,&obj6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxWindow,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (obj2) {
+        {
+            arg3 = &temp3;
+            if ( ! wxPoint_helper(obj2, &arg3)) SWIG_fail;
+        }
+    }
+    if (obj3) {
+        {
+            arg4 = &temp4;
+            if ( ! wxSize_helper(obj3, &arg4)) SWIG_fail;
+        }
+    }
+    if (obj5) {
+        if ((SWIG_ConvertPtr(obj5,(void **) &arg6, SWIGTYPE_p_wxValidator,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+        if (arg6 == NULL) {
+            PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+        }
+    }
+    if (obj6) {
+        {
+            arg7 = wxString_in_helper(obj6);
+            if (arg7 == NULL) SWIG_fail;
+            temp7 = True;
+        }
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyTreeListCtrl *)new wxPyTreeListCtrl(arg1,arg2,(wxPoint const &)*arg3,(wxSize const &)*arg4,arg5,(wxValidator const &)*arg6,(wxString const &)*arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxPyTreeListCtrl, 1);
+    {
+        if (temp7)
+        delete arg7;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp7)
+        delete arg7;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_PreTreeListCtrl(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *result;
+    char *kwnames[] = {
+        NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)":new_PreTreeListCtrl",kwnames)) goto fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyTreeListCtrl *)new wxPyTreeListCtrl();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxPyTreeListCtrl, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_Create(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxWindow *arg2 = (wxWindow *) 0 ;
+    int arg3 = (int) -1 ;
+    wxPoint const &arg4_defvalue = wxDefaultPosition ;
+    wxPoint *arg4 = (wxPoint *) &arg4_defvalue ;
+    wxSize const &arg5_defvalue = wxDefaultSize ;
+    wxSize *arg5 = (wxSize *) &arg5_defvalue ;
+    long arg6 = (long) wxTR_DEFAULT_STYLE ;
+    wxValidator const &arg7_defvalue = wxDefaultValidator ;
+    wxValidator *arg7 = (wxValidator *) &arg7_defvalue ;
+    wxString const &arg8_defvalue = wxPyTreeListCtrlNameStr ;
+    wxString *arg8 = (wxString *) &arg8_defvalue ;
+    bool result;
+    wxPoint temp4 ;
+    wxSize temp5 ;
+    bool temp8 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj3 = 0 ;
+    PyObject * obj4 = 0 ;
+    PyObject * obj6 = 0 ;
+    PyObject * obj7 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "parent",(char *) "id",(char *) "pos",(char *) "size",(char *) "style",(char *) "validator",(char *) "name", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|iOOlOO:TreeListCtrl_Create",kwnames,&obj0,&obj1,&arg3,&obj3,&obj4,&arg6,&obj6,&obj7)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxWindow,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (obj3) {
+        {
+            arg4 = &temp4;
+            if ( ! wxPoint_helper(obj3, &arg4)) SWIG_fail;
+        }
+    }
+    if (obj4) {
+        {
+            arg5 = &temp5;
+            if ( ! wxSize_helper(obj4, &arg5)) SWIG_fail;
+        }
+    }
+    if (obj6) {
+        if ((SWIG_ConvertPtr(obj6,(void **) &arg7, SWIGTYPE_p_wxValidator,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+        if (arg7 == NULL) {
+            PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+        }
+    }
+    if (obj7) {
+        {
+            arg8 = wxString_in_helper(obj7);
+            if (arg8 == NULL) SWIG_fail;
+            temp8 = True;
+        }
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->Create(arg2,arg3,(wxPoint const &)*arg4,(wxSize const &)*arg5,arg6,(wxValidator const &)*arg7,(wxString const &)*arg8);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    {
+        if (temp8)
+        delete arg8;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp8)
+        delete arg8;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl__setCallbackInfo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    PyObject *arg2 = (PyObject *) 0 ;
+    PyObject *arg3 = (PyObject *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "self",(char *) "_class", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:TreeListCtrl__setCallbackInfo",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = obj1;
+    arg3 = obj2;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->_setCallbackInfo(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetCount(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    size_t result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:TreeListCtrl_GetCount",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (size_t)((wxPyTreeListCtrl const *)arg1)->GetCount();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetIndent(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    unsigned int result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:TreeListCtrl_GetIndent",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (unsigned int)((wxPyTreeListCtrl const *)arg1)->GetIndent();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_SetIndent(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    unsigned int arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "indent", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_SetIndent",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (unsigned int) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetIndent(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetSpacing(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    unsigned int result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:TreeListCtrl_GetSpacing",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (unsigned int)((wxPyTreeListCtrl const *)arg1)->GetSpacing();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_SetSpacing(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    unsigned int arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "spacing", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_SetSpacing",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (unsigned int) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetSpacing(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetLineSpacing(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    unsigned int result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:TreeListCtrl_GetLineSpacing",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (unsigned int)((wxPyTreeListCtrl const *)arg1)->GetLineSpacing();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_SetLineSpacing(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    unsigned int arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "spacing", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_SetLineSpacing",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (unsigned int) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetLineSpacing(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetImageList(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxImageList *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:TreeListCtrl_GetImageList",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxImageList *)((wxPyTreeListCtrl const *)arg1)->GetImageList();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxObject(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetStateImageList(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxImageList *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:TreeListCtrl_GetStateImageList",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxImageList *)((wxPyTreeListCtrl const *)arg1)->GetStateImageList();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxObject(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetButtonsImageList(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxImageList *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:TreeListCtrl_GetButtonsImageList",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxImageList *)((wxPyTreeListCtrl const *)arg1)->GetButtonsImageList();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxObject(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_SetImageList(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxImageList *arg2 = (wxImageList *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "imageList", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_SetImageList",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxImageList,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetImageList(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_SetStateImageList(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxImageList *arg2 = (wxImageList *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "imageList", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_SetStateImageList",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxImageList,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetStateImageList(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_SetButtonsImageList(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxImageList *arg2 = (wxImageList *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "imageList", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_SetButtonsImageList",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxImageList,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetButtonsImageList(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_AssignImageList(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxImageList *arg2 = (wxImageList *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "imageList", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_AssignImageList",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxImageList,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->AssignImageList(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_AssignStateImageList(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxImageList *arg2 = (wxImageList *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "imageList", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_AssignStateImageList",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxImageList,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->AssignStateImageList(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_AssignButtonsImageList(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxImageList *arg2 = (wxImageList *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "imageList", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_AssignButtonsImageList",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxImageList,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->AssignButtonsImageList(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_AddColumn(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxString *arg2 = 0 ;
+    bool temp2 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "text", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_AddColumn",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = wxString_in_helper(obj1);
+        if (arg2 == NULL) SWIG_fail;
+        temp2 = True;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->AddColumn((wxString const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_AddColumnInfo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeListColumnInfo *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "col", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_AddColumnInfo",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeListColumnInfo,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->AddColumn((wxTreeListColumnInfo const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_InsertColumn(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    size_t arg2 ;
+    wxString *arg3 = 0 ;
+    bool temp3 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "before",(char *) "text", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:TreeListCtrl_InsertColumn",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (size_t) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        arg3 = wxString_in_helper(obj2);
+        if (arg3 == NULL) SWIG_fail;
+        temp3 = True;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->InsertColumn(arg2,(wxString const &)*arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        if (temp3)
+        delete arg3;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp3)
+        delete arg3;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_InsertColumnInfo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    size_t arg2 ;
+    wxTreeListColumnInfo *arg3 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "before",(char *) "col", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:TreeListCtrl_InsertColumnInfo",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (size_t) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj2,(void **) &arg3, SWIGTYPE_p_wxTreeListColumnInfo,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg3 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->InsertColumn(arg2,(wxTreeListColumnInfo const &)*arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_RemoveColumn(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    size_t arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "column", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_RemoveColumn",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (size_t) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->RemoveColumn(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetColumnCount(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    size_t result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:TreeListCtrl_GetColumnCount",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (size_t)((wxPyTreeListCtrl const *)arg1)->GetColumnCount();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_SetColumnWidth(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    size_t arg2 ;
+    size_t arg3 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "column",(char *) "width", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:TreeListCtrl_SetColumnWidth",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (size_t) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    arg3 = (size_t) PyInt_AsLong(obj2);
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetColumnWidth(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetColumnWidth(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    size_t arg2 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "column", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_GetColumnWidth",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (size_t) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)((wxPyTreeListCtrl const *)arg1)->GetColumnWidth(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_SetMainColumn(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    size_t arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "column", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_SetMainColumn",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (size_t) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetMainColumn(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetMainColumn(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    size_t result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:TreeListCtrl_GetMainColumn",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (size_t)((wxPyTreeListCtrl const *)arg1)->GetMainColumn();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_SetColumnText(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    size_t arg2 ;
+    wxString *arg3 = 0 ;
+    bool temp3 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "column",(char *) "text", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:TreeListCtrl_SetColumnText",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (size_t) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        arg3 = wxString_in_helper(obj2);
+        if (arg3 == NULL) SWIG_fail;
+        temp3 = True;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetColumnText(arg2,(wxString const &)*arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        if (temp3)
+        delete arg3;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp3)
+        delete arg3;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetColumnText(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    size_t arg2 ;
+    wxString result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "column", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_GetColumnText",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (size_t) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = ((wxPyTreeListCtrl const *)arg1)->GetColumnText(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+#if wxUSE_UNICODE
+        resultobj = PyUnicode_FromWideChar((&result)->c_str(), (&result)->Len());
+#else
+        resultobj = PyString_FromStringAndSize((&result)->c_str(), (&result)->Len());
+#endif
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_SetColumn(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    size_t arg2 ;
+    wxTreeListColumnInfo *arg3 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "column",(char *) "info", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:TreeListCtrl_SetColumn",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (size_t) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj2,(void **) &arg3, SWIGTYPE_p_wxTreeListColumnInfo,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg3 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetColumn(arg2,(wxTreeListColumnInfo const &)*arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetColumn(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    size_t arg2 ;
+    wxTreeListColumnInfo *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "column", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_GetColumn",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (size_t) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        {
+            wxTreeListColumnInfo &_result_ref = (arg1)->GetColumn(arg2);
+            result = (wxTreeListColumnInfo *) &_result_ref;
+        }
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxTreeListColumnInfo, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_SetColumnAlignment(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    size_t arg2 ;
+    int arg3 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "column",(char *) "align", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOi:TreeListCtrl_SetColumnAlignment",kwnames,&obj0,&obj1,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (size_t) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetColumnAlignment(arg2,(wxTreeListColumnAlign )arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetColumnAlignment(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    size_t arg2 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "column", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_GetColumnAlignment",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (size_t) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)((wxPyTreeListCtrl const *)arg1)->GetColumnAlignment(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_SetColumnImage(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    size_t arg2 ;
+    int arg3 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "column",(char *) "image", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOi:TreeListCtrl_SetColumnImage",kwnames,&obj0,&obj1,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (size_t) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetColumnImage(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetColumnImage(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    size_t arg2 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "column", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_GetColumnImage",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (size_t) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)((wxPyTreeListCtrl const *)arg1)->GetColumnImage(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetItemText(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    int arg3 = (int) -1 ;
+    wxString result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item",(char *) "column", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|i:TreeListCtrl_GetItemText",kwnames,&obj0,&obj1,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = wxPyTreeListCtrl_GetItemText(arg1,(wxTreeItemId const &)*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+#if wxUSE_UNICODE
+        resultobj = PyUnicode_FromWideChar((&result)->c_str(), (&result)->Len());
+#else
+        resultobj = PyString_FromStringAndSize((&result)->c_str(), (&result)->Len());
+#endif
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetItemImage(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    int arg3 = (int) -1 ;
+    int arg4 = (int) wxTreeItemIcon_Normal ;
+    int result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item",(char *) "column",(char *) "which", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|ii:TreeListCtrl_GetItemImage",kwnames,&obj0,&obj1,&arg3,&arg4)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)wxPyTreeListCtrl_GetItemImage(arg1,(wxTreeItemId const &)*arg2,arg3,(wxTreeItemIcon )arg4);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_SetItemText(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    wxString *arg3 = 0 ;
+    int arg4 = (int) -1 ;
+    bool temp3 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item",(char *) "text",(char *) "column", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO|i:TreeListCtrl_SetItemText",kwnames,&obj0,&obj1,&obj2,&arg4)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        arg3 = wxString_in_helper(obj2);
+        if (arg3 == NULL) SWIG_fail;
+        temp3 = True;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        wxPyTreeListCtrl_SetItemText(arg1,(wxTreeItemId const &)*arg2,(wxString const &)*arg3,arg4);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        if (temp3)
+        delete arg3;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp3)
+        delete arg3;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_SetItemImage(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    int arg3 ;
+    int arg4 = (int) -1 ;
+    int arg5 = (int) wxTreeItemIcon_Normal ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item",(char *) "image",(char *) "column",(char *) "which", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOi|ii:TreeListCtrl_SetItemImage",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        wxPyTreeListCtrl_SetItemImage(arg1,(wxTreeItemId const &)*arg2,arg3,arg4,(wxTreeItemIcon )arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetItemData(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    wxPyTreeItemData *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_GetItemData",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyTreeItemData *)wxPyTreeListCtrl_GetItemData(arg1,(wxTreeItemId const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxPyTreeItemData, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_SetItemData(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    wxPyTreeItemData *arg3 = (wxPyTreeItemData *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item",(char *) "data", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:TreeListCtrl_SetItemData",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if ((SWIG_ConvertPtr(obj2,(void **) &arg3, SWIGTYPE_p_wxPyTreeItemData,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        wxPyTreeListCtrl_SetItemData(arg1,(wxTreeItemId const &)*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetItemPyData(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    PyObject *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_GetItemPyData",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (PyObject *)wxPyTreeListCtrl_GetItemPyData(arg1,(wxTreeItemId const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = result;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_SetItemPyData(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    PyObject *arg3 = (PyObject *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item",(char *) "obj", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:TreeListCtrl_SetItemPyData",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    arg3 = obj2;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        wxPyTreeListCtrl_SetItemPyData(arg1,(wxTreeItemId const &)*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_SetItemHasChildren(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    bool arg3 = (bool) True ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item",(char *) "has", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:TreeListCtrl_SetItemHasChildren",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetItemHasChildren((wxTreeItemId const &)*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_SetItemBold(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    bool arg3 = (bool) True ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item",(char *) "bold", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:TreeListCtrl_SetItemBold",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetItemBold((wxTreeItemId const &)*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_SetItemTextColour(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    wxColour *arg3 = 0 ;
+    wxColour temp3 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item",(char *) "col", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:TreeListCtrl_SetItemTextColour",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        arg3 = &temp3;
+        if ( ! wxColour_helper(obj2, &arg3)) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetItemTextColour((wxTreeItemId const &)*arg2,(wxColour const &)*arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_SetItemBackgroundColour(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    wxColour *arg3 = 0 ;
+    wxColour temp3 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item",(char *) "col", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:TreeListCtrl_SetItemBackgroundColour",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        arg3 = &temp3;
+        if ( ! wxColour_helper(obj2, &arg3)) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetItemBackgroundColour((wxTreeItemId const &)*arg2,(wxColour const &)*arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_SetItemFont(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    wxFont *arg3 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item",(char *) "font", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:TreeListCtrl_SetItemFont",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if ((SWIG_ConvertPtr(obj2,(void **) &arg3, SWIGTYPE_p_wxFont,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg3 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetItemFont((wxTreeItemId const &)*arg2,(wxFont const &)*arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetItemBold(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_GetItemBold",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)((wxPyTreeListCtrl const *)arg1)->GetItemBold((wxTreeItemId const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetItemTextColour(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    wxColour result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_GetItemTextColour",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = ((wxPyTreeListCtrl const *)arg1)->GetItemTextColour((wxTreeItemId const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        wxColour * resultptr;
+        resultptr = new wxColour((wxColour &) result);
+        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_wxColour, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetItemBackgroundColour(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    wxColour result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_GetItemBackgroundColour",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = ((wxPyTreeListCtrl const *)arg1)->GetItemBackgroundColour((wxTreeItemId const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        wxColour * resultptr;
+        resultptr = new wxColour((wxColour &) result);
+        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_wxColour, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetItemFont(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    wxFont result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_GetItemFont",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = ((wxPyTreeListCtrl const *)arg1)->GetItemFont((wxTreeItemId const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        wxFont * resultptr;
+        resultptr = new wxFont((wxFont &) result);
+        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_wxFont, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_IsVisible(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_IsVisible",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)((wxPyTreeListCtrl const *)arg1)->IsVisible((wxTreeItemId const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_ItemHasChildren(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_ItemHasChildren",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)((wxPyTreeListCtrl const *)arg1)->ItemHasChildren((wxTreeItemId const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_IsExpanded(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_IsExpanded",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)((wxPyTreeListCtrl const *)arg1)->IsExpanded((wxTreeItemId const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_IsSelected(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_IsSelected",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)((wxPyTreeListCtrl const *)arg1)->IsSelected((wxTreeItemId const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_IsBold(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_IsBold",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)((wxPyTreeListCtrl const *)arg1)->IsBold((wxTreeItemId const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetChildrenCount(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    bool arg3 = (bool) True ;
+    size_t result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item",(char *) "recursively", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:TreeListCtrl_GetChildrenCount",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (size_t)(arg1)->GetChildrenCount((wxTreeItemId const &)*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetRootItem(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:TreeListCtrl_GetRootItem",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = ((wxPyTreeListCtrl const *)arg1)->GetRootItem();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        wxTreeItemId * resultptr;
+        resultptr = new wxTreeItemId((wxTreeItemId &) result);
+        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_wxTreeItemId, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetSelection(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:TreeListCtrl_GetSelection",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = ((wxPyTreeListCtrl const *)arg1)->GetSelection();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        wxTreeItemId * resultptr;
+        resultptr = new wxTreeItemId((wxTreeItemId &) result);
+        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_wxTreeItemId, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetSelections(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    PyObject *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:TreeListCtrl_GetSelections",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (PyObject *)wxPyTreeListCtrl_GetSelections(arg1);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = result;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetItemParent(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    wxTreeItemId result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_GetItemParent",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = ((wxPyTreeListCtrl const *)arg1)->GetParent((wxTreeItemId const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        wxTreeItemId * resultptr;
+        resultptr = new wxTreeItemId((wxTreeItemId &) result);
+        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_wxTreeItemId, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetFirstChild(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    PyObject *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_GetFirstChild",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (PyObject *)wxPyTreeListCtrl_GetFirstChild(arg1,(wxTreeItemId const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = result;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetNextChild(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    long arg3 ;
+    PyObject *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item",(char *) "cookie", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOl:TreeListCtrl_GetNextChild",kwnames,&obj0,&obj1,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (PyObject *)wxPyTreeListCtrl_GetNextChild(arg1,(wxTreeItemId const &)*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = result;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetLastChild(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    wxTreeItemId result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_GetLastChild",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = ((wxPyTreeListCtrl const *)arg1)->GetLastChild((wxTreeItemId const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        wxTreeItemId * resultptr;
+        resultptr = new wxTreeItemId((wxTreeItemId &) result);
+        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_wxTreeItemId, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetNextSibling(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    wxTreeItemId result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_GetNextSibling",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = ((wxPyTreeListCtrl const *)arg1)->GetNextSibling((wxTreeItemId const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        wxTreeItemId * resultptr;
+        resultptr = new wxTreeItemId((wxTreeItemId &) result);
+        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_wxTreeItemId, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetPrevSibling(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    wxTreeItemId result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_GetPrevSibling",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = ((wxPyTreeListCtrl const *)arg1)->GetPrevSibling((wxTreeItemId const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        wxTreeItemId * resultptr;
+        resultptr = new wxTreeItemId((wxTreeItemId &) result);
+        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_wxTreeItemId, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetFirstVisibleItem(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:TreeListCtrl_GetFirstVisibleItem",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = ((wxPyTreeListCtrl const *)arg1)->GetFirstVisibleItem();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        wxTreeItemId * resultptr;
+        resultptr = new wxTreeItemId((wxTreeItemId &) result);
+        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_wxTreeItemId, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetNextVisible(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    wxTreeItemId result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_GetNextVisible",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = ((wxPyTreeListCtrl const *)arg1)->GetNextVisible((wxTreeItemId const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        wxTreeItemId * resultptr;
+        resultptr = new wxTreeItemId((wxTreeItemId &) result);
+        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_wxTreeItemId, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetPrevVisible(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    wxTreeItemId result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_GetPrevVisible",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = ((wxPyTreeListCtrl const *)arg1)->GetPrevVisible((wxTreeItemId const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        wxTreeItemId * resultptr;
+        resultptr = new wxTreeItemId((wxTreeItemId &) result);
+        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_wxTreeItemId, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetNext(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    wxTreeItemId result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_GetNext",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = ((wxPyTreeListCtrl const *)arg1)->GetNext((wxTreeItemId const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        wxTreeItemId * resultptr;
+        resultptr = new wxTreeItemId((wxTreeItemId &) result);
+        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_wxTreeItemId, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_AddRoot(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxString *arg2 = 0 ;
+    int arg3 = (int) -1 ;
+    int arg4 = (int) -1 ;
+    wxPyTreeItemData *arg5 = (wxPyTreeItemData *) NULL ;
+    wxTreeItemId result;
+    bool temp2 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj4 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "text",(char *) "image",(char *) "selectedImage",(char *) "data", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|iiO:TreeListCtrl_AddRoot",kwnames,&obj0,&obj1,&arg3,&arg4,&obj4)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = wxString_in_helper(obj1);
+        if (arg2 == NULL) SWIG_fail;
+        temp2 = True;
+    }
+    if (obj4) {
+        if ((SWIG_ConvertPtr(obj4,(void **) &arg5, SWIGTYPE_p_wxPyTreeItemData,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (arg1)->AddRoot((wxString const &)*arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        wxTreeItemId * resultptr;
+        resultptr = new wxTreeItemId((wxTreeItemId &) result);
+        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_wxTreeItemId, 1);
+    }
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_PrependItem(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    wxString *arg3 = 0 ;
+    int arg4 = (int) -1 ;
+    int arg5 = (int) -1 ;
+    wxPyTreeItemData *arg6 = (wxPyTreeItemData *) NULL ;
+    wxTreeItemId result;
+    bool temp3 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj5 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "parent",(char *) "text",(char *) "image",(char *) "selectedImage",(char *) "data", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO|iiO:TreeListCtrl_PrependItem",kwnames,&obj0,&obj1,&obj2,&arg4,&arg5,&obj5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        arg3 = wxString_in_helper(obj2);
+        if (arg3 == NULL) SWIG_fail;
+        temp3 = True;
+    }
+    if (obj5) {
+        if ((SWIG_ConvertPtr(obj5,(void **) &arg6, SWIGTYPE_p_wxPyTreeItemData,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (arg1)->PrependItem((wxTreeItemId const &)*arg2,(wxString const &)*arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        wxTreeItemId * resultptr;
+        resultptr = new wxTreeItemId((wxTreeItemId &) result);
+        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_wxTreeItemId, 1);
+    }
+    {
+        if (temp3)
+        delete arg3;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp3)
+        delete arg3;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_InsertItem(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    wxTreeItemId *arg3 = 0 ;
+    wxString *arg4 = 0 ;
+    int arg5 = (int) -1 ;
+    int arg6 = (int) -1 ;
+    wxPyTreeItemData *arg7 = (wxPyTreeItemData *) NULL ;
+    wxTreeItemId result;
+    bool temp4 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "parent",(char *) "idPrevious",(char *) "text",(char *) "image",(char *) "selectedImage",(char *) "data", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOOO|iiO:TreeListCtrl_InsertItem",kwnames,&obj0,&obj1,&obj2,&obj3,&arg5,&arg6,&obj6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if ((SWIG_ConvertPtr(obj2,(void **) &arg3, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg3 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        arg4 = wxString_in_helper(obj3);
+        if (arg4 == NULL) SWIG_fail;
+        temp4 = True;
+    }
+    if (obj6) {
+        if ((SWIG_ConvertPtr(obj6,(void **) &arg7, SWIGTYPE_p_wxPyTreeItemData,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (arg1)->InsertItem((wxTreeItemId const &)*arg2,(wxTreeItemId const &)*arg3,(wxString const &)*arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        wxTreeItemId * resultptr;
+        resultptr = new wxTreeItemId((wxTreeItemId &) result);
+        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_wxTreeItemId, 1);
+    }
+    {
+        if (temp4)
+        delete arg4;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp4)
+        delete arg4;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_InsertItemBefore(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    size_t arg3 ;
+    wxString *arg4 = 0 ;
+    int arg5 = (int) -1 ;
+    int arg6 = (int) -1 ;
+    wxPyTreeItemData *arg7 = (wxPyTreeItemData *) NULL ;
+    wxTreeItemId result;
+    bool temp4 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "parent",(char *) "index",(char *) "text",(char *) "image",(char *) "selectedImage",(char *) "data", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOOO|iiO:TreeListCtrl_InsertItemBefore",kwnames,&obj0,&obj1,&obj2,&obj3,&arg5,&arg6,&obj6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    arg3 = (size_t) PyInt_AsLong(obj2);
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        arg4 = wxString_in_helper(obj3);
+        if (arg4 == NULL) SWIG_fail;
+        temp4 = True;
+    }
+    if (obj6) {
+        if ((SWIG_ConvertPtr(obj6,(void **) &arg7, SWIGTYPE_p_wxPyTreeItemData,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (arg1)->InsertItem((wxTreeItemId const &)*arg2,arg3,(wxString const &)*arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        wxTreeItemId * resultptr;
+        resultptr = new wxTreeItemId((wxTreeItemId &) result);
+        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_wxTreeItemId, 1);
+    }
+    {
+        if (temp4)
+        delete arg4;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp4)
+        delete arg4;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_AppendItem(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    wxString *arg3 = 0 ;
+    int arg4 = (int) -1 ;
+    int arg5 = (int) -1 ;
+    wxPyTreeItemData *arg6 = (wxPyTreeItemData *) NULL ;
+    wxTreeItemId result;
+    bool temp3 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj5 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "parent",(char *) "text",(char *) "image",(char *) "selectedImage",(char *) "data", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO|iiO:TreeListCtrl_AppendItem",kwnames,&obj0,&obj1,&obj2,&arg4,&arg5,&obj5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        arg3 = wxString_in_helper(obj2);
+        if (arg3 == NULL) SWIG_fail;
+        temp3 = True;
+    }
+    if (obj5) {
+        if ((SWIG_ConvertPtr(obj5,(void **) &arg6, SWIGTYPE_p_wxPyTreeItemData,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (arg1)->AppendItem((wxTreeItemId const &)*arg2,(wxString const &)*arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        wxTreeItemId * resultptr;
+        resultptr = new wxTreeItemId((wxTreeItemId &) result);
+        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_wxTreeItemId, 1);
+    }
+    {
+        if (temp3)
+        delete arg3;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp3)
+        delete arg3;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_Delete(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_Delete",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Delete((wxTreeItemId const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_DeleteChildren(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_DeleteChildren",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DeleteChildren((wxTreeItemId const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_DeleteAllItems(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:TreeListCtrl_DeleteAllItems",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DeleteAllItems();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_Expand(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_Expand",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Expand((wxTreeItemId const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_ExpandAll(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_ExpandAll",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->ExpandAll((wxTreeItemId const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_Collapse(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_Collapse",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Collapse((wxTreeItemId const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_CollapseAndReset(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_CollapseAndReset",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->CollapseAndReset((wxTreeItemId const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_Toggle(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_Toggle",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Toggle((wxTreeItemId const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_Unselect(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:TreeListCtrl_Unselect",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Unselect();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_UnselectAll(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:TreeListCtrl_UnselectAll",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->UnselectAll();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_SelectItem(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    bool arg3 = (bool) True ;
+    bool arg4 = (bool) False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item",(char *) "unselect_others",(char *) "extended_select", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|OO:TreeListCtrl_SelectItem",kwnames,&obj0,&obj1,&obj2,&obj3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    if (obj3) {
+        arg4 = PyInt_AsLong(obj3) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SelectItem((wxTreeItemId const &)*arg2,arg3,arg4);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_EnsureVisible(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_EnsureVisible",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->EnsureVisible((wxTreeItemId const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_ScrollTo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_ScrollTo",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->ScrollTo((wxTreeItemId const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_HitTest(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxPoint *arg2 = 0 ;
+    int *arg3 = 0 ;
+    int *arg4 = 0 ;
+    wxTreeItemId result;
+    wxPoint temp2 ;
+    int temp3 ;
+    int temp4 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "point", NULL 
+    };
+    
+    arg3 = &temp3;
+    arg4 = &temp4;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_HitTest",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = &temp2;
+        if ( ! wxPoint_helper(obj1, &arg2)) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (arg1)->HitTest((wxPoint const &)*arg2,*arg3,*arg4);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        wxTreeItemId * resultptr;
+        resultptr = new wxTreeItemId((wxTreeItemId &) result);
+        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_wxTreeItemId, 1);
+    }
+    {
+        PyObject *o = PyInt_FromLong((long) (*arg3));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    {
+        PyObject *o = PyInt_FromLong((long) (*arg4));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetBoundingRect(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    bool arg3 = (bool) False ;
+    PyObject *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item",(char *) "textOnly", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:TreeListCtrl_GetBoundingRect",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (PyObject *)wxPyTreeListCtrl_GetBoundingRect(arg1,(wxTreeItemId const &)*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = result;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_EditLabel(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_EditLabel",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->EditLabel((wxTreeItemId const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_Edit(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_Edit",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Edit((wxTreeItemId const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_SortChildren(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_SortChildren",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SortChildren((wxTreeItemId const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetItemSelectedImage(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_GetItemSelectedImage",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)((wxPyTreeListCtrl const *)arg1)->GetItemSelectedImage((wxTreeItemId const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_SetItemSelectedImage(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    int arg3 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item",(char *) "image", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOi:TreeListCtrl_SetItemSelectedImage",kwnames,&obj0,&obj1,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetItemSelectedImage((wxTreeItemId const &)*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetHeaderWindow(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxWindow *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:TreeListCtrl_GetHeaderWindow",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxWindow *)((wxPyTreeListCtrl const *)arg1)->GetHeaderWindow();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxObject(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetMainWindow(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxWindow *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:TreeListCtrl_GetMainWindow",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxWindow *)((wxPyTreeListCtrl const *)arg1)->GetMainWindow();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxObject(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * TreeListCtrl_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_wxPyTreeListCtrl, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyMethodDef SwigMethods[] = {
+        { (char *)"new_DynamicSashSplitEvent", (PyCFunction) _wrap_new_DynamicSashSplitEvent, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"DynamicSashSplitEvent_swigregister", DynamicSashSplitEvent_swigregister, METH_VARARGS },
+        { (char *)"new_DynamicSashUnifyEvent", (PyCFunction) _wrap_new_DynamicSashUnifyEvent, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"DynamicSashUnifyEvent_swigregister", DynamicSashUnifyEvent_swigregister, METH_VARARGS },
+        { (char *)"new_DynamicSashWindow", (PyCFunction) _wrap_new_DynamicSashWindow, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"new_PreDynamicSashWindow", (PyCFunction) _wrap_new_PreDynamicSashWindow, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"DynamicSashWindow_Create", (PyCFunction) _wrap_DynamicSashWindow_Create, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"DynamicSashWindow_GetHScrollBar", (PyCFunction) _wrap_DynamicSashWindow_GetHScrollBar, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"DynamicSashWindow_GetVScrollBar", (PyCFunction) _wrap_DynamicSashWindow_GetVScrollBar, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"DynamicSashWindow_swigregister", DynamicSashWindow_swigregister, METH_VARARGS },
+        { (char *)"new_EditableListBox", (PyCFunction) _wrap_new_EditableListBox, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"EditableListBox_SetStrings", (PyCFunction) _wrap_EditableListBox_SetStrings, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"EditableListBox_GetStrings", (PyCFunction) _wrap_EditableListBox_GetStrings, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"EditableListBox_GetListCtrl", (PyCFunction) _wrap_EditableListBox_GetListCtrl, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"EditableListBox_GetDelButton", (PyCFunction) _wrap_EditableListBox_GetDelButton, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"EditableListBox_GetNewButton", (PyCFunction) _wrap_EditableListBox_GetNewButton, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"EditableListBox_GetUpButton", (PyCFunction) _wrap_EditableListBox_GetUpButton, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"EditableListBox_GetDownButton", (PyCFunction) _wrap_EditableListBox_GetDownButton, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"EditableListBox_GetEditButton", (PyCFunction) _wrap_EditableListBox_GetEditButton, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"EditableListBox_swigregister", EditableListBox_swigregister, METH_VARARGS },
+        { (char *)"new_RemotelyScrolledTreeCtrl", (PyCFunction) _wrap_new_RemotelyScrolledTreeCtrl, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"RemotelyScrolledTreeCtrl_HideVScrollbar", (PyCFunction) _wrap_RemotelyScrolledTreeCtrl_HideVScrollbar, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"RemotelyScrolledTreeCtrl_AdjustRemoteScrollbars", (PyCFunction) _wrap_RemotelyScrolledTreeCtrl_AdjustRemoteScrollbars, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"RemotelyScrolledTreeCtrl_GetScrolledWindow", (PyCFunction) _wrap_RemotelyScrolledTreeCtrl_GetScrolledWindow, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"RemotelyScrolledTreeCtrl_ScrollToLine", (PyCFunction) _wrap_RemotelyScrolledTreeCtrl_ScrollToLine, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"RemotelyScrolledTreeCtrl_SetCompanionWindow", (PyCFunction) _wrap_RemotelyScrolledTreeCtrl_SetCompanionWindow, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"RemotelyScrolledTreeCtrl_GetCompanionWindow", (PyCFunction) _wrap_RemotelyScrolledTreeCtrl_GetCompanionWindow, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"RemotelyScrolledTreeCtrl_swigregister", RemotelyScrolledTreeCtrl_swigregister, METH_VARARGS },
+        { (char *)"new_TreeCompanionWindow", (PyCFunction) _wrap_new_TreeCompanionWindow, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeCompanionWindow__setCallbackInfo", (PyCFunction) _wrap_TreeCompanionWindow__setCallbackInfo, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeCompanionWindow_GetTreeCtrl", (PyCFunction) _wrap_TreeCompanionWindow_GetTreeCtrl, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeCompanionWindow_SetTreeCtrl", (PyCFunction) _wrap_TreeCompanionWindow_SetTreeCtrl, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeCompanionWindow_swigregister", TreeCompanionWindow_swigregister, METH_VARARGS },
+        { (char *)"new_ThinSplitterWindow", (PyCFunction) _wrap_new_ThinSplitterWindow, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ThinSplitterWindow_swigregister", ThinSplitterWindow_swigregister, METH_VARARGS },
+        { (char *)"new_SplitterScrolledWindow", (PyCFunction) _wrap_new_SplitterScrolledWindow, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"SplitterScrolledWindow_swigregister", SplitterScrolledWindow_swigregister, METH_VARARGS },
+        { (char *)"new_LEDNumberCtrl", (PyCFunction) _wrap_new_LEDNumberCtrl, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"new_PreLEDNumberCtrl", (PyCFunction) _wrap_new_PreLEDNumberCtrl, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"LEDNumberCtrl_Create", (PyCFunction) _wrap_LEDNumberCtrl_Create, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"LEDNumberCtrl_GetAlignment", (PyCFunction) _wrap_LEDNumberCtrl_GetAlignment, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"LEDNumberCtrl_GetDrawFaded", (PyCFunction) _wrap_LEDNumberCtrl_GetDrawFaded, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"LEDNumberCtrl_GetValue", (PyCFunction) _wrap_LEDNumberCtrl_GetValue, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"LEDNumberCtrl_SetAlignment", (PyCFunction) _wrap_LEDNumberCtrl_SetAlignment, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"LEDNumberCtrl_SetDrawFaded", (PyCFunction) _wrap_LEDNumberCtrl_SetDrawFaded, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"LEDNumberCtrl_SetValue", (PyCFunction) _wrap_LEDNumberCtrl_SetValue, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"LEDNumberCtrl_swigregister", LEDNumberCtrl_swigregister, METH_VARARGS },
+        { (char *)"new_TreeListColumnInfo", (PyCFunction) _wrap_new_TreeListColumnInfo, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListColumnInfo_GetAlignment", (PyCFunction) _wrap_TreeListColumnInfo_GetAlignment, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListColumnInfo_GetText", (PyCFunction) _wrap_TreeListColumnInfo_GetText, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListColumnInfo_GetImage", (PyCFunction) _wrap_TreeListColumnInfo_GetImage, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListColumnInfo_GetSelectedImage", (PyCFunction) _wrap_TreeListColumnInfo_GetSelectedImage, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListColumnInfo_GetWidth", (PyCFunction) _wrap_TreeListColumnInfo_GetWidth, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListColumnInfo_SetAlignment", (PyCFunction) _wrap_TreeListColumnInfo_SetAlignment, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListColumnInfo_SetText", (PyCFunction) _wrap_TreeListColumnInfo_SetText, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListColumnInfo_SetImage", (PyCFunction) _wrap_TreeListColumnInfo_SetImage, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListColumnInfo_SetSelectedImage", (PyCFunction) _wrap_TreeListColumnInfo_SetSelectedImage, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListColumnInfo_SetWidth", (PyCFunction) _wrap_TreeListColumnInfo_SetWidth, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListColumnInfo_swigregister", TreeListColumnInfo_swigregister, METH_VARARGS },
+        { (char *)"new_TreeListCtrl", (PyCFunction) _wrap_new_TreeListCtrl, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"new_PreTreeListCtrl", (PyCFunction) _wrap_new_PreTreeListCtrl, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_Create", (PyCFunction) _wrap_TreeListCtrl_Create, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl__setCallbackInfo", (PyCFunction) _wrap_TreeListCtrl__setCallbackInfo, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetCount", (PyCFunction) _wrap_TreeListCtrl_GetCount, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetIndent", (PyCFunction) _wrap_TreeListCtrl_GetIndent, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_SetIndent", (PyCFunction) _wrap_TreeListCtrl_SetIndent, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetSpacing", (PyCFunction) _wrap_TreeListCtrl_GetSpacing, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_SetSpacing", (PyCFunction) _wrap_TreeListCtrl_SetSpacing, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetLineSpacing", (PyCFunction) _wrap_TreeListCtrl_GetLineSpacing, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_SetLineSpacing", (PyCFunction) _wrap_TreeListCtrl_SetLineSpacing, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetImageList", (PyCFunction) _wrap_TreeListCtrl_GetImageList, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetStateImageList", (PyCFunction) _wrap_TreeListCtrl_GetStateImageList, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetButtonsImageList", (PyCFunction) _wrap_TreeListCtrl_GetButtonsImageList, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_SetImageList", (PyCFunction) _wrap_TreeListCtrl_SetImageList, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_SetStateImageList", (PyCFunction) _wrap_TreeListCtrl_SetStateImageList, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_SetButtonsImageList", (PyCFunction) _wrap_TreeListCtrl_SetButtonsImageList, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_AssignImageList", (PyCFunction) _wrap_TreeListCtrl_AssignImageList, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_AssignStateImageList", (PyCFunction) _wrap_TreeListCtrl_AssignStateImageList, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_AssignButtonsImageList", (PyCFunction) _wrap_TreeListCtrl_AssignButtonsImageList, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_AddColumn", (PyCFunction) _wrap_TreeListCtrl_AddColumn, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_AddColumnInfo", (PyCFunction) _wrap_TreeListCtrl_AddColumnInfo, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_InsertColumn", (PyCFunction) _wrap_TreeListCtrl_InsertColumn, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_InsertColumnInfo", (PyCFunction) _wrap_TreeListCtrl_InsertColumnInfo, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_RemoveColumn", (PyCFunction) _wrap_TreeListCtrl_RemoveColumn, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetColumnCount", (PyCFunction) _wrap_TreeListCtrl_GetColumnCount, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_SetColumnWidth", (PyCFunction) _wrap_TreeListCtrl_SetColumnWidth, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetColumnWidth", (PyCFunction) _wrap_TreeListCtrl_GetColumnWidth, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_SetMainColumn", (PyCFunction) _wrap_TreeListCtrl_SetMainColumn, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetMainColumn", (PyCFunction) _wrap_TreeListCtrl_GetMainColumn, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_SetColumnText", (PyCFunction) _wrap_TreeListCtrl_SetColumnText, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetColumnText", (PyCFunction) _wrap_TreeListCtrl_GetColumnText, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_SetColumn", (PyCFunction) _wrap_TreeListCtrl_SetColumn, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetColumn", (PyCFunction) _wrap_TreeListCtrl_GetColumn, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_SetColumnAlignment", (PyCFunction) _wrap_TreeListCtrl_SetColumnAlignment, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetColumnAlignment", (PyCFunction) _wrap_TreeListCtrl_GetColumnAlignment, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_SetColumnImage", (PyCFunction) _wrap_TreeListCtrl_SetColumnImage, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetColumnImage", (PyCFunction) _wrap_TreeListCtrl_GetColumnImage, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetItemText", (PyCFunction) _wrap_TreeListCtrl_GetItemText, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetItemImage", (PyCFunction) _wrap_TreeListCtrl_GetItemImage, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_SetItemText", (PyCFunction) _wrap_TreeListCtrl_SetItemText, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_SetItemImage", (PyCFunction) _wrap_TreeListCtrl_SetItemImage, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetItemData", (PyCFunction) _wrap_TreeListCtrl_GetItemData, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_SetItemData", (PyCFunction) _wrap_TreeListCtrl_SetItemData, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetItemPyData", (PyCFunction) _wrap_TreeListCtrl_GetItemPyData, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_SetItemPyData", (PyCFunction) _wrap_TreeListCtrl_SetItemPyData, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_SetItemHasChildren", (PyCFunction) _wrap_TreeListCtrl_SetItemHasChildren, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_SetItemBold", (PyCFunction) _wrap_TreeListCtrl_SetItemBold, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_SetItemTextColour", (PyCFunction) _wrap_TreeListCtrl_SetItemTextColour, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_SetItemBackgroundColour", (PyCFunction) _wrap_TreeListCtrl_SetItemBackgroundColour, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_SetItemFont", (PyCFunction) _wrap_TreeListCtrl_SetItemFont, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetItemBold", (PyCFunction) _wrap_TreeListCtrl_GetItemBold, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetItemTextColour", (PyCFunction) _wrap_TreeListCtrl_GetItemTextColour, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetItemBackgroundColour", (PyCFunction) _wrap_TreeListCtrl_GetItemBackgroundColour, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetItemFont", (PyCFunction) _wrap_TreeListCtrl_GetItemFont, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_IsVisible", (PyCFunction) _wrap_TreeListCtrl_IsVisible, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_ItemHasChildren", (PyCFunction) _wrap_TreeListCtrl_ItemHasChildren, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_IsExpanded", (PyCFunction) _wrap_TreeListCtrl_IsExpanded, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_IsSelected", (PyCFunction) _wrap_TreeListCtrl_IsSelected, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_IsBold", (PyCFunction) _wrap_TreeListCtrl_IsBold, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetChildrenCount", (PyCFunction) _wrap_TreeListCtrl_GetChildrenCount, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetRootItem", (PyCFunction) _wrap_TreeListCtrl_GetRootItem, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetSelection", (PyCFunction) _wrap_TreeListCtrl_GetSelection, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetSelections", (PyCFunction) _wrap_TreeListCtrl_GetSelections, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetItemParent", (PyCFunction) _wrap_TreeListCtrl_GetItemParent, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetFirstChild", (PyCFunction) _wrap_TreeListCtrl_GetFirstChild, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetNextChild", (PyCFunction) _wrap_TreeListCtrl_GetNextChild, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetLastChild", (PyCFunction) _wrap_TreeListCtrl_GetLastChild, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetNextSibling", (PyCFunction) _wrap_TreeListCtrl_GetNextSibling, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetPrevSibling", (PyCFunction) _wrap_TreeListCtrl_GetPrevSibling, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetFirstVisibleItem", (PyCFunction) _wrap_TreeListCtrl_GetFirstVisibleItem, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetNextVisible", (PyCFunction) _wrap_TreeListCtrl_GetNextVisible, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetPrevVisible", (PyCFunction) _wrap_TreeListCtrl_GetPrevVisible, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetNext", (PyCFunction) _wrap_TreeListCtrl_GetNext, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_AddRoot", (PyCFunction) _wrap_TreeListCtrl_AddRoot, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_PrependItem", (PyCFunction) _wrap_TreeListCtrl_PrependItem, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_InsertItem", (PyCFunction) _wrap_TreeListCtrl_InsertItem, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_InsertItemBefore", (PyCFunction) _wrap_TreeListCtrl_InsertItemBefore, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_AppendItem", (PyCFunction) _wrap_TreeListCtrl_AppendItem, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_Delete", (PyCFunction) _wrap_TreeListCtrl_Delete, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_DeleteChildren", (PyCFunction) _wrap_TreeListCtrl_DeleteChildren, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_DeleteAllItems", (PyCFunction) _wrap_TreeListCtrl_DeleteAllItems, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_Expand", (PyCFunction) _wrap_TreeListCtrl_Expand, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_ExpandAll", (PyCFunction) _wrap_TreeListCtrl_ExpandAll, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_Collapse", (PyCFunction) _wrap_TreeListCtrl_Collapse, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_CollapseAndReset", (PyCFunction) _wrap_TreeListCtrl_CollapseAndReset, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_Toggle", (PyCFunction) _wrap_TreeListCtrl_Toggle, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_Unselect", (PyCFunction) _wrap_TreeListCtrl_Unselect, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_UnselectAll", (PyCFunction) _wrap_TreeListCtrl_UnselectAll, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_SelectItem", (PyCFunction) _wrap_TreeListCtrl_SelectItem, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_EnsureVisible", (PyCFunction) _wrap_TreeListCtrl_EnsureVisible, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_ScrollTo", (PyCFunction) _wrap_TreeListCtrl_ScrollTo, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_HitTest", (PyCFunction) _wrap_TreeListCtrl_HitTest, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetBoundingRect", (PyCFunction) _wrap_TreeListCtrl_GetBoundingRect, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_EditLabel", (PyCFunction) _wrap_TreeListCtrl_EditLabel, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_Edit", (PyCFunction) _wrap_TreeListCtrl_Edit, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_SortChildren", (PyCFunction) _wrap_TreeListCtrl_SortChildren, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetItemSelectedImage", (PyCFunction) _wrap_TreeListCtrl_GetItemSelectedImage, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_SetItemSelectedImage", (PyCFunction) _wrap_TreeListCtrl_SetItemSelectedImage, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetHeaderWindow", (PyCFunction) _wrap_TreeListCtrl_GetHeaderWindow, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetMainWindow", (PyCFunction) _wrap_TreeListCtrl_GetMainWindow, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_swigregister", TreeListCtrl_swigregister, METH_VARARGS },
+        { NULL, NULL }
+};
+
+
+/* -------- TYPE CONVERSION AND EQUIVALENCE RULES (BEGIN) -------- */
+
+static void *_p_wxPyValidatorTo_p_wxValidator(void *x) {
+    return (void *)((wxValidator *)  ((wxPyValidator *) x));
+}
+static void *_p_wxScrolledWindowTo_p_wxPanel(void *x) {
+    return (void *)((wxPanel *)  ((wxScrolledWindow *) x));
+}
+static void *_p_wxPyVScrolledWindowTo_p_wxPanel(void *x) {
+    return (void *)((wxPanel *)  ((wxPyVScrolledWindow *) x));
+}
+static void *_p_wxSplitterScrolledWindowTo_p_wxPanel(void *x) {
+    return (void *)((wxPanel *) (wxScrolledWindow *) ((wxSplitterScrolledWindow *) x));
+}
+static void *_p_wxPyVListBoxTo_p_wxPanel(void *x) {
+    return (void *)((wxPanel *) (wxPyVScrolledWindow *) ((wxPyVListBox *) x));
+}
+static void *_p_wxPyHtmlListBoxTo_p_wxPanel(void *x) {
+    return (void *)((wxPanel *) (wxPyVScrolledWindow *)(wxPyVListBox *) ((wxPyHtmlListBox *) x));
+}
+static void *_p_wxPyPanelTo_p_wxPanel(void *x) {
+    return (void *)((wxPanel *)  ((wxPyPanel *) x));
+}
+static void *_p_wxEditableListBoxTo_p_wxPanel(void *x) {
+    return (void *)((wxPanel *)  ((wxEditableListBox *) x));
+}
+static void *_p_wxPreviewCanvasTo_p_wxPanel(void *x) {
+    return (void *)((wxPanel *) (wxScrolledWindow *) ((wxPreviewCanvas *) x));
+}
+static void *_p_wxPreviewControlBarTo_p_wxPanel(void *x) {
+    return (void *)((wxPanel *)  ((wxPreviewControlBar *) x));
+}
+static void *_p_wxPyPreviewControlBarTo_p_wxPanel(void *x) {
+    return (void *)((wxPanel *) (wxPreviewControlBar *) ((wxPyPreviewControlBar *) x));
+}
+static void *_p_wxPyPreviewFrameTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxFrame *)(wxPreviewFrame *) ((wxPyPreviewFrame *) x));
+}
+static void *_p_wxPreviewFrameTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxFrame *) ((wxPreviewFrame *) x));
+}
+static void *_p_wxCheckBoxTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *) ((wxCheckBox *) x));
+}
+static void *_p_wxPyTreeCtrlTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *) ((wxPyTreeCtrl *) x));
+}
+static void *_p_wxRemotelyScrolledTreeCtrlTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *)(wxPyTreeCtrl *) ((wxRemotelyScrolledTreeCtrl *) x));
+}
+static void *_p_wxPyPanelTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxPanel *) ((wxPyPanel *) x));
+}
+static void *_p_wxGenericDirCtrlTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *) ((wxGenericDirCtrl *) x));
+}
+static void *_p_wxDirFilterListCtrlTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *)(wxControlWithItems *)(wxChoice *) ((wxDirFilterListCtrl *) x));
+}
+static void *_p_wxPyListCtrlTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *) ((wxPyListCtrl *) x));
+}
+static void *_p_wxPyTreeListCtrlTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *) ((wxPyTreeListCtrl *) x));
+}
+static void *_p_wxPreviewCanvasTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxPanel *)(wxScrolledWindow *) ((wxPreviewCanvas *) x));
+}
+static void *_p_wxStaticLineTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *) ((wxStaticLine *) x));
+}
+static void *_p_wxPyControlTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *) ((wxPyControl *) x));
+}
+static void *_p_wxControlTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *)  ((wxControl *) x));
+}
+static void *_p_wxGaugeTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *) ((wxGauge *) x));
+}
+static void *_p_wxToolBarBaseTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *) ((wxToolBarBase *) x));
+}
+static void *_p_wxToggleButtonTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *) ((wxToggleButton *) x));
+}
+static void *_p_wxRadioButtonTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *) ((wxRadioButton *) x));
+}
+static void *_p_wxChoiceTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *)(wxControlWithItems *) ((wxChoice *) x));
+}
+static void *_p_wxListViewTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *)(wxPyListCtrl *) ((wxListView *) x));
+}
+static void *_p_wxTextCtrlTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *) ((wxTextCtrl *) x));
+}
+static void *_p_wxNotebookTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *)(wxBookCtrl *) ((wxNotebook *) x));
+}
+static void *_p_wxMDIChildFrameTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxFrame *) ((wxMDIChildFrame *) x));
+}
+static void *_p_wxPyWindowTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *)  ((wxPyWindow *) x));
+}
+static void *_p_wxSplashScreenTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxFrame *) ((wxSplashScreen *) x));
+}
+static void *_p_wxListbookTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *)(wxBookCtrl *) ((wxListbook *) x));
+}
+static void *_p_wxFileDialogTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxDialog *) ((wxFileDialog *) x));
+}
+static void *_p_wxMultiChoiceDialogTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxDialog *) ((wxMultiChoiceDialog *) x));
+}
+static void *_p_wxSingleChoiceDialogTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxDialog *) ((wxSingleChoiceDialog *) x));
+}
+static void *_p_wxTextEntryDialogTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxDialog *) ((wxTextEntryDialog *) x));
+}
+static void *_p_wxMessageDialogTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxDialog *) ((wxMessageDialog *) x));
+}
+static void *_p_wxProgressDialogTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxFrame *) ((wxProgressDialog *) x));
+}
+static void *_p_wxFindReplaceDialogTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxDialog *) ((wxFindReplaceDialog *) x));
+}
+static void *_p_wxStaticBitmapTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *) ((wxStaticBitmap *) x));
+}
+static void *_p_wxSliderTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *) ((wxSlider *) x));
+}
+static void *_p_wxStaticBoxTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *) ((wxStaticBox *) x));
+}
+static void *_p_wxCheckListBoxTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *)(wxControlWithItems *)(wxListBox *) ((wxCheckListBox *) x));
+}
+static void *_p_wxListBoxTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *)(wxControlWithItems *) ((wxListBox *) x));
+}
+static void *_p_wxPyVListBoxTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxPanel *)(wxPyVScrolledWindow *) ((wxPyVListBox *) x));
+}
+static void *_p_wxPyHtmlListBoxTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxPanel *)(wxPyVScrolledWindow *)(wxPyVListBox *) ((wxPyHtmlListBox *) x));
+}
+static void *_p_wxEditableListBoxTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxPanel *) ((wxEditableListBox *) x));
+}
+static void *_p_wxBookCtrlTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *) ((wxBookCtrl *) x));
+}
+static void *_p_wxLEDNumberCtrlTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *) ((wxLEDNumberCtrl *) x));
+}
+static void *_p_wxSpinButtonTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *) ((wxSpinButton *) x));
+}
+static void *_p_wxBitmapButtonTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *)(wxButton *) ((wxBitmapButton *) x));
+}
+static void *_p_wxButtonTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *) ((wxButton *) x));
+}
+static void *_p_wxContextHelpButtonTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *)(wxButton *)(wxBitmapButton *) ((wxContextHelpButton *) x));
+}
+static void *_p_wxRadioBoxTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *) ((wxRadioBox *) x));
+}
+static void *_p_wxScrollBarTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *) ((wxScrollBar *) x));
+}
+static void *_p_wxComboBoxTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *) ((wxComboBox *) x));
+}
+static void *_p_wxMiniFrameTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxFrame *) ((wxMiniFrame *) x));
+}
+static void *_p_wxFrameTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *) ((wxFrame *) x));
+}
+static void *_p_wxSpinCtrlTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *) ((wxSpinCtrl *) x));
+}
+static void *_p_wxStatusBarTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *)  ((wxStatusBar *) x));
+}
+static void *_p_wxMDIParentFrameTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxFrame *) ((wxMDIParentFrame *) x));
+}
+static void *_p_wxSashWindowTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *)  ((wxSashWindow *) x));
+}
+static void *_p_wxSplitterWindowTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *)  ((wxSplitterWindow *) x));
+}
+static void *_p_wxSplashScreenWindowTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *)  ((wxSplashScreenWindow *) x));
+}
+static void *_p_wxTopLevelWindowTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *)  ((wxTopLevelWindow *) x));
+}
+static void *_p_wxScrolledWindowTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxPanel *) ((wxScrolledWindow *) x));
+}
+static void *_p_wxSashLayoutWindowTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxSashWindow *) ((wxSashLayoutWindow *) x));
+}
+static void *_p_wxPopupWindowTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *)  ((wxPopupWindow *) x));
+}
+static void *_p_wxPyPopupTransientWindowTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxPopupWindow *) ((wxPyPopupTransientWindow *) x));
+}
+static void *_p_wxTipWindowTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxFrame *) ((wxTipWindow *) x));
+}
+static void *_p_wxPyVScrolledWindowTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxPanel *) ((wxPyVScrolledWindow *) x));
+}
+static void *_p_wxMDIClientWindowTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *)  ((wxMDIClientWindow *) x));
+}
+static void *_p_wxMenuBarTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *)  ((wxMenuBar *) x));
+}
+static void *_p_wxDynamicSashWindowTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *)  ((wxDynamicSashWindow *) x));
+}
+static void *_p_wxPyTreeCompanionWindowTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *)  ((wxPyTreeCompanionWindow *) x));
+}
+static void *_p_wxThinSplitterWindowTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxSplitterWindow *) ((wxThinSplitterWindow *) x));
+}
+static void *_p_wxSplitterScrolledWindowTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxPanel *)(wxScrolledWindow *) ((wxSplitterScrolledWindow *) x));
+}
+static void *_p_wxPrintDialogTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxDialog *) ((wxPrintDialog *) x));
+}
+static void *_p_wxPageSetupDialogTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxDialog *) ((wxPageSetupDialog *) x));
+}
+static void *_p_wxDialogTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *) ((wxDialog *) x));
+}
+static void *_p_wxColourDialogTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxDialog *) ((wxColourDialog *) x));
+}
+static void *_p_wxDirDialogTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxDialog *) ((wxDirDialog *) x));
+}
+static void *_p_wxFontDialogTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxDialog *) ((wxFontDialog *) x));
+}
+static void *_p_wxPanelTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *)  ((wxPanel *) x));
+}
+static void *_p_wxStaticTextTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *) ((wxStaticText *) x));
+}
+static void *_p_wxPyPreviewControlBarTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxPanel *)(wxPreviewControlBar *) ((wxPyPreviewControlBar *) x));
+}
+static void *_p_wxPreviewControlBarTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxPanel *) ((wxPreviewControlBar *) x));
+}
+static void *_p_wxControlWithItemsTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *) ((wxControlWithItems *) x));
+}
+static void *_p_wxToolBarTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *)(wxToolBarBase *) ((wxToolBar *) x));
+}
+static void *_p_wxThinSplitterWindowTo_p_wxSplitterWindow(void *x) {
+    return (void *)((wxSplitterWindow *)  ((wxThinSplitterWindow *) x));
+}
+static void *_p_wxSplitterScrolledWindowTo_p_wxScrolledWindow(void *x) {
+    return (void *)((wxScrolledWindow *)  ((wxSplitterScrolledWindow *) x));
+}
+static void *_p_wxPreviewCanvasTo_p_wxScrolledWindow(void *x) {
+    return (void *)((wxScrolledWindow *)  ((wxPreviewCanvas *) x));
+}
+static void *_p_wxBookCtrlTo_p_wxControl(void *x) {
+    return (void *)((wxControl *)  ((wxBookCtrl *) x));
+}
+static void *_p_wxToolBarTo_p_wxControl(void *x) {
+    return (void *)((wxControl *) (wxToolBarBase *) ((wxToolBar *) x));
+}
+static void *_p_wxToggleButtonTo_p_wxControl(void *x) {
+    return (void *)((wxControl *)  ((wxToggleButton *) x));
+}
+static void *_p_wxRadioButtonTo_p_wxControl(void *x) {
+    return (void *)((wxControl *)  ((wxRadioButton *) x));
+}
+static void *_p_wxLEDNumberCtrlTo_p_wxControl(void *x) {
+    return (void *)((wxControl *)  ((wxLEDNumberCtrl *) x));
+}
+static void *_p_wxPyControlTo_p_wxControl(void *x) {
+    return (void *)((wxControl *)  ((wxPyControl *) x));
+}
+static void *_p_wxToolBarBaseTo_p_wxControl(void *x) {
+    return (void *)((wxControl *)  ((wxToolBarBase *) x));
+}
+static void *_p_wxDirFilterListCtrlTo_p_wxControl(void *x) {
+    return (void *)((wxControl *) (wxControlWithItems *)(wxChoice *) ((wxDirFilterListCtrl *) x));
+}
+static void *_p_wxPyListCtrlTo_p_wxControl(void *x) {
+    return (void *)((wxControl *)  ((wxPyListCtrl *) x));
+}
+static void *_p_wxComboBoxTo_p_wxControl(void *x) {
+    return (void *)((wxControl *)  ((wxComboBox *) x));
+}
+static void *_p_wxPyTreeListCtrlTo_p_wxControl(void *x) {
+    return (void *)((wxControl *)  ((wxPyTreeListCtrl *) x));
+}
+static void *_p_wxGenericDirCtrlTo_p_wxControl(void *x) {
+    return (void *)((wxControl *)  ((wxGenericDirCtrl *) x));
+}
+static void *_p_wxScrollBarTo_p_wxControl(void *x) {
+    return (void *)((wxControl *)  ((wxScrollBar *) x));
+}
+static void *_p_wxControlWithItemsTo_p_wxControl(void *x) {
+    return (void *)((wxControl *)  ((wxControlWithItems *) x));
+}
+static void *_p_wxGaugeTo_p_wxControl(void *x) {
+    return (void *)((wxControl *)  ((wxGauge *) x));
+}
+static void *_p_wxStaticLineTo_p_wxControl(void *x) {
+    return (void *)((wxControl *)  ((wxStaticLine *) x));
+}
+static void *_p_wxListbookTo_p_wxControl(void *x) {
+    return (void *)((wxControl *) (wxBookCtrl *) ((wxListbook *) x));
+}
+static void *_p_wxRemotelyScrolledTreeCtrlTo_p_wxControl(void *x) {
+    return (void *)((wxControl *) (wxPyTreeCtrl *) ((wxRemotelyScrolledTreeCtrl *) x));
+}
+static void *_p_wxPyTreeCtrlTo_p_wxControl(void *x) {
+    return (void *)((wxControl *)  ((wxPyTreeCtrl *) x));
+}
+static void *_p_wxCheckBoxTo_p_wxControl(void *x) {
+    return (void *)((wxControl *)  ((wxCheckBox *) x));
+}
+static void *_p_wxRadioBoxTo_p_wxControl(void *x) {
+    return (void *)((wxControl *)  ((wxRadioBox *) x));
+}
+static void *_p_wxChoiceTo_p_wxControl(void *x) {
+    return (void *)((wxControl *) (wxControlWithItems *) ((wxChoice *) x));
+}
+static void *_p_wxListBoxTo_p_wxControl(void *x) {
+    return (void *)((wxControl *) (wxControlWithItems *) ((wxListBox *) x));
+}
+static void *_p_wxCheckListBoxTo_p_wxControl(void *x) {
+    return (void *)((wxControl *) (wxControlWithItems *)(wxListBox *) ((wxCheckListBox *) x));
+}
+static void *_p_wxListViewTo_p_wxControl(void *x) {
+    return (void *)((wxControl *) (wxPyListCtrl *) ((wxListView *) x));
+}
+static void *_p_wxNotebookTo_p_wxControl(void *x) {
+    return (void *)((wxControl *) (wxBookCtrl *) ((wxNotebook *) x));
+}
+static void *_p_wxStaticBitmapTo_p_wxControl(void *x) {
+    return (void *)((wxControl *)  ((wxStaticBitmap *) x));
+}
+static void *_p_wxSpinCtrlTo_p_wxControl(void *x) {
+    return (void *)((wxControl *)  ((wxSpinCtrl *) x));
+}
+static void *_p_wxStaticTextTo_p_wxControl(void *x) {
+    return (void *)((wxControl *)  ((wxStaticText *) x));
+}
+static void *_p_wxStaticBoxTo_p_wxControl(void *x) {
+    return (void *)((wxControl *)  ((wxStaticBox *) x));
+}
+static void *_p_wxSliderTo_p_wxControl(void *x) {
+    return (void *)((wxControl *)  ((wxSlider *) x));
+}
+static void *_p_wxContextHelpButtonTo_p_wxControl(void *x) {
+    return (void *)((wxControl *) (wxButton *)(wxBitmapButton *) ((wxContextHelpButton *) x));
+}
+static void *_p_wxSpinButtonTo_p_wxControl(void *x) {
+    return (void *)((wxControl *)  ((wxSpinButton *) x));
+}
+static void *_p_wxButtonTo_p_wxControl(void *x) {
+    return (void *)((wxControl *)  ((wxButton *) x));
+}
+static void *_p_wxBitmapButtonTo_p_wxControl(void *x) {
+    return (void *)((wxControl *) (wxButton *) ((wxBitmapButton *) x));
+}
+static void *_p_wxTextCtrlTo_p_wxControl(void *x) {
+    return (void *)((wxControl *)  ((wxTextCtrl *) x));
+}
+static void *_p_wxContextMenuEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *) (wxCommandEvent *) ((wxContextMenuEvent *) x));
+}
+static void *_p_wxMenuEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *)  ((wxMenuEvent *) x));
+}
+static void *_p_wxCloseEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *)  ((wxCloseEvent *) x));
+}
+static void *_p_wxMouseEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *)  ((wxMouseEvent *) x));
+}
+static void *_p_wxEraseEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *)  ((wxEraseEvent *) x));
+}
+static void *_p_wxTreeEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *) (wxCommandEvent *)(wxNotifyEvent *) ((wxTreeEvent *) x));
+}
+static void *_p_wxSetCursorEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *)  ((wxSetCursorEvent *) x));
+}
+static void *_p_wxSplitterEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *) (wxCommandEvent *)(wxNotifyEvent *) ((wxSplitterEvent *) x));
+}
+static void *_p_wxInitDialogEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *)  ((wxInitDialogEvent *) x));
+}
+static void *_p_wxScrollEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *) (wxCommandEvent *) ((wxScrollEvent *) x));
+}
+static void *_p_wxFindDialogEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *) (wxCommandEvent *) ((wxFindDialogEvent *) x));
+}
+static void *_p_wxTextUrlEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *) (wxCommandEvent *) ((wxTextUrlEvent *) x));
+}
+static void *_p_wxBookCtrlEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *) (wxCommandEvent *)(wxNotifyEvent *) ((wxBookCtrlEvent *) x));
+}
+static void *_p_wxPyEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *)  ((wxPyEvent *) x));
+}
+static void *_p_wxNotifyEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *) (wxCommandEvent *) ((wxNotifyEvent *) x));
+}
+static void *_p_wxCalculateLayoutEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *)  ((wxCalculateLayoutEvent *) x));
+}
+static void *_p_wxListEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *) (wxCommandEvent *)(wxNotifyEvent *) ((wxListEvent *) x));
+}
+static void *_p_wxDynamicSashSplitEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *) (wxCommandEvent *) ((wxDynamicSashSplitEvent *) x));
+}
+static void *_p_wxDynamicSashUnifyEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *) (wxCommandEvent *) ((wxDynamicSashUnifyEvent *) x));
+}
+static void *_p_wxNotebookEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *) (wxCommandEvent *)(wxNotifyEvent *)(wxBookCtrlEvent *) ((wxNotebookEvent *) x));
+}
+static void *_p_wxListbookEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *) (wxCommandEvent *)(wxNotifyEvent *)(wxBookCtrlEvent *) ((wxListbookEvent *) x));
+}
+static void *_p_wxHelpEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *) (wxCommandEvent *) ((wxHelpEvent *) x));
+}
+static void *_p_wxIdleEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *)  ((wxIdleEvent *) x));
+}
+static void *_p_wxWindowCreateEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *) (wxCommandEvent *) ((wxWindowCreateEvent *) x));
+}
+static void *_p_wxQueryNewPaletteEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *)  ((wxQueryNewPaletteEvent *) x));
+}
+static void *_p_wxMaximizeEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *)  ((wxMaximizeEvent *) x));
+}
+static void *_p_wxIconizeEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *)  ((wxIconizeEvent *) x));
+}
+static void *_p_wxActivateEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *)  ((wxActivateEvent *) x));
+}
+static void *_p_wxSizeEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *)  ((wxSizeEvent *) x));
+}
+static void *_p_wxMoveEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *)  ((wxMoveEvent *) x));
+}
+static void *_p_wxPaintEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *)  ((wxPaintEvent *) x));
+}
+static void *_p_wxNcPaintEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *)  ((wxNcPaintEvent *) x));
+}
+static void *_p_wxUpdateUIEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *) (wxCommandEvent *) ((wxUpdateUIEvent *) x));
+}
+static void *_p_wxPaletteChangedEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *)  ((wxPaletteChangedEvent *) x));
+}
+static void *_p_wxDisplayChangedEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *)  ((wxDisplayChangedEvent *) x));
+}
+static void *_p_wxMouseCaptureChangedEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *)  ((wxMouseCaptureChangedEvent *) x));
+}
+static void *_p_wxSysColourChangedEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *)  ((wxSysColourChangedEvent *) x));
+}
+static void *_p_wxDropFilesEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *)  ((wxDropFilesEvent *) x));
+}
+static void *_p_wxFocusEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *)  ((wxFocusEvent *) x));
+}
+static void *_p_wxChildFocusEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *) (wxCommandEvent *) ((wxChildFocusEvent *) x));
+}
+static void *_p_wxSashEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *) (wxCommandEvent *) ((wxSashEvent *) x));
+}
+static void *_p_wxQueryLayoutInfoEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *)  ((wxQueryLayoutInfoEvent *) x));
+}
+static void *_p_wxShowEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *)  ((wxShowEvent *) x));
+}
+static void *_p_wxCommandEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *)  ((wxCommandEvent *) x));
+}
+static void *_p_wxPyCommandEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *) (wxCommandEvent *) ((wxPyCommandEvent *) x));
+}
+static void *_p_wxWindowDestroyEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *) (wxCommandEvent *) ((wxWindowDestroyEvent *) x));
+}
+static void *_p_wxNavigationKeyEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *)  ((wxNavigationKeyEvent *) x));
+}
+static void *_p_wxKeyEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *)  ((wxKeyEvent *) x));
+}
+static void *_p_wxScrollWinEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *)  ((wxScrollWinEvent *) x));
+}
+static void *_p_wxTaskBarIconEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *)  ((wxTaskBarIconEvent *) x));
+}
+static void *_p_wxScrollBarTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *) ((wxScrollBar *) x));
+}
+static void *_p_wxUpdateUIEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxUpdateUIEvent *) x));
+}
+static void *_p_wxPreviewCanvasTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxPanel *)(wxScrolledWindow *) ((wxPreviewCanvas *) x));
+}
+static void *_p_wxEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxEvent *) x));
+}
+static void *_p_wxBookCtrlTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *) ((wxBookCtrl *) x));
+}
+static void *_p_wxFindDialogEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxFindDialogEvent *) x));
+}
+static void *_p_wxInitDialogEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxInitDialogEvent *) x));
+}
+static void *_p_wxIndividualLayoutConstraintTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxIndividualLayoutConstraint *) x));
+}
+static void *_p_wxPyPreviewFrameTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxFrame *)(wxPreviewFrame *) ((wxPyPreviewFrame *) x));
+}
+static void *_p_wxPreviewFrameTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxFrame *) ((wxPreviewFrame *) x));
+}
+static void *_p_wxToolBarBaseTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *) ((wxToolBarBase *) x));
+}
+static void *_p_wxMenuItemTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxMenuItem *) x));
+}
+static void *_p_wxImageTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxImage *) x));
+}
+static void *_p_wxPySizerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxSizer *) ((wxPySizer *) x));
+}
+static void *_p_wxStaticBitmapTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *) ((wxStaticBitmap *) x));
+}
+static void *_p_wxGenericDragImageTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxGenericDragImage *) x));
+}
+static void *_p_wxComboBoxTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *) ((wxComboBox *) x));
+}
+static void *_p_wxTaskBarIconTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *) ((wxTaskBarIcon *) x));
+}
+static void *_p_wxLayoutAlgorithmTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxLayoutAlgorithm *) x));
+}
+static void *_p_wxPyAppTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *) ((wxPyApp *) x));
+}
+static void *_p_wxNotebookTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *)(wxBookCtrl *) ((wxNotebook *) x));
+}
+static void *_p_wxListItemTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxListItem *) x));
+}
+static void *_p_wxNotebookSizerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxSizer *) ((wxNotebookSizer *) x));
+}
+static void *_p_wxPyTreeCtrlTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *) ((wxPyTreeCtrl *) x));
+}
+static void *_p_wxRemotelyScrolledTreeCtrlTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *)(wxPyTreeCtrl *) ((wxRemotelyScrolledTreeCtrl *) x));
+}
+static void *_p_wxPyPreviewControlBarTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxPanel *)(wxPreviewControlBar *) ((wxPyPreviewControlBar *) x));
+}
+static void *_p_wxPreviewControlBarTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxPanel *) ((wxPreviewControlBar *) x));
+}
+static void *_p_wxFindReplaceDataTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxFindReplaceData *) x));
+}
+static void *_p_wxStaticLineTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *) ((wxStaticLine *) x));
+}
+static void *_p_wxValidatorTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *) ((wxValidator *) x));
+}
+static void *_p_wxPyValidatorTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxValidator *) ((wxPyValidator *) x));
+}
+static void *_p_wxEraseEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxEraseEvent *) x));
+}
+static void *_p_wxMouseEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxMouseEvent *) x));
+}
+static void *_p_wxCloseEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxCloseEvent *) x));
+}
+static void *_p_wxTreeEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *)(wxNotifyEvent *) ((wxTreeEvent *) x));
+}
+static void *_p_wxBookCtrlEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *)(wxNotifyEvent *) ((wxBookCtrlEvent *) x));
+}
+static void *_p_wxTextUrlEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxTextUrlEvent *) x));
+}
+static void *_p_wxScrollEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxScrollEvent *) x));
+}
+static void *_p_wxPrintDialogDataTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxPrintDialogData *) x));
+}
+static void *_p_wxPageSetupDialogDataTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxPageSetupDialogData *) x));
+}
+static void *_p_wxPrinterTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxPrinter *) x));
+}
+static void *_p_wxControlWithItemsTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *) ((wxControlWithItems *) x));
+}
+static void *_p_wxRadioBoxTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *) ((wxRadioBox *) x));
+}
+static void *_p_wxGridSizerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxSizer *) ((wxGridSizer *) x));
+}
+static void *_p_wxFlexGridSizerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxSizer *)(wxGridSizer *) ((wxFlexGridSizer *) x));
+}
+static void *_p_wxAcceleratorTableTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxAcceleratorTable *) x));
+}
+static void *_p_wxTreeListColumnInfoTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxTreeListColumnInfo *) x));
+}
+static void *_p_wxControlTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *) ((wxControl *) x));
+}
+static void *_p_wxPyControlTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *) ((wxPyControl *) x));
+}
+static void *_p_wxContextHelpTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxContextHelp *) x));
+}
+static void *_p_wxColourDataTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxColourData *) x));
+}
+static void *_p_wxActivateEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxActivateEvent *) x));
+}
+static void *_p_wxMoveEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxMoveEvent *) x));
+}
+static void *_p_wxSizeEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxSizeEvent *) x));
+}
+static void *_p_wxIconizeEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxIconizeEvent *) x));
+}
+static void *_p_wxMaximizeEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxMaximizeEvent *) x));
+}
+static void *_p_wxQueryNewPaletteEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxQueryNewPaletteEvent *) x));
+}
+static void *_p_wxWindowCreateEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxWindowCreateEvent *) x));
+}
+static void *_p_wxIdleEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxIdleEvent *) x));
+}
+static void *_p_wxStaticTextTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *) ((wxStaticText *) x));
+}
+static void *_p_wxCalculateLayoutEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxCalculateLayoutEvent *) x));
+}
+static void *_p_wxListEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *)(wxNotifyEvent *) ((wxListEvent *) x));
+}
+static void *_p_wxDynamicSashSplitEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxDynamicSashSplitEvent *) x));
+}
+static void *_p_wxPyPrintoutTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxPyPrintout *) x));
+}
+static void *_p_wxGaugeTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *) ((wxGauge *) x));
+}
+static void *_p_wxMDIChildFrameTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxFrame *) ((wxMDIChildFrame *) x));
+}
+static void *_p_wxChoiceTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *)(wxControlWithItems *) ((wxChoice *) x));
+}
+static void *_p_wxSpinButtonTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *) ((wxSpinButton *) x));
+}
+static void *_p_wxBitmapButtonTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *)(wxButton *) ((wxBitmapButton *) x));
+}
+static void *_p_wxButtonTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *) ((wxButton *) x));
+}
+static void *_p_wxContextHelpButtonTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *)(wxButton *)(wxBitmapButton *) ((wxContextHelpButton *) x));
+}
+static void *_p_wxKeyEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxKeyEvent *) x));
+}
+static void *_p_wxNavigationKeyEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxNavigationKeyEvent *) x));
+}
+static void *_p_wxWindowDestroyEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxWindowDestroyEvent *) x));
+}
+static void *_p_wxSashEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxSashEvent *) x));
+}
+static void *_p_wxCheckListBoxTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *)(wxControlWithItems *)(wxListBox *) ((wxCheckListBox *) x));
+}
+static void *_p_wxListBoxTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *)(wxControlWithItems *) ((wxListBox *) x));
+}
+static void *_p_wxPyHtmlListBoxTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxPanel *)(wxPyVScrolledWindow *)(wxPyVListBox *) ((wxPyHtmlListBox *) x));
+}
+static void *_p_wxPyVListBoxTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxPanel *)(wxPyVScrolledWindow *) ((wxPyVListBox *) x));
+}
+static void *_p_wxPrintDataTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxPrintData *) x));
+}
+static void *_p_wxFontDataTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxFontData *) x));
+}
+static void *_p_wxEditableListBoxTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxPanel *) ((wxEditableListBox *) x));
+}
+static void *_p_wxMiniFrameTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxFrame *) ((wxMiniFrame *) x));
+}
+static void *_p_wxListbookTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *)(wxBookCtrl *) ((wxListbook *) x));
+}
+static void *_p_wxFrameTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *) ((wxFrame *) x));
+}
+static void *_p_wxPyPanelTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxPanel *) ((wxPyPanel *) x));
+}
+static void *_p_wxStaticBoxTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *) ((wxStaticBox *) x));
+}
+static void *_p_wxQueryLayoutInfoEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxQueryLayoutInfoEvent *) x));
+}
+static void *_p_wxSplashScreenTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxFrame *) ((wxSplashScreen *) x));
+}
+static void *_p_wxFileSystemTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxFileSystem *) x));
+}
+static void *_p_wxPyPrintPreviewTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxPrintPreview *) ((wxPyPrintPreview *) x));
+}
+static void *_p_wxPrintPreviewTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxPrintPreview *) x));
+}
+static void *_p_wxListViewTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *)(wxPyListCtrl *) ((wxListView *) x));
+}
+static void *_p_wxLayoutConstraintsTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxLayoutConstraints *) x));
+}
+static void *_p_wxPyListCtrlTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *) ((wxPyListCtrl *) x));
+}
+static void *_p_wxDirFilterListCtrlTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *)(wxControlWithItems *)(wxChoice *) ((wxDirFilterListCtrl *) x));
+}
+static void *_p_wxPyTreeListCtrlTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *) ((wxPyTreeListCtrl *) x));
+}
+static void *_p_wxSizerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxSizer *) x));
+}
+static void *_p_wxBoxSizerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxSizer *) ((wxBoxSizer *) x));
+}
+static void *_p_wxStaticBoxSizerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxSizer *)(wxBoxSizer *) ((wxStaticBoxSizer *) x));
+}
+static void *_p_wxGridBagSizerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxSizer *)(wxGridSizer *)(wxFlexGridSizer *) ((wxGridBagSizer *) x));
+}
+static void *_p_wxNcPaintEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxNcPaintEvent *) x));
+}
+static void *_p_wxPaintEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxPaintEvent *) x));
+}
+static void *_p_wxFSFileTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxFSFile *) x));
+}
+static void *_p_wxSplitterEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *)(wxNotifyEvent *) ((wxSplitterEvent *) x));
+}
+static void *_p_wxSetCursorEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxSetCursorEvent *) x));
+}
+static void *_p_wxTextCtrlTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *) ((wxTextCtrl *) x));
+}
+static void *_p_wxMenuTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *) ((wxMenu *) x));
+}
+static void *_p_wxToggleButtonTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *) ((wxToggleButton *) x));
+}
+static void *_p_wxRadioButtonTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *) ((wxRadioButton *) x));
+}
+static void *_p_wxSizerItemTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxSizerItem *) x));
+}
+static void *_p_wxGBSizerItemTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxSizerItem *) ((wxGBSizerItem *) x));
+}
+static void *_p_wxPrintDialogTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxPrintDialog *) x));
+}
+static void *_p_wxPageSetupDialogTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxPageSetupDialog *) x));
+}
+static void *_p_wxFontDialogTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxFontDialog *) x));
+}
+static void *_p_wxDirDialogTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxDirDialog *) x));
+}
+static void *_p_wxColourDialogTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxColourDialog *) x));
+}
+static void *_p_wxDialogTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *) ((wxDialog *) x));
+}
+static void *_p_wxNotifyEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxNotifyEvent *) x));
+}
+static void *_p_wxPyEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxPyEvent *) x));
+}
+static void *_p_wxGenericDirCtrlTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *) ((wxGenericDirCtrl *) x));
+}
+static void *_p_wxDynamicSashUnifyEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxDynamicSashUnifyEvent *) x));
+}
+static void *_p_wxEvtHandlerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxEvtHandler *) x));
+}
+static void *_p_wxTIFFHandlerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxImageHandler *) ((wxTIFFHandler *) x));
+}
+static void *_p_wxImageHandlerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxImageHandler *) x));
+}
+static void *_p_wxBMPHandlerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxImageHandler *) ((wxBMPHandler *) x));
+}
+static void *_p_wxICOHandlerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxImageHandler *)(wxBMPHandler *) ((wxICOHandler *) x));
+}
+static void *_p_wxCURHandlerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxImageHandler *)(wxBMPHandler *)(wxICOHandler *) ((wxCURHandler *) x));
+}
+static void *_p_wxANIHandlerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxImageHandler *)(wxBMPHandler *)(wxICOHandler *)(wxCURHandler *) ((wxANIHandler *) x));
+}
+static void *_p_wxPNGHandlerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxImageHandler *) ((wxPNGHandler *) x));
+}
+static void *_p_wxGIFHandlerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxImageHandler *) ((wxGIFHandler *) x));
+}
+static void *_p_wxPCXHandlerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxImageHandler *) ((wxPCXHandler *) x));
+}
+static void *_p_wxJPEGHandlerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxImageHandler *) ((wxJPEGHandler *) x));
+}
+static void *_p_wxPNMHandlerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxImageHandler *) ((wxPNMHandler *) x));
+}
+static void *_p_wxXPMHandlerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxImageHandler *) ((wxXPMHandler *) x));
+}
+static void *_p_wxShowEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxShowEvent *) x));
+}
+static void *_p_wxMDIClientWindowTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *) ((wxMDIClientWindow *) x));
+}
+static void *_p_wxPyVScrolledWindowTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxPanel *) ((wxPyVScrolledWindow *) x));
+}
+static void *_p_wxTipWindowTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxFrame *) ((wxTipWindow *) x));
+}
+static void *_p_wxPyPopupTransientWindowTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxPopupWindow *) ((wxPyPopupTransientWindow *) x));
+}
+static void *_p_wxPopupWindowTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *) ((wxPopupWindow *) x));
+}
+static void *_p_wxSashLayoutWindowTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxSashWindow *) ((wxSashLayoutWindow *) x));
+}
+static void *_p_wxSashWindowTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *) ((wxSashWindow *) x));
+}
+static void *_p_wxSplitterWindowTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *) ((wxSplitterWindow *) x));
+}
+static void *_p_wxSplashScreenWindowTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *) ((wxSplashScreenWindow *) x));
+}
+static void *_p_wxTopLevelWindowTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *) ((wxTopLevelWindow *) x));
+}
+static void *_p_wxWindowTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *) ((wxWindow *) x));
+}
+static void *_p_wxScrolledWindowTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxPanel *) ((wxScrolledWindow *) x));
+}
+static void *_p_wxDynamicSashWindowTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *) ((wxDynamicSashWindow *) x));
+}
+static void *_p_wxPyTreeCompanionWindowTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *) ((wxPyTreeCompanionWindow *) x));
+}
+static void *_p_wxThinSplitterWindowTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxSplitterWindow *) ((wxThinSplitterWindow *) x));
+}
+static void *_p_wxSplitterScrolledWindowTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxPanel *)(wxScrolledWindow *) ((wxSplitterScrolledWindow *) x));
+}
+static void *_p_wxSpinCtrlTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *) ((wxSpinCtrl *) x));
+}
+static void *_p_wxListbookEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *)(wxNotifyEvent *)(wxBookCtrlEvent *) ((wxListbookEvent *) x));
+}
+static void *_p_wxNotebookEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *)(wxNotifyEvent *)(wxBookCtrlEvent *) ((wxNotebookEvent *) x));
+}
+static void *_p_wxBookCtrlSizerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxSizer *) ((wxBookCtrlSizer *) x));
+}
+static void *_p_wxFindReplaceDialogTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxFindReplaceDialog *) x));
+}
+static void *_p_wxProgressDialogTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxFrame *) ((wxProgressDialog *) x));
+}
+static void *_p_wxMessageDialogTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxMessageDialog *) x));
+}
+static void *_p_wxTextEntryDialogTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxTextEntryDialog *) x));
+}
+static void *_p_wxSingleChoiceDialogTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxSingleChoiceDialog *) x));
+}
+static void *_p_wxMultiChoiceDialogTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxMultiChoiceDialog *) x));
+}
+static void *_p_wxFileDialogTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxFileDialog *) x));
+}
+static void *_p_wxToolBarToolBaseTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxToolBarToolBase *) x));
+}
+static void *_p_wxSliderTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *) ((wxSlider *) x));
+}
+static void *_p_wxPyWindowTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *) ((wxPyWindow *) x));
+}
+static void *_p_wxSysColourChangedEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxSysColourChangedEvent *) x));
+}
+static void *_p_wxMouseCaptureChangedEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxMouseCaptureChangedEvent *) x));
+}
+static void *_p_wxDisplayChangedEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxDisplayChangedEvent *) x));
+}
+static void *_p_wxPaletteChangedEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxPaletteChangedEvent *) x));
+}
+static void *_p_wxCheckBoxTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *) ((wxCheckBox *) x));
+}
+static void *_p_wxHelpEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxHelpEvent *) x));
+}
+static void *_p_wxPanelTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *) ((wxPanel *) x));
+}
+static void *_p_wxTaskBarIconEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxTaskBarIconEvent *) x));
+}
+static void *_p_wxScrollWinEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxScrollWinEvent *) x));
+}
+static void *_p_wxMenuEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxMenuEvent *) x));
+}
+static void *_p_wxContextMenuEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxContextMenuEvent *) x));
+}
+static void *_p_wxLEDNumberCtrlTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *) ((wxLEDNumberCtrl *) x));
+}
+static void *_p_wxCommandEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxCommandEvent *) x));
+}
+static void *_p_wxPyCommandEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxPyCommandEvent *) x));
+}
+static void *_p_wxToolBarTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *)(wxToolBarBase *) ((wxToolBar *) x));
+}
+static void *_p_wxStatusBarTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *) ((wxStatusBar *) x));
+}
+static void *_p_wxChildFocusEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxChildFocusEvent *) x));
+}
+static void *_p_wxFocusEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxFocusEvent *) x));
+}
+static void *_p_wxDropFilesEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxDropFilesEvent *) x));
+}
+static void *_p_wxMDIParentFrameTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxFrame *) ((wxMDIParentFrame *) x));
+}
+static void *_p_wxMenuBarTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *) ((wxMenuBar *) x));
+}
+static void *_p_wxPyPreviewFrameTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxFrame *)(wxPreviewFrame *) ((wxPyPreviewFrame *) x));
+}
+static void *_p_wxPreviewFrameTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxFrame *) ((wxPreviewFrame *) x));
+}
+static void *_p_wxCheckBoxTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *) ((wxCheckBox *) x));
+}
+static void *_p_wxPyTreeCtrlTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *) ((wxPyTreeCtrl *) x));
+}
+static void *_p_wxRemotelyScrolledTreeCtrlTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *)(wxPyTreeCtrl *) ((wxRemotelyScrolledTreeCtrl *) x));
+}
+static void *_p_wxPyPanelTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxPanel *) ((wxPyPanel *) x));
+}
+static void *_p_wxTaskBarIconTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *)  ((wxTaskBarIcon *) x));
+}
+static void *_p_wxGenericDirCtrlTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *) ((wxGenericDirCtrl *) x));
+}
+static void *_p_wxPyListCtrlTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *) ((wxPyListCtrl *) x));
+}
+static void *_p_wxDirFilterListCtrlTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *)(wxControlWithItems *)(wxChoice *) ((wxDirFilterListCtrl *) x));
+}
+static void *_p_wxPyTreeListCtrlTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *) ((wxPyTreeListCtrl *) x));
+}
+static void *_p_wxPreviewCanvasTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxPanel *)(wxScrolledWindow *) ((wxPreviewCanvas *) x));
+}
+static void *_p_wxStaticLineTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *) ((wxStaticLine *) x));
+}
+static void *_p_wxControlTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *) ((wxControl *) x));
+}
+static void *_p_wxPyControlTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *) ((wxPyControl *) x));
+}
+static void *_p_wxGaugeTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *) ((wxGauge *) x));
+}
+static void *_p_wxToolBarBaseTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *) ((wxToolBarBase *) x));
+}
+static void *_p_wxToggleButtonTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *) ((wxToggleButton *) x));
+}
+static void *_p_wxRadioButtonTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *) ((wxRadioButton *) x));
+}
+static void *_p_wxChoiceTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *)(wxControlWithItems *) ((wxChoice *) x));
+}
+static void *_p_wxListViewTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *)(wxPyListCtrl *) ((wxListView *) x));
+}
+static void *_p_wxTextCtrlTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *) ((wxTextCtrl *) x));
+}
+static void *_p_wxNotebookTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *)(wxBookCtrl *) ((wxNotebook *) x));
+}
+static void *_p_wxMDIChildFrameTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxFrame *) ((wxMDIChildFrame *) x));
+}
+static void *_p_wxPyWindowTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *) ((wxPyWindow *) x));
+}
+static void *_p_wxSplashScreenTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxFrame *) ((wxSplashScreen *) x));
+}
+static void *_p_wxListbookTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *)(wxBookCtrl *) ((wxListbook *) x));
+}
+static void *_p_wxFindReplaceDialogTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxFindReplaceDialog *) x));
+}
+static void *_p_wxProgressDialogTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxFrame *) ((wxProgressDialog *) x));
+}
+static void *_p_wxMessageDialogTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxMessageDialog *) x));
+}
+static void *_p_wxFileDialogTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxFileDialog *) x));
+}
+static void *_p_wxMultiChoiceDialogTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxMultiChoiceDialog *) x));
+}
+static void *_p_wxSingleChoiceDialogTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxSingleChoiceDialog *) x));
+}
+static void *_p_wxTextEntryDialogTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxTextEntryDialog *) x));
+}
+static void *_p_wxStaticBitmapTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *) ((wxStaticBitmap *) x));
+}
+static void *_p_wxSliderTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *) ((wxSlider *) x));
+}
+static void *_p_wxStaticBoxTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *) ((wxStaticBox *) x));
+}
+static void *_p_wxCheckListBoxTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *)(wxControlWithItems *)(wxListBox *) ((wxCheckListBox *) x));
+}
+static void *_p_wxListBoxTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *)(wxControlWithItems *) ((wxListBox *) x));
+}
+static void *_p_wxPyVListBoxTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxPanel *)(wxPyVScrolledWindow *) ((wxPyVListBox *) x));
+}
+static void *_p_wxPyHtmlListBoxTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxPanel *)(wxPyVScrolledWindow *)(wxPyVListBox *) ((wxPyHtmlListBox *) x));
+}
+static void *_p_wxEditableListBoxTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxPanel *) ((wxEditableListBox *) x));
+}
+static void *_p_wxBookCtrlTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *) ((wxBookCtrl *) x));
+}
+static void *_p_wxLEDNumberCtrlTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *) ((wxLEDNumberCtrl *) x));
+}
+static void *_p_wxSpinButtonTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *) ((wxSpinButton *) x));
+}
+static void *_p_wxBitmapButtonTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *)(wxButton *) ((wxBitmapButton *) x));
+}
+static void *_p_wxButtonTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *) ((wxButton *) x));
+}
+static void *_p_wxContextHelpButtonTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *)(wxButton *)(wxBitmapButton *) ((wxContextHelpButton *) x));
+}
+static void *_p_wxRadioBoxTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *) ((wxRadioBox *) x));
+}
+static void *_p_wxScrollBarTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *) ((wxScrollBar *) x));
+}
+static void *_p_wxComboBoxTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *) ((wxComboBox *) x));
+}
+static void *_p_wxMiniFrameTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxFrame *) ((wxMiniFrame *) x));
+}
+static void *_p_wxFrameTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *) ((wxFrame *) x));
+}
+static void *_p_wxSpinCtrlTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *) ((wxSpinCtrl *) x));
+}
+static void *_p_wxStatusBarTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *) ((wxStatusBar *) x));
+}
+static void *_p_wxMDIParentFrameTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxFrame *) ((wxMDIParentFrame *) x));
+}
+static void *_p_wxMDIClientWindowTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *) ((wxMDIClientWindow *) x));
+}
+static void *_p_wxTopLevelWindowTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *) ((wxTopLevelWindow *) x));
+}
+static void *_p_wxScrolledWindowTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxPanel *) ((wxScrolledWindow *) x));
+}
+static void *_p_wxWindowTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *)  ((wxWindow *) x));
+}
+static void *_p_wxSplashScreenWindowTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *) ((wxSplashScreenWindow *) x));
+}
+static void *_p_wxSplitterWindowTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *) ((wxSplitterWindow *) x));
+}
+static void *_p_wxSashWindowTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *) ((wxSashWindow *) x));
+}
+static void *_p_wxSashLayoutWindowTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxSashWindow *) ((wxSashLayoutWindow *) x));
+}
+static void *_p_wxPopupWindowTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *) ((wxPopupWindow *) x));
+}
+static void *_p_wxPyPopupTransientWindowTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxPopupWindow *) ((wxPyPopupTransientWindow *) x));
+}
+static void *_p_wxTipWindowTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxFrame *) ((wxTipWindow *) x));
+}
+static void *_p_wxPyVScrolledWindowTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxPanel *) ((wxPyVScrolledWindow *) x));
+}
+static void *_p_wxMenuTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *)  ((wxMenu *) x));
+}
+static void *_p_wxMenuBarTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *) ((wxMenuBar *) x));
+}
+static void *_p_wxDynamicSashWindowTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *) ((wxDynamicSashWindow *) x));
+}
+static void *_p_wxPyTreeCompanionWindowTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *) ((wxPyTreeCompanionWindow *) x));
+}
+static void *_p_wxThinSplitterWindowTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxSplitterWindow *) ((wxThinSplitterWindow *) x));
+}
+static void *_p_wxSplitterScrolledWindowTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxPanel *)(wxScrolledWindow *) ((wxSplitterScrolledWindow *) x));
+}
+static void *_p_wxPrintDialogTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxPrintDialog *) x));
+}
+static void *_p_wxPageSetupDialogTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxPageSetupDialog *) x));
+}
+static void *_p_wxDialogTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *) ((wxDialog *) x));
+}
+static void *_p_wxColourDialogTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxColourDialog *) x));
+}
+static void *_p_wxDirDialogTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxDirDialog *) x));
+}
+static void *_p_wxFontDialogTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxFontDialog *) x));
+}
+static void *_p_wxPanelTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *) ((wxPanel *) x));
+}
+static void *_p_wxPyAppTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *)  ((wxPyApp *) x));
+}
+static void *_p_wxStaticTextTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *) ((wxStaticText *) x));
+}
+static void *_p_wxPyPreviewControlBarTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxPanel *)(wxPreviewControlBar *) ((wxPyPreviewControlBar *) x));
+}
+static void *_p_wxPreviewControlBarTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxPanel *) ((wxPreviewControlBar *) x));
+}
+static void *_p_wxControlWithItemsTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *) ((wxControlWithItems *) x));
+}
+static void *_p_wxToolBarTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *)(wxToolBarBase *) ((wxToolBar *) x));
+}
+static void *_p_wxPyValidatorTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxValidator *) ((wxPyValidator *) x));
+}
+static void *_p_wxValidatorTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *)  ((wxValidator *) x));
+}
+static void *_p_wxRemotelyScrolledTreeCtrlTo_p_wxPyTreeCtrl(void *x) {
+    return (void *)((wxPyTreeCtrl *)  ((wxRemotelyScrolledTreeCtrl *) x));
+}
+static void *_p_wxSashEventTo_p_wxCommandEvent(void *x) {
+    return (void *)((wxCommandEvent *)  ((wxSashEvent *) x));
+}
+static void *_p_wxWindowDestroyEventTo_p_wxCommandEvent(void *x) {
+    return (void *)((wxCommandEvent *)  ((wxWindowDestroyEvent *) x));
+}
+static void *_p_wxSplitterEventTo_p_wxCommandEvent(void *x) {
+    return (void *)((wxCommandEvent *) (wxNotifyEvent *) ((wxSplitterEvent *) x));
+}
+static void *_p_wxBookCtrlEventTo_p_wxCommandEvent(void *x) {
+    return (void *)((wxCommandEvent *) (wxNotifyEvent *) ((wxBookCtrlEvent *) x));
+}
+static void *_p_wxTextUrlEventTo_p_wxCommandEvent(void *x) {
+    return (void *)((wxCommandEvent *)  ((wxTextUrlEvent *) x));
+}
+static void *_p_wxScrollEventTo_p_wxCommandEvent(void *x) {
+    return (void *)((wxCommandEvent *)  ((wxScrollEvent *) x));
+}
+static void *_p_wxPyCommandEventTo_p_wxCommandEvent(void *x) {
+    return (void *)((wxCommandEvent *)  ((wxPyCommandEvent *) x));
+}
+static void *_p_wxContextMenuEventTo_p_wxCommandEvent(void *x) {
+    return (void *)((wxCommandEvent *)  ((wxContextMenuEvent *) x));
+}
+static void *_p_wxChildFocusEventTo_p_wxCommandEvent(void *x) {
+    return (void *)((wxCommandEvent *)  ((wxChildFocusEvent *) x));
+}
+static void *_p_wxNotebookEventTo_p_wxCommandEvent(void *x) {
+    return (void *)((wxCommandEvent *) (wxNotifyEvent *)(wxBookCtrlEvent *) ((wxNotebookEvent *) x));
+}
+static void *_p_wxListbookEventTo_p_wxCommandEvent(void *x) {
+    return (void *)((wxCommandEvent *) (wxNotifyEvent *)(wxBookCtrlEvent *) ((wxListbookEvent *) x));
+}
+static void *_p_wxWindowCreateEventTo_p_wxCommandEvent(void *x) {
+    return (void *)((wxCommandEvent *)  ((wxWindowCreateEvent *) x));
+}
+static void *_p_wxListEventTo_p_wxCommandEvent(void *x) {
+    return (void *)((wxCommandEvent *) (wxNotifyEvent *) ((wxListEvent *) x));
+}
+static void *_p_wxDynamicSashSplitEventTo_p_wxCommandEvent(void *x) {
+    return (void *)((wxCommandEvent *)  ((wxDynamicSashSplitEvent *) x));
+}
+static void *_p_wxTreeEventTo_p_wxCommandEvent(void *x) {
+    return (void *)((wxCommandEvent *) (wxNotifyEvent *) ((wxTreeEvent *) x));
+}
+static void *_p_wxHelpEventTo_p_wxCommandEvent(void *x) {
+    return (void *)((wxCommandEvent *)  ((wxHelpEvent *) x));
+}
+static void *_p_wxNotifyEventTo_p_wxCommandEvent(void *x) {
+    return (void *)((wxCommandEvent *)  ((wxNotifyEvent *) x));
+}
+static void *_p_wxDynamicSashUnifyEventTo_p_wxCommandEvent(void *x) {
+    return (void *)((wxCommandEvent *)  ((wxDynamicSashUnifyEvent *) x));
+}
+static void *_p_wxFindDialogEventTo_p_wxCommandEvent(void *x) {
+    return (void *)((wxCommandEvent *)  ((wxFindDialogEvent *) x));
+}
+static void *_p_wxUpdateUIEventTo_p_wxCommandEvent(void *x) {
+    return (void *)((wxCommandEvent *)  ((wxUpdateUIEvent *) x));
+}
+static swig_type_info _swigt__p_wxEditableListBox[] = {{"_p_wxEditableListBox", 0, "wxEditableListBox *", 0},{"_p_wxEditableListBox"},{0}};
+static swig_type_info _swigt__p_wxObject[] = {{"_p_wxObject", 0, "wxObject *", 0},{"_p_wxScrollBar", _p_wxScrollBarTo_p_wxObject},{"_p_wxUpdateUIEvent", _p_wxUpdateUIEventTo_p_wxObject},{"_p_wxPreviewCanvas", _p_wxPreviewCanvasTo_p_wxObject},{"_p_wxEvent", _p_wxEventTo_p_wxObject},{"_p_wxBookCtrl", _p_wxBookCtrlTo_p_wxObject},{"_p_wxFindDialogEvent", _p_wxFindDialogEventTo_p_wxObject},{"_p_wxInitDialogEvent", _p_wxInitDialogEventTo_p_wxObject},{"_p_wxIndividualLayoutConstraint", _p_wxIndividualLayoutConstraintTo_p_wxObject},{"_p_wxPyPreviewFrame", _p_wxPyPreviewFrameTo_p_wxObject},{"_p_wxPreviewFrame", _p_wxPreviewFrameTo_p_wxObject},{"_p_wxToolBarBase", _p_wxToolBarBaseTo_p_wxObject},{"_p_wxMenuItem", _p_wxMenuItemTo_p_wxObject},{"_p_wxImage", _p_wxImageTo_p_wxObject},{"_p_wxPySizer", _p_wxPySizerTo_p_wxObject},{"_p_wxGenericDragImage", _p_wxGenericDragImageTo_p_wxObject},{"_p_wxStaticBitmap", _p_wxStaticBitmapTo_p_wxObject},{"_p_wxComboBox", _p_wxComboBoxTo_p_wxObject},{"_p_wxLayoutAlgorithm", _p_wxLayoutAlgorithmTo_p_wxObject},{"_p_wxTaskBarIcon", _p_wxTaskBarIconTo_p_wxObject},{"_p_wxPyApp", _p_wxPyAppTo_p_wxObject},{"_p_wxNotebook", _p_wxNotebookTo_p_wxObject},{"_p_wxListItem", _p_wxListItemTo_p_wxObject},{"_p_wxNotebookSizer", _p_wxNotebookSizerTo_p_wxObject},{"_p_wxRemotelyScrolledTreeCtrl", _p_wxRemotelyScrolledTreeCtrlTo_p_wxObject},{"_p_wxPyTreeCtrl", _p_wxPyTreeCtrlTo_p_wxObject},{"_p_wxPyPreviewControlBar", _p_wxPyPreviewControlBarTo_p_wxObject},{"_p_wxPreviewControlBar", _p_wxPreviewControlBarTo_p_wxObject},{"_p_wxFindReplaceData", _p_wxFindReplaceDataTo_p_wxObject},{"_p_wxStaticLine", _p_wxStaticLineTo_p_wxObject},{"_p_wxValidator", _p_wxValidatorTo_p_wxObject},{"_p_wxPyValidator", _p_wxPyValidatorTo_p_wxObject},{"_p_wxCloseEvent", _p_wxCloseEventTo_p_wxObject},{"_p_wxMouseEvent", _p_wxMouseEventTo_p_wxObject},{"_p_wxEraseEvent", _p_wxEraseEventTo_p_wxObject},{"_p_wxTreeEvent", _p_wxTreeEventTo_p_wxObject},{"_p_wxBookCtrlEvent", _p_wxBookCtrlEventTo_p_wxObject},{"_p_wxTextUrlEvent", _p_wxTextUrlEventTo_p_wxObject},{"_p_wxScrollEvent", _p_wxScrollEventTo_p_wxObject},{"_p_wxPageSetupDialogData", _p_wxPageSetupDialogDataTo_p_wxObject},{"_p_wxPrintDialogData", _p_wxPrintDialogDataTo_p_wxObject},{"_p_wxPrinter", _p_wxPrinterTo_p_wxObject},{"_p_wxControlWithItems", _p_wxControlWithItemsTo_p_wxObject},{"_p_wxObject"},{"_p_wxRadioBox", _p_wxRadioBoxTo_p_wxObject},{"_p_wxFlexGridSizer", _p_wxFlexGridSizerTo_p_wxObject},{"_p_wxGridSizer", _p_wxGridSizerTo_p_wxObject},{"_p_wxTreeListColumnInfo", _p_wxTreeListColumnInfoTo_p_wxObject},{"_p_wxAcceleratorTable", _p_wxAcceleratorTableTo_p_wxObject},{"_p_wxPyControl", _p_wxPyControlTo_p_wxObject},{"_p_wxControl", _p_wxControlTo_p_wxObject},{"_p_wxContextHelp", _p_wxContextHelpTo_p_wxObject},{"_p_wxColourData", _p_wxColourDataTo_p_wxObject},{"_p_wxWindowCreateEvent", _p_wxWindowCreateEventTo_p_wxObject},{"_p_wxQueryNewPaletteEvent", _p_wxQueryNewPaletteEventTo_p_wxObject},{"_p_wxMaximizeEvent", _p_wxMaximizeEventTo_p_wxObject},{"_p_wxIconizeEvent", _p_wxIconizeEventTo_p_wxObject},{"_p_wxActivateEvent", _p_wxActivateEventTo_p_wxObject},{"_p_wxSizeEvent", _p_wxSizeEventTo_p_wxObject},{"_p_wxMoveEvent", _p_wxMoveEventTo_p_wxObject},{"_p_wxIdleEvent", _p_wxIdleEventTo_p_wxObject},{"_p_wxStaticText", _p_wxStaticTextTo_p_wxObject},{"_p_wxCalculateLayoutEvent", _p_wxCalculateLayoutEventTo_p_wxObject},{"_p_wxListEvent", _p_wxListEventTo_p_wxObject},{"_p_wxDynamicSashSplitEvent", _p_wxDynamicSashSplitEventTo_p_wxObject},{"_p_wxPyPrintout", _p_wxPyPrintoutTo_p_wxObject},{"_p_wxGauge", _p_wxGaugeTo_p_wxObject},{"_p_wxMDIChildFrame", _p_wxMDIChildFrameTo_p_wxObject},{"_p_wxChoice", _p_wxChoiceTo_p_wxObject},{"_p_wxMenu", _p_wxMenuTo_p_wxObject},{"_p_wxBitmapButton", _p_wxBitmapButtonTo_p_wxObject},{"_p_wxButton", _p_wxButtonTo_p_wxObject},{"_p_wxContextHelpButton", _p_wxContextHelpButtonTo_p_wxObject},{"_p_wxSpinButton", _p_wxSpinButtonTo_p_wxObject},{"_p_wxWindowDestroyEvent", _p_wxWindowDestroyEventTo_p_wxObject},{"_p_wxNavigationKeyEvent", _p_wxNavigationKeyEventTo_p_wxObject},{"_p_wxKeyEvent", _p_wxKeyEventTo_p_wxObject},{"_p_wxSashEvent", _p_wxSashEventTo_p_wxObject},{"_p_wxPyHtmlListBox", _p_wxPyHtmlListBoxTo_p_wxObject},{"_p_wxPyVListBox", _p_wxPyVListBoxTo_p_wxObject},{"_p_wxEditableListBox", _p_wxEditableListBoxTo_p_wxObject},{"_p_wxListBox", _p_wxListBoxTo_p_wxObject},{"_p_wxCheckListBox", _p_wxCheckListBoxTo_p_wxObject},{"_p_wxPrintData", _p_wxPrintDataTo_p_wxObject},{"_p_wxFontData", _p_wxFontDataTo_p_wxObject},{"_p_wxMiniFrame", _p_wxMiniFrameTo_p_wxObject},{"_p_wxListbook", _p_wxListbookTo_p_wxObject},{"_p_wxFrame", _p_wxFrameTo_p_wxObject},{"_p_wxPyPanel", _p_wxPyPanelTo_p_wxObject},{"_p_wxStaticBox", _p_wxStaticBoxTo_p_wxObject},{"_p_wxQueryLayoutInfoEvent", _p_wxQueryLayoutInfoEventTo_p_wxObject},{"_p_wxSplashScreen", _p_wxSplashScreenTo_p_wxObject},{"_p_wxFileSystem", _p_wxFileSystemTo_p_wxObject},{"_p_wxPyPrintPreview", _p_wxPyPrintPreviewTo_p_wxObject},{"_p_wxPrintPreview", _p_wxPrintPreviewTo_p_wxObject},{"_p_wxListView", _p_wxListViewTo_p_wxObject},{"_p_wxPyTreeListCtrl", _p_wxPyTreeListCtrlTo_p_wxObject},{"_p_wxPyListCtrl", _p_wxPyListCtrlTo_p_wxObject},{"_p_wxDirFilterListCtrl", _p_wxDirFilterListCtrlTo_p_wxObject},{"_p_wxLayoutConstraints", _p_wxLayoutConstraintsTo_p_wxObject},{"_p_wxSizer", _p_wxSizerTo_p_wxObject},{"_p_wxBoxSizer", _p_wxBoxSizerTo_p_wxObject},{"_p_wxStaticBoxSizer", _p_wxStaticBoxSizerTo_p_wxObject},{"_p_wxGridBagSizer", _p_wxGridBagSizerTo_p_wxObject},{"_p_wxNcPaintEvent", _p_wxNcPaintEventTo_p_wxObject},{"_p_wxPaintEvent", _p_wxPaintEventTo_p_wxObject},{"_p_wxFSFile", _p_wxFSFileTo_p_wxObject},{"_p_wxSetCursorEvent", _p_wxSetCursorEventTo_p_wxObject},{"_p_wxSplitterEvent", _p_wxSplitterEventTo_p_wxObject},{"_p_wxTextCtrl", _p_wxTextCtrlTo_p_wxObject},{"_p_wxRadioButton", _p_wxRadioButtonTo_p_wxObject},{"_p_wxToggleButton", _p_wxToggleButtonTo_p_wxObject},{"_p_wxSizerItem", _p_wxSizerItemTo_p_wxObject},{"_p_wxGBSizerItem", _p_wxGBSizerItemTo_p_wxObject},{"_p_wxPrintDialog", _p_wxPrintDialogTo_p_wxObject},{"_p_wxPageSetupDialog", _p_wxPageSetupDialogTo_p_wxObject},{"_p_wxFontDialog", _p_wxFontDialogTo_p_wxObject},{"_p_wxDirDialog", _p_wxDirDialogTo_p_wxObject},{"_p_wxColourDialog", _p_wxColourDialogTo_p_wxObject},{"_p_wxDialog", _p_wxDialogTo_p_wxObject},{"_p_wxPyEvent", _p_wxPyEventTo_p_wxObject},{"_p_wxNotifyEvent", _p_wxNotifyEventTo_p_wxObject},{"_p_wxDynamicSashUnifyEvent", _p_wxDynamicSashUnifyEventTo_p_wxObject},{"_p_wxGenericDirCtrl", _p_wxGenericDirCtrlTo_p_wxObject},{"_p_wxEvtHandler", _p_wxEvtHandlerTo_p_wxObject},{"_p_wxTIFFHandler", _p_wxTIFFHandlerTo_p_wxObject},{"_p_wxImageHandler", _p_wxImageHandlerTo_p_wxObject},{"_p_wxBMPHandler", _p_wxBMPHandlerTo_p_wxObject},{"_p_wxICOHandler", _p_wxICOHandlerTo_p_wxObject},{"_p_wxCURHandler", _p_wxCURHandlerTo_p_wxObject},{"_p_wxANIHandler", _p_wxANIHandlerTo_p_wxObject},{"_p_wxPNGHandler", _p_wxPNGHandlerTo_p_wxObject},{"_p_wxGIFHandler", _p_wxGIFHandlerTo_p_wxObject},{"_p_wxPCXHandler", _p_wxPCXHandlerTo_p_wxObject},{"_p_wxJPEGHandler", _p_wxJPEGHandlerTo_p_wxObject},{"_p_wxPNMHandler", _p_wxPNMHandlerTo_p_wxObject},{"_p_wxXPMHandler", _p_wxXPMHandlerTo_p_wxObject},{"_p_wxShowEvent", _p_wxShowEventTo_p_wxObject},{"_p_wxThinSplitterWindow", _p_wxThinSplitterWindowTo_p_wxObject},{"_p_wxPyTreeCompanionWindow", _p_wxPyTreeCompanionWindowTo_p_wxObject},{"_p_wxDynamicSashWindow", _p_wxDynamicSashWindowTo_p_wxObject},{"_p_wxPyVScrolledWindow", _p_wxPyVScrolledWindowTo_p_wxObject},{"_p_wxTipWindow", _p_wxTipWindowTo_p_wxObject},{"_p_wxPyPopupTransientWindow", _p_wxPyPopupTransientWindowTo_p_wxObject},{"_p_wxPopupWindow", _p_wxPopupWindowTo_p_wxObject},{"_p_wxSashLayoutWindow", _p_wxSashLayoutWindowTo_p_wxObject},{"_p_wxSashWindow", _p_wxSashWindowTo_p_wxObject},{"_p_wxSplitterWindow", _p_wxSplitterWindowTo_p_wxObject},{"_p_wxSplashScreenWindow", _p_wxSplashScreenWindowTo_p_wxObject},{"_p_wxWindow", _p_wxWindowTo_p_wxObject},{"_p_wxSplitterScrolledWindow", _p_wxSplitterScrolledWindowTo_p_wxObject},{"_p_wxMDIClientWindow", _p_wxMDIClientWindowTo_p_wxObject},{"_p_wxScrolledWindow", _p_wxScrolledWindowTo_p_wxObject},{"_p_wxTopLevelWindow", _p_wxTopLevelWindowTo_p_wxObject},{"_p_wxSpinCtrl", _p_wxSpinCtrlTo_p_wxObject},{"_p_wxNotebookEvent", _p_wxNotebookEventTo_p_wxObject},{"_p_wxListbookEvent", _p_wxListbookEventTo_p_wxObject},{"_p_wxBookCtrlSizer", _p_wxBookCtrlSizerTo_p_wxObject},{"_p_wxTextEntryDialog", _p_wxTextEntryDialogTo_p_wxObject},{"_p_wxFindReplaceDialog", _p_wxFindReplaceDialogTo_p_wxObject},{"_p_wxProgressDialog", _p_wxProgressDialogTo_p_wxObject},{"_p_wxMessageDialog", _p_wxMessageDialogTo_p_wxObject},{"_p_wxFileDialog", _p_wxFileDialogTo_p_wxObject},{"_p_wxMultiChoiceDialog", _p_wxMultiChoiceDialogTo_p_wxObject},{"_p_wxSingleChoiceDialog", _p_wxSingleChoiceDialogTo_p_wxObject},{"_p_wxToolBarToolBase", _p_wxToolBarToolBaseTo_p_wxObject},{"_p_wxSlider", _p_wxSliderTo_p_wxObject},{"_p_wxPyWindow", _p_wxPyWindowTo_p_wxObject},{"_p_wxPaletteChangedEvent", _p_wxPaletteChangedEventTo_p_wxObject},{"_p_wxDisplayChangedEvent", _p_wxDisplayChangedEventTo_p_wxObject},{"_p_wxMouseCaptureChangedEvent", _p_wxMouseCaptureChangedEventTo_p_wxObject},{"_p_wxSysColourChangedEvent", _p_wxSysColourChangedEventTo_p_wxObject},{"_p_wxCheckBox", _p_wxCheckBoxTo_p_wxObject},{"_p_wxHelpEvent", _p_wxHelpEventTo_p_wxObject},{"_p_wxPanel", _p_wxPanelTo_p_wxObject},{"_p_wxScrollWinEvent", _p_wxScrollWinEventTo_p_wxObject},{"_p_wxTaskBarIconEvent", _p_wxTaskBarIconEventTo_p_wxObject},{"_p_wxContextMenuEvent", _p_wxContextMenuEventTo_p_wxObject},{"_p_wxMenuEvent", _p_wxMenuEventTo_p_wxObject},{"_p_wxLEDNumberCtrl", _p_wxLEDNumberCtrlTo_p_wxObject},{"_p_wxToolBar", _p_wxToolBarTo_p_wxObject},{"_p_wxCommandEvent", _p_wxCommandEventTo_p_wxObject},{"_p_wxPyCommandEvent", _p_wxPyCommandEventTo_p_wxObject},{"_p_wxStatusBar", _p_wxStatusBarTo_p_wxObject},{"_p_wxDropFilesEvent", _p_wxDropFilesEventTo_p_wxObject},{"_p_wxFocusEvent", _p_wxFocusEventTo_p_wxObject},{"_p_wxChildFocusEvent", _p_wxChildFocusEventTo_p_wxObject},{"_p_wxMDIParentFrame", _p_wxMDIParentFrameTo_p_wxObject},{"_p_wxMenuBar", _p_wxMenuBarTo_p_wxObject},{0}};
+static swig_type_info _swigt__p_wxColour[] = {{"_p_wxColour", 0, "wxColour *", 0},{"_p_wxColour"},{0}};
+static swig_type_info _swigt__p_wxPyTreeCtrl[] = {{"_p_wxPyTreeCtrl", 0, "wxPyTreeCtrl *", 0},{"_p_wxPyTreeCtrl"},{"_p_wxRemotelyScrolledTreeCtrl", _p_wxRemotelyScrolledTreeCtrlTo_p_wxPyTreeCtrl},{0}};
+static swig_type_info _swigt__p_wxRemotelyScrolledTreeCtrl[] = {{"_p_wxRemotelyScrolledTreeCtrl", 0, "wxRemotelyScrolledTreeCtrl *", 0},{"_p_wxRemotelyScrolledTreeCtrl"},{0}};
+static swig_type_info _swigt__p_wxTreeListColumnInfo[] = {{"_p_wxTreeListColumnInfo", 0, "wxTreeListColumnInfo *", 0},{"_p_wxTreeListColumnInfo"},{0}};
+static swig_type_info _swigt__p_wxPyTreeListCtrl[] = {{"_p_wxPyTreeListCtrl", 0, "wxPyTreeListCtrl *", 0},{"_p_wxPyTreeListCtrl"},{0}};
+static swig_type_info _swigt__p_wxImageList[] = {{"_p_wxImageList", 0, "wxImageList *", 0},{"_p_wxImageList"},{0}};
+static swig_type_info _swigt__p_wxScrollBar[] = {{"_p_wxScrollBar", 0, "wxScrollBar *", 0},{"_p_wxScrollBar"},{0}};
+static swig_type_info _swigt__p_wxDynamicSashWindow[] = {{"_p_wxDynamicSashWindow", 0, "wxDynamicSashWindow *", 0},{"_p_wxDynamicSashWindow"},{0}};
+static swig_type_info _swigt__p_wxScrolledWindow[] = {{"_p_wxScrolledWindow", 0, "wxScrolledWindow *", 0},{"_p_wxScrolledWindow"},{"_p_wxSplitterScrolledWindow", _p_wxSplitterScrolledWindowTo_p_wxScrolledWindow},{"_p_wxPreviewCanvas", _p_wxPreviewCanvasTo_p_wxScrolledWindow},{0}};
+static swig_type_info _swigt__p_wxSplitterWindow[] = {{"_p_wxSplitterWindow", 0, "wxSplitterWindow *", 0},{"_p_wxSplitterWindow"},{"_p_wxThinSplitterWindow", _p_wxThinSplitterWindowTo_p_wxSplitterWindow},{0}};
+static swig_type_info _swigt__p_wxWindow[] = {{"_p_wxWindow", 0, "wxWindow *", 0},{"_p_wxPyPreviewFrame", _p_wxPyPreviewFrameTo_p_wxWindow},{"_p_wxPreviewFrame", _p_wxPreviewFrameTo_p_wxWindow},{"_p_wxCheckBox", _p_wxCheckBoxTo_p_wxWindow},{"_p_wxPyTreeCtrl", _p_wxPyTreeCtrlTo_p_wxWindow},{"_p_wxRemotelyScrolledTreeCtrl", _p_wxRemotelyScrolledTreeCtrlTo_p_wxWindow},{"_p_wxPyPanel", _p_wxPyPanelTo_p_wxWindow},{"_p_wxGenericDirCtrl", _p_wxGenericDirCtrlTo_p_wxWindow},{"_p_wxDirFilterListCtrl", _p_wxDirFilterListCtrlTo_p_wxWindow},{"_p_wxPyListCtrl", _p_wxPyListCtrlTo_p_wxWindow},{"_p_wxPyTreeListCtrl", _p_wxPyTreeListCtrlTo_p_wxWindow},{"_p_wxPreviewCanvas", _p_wxPreviewCanvasTo_p_wxWindow},{"_p_wxStaticLine", _p_wxStaticLineTo_p_wxWindow},{"_p_wxPyControl", _p_wxPyControlTo_p_wxWindow},{"_p_wxControl", _p_wxControlTo_p_wxWindow},{"_p_wxGauge", _p_wxGaugeTo_p_wxWindow},{"_p_wxToolBarBase", _p_wxToolBarBaseTo_p_wxWindow},{"_p_wxToggleButton", _p_wxToggleButtonTo_p_wxWindow},{"_p_wxRadioButton", _p_wxRadioButtonTo_p_wxWindow},{"_p_wxChoice", _p_wxChoiceTo_p_wxWindow},{"_p_wxListView", _p_wxListViewTo_p_wxWindow},{"_p_wxTextCtrl", _p_wxTextCtrlTo_p_wxWindow},{"_p_wxNotebook", _p_wxNotebookTo_p_wxWindow},{"_p_wxMDIChildFrame", _p_wxMDIChildFrameTo_p_wxWindow},{"_p_wxPyWindow", _p_wxPyWindowTo_p_wxWindow},{"_p_wxSplashScreen", _p_wxSplashScreenTo_p_wxWindow},{"_p_wxListbook", _p_wxListbookTo_p_wxWindow},{"_p_wxFindReplaceDialog", _p_wxFindReplaceDialogTo_p_wxWindow},{"_p_wxProgressDialog", _p_wxProgressDialogTo_p_wxWindow},{"_p_wxMessageDialog", _p_wxMessageDialogTo_p_wxWindow},{"_p_wxTextEntryDialog", _p_wxTextEntryDialogTo_p_wxWindow},{"_p_wxSingleChoiceDialog", _p_wxSingleChoiceDialogTo_p_wxWindow},{"_p_wxMultiChoiceDialog", _p_wxMultiChoiceDialogTo_p_wxWindow},{"_p_wxFileDialog", _p_wxFileDialogTo_p_wxWindow},{"_p_wxStaticBitmap", _p_wxStaticBitmapTo_p_wxWindow},{"_p_wxSlider", _p_wxSliderTo_p_wxWindow},{"_p_wxStaticBox", _p_wxStaticBoxTo_p_wxWindow},{"_p_wxPyVListBox", _p_wxPyVListBoxTo_p_wxWindow},{"_p_wxPyHtmlListBox", _p_wxPyHtmlListBoxTo_p_wxWindow},{"_p_wxEditableListBox", _p_wxEditableListBoxTo_p_wxWindow},{"_p_wxCheckListBox", _p_wxCheckListBoxTo_p_wxWindow},{"_p_wxListBox", _p_wxListBoxTo_p_wxWindow},{"_p_wxLEDNumberCtrl", _p_wxLEDNumberCtrlTo_p_wxWindow},{"_p_wxBookCtrl", _p_wxBookCtrlTo_p_wxWindow},{"_p_wxBitmapButton", _p_wxBitmapButtonTo_p_wxWindow},{"_p_wxButton", _p_wxButtonTo_p_wxWindow},{"_p_wxContextHelpButton", _p_wxContextHelpButtonTo_p_wxWindow},{"_p_wxSpinButton", _p_wxSpinButtonTo_p_wxWindow},{"_p_wxRadioBox", _p_wxRadioBoxTo_p_wxWindow},{"_p_wxScrollBar", _p_wxScrollBarTo_p_wxWindow},{"_p_wxComboBox", _p_wxComboBoxTo_p_wxWindow},{"_p_wxMiniFrame", _p_wxMiniFrameTo_p_wxWindow},{"_p_wxFrame", _p_wxFrameTo_p_wxWindow},{"_p_wxSpinCtrl", _p_wxSpinCtrlTo_p_wxWindow},{"_p_wxStatusBar", _p_wxStatusBarTo_p_wxWindow},{"_p_wxMDIParentFrame", _p_wxMDIParentFrameTo_p_wxWindow},{"_p_wxSashWindow", _p_wxSashWindowTo_p_wxWindow},{"_p_wxSplitterWindow", _p_wxSplitterWindowTo_p_wxWindow},{"_p_wxSplashScreenWindow", _p_wxSplashScreenWindowTo_p_wxWindow},{"_p_wxTopLevelWindow", _p_wxTopLevelWindowTo_p_wxWindow},{"_p_wxScrolledWindow", _p_wxScrolledWindowTo_p_wxWindow},{"_p_wxSashLayoutWindow", _p_wxSashLayoutWindowTo_p_wxWindow},{"_p_wxPopupWindow", _p_wxPopupWindowTo_p_wxWindow},{"_p_wxPyPopupTransientWindow", _p_wxPyPopupTransientWindowTo_p_wxWindow},{"_p_wxTipWindow", _p_wxTipWindowTo_p_wxWindow},{"_p_wxPyVScrolledWindow", _p_wxPyVScrolledWindowTo_p_wxWindow},{"_p_wxMDIClientWindow", _p_wxMDIClientWindowTo_p_wxWindow},{"_p_wxDynamicSashWindow", _p_wxDynamicSashWindowTo_p_wxWindow},{"_p_wxPyTreeCompanionWindow", _p_wxPyTreeCompanionWindowTo_p_wxWindow},{"_p_wxThinSplitterWindow", _p_wxThinSplitterWindowTo_p_wxWindow},{"_p_wxSplitterScrolledWindow", _p_wxSplitterScrolledWindowTo_p_wxWindow},{"_p_wxWindow"},{"_p_wxMenuBar", _p_wxMenuBarTo_p_wxWindow},{"_p_wxPageSetupDialog", _p_wxPageSetupDialogTo_p_wxWindow},{"_p_wxPrintDialog", _p_wxPrintDialogTo_p_wxWindow},{"_p_wxDialog", _p_wxDialogTo_p_wxWindow},{"_p_wxColourDialog", _p_wxColourDialogTo_p_wxWindow},{"_p_wxDirDialog", _p_wxDirDialogTo_p_wxWindow},{"_p_wxFontDialog", _p_wxFontDialogTo_p_wxWindow},{"_p_wxPanel", _p_wxPanelTo_p_wxWindow},{"_p_wxStaticText", _p_wxStaticTextTo_p_wxWindow},{"_p_wxPreviewControlBar", _p_wxPreviewControlBarTo_p_wxWindow},{"_p_wxPyPreviewControlBar", _p_wxPyPreviewControlBarTo_p_wxWindow},{"_p_wxControlWithItems", _p_wxControlWithItemsTo_p_wxWindow},{"_p_wxToolBar", _p_wxToolBarTo_p_wxWindow},{0}};
+static swig_type_info _swigt__p_wxPyTreeCompanionWindow[] = {{"_p_wxPyTreeCompanionWindow", 0, "wxPyTreeCompanionWindow *", 0},{"_p_wxPyTreeCompanionWindow"},{0}};
+static swig_type_info _swigt__p_wxThinSplitterWindow[] = {{"_p_wxThinSplitterWindow", 0, "wxThinSplitterWindow *", 0},{"_p_wxThinSplitterWindow"},{0}};
+static swig_type_info _swigt__p_wxSplitterScrolledWindow[] = {{"_p_wxSplitterScrolledWindow", 0, "wxSplitterScrolledWindow *", 0},{"_p_wxSplitterScrolledWindow"},{0}};
+static swig_type_info _swigt__p_wxValidator[] = {{"_p_wxValidator", 0, "wxValidator *", 0},{"_p_wxValidator"},{"_p_wxPyValidator", _p_wxPyValidatorTo_p_wxValidator},{0}};
+static swig_type_info _swigt__p_wxCommandEvent[] = {{"_p_wxCommandEvent", 0, "wxCommandEvent *", 0},{"_p_wxSashEvent", _p_wxSashEventTo_p_wxCommandEvent},{"_p_wxWindowDestroyEvent", _p_wxWindowDestroyEventTo_p_wxCommandEvent},{"_p_wxSplitterEvent", _p_wxSplitterEventTo_p_wxCommandEvent},{"_p_wxBookCtrlEvent", _p_wxBookCtrlEventTo_p_wxCommandEvent},{"_p_wxTextUrlEvent", _p_wxTextUrlEventTo_p_wxCommandEvent},{"_p_wxScrollEvent", _p_wxScrollEventTo_p_wxCommandEvent},{"_p_wxPyCommandEvent", _p_wxPyCommandEventTo_p_wxCommandEvent},{"_p_wxCommandEvent"},{"_p_wxContextMenuEvent", _p_wxContextMenuEventTo_p_wxCommandEvent},{"_p_wxChildFocusEvent", _p_wxChildFocusEventTo_p_wxCommandEvent},{"_p_wxNotebookEvent", _p_wxNotebookEventTo_p_wxCommandEvent},{"_p_wxListbookEvent", _p_wxListbookEventTo_p_wxCommandEvent},{"_p_wxListEvent", _p_wxListEventTo_p_wxCommandEvent},{"_p_wxWindowCreateEvent", _p_wxWindowCreateEventTo_p_wxCommandEvent},{"_p_wxDynamicSashSplitEvent", _p_wxDynamicSashSplitEventTo_p_wxCommandEvent},{"_p_wxTreeEvent", _p_wxTreeEventTo_p_wxCommandEvent},{"_p_wxHelpEvent", _p_wxHelpEventTo_p_wxCommandEvent},{"_p_wxNotifyEvent", _p_wxNotifyEventTo_p_wxCommandEvent},{"_p_wxDynamicSashUnifyEvent", _p_wxDynamicSashUnifyEventTo_p_wxCommandEvent},{"_p_wxFindDialogEvent", _p_wxFindDialogEventTo_p_wxCommandEvent},{"_p_wxUpdateUIEvent", _p_wxUpdateUIEventTo_p_wxCommandEvent},{0}};
+static swig_type_info _swigt__p_wxArrayString[] = {{"_p_wxArrayString", 0, "wxArrayString *", 0},{"_p_wxArrayString"},{0}};
+static swig_type_info _swigt__p_wxLEDNumberCtrl[] = {{"_p_wxLEDNumberCtrl", 0, "wxLEDNumberCtrl *", 0},{"_p_wxLEDNumberCtrl"},{0}};
+static swig_type_info _swigt__p_wxDynamicSashSplitEvent[] = {{"_p_wxDynamicSashSplitEvent", 0, "wxDynamicSashSplitEvent *", 0},{"_p_wxDynamicSashSplitEvent"},{0}};
+static swig_type_info _swigt__p_wxTreeItemId[] = {{"_p_wxTreeItemId", 0, "wxTreeItemId *", 0},{"_p_wxTreeItemId"},{0}};
+static swig_type_info _swigt__p_wxString[] = {{"_p_wxString", 0, "wxString *", 0},{"_p_wxString"},{0}};
+static swig_type_info _swigt__p_wxEvtHandler[] = {{"_p_wxEvtHandler", 0, "wxEvtHandler *", 0},{"_p_wxPyPreviewFrame", _p_wxPyPreviewFrameTo_p_wxEvtHandler},{"_p_wxPreviewFrame", _p_wxPreviewFrameTo_p_wxEvtHandler},{"_p_wxCheckBox", _p_wxCheckBoxTo_p_wxEvtHandler},{"_p_wxPyTreeCtrl", _p_wxPyTreeCtrlTo_p_wxEvtHandler},{"_p_wxRemotelyScrolledTreeCtrl", _p_wxRemotelyScrolledTreeCtrlTo_p_wxEvtHandler},{"_p_wxPyPanel", _p_wxPyPanelTo_p_wxEvtHandler},{"_p_wxMenu", _p_wxMenuTo_p_wxEvtHandler},{"_p_wxTaskBarIcon", _p_wxTaskBarIconTo_p_wxEvtHandler},{"_p_wxGenericDirCtrl", _p_wxGenericDirCtrlTo_p_wxEvtHandler},{"_p_wxPyListCtrl", _p_wxPyListCtrlTo_p_wxEvtHandler},{"_p_wxDirFilterListCtrl", _p_wxDirFilterListCtrlTo_p_wxEvtHandler},{"_p_wxPyTreeListCtrl", _p_wxPyTreeListCtrlTo_p_wxEvtHandler},{"_p_wxPreviewCanvas", _p_wxPreviewCanvasTo_p_wxEvtHandler},{"_p_wxStaticLine", _p_wxStaticLineTo_p_wxEvtHandler},{"_p_wxControl", _p_wxControlTo_p_wxEvtHandler},{"_p_wxPyControl", _p_wxPyControlTo_p_wxEvtHandler},{"_p_wxGauge", _p_wxGaugeTo_p_wxEvtHandler},{"_p_wxToolBarBase", _p_wxToolBarBaseTo_p_wxEvtHandler},{"_p_wxToggleButton", _p_wxToggleButtonTo_p_wxEvtHandler},{"_p_wxRadioButton", _p_wxRadioButtonTo_p_wxEvtHandler},{"_p_wxChoice", _p_wxChoiceTo_p_wxEvtHandler},{"_p_wxListView", _p_wxListViewTo_p_wxEvtHandler},{"_p_wxTextCtrl", _p_wxTextCtrlTo_p_wxEvtHandler},{"_p_wxNotebook", _p_wxNotebookTo_p_wxEvtHandler},{"_p_wxMDIChildFrame", _p_wxMDIChildFrameTo_p_wxEvtHandler},{"_p_wxPyWindow", _p_wxPyWindowTo_p_wxEvtHandler},{"_p_wxSplashScreen", _p_wxSplashScreenTo_p_wxEvtHandler},{"_p_wxListbook", _p_wxListbookTo_p_wxEvtHandler},{"_p_wxSingleChoiceDialog", _p_wxSingleChoiceDialogTo_p_wxEvtHandler},{"_p_wxMultiChoiceDialog", _p_wxMultiChoiceDialogTo_p_wxEvtHandler},{"_p_wxFileDialog", _p_wxFileDialogTo_p_wxEvtHandler},{"_p_wxMessageDialog", _p_wxMessageDialogTo_p_wxEvtHandler},{"_p_wxProgressDialog", _p_wxProgressDialogTo_p_wxEvtHandler},{"_p_wxFindReplaceDialog", _p_wxFindReplaceDialogTo_p_wxEvtHandler},{"_p_wxTextEntryDialog", _p_wxTextEntryDialogTo_p_wxEvtHandler},{"_p_wxStaticBitmap", _p_wxStaticBitmapTo_p_wxEvtHandler},{"_p_wxSlider", _p_wxSliderTo_p_wxEvtHandler},{"_p_wxStaticBox", _p_wxStaticBoxTo_p_wxEvtHandler},{"_p_wxEvtHandler"},{"_p_wxPyVListBox", _p_wxPyVListBoxTo_p_wxEvtHandler},{"_p_wxPyHtmlListBox", _p_wxPyHtmlListBoxTo_p_wxEvtHandler},{"_p_wxEditableListBox", _p_wxEditableListBoxTo_p_wxEvtHandler},{"_p_wxCheckListBox", _p_wxCheckListBoxTo_p_wxEvtHandler},{"_p_wxListBox", _p_wxListBoxTo_p_wxEvtHandler},{"_p_wxLEDNumberCtrl", _p_wxLEDNumberCtrlTo_p_wxEvtHandler},{"_p_wxBookCtrl", _p_wxBookCtrlTo_p_wxEvtHandler},{"_p_wxBitmapButton", _p_wxBitmapButtonTo_p_wxEvtHandler},{"_p_wxButton", _p_wxButtonTo_p_wxEvtHandler},{"_p_wxContextHelpButton", _p_wxContextHelpButtonTo_p_wxEvtHandler},{"_p_wxSpinButton", _p_wxSpinButtonTo_p_wxEvtHandler},{"_p_wxRadioBox", _p_wxRadioBoxTo_p_wxEvtHandler},{"_p_wxScrollBar", _p_wxScrollBarTo_p_wxEvtHandler},{"_p_wxComboBox", _p_wxComboBoxTo_p_wxEvtHandler},{"_p_wxMiniFrame", _p_wxMiniFrameTo_p_wxEvtHandler},{"_p_wxFrame", _p_wxFrameTo_p_wxEvtHandler},{"_p_wxSpinCtrl", _p_wxSpinCtrlTo_p_wxEvtHandler},{"_p_wxStatusBar", _p_wxStatusBarTo_p_wxEvtHandler},{"_p_wxMDIParentFrame", _p_wxMDIParentFrameTo_p_wxEvtHandler},{"_p_wxSplitterScrolledWindow", _p_wxSplitterScrolledWindowTo_p_wxEvtHandler},{"_p_wxWindow", _p_wxWindowTo_p_wxEvtHandler},{"_p_wxSplashScreenWindow", _p_wxSplashScreenWindowTo_p_wxEvtHandler},{"_p_wxSplitterWindow", _p_wxSplitterWindowTo_p_wxEvtHandler},{"_p_wxSashWindow", _p_wxSashWindowTo_p_wxEvtHandler},{"_p_wxSashLayoutWindow", _p_wxSashLayoutWindowTo_p_wxEvtHandler},{"_p_wxPopupWindow", _p_wxPopupWindowTo_p_wxEvtHandler},{"_p_wxPyPopupTransientWindow", _p_wxPyPopupTransientWindowTo_p_wxEvtHandler},{"_p_wxTipWindow", _p_wxTipWindowTo_p_wxEvtHandler},{"_p_wxPyVScrolledWindow", _p_wxPyVScrolledWindowTo_p_wxEvtHandler},{"_p_wxDynamicSashWindow", _p_wxDynamicSashWindowTo_p_wxEvtHandler},{"_p_wxPyTreeCompanionWindow", _p_wxPyTreeCompanionWindowTo_p_wxEvtHandler},{"_p_wxThinSplitterWindow", _p_wxThinSplitterWindowTo_p_wxEvtHandler},{"_p_wxMDIClientWindow", _p_wxMDIClientWindowTo_p_wxEvtHandler},{"_p_wxScrolledWindow", _p_wxScrolledWindowTo_p_wxEvtHandler},{"_p_wxTopLevelWindow", _p_wxTopLevelWindowTo_p_wxEvtHandler},{"_p_wxMenuBar", _p_wxMenuBarTo_p_wxEvtHandler},{"_p_wxPageSetupDialog", _p_wxPageSetupDialogTo_p_wxEvtHandler},{"_p_wxPrintDialog", _p_wxPrintDialogTo_p_wxEvtHandler},{"_p_wxDialog", _p_wxDialogTo_p_wxEvtHandler},{"_p_wxColourDialog", _p_wxColourDialogTo_p_wxEvtHandler},{"_p_wxDirDialog", _p_wxDirDialogTo_p_wxEvtHandler},{"_p_wxFontDialog", _p_wxFontDialogTo_p_wxEvtHandler},{"_p_wxPanel", _p_wxPanelTo_p_wxEvtHandler},{"_p_wxPyApp", _p_wxPyAppTo_p_wxEvtHandler},{"_p_wxStaticText", _p_wxStaticTextTo_p_wxEvtHandler},{"_p_wxPreviewControlBar", _p_wxPreviewControlBarTo_p_wxEvtHandler},{"_p_wxPyPreviewControlBar", _p_wxPyPreviewControlBarTo_p_wxEvtHandler},{"_p_wxControlWithItems", _p_wxControlWithItemsTo_p_wxEvtHandler},{"_p_wxToolBar", _p_wxToolBarTo_p_wxEvtHandler},{"_p_wxPyValidator", _p_wxPyValidatorTo_p_wxEvtHandler},{"_p_wxValidator", _p_wxValidatorTo_p_wxEvtHandler},{0}};
+static swig_type_info _swigt__p_wxFont[] = {{"_p_wxFont", 0, "wxFont *", 0},{"_p_wxFont"},{0}};
+static swig_type_info _swigt__p_wxDynamicSashUnifyEvent[] = {{"_p_wxDynamicSashUnifyEvent", 0, "wxDynamicSashUnifyEvent *", 0},{"_p_wxDynamicSashUnifyEvent"},{0}};
+static swig_type_info _swigt__p_wxControl[] = {{"_p_wxControl", 0, "wxControl *", 0},{"_p_wxBookCtrl", _p_wxBookCtrlTo_p_wxControl},{"_p_wxToolBar", _p_wxToolBarTo_p_wxControl},{"_p_wxToggleButton", _p_wxToggleButtonTo_p_wxControl},{"_p_wxRadioButton", _p_wxRadioButtonTo_p_wxControl},{"_p_wxLEDNumberCtrl", _p_wxLEDNumberCtrlTo_p_wxControl},{"_p_wxControl"},{"_p_wxPyControl", _p_wxPyControlTo_p_wxControl},{"_p_wxToolBarBase", _p_wxToolBarBaseTo_p_wxControl},{"_p_wxDirFilterListCtrl", _p_wxDirFilterListCtrlTo_p_wxControl},{"_p_wxPyListCtrl", _p_wxPyListCtrlTo_p_wxControl},{"_p_wxPyTreeListCtrl", _p_wxPyTreeListCtrlTo_p_wxControl},{"_p_wxComboBox", _p_wxComboBoxTo_p_wxControl},{"_p_wxGenericDirCtrl", _p_wxGenericDirCtrlTo_p_wxControl},{"_p_wxScrollBar", _p_wxScrollBarTo_p_wxControl},{"_p_wxControlWithItems", _p_wxControlWithItemsTo_p_wxControl},{"_p_wxGauge", _p_wxGaugeTo_p_wxControl},{"_p_wxStaticLine", _p_wxStaticLineTo_p_wxControl},{"_p_wxListbook", _p_wxListbookTo_p_wxControl},{"_p_wxRemotelyScrolledTreeCtrl", _p_wxRemotelyScrolledTreeCtrlTo_p_wxControl},{"_p_wxPyTreeCtrl", _p_wxPyTreeCtrlTo_p_wxControl},{"_p_wxCheckBox", _p_wxCheckBoxTo_p_wxControl},{"_p_wxRadioBox", _p_wxRadioBoxTo_p_wxControl},{"_p_wxChoice", _p_wxChoiceTo_p_wxControl},{"_p_wxListBox", _p_wxListBoxTo_p_wxControl},{"_p_wxCheckListBox", _p_wxCheckListBoxTo_p_wxControl},{"_p_wxListView", _p_wxListViewTo_p_wxControl},{"_p_wxNotebook", _p_wxNotebookTo_p_wxControl},{"_p_wxStaticBitmap", _p_wxStaticBitmapTo_p_wxControl},{"_p_wxSpinCtrl", _p_wxSpinCtrlTo_p_wxControl},{"_p_wxStaticText", _p_wxStaticTextTo_p_wxControl},{"_p_wxStaticBox", _p_wxStaticBoxTo_p_wxControl},{"_p_wxSlider", _p_wxSliderTo_p_wxControl},{"_p_wxContextHelpButton", _p_wxContextHelpButtonTo_p_wxControl},{"_p_wxSpinButton", _p_wxSpinButtonTo_p_wxControl},{"_p_wxButton", _p_wxButtonTo_p_wxControl},{"_p_wxBitmapButton", _p_wxBitmapButtonTo_p_wxControl},{"_p_wxTextCtrl", _p_wxTextCtrlTo_p_wxControl},{0}};
+static swig_type_info _swigt__p_wxPanel[] = {{"_p_wxPanel", 0, "wxPanel *", 0},{"_p_wxPanel"},{"_p_wxScrolledWindow", _p_wxScrolledWindowTo_p_wxPanel},{"_p_wxSplitterScrolledWindow", _p_wxSplitterScrolledWindowTo_p_wxPanel},{"_p_wxPyVScrolledWindow", _p_wxPyVScrolledWindowTo_p_wxPanel},{"_p_wxPyVListBox", _p_wxPyVListBoxTo_p_wxPanel},{"_p_wxPyHtmlListBox", _p_wxPyHtmlListBoxTo_p_wxPanel},{"_p_wxPyPanel", _p_wxPyPanelTo_p_wxPanel},{"_p_wxEditableListBox", _p_wxEditableListBoxTo_p_wxPanel},{"_p_wxPreviewCanvas", _p_wxPreviewCanvasTo_p_wxPanel},{"_p_wxPreviewControlBar", _p_wxPreviewControlBarTo_p_wxPanel},{"_p_wxPyPreviewControlBar", _p_wxPyPreviewControlBarTo_p_wxPanel},{0}};
+static swig_type_info _swigt__p_wxPyTreeItemData[] = {{"_p_wxPyTreeItemData", 0, "wxPyTreeItemData *", 0},{"_p_wxPyTreeItemData"},{0}};
+static swig_type_info _swigt__p_wxEvent[] = {{"_p_wxEvent", 0, "wxEvent *", 0},{"_p_wxContextMenuEvent", _p_wxContextMenuEventTo_p_wxEvent},{"_p_wxMenuEvent", _p_wxMenuEventTo_p_wxEvent},{"_p_wxCloseEvent", _p_wxCloseEventTo_p_wxEvent},{"_p_wxMouseEvent", _p_wxMouseEventTo_p_wxEvent},{"_p_wxEraseEvent", _p_wxEraseEventTo_p_wxEvent},{"_p_wxTreeEvent", _p_wxTreeEventTo_p_wxEvent},{"_p_wxSetCursorEvent", _p_wxSetCursorEventTo_p_wxEvent},{"_p_wxSplitterEvent", _p_wxSplitterEventTo_p_wxEvent},{"_p_wxInitDialogEvent", _p_wxInitDialogEventTo_p_wxEvent},{"_p_wxFindDialogEvent", _p_wxFindDialogEventTo_p_wxEvent},{"_p_wxScrollEvent", _p_wxScrollEventTo_p_wxEvent},{"_p_wxTextUrlEvent", _p_wxTextUrlEventTo_p_wxEvent},{"_p_wxBookCtrlEvent", _p_wxBookCtrlEventTo_p_wxEvent},{"_p_wxPyEvent", _p_wxPyEventTo_p_wxEvent},{"_p_wxNotifyEvent", _p_wxNotifyEventTo_p_wxEvent},{"_p_wxDynamicSashUnifyEvent", _p_wxDynamicSashUnifyEventTo_p_wxEvent},{"_p_wxCalculateLayoutEvent", _p_wxCalculateLayoutEventTo_p_wxEvent},{"_p_wxListEvent", _p_wxListEventTo_p_wxEvent},{"_p_wxDynamicSashSplitEvent", _p_wxDynamicSashSplitEventTo_p_wxEvent},{"_p_wxHelpEvent", _p_wxHelpEventTo_p_wxEvent},{"_p_wxNotebookEvent", _p_wxNotebookEventTo_p_wxEvent},{"_p_wxListbookEvent", _p_wxListbookEventTo_p_wxEvent},{"_p_wxEvent"},{"_p_wxIdleEvent", _p_wxIdleEventTo_p_wxEvent},{"_p_wxWindowCreateEvent", _p_wxWindowCreateEventTo_p_wxEvent},{"_p_wxQueryNewPaletteEvent", _p_wxQueryNewPaletteEventTo_p_wxEvent},{"_p_wxMaximizeEvent", _p_wxMaximizeEventTo_p_wxEvent},{"_p_wxIconizeEvent", _p_wxIconizeEventTo_p_wxEvent},{"_p_wxActivateEvent", _p_wxActivateEventTo_p_wxEvent},{"_p_wxSizeEvent", _p_wxSizeEventTo_p_wxEvent},{"_p_wxMoveEvent", _p_wxMoveEventTo_p_wxEvent},{"_p_wxPaintEvent", _p_wxPaintEventTo_p_wxEvent},{"_p_wxNcPaintEvent", _p_wxNcPaintEventTo_p_wxEvent},{"_p_wxUpdateUIEvent", _p_wxUpdateUIEventTo_p_wxEvent},{"_p_wxPaletteChangedEvent", _p_wxPaletteChangedEventTo_p_wxEvent},{"_p_wxDisplayChangedEvent", _p_wxDisplayChangedEventTo_p_wxEvent},{"_p_wxMouseCaptureChangedEvent", _p_wxMouseCaptureChangedEventTo_p_wxEvent},{"_p_wxSysColourChangedEvent", _p_wxSysColourChangedEventTo_p_wxEvent},{"_p_wxDropFilesEvent", _p_wxDropFilesEventTo_p_wxEvent},{"_p_wxFocusEvent", _p_wxFocusEventTo_p_wxEvent},{"_p_wxChildFocusEvent", _p_wxChildFocusEventTo_p_wxEvent},{"_p_wxSashEvent", _p_wxSashEventTo_p_wxEvent},{"_p_wxQueryLayoutInfoEvent", _p_wxQueryLayoutInfoEventTo_p_wxEvent},{"_p_wxShowEvent", _p_wxShowEventTo_p_wxEvent},{"_p_wxCommandEvent", _p_wxCommandEventTo_p_wxEvent},{"_p_wxPyCommandEvent", _p_wxPyCommandEventTo_p_wxEvent},{"_p_wxWindowDestroyEvent", _p_wxWindowDestroyEventTo_p_wxEvent},{"_p_wxNavigationKeyEvent", _p_wxNavigationKeyEventTo_p_wxEvent},{"_p_wxKeyEvent", _p_wxKeyEventTo_p_wxEvent},{"_p_wxScrollWinEvent", _p_wxScrollWinEventTo_p_wxEvent},{"_p_wxTaskBarIconEvent", _p_wxTaskBarIconEventTo_p_wxEvent},{0}};
+static swig_type_info _swigt__p_int[] = {{"_p_int", 0, "int *", 0},{"_p_int"},{0}};
+
+static swig_type_info *swig_types_initial[] = {
+_swigt__p_wxEditableListBox, 
+_swigt__p_wxObject, 
+_swigt__p_wxColour, 
+_swigt__p_wxPyTreeCtrl, 
+_swigt__p_wxRemotelyScrolledTreeCtrl, 
+_swigt__p_wxTreeListColumnInfo, 
+_swigt__p_wxPyTreeListCtrl, 
+_swigt__p_wxImageList, 
+_swigt__p_wxScrollBar, 
+_swigt__p_wxDynamicSashWindow, 
+_swigt__p_wxScrolledWindow, 
+_swigt__p_wxSplitterWindow, 
+_swigt__p_wxWindow, 
+_swigt__p_wxPyTreeCompanionWindow, 
+_swigt__p_wxThinSplitterWindow, 
+_swigt__p_wxSplitterScrolledWindow, 
+_swigt__p_wxValidator, 
+_swigt__p_wxCommandEvent, 
+_swigt__p_wxArrayString, 
+_swigt__p_wxLEDNumberCtrl, 
+_swigt__p_wxDynamicSashSplitEvent, 
+_swigt__p_wxTreeItemId, 
+_swigt__p_wxString, 
+_swigt__p_wxEvtHandler, 
+_swigt__p_wxFont, 
+_swigt__p_wxDynamicSashUnifyEvent, 
+_swigt__p_wxControl, 
+_swigt__p_wxPanel, 
+_swigt__p_wxPyTreeItemData, 
+_swigt__p_wxEvent, 
+_swigt__p_int, 
+0
+};
+
+
+/* -------- TYPE CONVERSION AND EQUIVALENCE RULES (END) -------- */
+
+static swig_const_info swig_const_table[] = {
+{ SWIG_PY_INT,     (char *)"wxEVT_DYNAMIC_SASH_SPLIT", (long) wxEVT_DYNAMIC_SASH_SPLIT, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"wxEVT_DYNAMIC_SASH_UNIFY", (long) wxEVT_DYNAMIC_SASH_UNIFY, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"DS_MANAGE_SCROLLBARS", (long) wxDS_MANAGE_SCROLLBARS, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"DS_DRAG_CORNER", (long) wxDS_DRAG_CORNER, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"EL_ALLOW_NEW", (long) wxEL_ALLOW_NEW, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"EL_ALLOW_EDIT", (long) wxEL_ALLOW_EDIT, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"EL_ALLOW_DELETE", (long) wxEL_ALLOW_DELETE, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"LED_ALIGN_LEFT", (long) wxLED_ALIGN_LEFT, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"LED_ALIGN_RIGHT", (long) wxLED_ALIGN_RIGHT, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"LED_ALIGN_CENTER", (long) wxLED_ALIGN_CENTER, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"LED_ALIGN_MASK", (long) wxLED_ALIGN_MASK, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"LED_DRAW_FADED", (long) wxLED_DRAW_FADED, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"TL_ALIGN_LEFT", (long) wxTL_ALIGN_LEFT, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"TL_ALIGN_RIGHT", (long) wxTL_ALIGN_RIGHT, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"TL_ALIGN_CENTER", (long) wxTL_ALIGN_CENTER, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"TREE_HITTEST_ONITEMCOLUMN", (long) wxTREE_HITTEST_ONITEMCOLUMN, 0, 0, 0},
+{0}};
+
+#ifdef __cplusplus
+}
+#endif
+
+#ifdef __cplusplus
+extern "C"
+#endif
+SWIGEXPORT(void) SWIG_init(void) {
+    static PyObject *SWIG_globals = 0; 
+    static int       typeinit = 0;
+    PyObject *m, *d;
+    int       i;
+    if (!SWIG_globals) SWIG_globals = SWIG_newvarlink();
+    m = Py_InitModule((char *) SWIG_name, SwigMethods);
+    d = PyModule_GetDict(m);
+    
+    if (!typeinit) {
+        for (i = 0; swig_types_initial[i]; i++) {
+            swig_types[i] = SWIG_TypeRegister(swig_types_initial[i]);
+        }
+        typeinit = 1;
+    }
+    SWIG_InstallConstants(d,swig_const_table);
+    
+    
+    
+    wxPyPtrTypeMap_Add("wxTreeCompanionWindow", "wxPyTreeCompanionWindow");
+    wxPyPtrTypeMap_Add("wxTreeListCtrl", "wxPyTreeListCtrl");
+    
+}
+
diff --git a/wxPython/contrib/gizmos/msw/gizmos.py b/wxPython/contrib/gizmos/msw/gizmos.py
new file mode 100644 (file)
index 0000000..61d68a4
--- /dev/null
@@ -0,0 +1,835 @@
+# This file was created automatically by SWIG.
+# Don't modify this file, modify the SWIG interface instead.
+
+import _gizmos
+
+import windows
+import core
+import controls
+wx = core 
+wxEVT_DYNAMIC_SASH_SPLIT = _gizmos.wxEVT_DYNAMIC_SASH_SPLIT
+wxEVT_DYNAMIC_SASH_UNIFY = _gizmos.wxEVT_DYNAMIC_SASH_UNIFY
+DS_MANAGE_SCROLLBARS = _gizmos.DS_MANAGE_SCROLLBARS
+DS_DRAG_CORNER = _gizmos.DS_DRAG_CORNER
+class DynamicSashSplitEvent(core.CommandEvent):
+    """"""
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxDynamicSashSplitEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__(Object target) -> DynamicSashSplitEvent"""
+        newobj = _gizmos.new_DynamicSashSplitEvent(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+
+class DynamicSashSplitEventPtr(DynamicSashSplitEvent):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = DynamicSashSplitEvent
+_gizmos.DynamicSashSplitEvent_swigregister(DynamicSashSplitEventPtr)
+
+class DynamicSashUnifyEvent(core.CommandEvent):
+    """"""
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxDynamicSashUnifyEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__(Object target) -> DynamicSashUnifyEvent"""
+        newobj = _gizmos.new_DynamicSashUnifyEvent(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+
+class DynamicSashUnifyEventPtr(DynamicSashUnifyEvent):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = DynamicSashUnifyEvent
+_gizmos.DynamicSashUnifyEvent_swigregister(DynamicSashUnifyEventPtr)
+
+class DynamicSashWindow(core.Window):
+    """"""
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxDynamicSashWindow instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__(Window parent, int id, Point pos=DefaultPosition, Size size=DefaultSize, 
+    long style=wxCLIP_CHILDREN|wxDS_MANAGE_SCROLLBARS|wxDS_DRAG_CORNER, 
+    wxString name=wxPyDynamicSashNameStr) -> DynamicSashWindow"""
+        newobj = _gizmos.new_DynamicSashWindow(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+        self._setOORInfo(self)
+
+    def Create(*args, **kwargs):
+        """Create(Window parent, int id, Point pos=DefaultPosition, Size size=DefaultSize, 
+    long style=wxCLIP_CHILDREN|wxDS_MANAGE_SCROLLBARS|wxDS_DRAG_CORNER, 
+    wxString name=wxPyDynamicSashNameStr) -> bool"""
+        return _gizmos.DynamicSashWindow_Create(*args, **kwargs)
+
+    def GetHScrollBar(*args, **kwargs):
+        """GetHScrollBar(Window child) -> ScrollBar"""
+        return _gizmos.DynamicSashWindow_GetHScrollBar(*args, **kwargs)
+
+    def GetVScrollBar(*args, **kwargs):
+        """GetVScrollBar(Window child) -> ScrollBar"""
+        return _gizmos.DynamicSashWindow_GetVScrollBar(*args, **kwargs)
+
+
+class DynamicSashWindowPtr(DynamicSashWindow):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = DynamicSashWindow
+_gizmos.DynamicSashWindow_swigregister(DynamicSashWindowPtr)
+
+def PreDynamicSashWindow(*args, **kwargs):
+    """PreDynamicSashWindow() -> DynamicSashWindow"""
+    val = _gizmos.new_PreDynamicSashWindow(*args, **kwargs)
+    val.thisown = 1
+    return val
+
+EVT_DYNAMIC_SASH_SPLIT = wx.PyEventBinder( wxEVT_DYNAMIC_SASH_SPLIT, 1 )
+EVT_DYNAMIC_SASH_UNIFY = wx.PyEventBinder( wxEVT_DYNAMIC_SASH_UNIFY, 1 )
+
+EL_ALLOW_NEW = _gizmos.EL_ALLOW_NEW
+EL_ALLOW_EDIT = _gizmos.EL_ALLOW_EDIT
+EL_ALLOW_DELETE = _gizmos.EL_ALLOW_DELETE
+class EditableListBox(windows.Panel):
+    """"""
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxEditableListBox instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__(Window parent, int id, wxString label, Point pos=DefaultPosition, 
+    Size size=DefaultSize, long style=wxEL_ALLOW_NEW|wxEL_ALLOW_EDIT|wxEL_ALLOW_DELETE, 
+    wxString name=wxPyEditableListBoxNameStr) -> EditableListBox"""
+        newobj = _gizmos.new_EditableListBox(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+        self._setOORInfo(self)
+
+    def SetStrings(*args, **kwargs):
+        """SetStrings(wxArrayString strings)"""
+        return _gizmos.EditableListBox_SetStrings(*args, **kwargs)
+
+    def GetStrings(*args, **kwargs):
+        """GetStrings() -> PyObject"""
+        return _gizmos.EditableListBox_GetStrings(*args, **kwargs)
+
+    def GetListCtrl(*args, **kwargs):
+        """GetListCtrl() -> wxListCtrl"""
+        return _gizmos.EditableListBox_GetListCtrl(*args, **kwargs)
+
+    def GetDelButton(*args, **kwargs):
+        """GetDelButton() -> BitmapButton"""
+        return _gizmos.EditableListBox_GetDelButton(*args, **kwargs)
+
+    def GetNewButton(*args, **kwargs):
+        """GetNewButton() -> BitmapButton"""
+        return _gizmos.EditableListBox_GetNewButton(*args, **kwargs)
+
+    def GetUpButton(*args, **kwargs):
+        """GetUpButton() -> BitmapButton"""
+        return _gizmos.EditableListBox_GetUpButton(*args, **kwargs)
+
+    def GetDownButton(*args, **kwargs):
+        """GetDownButton() -> BitmapButton"""
+        return _gizmos.EditableListBox_GetDownButton(*args, **kwargs)
+
+    def GetEditButton(*args, **kwargs):
+        """GetEditButton() -> BitmapButton"""
+        return _gizmos.EditableListBox_GetEditButton(*args, **kwargs)
+
+
+class EditableListBoxPtr(EditableListBox):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = EditableListBox
+_gizmos.EditableListBox_swigregister(EditableListBoxPtr)
+
+class RemotelyScrolledTreeCtrl(controls.TreeCtrl):
+    """"""
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxRemotelyScrolledTreeCtrl instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__(Window parent, int id, Point pos=DefaultPosition, Size size=DefaultSize, 
+    long style=TR_HAS_BUTTONS) -> RemotelyScrolledTreeCtrl"""
+        newobj = _gizmos.new_RemotelyScrolledTreeCtrl(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+        self._setOORInfo(self)
+
+    def HideVScrollbar(*args, **kwargs):
+        """HideVScrollbar()"""
+        return _gizmos.RemotelyScrolledTreeCtrl_HideVScrollbar(*args, **kwargs)
+
+    def AdjustRemoteScrollbars(*args, **kwargs):
+        """AdjustRemoteScrollbars()"""
+        return _gizmos.RemotelyScrolledTreeCtrl_AdjustRemoteScrollbars(*args, **kwargs)
+
+    def GetScrolledWindow(*args, **kwargs):
+        """GetScrolledWindow() -> ScrolledWindow"""
+        return _gizmos.RemotelyScrolledTreeCtrl_GetScrolledWindow(*args, **kwargs)
+
+    def ScrollToLine(*args, **kwargs):
+        """ScrollToLine(int posHoriz, int posVert)"""
+        return _gizmos.RemotelyScrolledTreeCtrl_ScrollToLine(*args, **kwargs)
+
+    def SetCompanionWindow(*args, **kwargs):
+        """SetCompanionWindow(Window companion)"""
+        return _gizmos.RemotelyScrolledTreeCtrl_SetCompanionWindow(*args, **kwargs)
+
+    def GetCompanionWindow(*args, **kwargs):
+        """GetCompanionWindow() -> Window"""
+        return _gizmos.RemotelyScrolledTreeCtrl_GetCompanionWindow(*args, **kwargs)
+
+
+class RemotelyScrolledTreeCtrlPtr(RemotelyScrolledTreeCtrl):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = RemotelyScrolledTreeCtrl
+_gizmos.RemotelyScrolledTreeCtrl_swigregister(RemotelyScrolledTreeCtrlPtr)
+
+class TreeCompanionWindow(core.Window):
+    """"""
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxPyTreeCompanionWindow instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__(Window parent, int id=-1, Point pos=DefaultPosition, 
+    Size size=DefaultSize, long style=0) -> TreeCompanionWindow"""
+        newobj = _gizmos.new_TreeCompanionWindow(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+        self._setOORInfo(self);self._setCallbackInfo(self, TreeCompanionWindow)
+
+    def _setCallbackInfo(*args, **kwargs):
+        """_setCallbackInfo(PyObject self, PyObject _class)"""
+        return _gizmos.TreeCompanionWindow__setCallbackInfo(*args, **kwargs)
+
+    def GetTreeCtrl(*args, **kwargs):
+        """GetTreeCtrl() -> RemotelyScrolledTreeCtrl"""
+        return _gizmos.TreeCompanionWindow_GetTreeCtrl(*args, **kwargs)
+
+    def SetTreeCtrl(*args, **kwargs):
+        """SetTreeCtrl(RemotelyScrolledTreeCtrl treeCtrl)"""
+        return _gizmos.TreeCompanionWindow_SetTreeCtrl(*args, **kwargs)
+
+
+class TreeCompanionWindowPtr(TreeCompanionWindow):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = TreeCompanionWindow
+_gizmos.TreeCompanionWindow_swigregister(TreeCompanionWindowPtr)
+
+class ThinSplitterWindow(windows.SplitterWindow):
+    """"""
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxThinSplitterWindow instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__(Window parent, int id=-1, Point pos=DefaultPosition, 
+    Size size=DefaultSize, long style=wxSP_3D|wxCLIP_CHILDREN) -> ThinSplitterWindow"""
+        newobj = _gizmos.new_ThinSplitterWindow(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+        self._setOORInfo(self)
+
+
+class ThinSplitterWindowPtr(ThinSplitterWindow):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = ThinSplitterWindow
+_gizmos.ThinSplitterWindow_swigregister(ThinSplitterWindowPtr)
+
+class SplitterScrolledWindow(windows.ScrolledWindow):
+    """"""
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxSplitterScrolledWindow instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__(Window parent, int id=-1, Point pos=DefaultPosition, 
+    Size size=DefaultSize, long style=0) -> SplitterScrolledWindow"""
+        newobj = _gizmos.new_SplitterScrolledWindow(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+        self._setOORInfo(self)
+
+
+class SplitterScrolledWindowPtr(SplitterScrolledWindow):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = SplitterScrolledWindow
+_gizmos.SplitterScrolledWindow_swigregister(SplitterScrolledWindowPtr)
+
+LED_ALIGN_LEFT = _gizmos.LED_ALIGN_LEFT
+LED_ALIGN_RIGHT = _gizmos.LED_ALIGN_RIGHT
+LED_ALIGN_CENTER = _gizmos.LED_ALIGN_CENTER
+LED_ALIGN_MASK = _gizmos.LED_ALIGN_MASK
+LED_DRAW_FADED = _gizmos.LED_DRAW_FADED
+class LEDNumberCtrl(core.Control):
+    """"""
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxLEDNumberCtrl instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__(Window parent, int id=-1, Point pos=DefaultPosition, 
+    Size size=DefaultSize, long style=wxLED_ALIGN_LEFT|wxLED_DRAW_FADED) -> LEDNumberCtrl"""
+        newobj = _gizmos.new_LEDNumberCtrl(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+        self._setOORInfo(self)
+
+    def Create(*args, **kwargs):
+        """Create(Window parent, int id=-1, Point pos=DefaultPosition, 
+    Size size=DefaultSize, long style=wxLED_ALIGN_LEFT|wxLED_DRAW_FADED) -> bool"""
+        return _gizmos.LEDNumberCtrl_Create(*args, **kwargs)
+
+    def GetAlignment(*args, **kwargs):
+        """GetAlignment() -> wxLEDValueAlign"""
+        return _gizmos.LEDNumberCtrl_GetAlignment(*args, **kwargs)
+
+    def GetDrawFaded(*args, **kwargs):
+        """GetDrawFaded() -> bool"""
+        return _gizmos.LEDNumberCtrl_GetDrawFaded(*args, **kwargs)
+
+    def GetValue(*args, **kwargs):
+        """GetValue() -> wxString"""
+        return _gizmos.LEDNumberCtrl_GetValue(*args, **kwargs)
+
+    def SetAlignment(*args, **kwargs):
+        """SetAlignment(wxLEDValueAlign Alignment, bool Redraw=true)"""
+        return _gizmos.LEDNumberCtrl_SetAlignment(*args, **kwargs)
+
+    def SetDrawFaded(*args, **kwargs):
+        """SetDrawFaded(bool DrawFaded, bool Redraw=true)"""
+        return _gizmos.LEDNumberCtrl_SetDrawFaded(*args, **kwargs)
+
+    def SetValue(*args, **kwargs):
+        """SetValue(wxString Value, bool Redraw=true)"""
+        return _gizmos.LEDNumberCtrl_SetValue(*args, **kwargs)
+
+
+class LEDNumberCtrlPtr(LEDNumberCtrl):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = LEDNumberCtrl
+_gizmos.LEDNumberCtrl_swigregister(LEDNumberCtrlPtr)
+
+def PreLEDNumberCtrl(*args, **kwargs):
+    """PreLEDNumberCtrl() -> LEDNumberCtrl"""
+    val = _gizmos.new_PreLEDNumberCtrl(*args, **kwargs)
+    val.thisown = 1
+    return val
+
+TL_ALIGN_LEFT = _gizmos.TL_ALIGN_LEFT
+TL_ALIGN_RIGHT = _gizmos.TL_ALIGN_RIGHT
+TL_ALIGN_CENTER = _gizmos.TL_ALIGN_CENTER
+TREE_HITTEST_ONITEMCOLUMN = _gizmos.TREE_HITTEST_ONITEMCOLUMN
+class TreeListColumnInfo(core.Object):
+    """"""
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxTreeListColumnInfo instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__(wxString text=wxPyEmptyString, int image=-1, size_t width=100, 
+    wxTreeListColumnAlign alignment=TL_ALIGN_LEFT) -> TreeListColumnInfo"""
+        newobj = _gizmos.new_TreeListColumnInfo(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+    def GetAlignment(*args, **kwargs):
+        """GetAlignment() -> wxTreeListColumnAlign"""
+        return _gizmos.TreeListColumnInfo_GetAlignment(*args, **kwargs)
+
+    def GetText(*args, **kwargs):
+        """GetText() -> wxString"""
+        return _gizmos.TreeListColumnInfo_GetText(*args, **kwargs)
+
+    def GetImage(*args, **kwargs):
+        """GetImage() -> int"""
+        return _gizmos.TreeListColumnInfo_GetImage(*args, **kwargs)
+
+    def GetSelectedImage(*args, **kwargs):
+        """GetSelectedImage() -> int"""
+        return _gizmos.TreeListColumnInfo_GetSelectedImage(*args, **kwargs)
+
+    def GetWidth(*args, **kwargs):
+        """GetWidth() -> size_t"""
+        return _gizmos.TreeListColumnInfo_GetWidth(*args, **kwargs)
+
+    def SetAlignment(*args, **kwargs):
+        """SetAlignment(wxTreeListColumnAlign alignment)"""
+        return _gizmos.TreeListColumnInfo_SetAlignment(*args, **kwargs)
+
+    def SetText(*args, **kwargs):
+        """SetText(wxString text)"""
+        return _gizmos.TreeListColumnInfo_SetText(*args, **kwargs)
+
+    def SetImage(*args, **kwargs):
+        """SetImage(int image)"""
+        return _gizmos.TreeListColumnInfo_SetImage(*args, **kwargs)
+
+    def SetSelectedImage(*args, **kwargs):
+        """SetSelectedImage(int image)"""
+        return _gizmos.TreeListColumnInfo_SetSelectedImage(*args, **kwargs)
+
+    def SetWidth(*args, **kwargs):
+        """SetWidth(size_t with)"""
+        return _gizmos.TreeListColumnInfo_SetWidth(*args, **kwargs)
+
+
+class TreeListColumnInfoPtr(TreeListColumnInfo):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = TreeListColumnInfo
+_gizmos.TreeListColumnInfo_swigregister(TreeListColumnInfoPtr)
+
+class TreeListCtrl(core.Control):
+    """"""
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxPyTreeListCtrl instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__(Window parent, int id=-1, Point pos=DefaultPosition, 
+    Size size=DefaultSize, long style=TR_DEFAULT_STYLE, 
+    Validator validator=DefaultValidator, 
+    wxString name=wxPyTreeListCtrlNameStr) -> TreeListCtrl"""
+        newobj = _gizmos.new_TreeListCtrl(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+        self._setOORInfo(self);self._setCallbackInfo(self, TreeListCtrl)
+
+    def Create(*args, **kwargs):
+        """Create(Window parent, int id=-1, Point pos=DefaultPosition, 
+    Size size=DefaultSize, long style=TR_DEFAULT_STYLE, 
+    Validator validator=DefaultValidator, 
+    wxString name=wxPyTreeListCtrlNameStr) -> bool"""
+        return _gizmos.TreeListCtrl_Create(*args, **kwargs)
+
+    def _setCallbackInfo(*args, **kwargs):
+        """_setCallbackInfo(PyObject self, PyObject _class)"""
+        return _gizmos.TreeListCtrl__setCallbackInfo(*args, **kwargs)
+
+    def GetCount(*args, **kwargs):
+        """GetCount() -> size_t"""
+        return _gizmos.TreeListCtrl_GetCount(*args, **kwargs)
+
+    def GetIndent(*args, **kwargs):
+        """GetIndent() -> unsigned int"""
+        return _gizmos.TreeListCtrl_GetIndent(*args, **kwargs)
+
+    def SetIndent(*args, **kwargs):
+        """SetIndent(unsigned int indent)"""
+        return _gizmos.TreeListCtrl_SetIndent(*args, **kwargs)
+
+    def GetSpacing(*args, **kwargs):
+        """GetSpacing() -> unsigned int"""
+        return _gizmos.TreeListCtrl_GetSpacing(*args, **kwargs)
+
+    def SetSpacing(*args, **kwargs):
+        """SetSpacing(unsigned int spacing)"""
+        return _gizmos.TreeListCtrl_SetSpacing(*args, **kwargs)
+
+    def GetLineSpacing(*args, **kwargs):
+        """GetLineSpacing() -> unsigned int"""
+        return _gizmos.TreeListCtrl_GetLineSpacing(*args, **kwargs)
+
+    def SetLineSpacing(*args, **kwargs):
+        """SetLineSpacing(unsigned int spacing)"""
+        return _gizmos.TreeListCtrl_SetLineSpacing(*args, **kwargs)
+
+    def GetImageList(*args, **kwargs):
+        """GetImageList() -> wxImageList"""
+        return _gizmos.TreeListCtrl_GetImageList(*args, **kwargs)
+
+    def GetStateImageList(*args, **kwargs):
+        """GetStateImageList() -> wxImageList"""
+        return _gizmos.TreeListCtrl_GetStateImageList(*args, **kwargs)
+
+    def GetButtonsImageList(*args, **kwargs):
+        """GetButtonsImageList() -> wxImageList"""
+        return _gizmos.TreeListCtrl_GetButtonsImageList(*args, **kwargs)
+
+    def SetImageList(*args, **kwargs):
+        """SetImageList(wxImageList imageList)"""
+        return _gizmos.TreeListCtrl_SetImageList(*args, **kwargs)
+
+    def SetStateImageList(*args, **kwargs):
+        """SetStateImageList(wxImageList imageList)"""
+        return _gizmos.TreeListCtrl_SetStateImageList(*args, **kwargs)
+
+    def SetButtonsImageList(*args, **kwargs):
+        """SetButtonsImageList(wxImageList imageList)"""
+        return _gizmos.TreeListCtrl_SetButtonsImageList(*args, **kwargs)
+
+    def AssignImageList(*args, **kwargs):
+        """AssignImageList(wxImageList imageList)"""
+        val = _gizmos.TreeListCtrl_AssignImageList(*args, **kwargs)
+        args[1].thisown = 0
+        return val
+
+    def AssignStateImageList(*args, **kwargs):
+        """AssignStateImageList(wxImageList imageList)"""
+        val = _gizmos.TreeListCtrl_AssignStateImageList(*args, **kwargs)
+        args[1].thisown = 0
+        return val
+
+    def AssignButtonsImageList(*args, **kwargs):
+        """AssignButtonsImageList(wxImageList imageList)"""
+        val = _gizmos.TreeListCtrl_AssignButtonsImageList(*args, **kwargs)
+        args[1].thisown = 0
+        return val
+
+    def AddColumn(*args, **kwargs):
+        """AddColumn(wxString text)"""
+        return _gizmos.TreeListCtrl_AddColumn(*args, **kwargs)
+
+    def AddColumnInfo(*args, **kwargs):
+        """AddColumnInfo(TreeListColumnInfo col)"""
+        return _gizmos.TreeListCtrl_AddColumnInfo(*args, **kwargs)
+
+    def InsertColumn(*args, **kwargs):
+        """InsertColumn(size_t before, wxString text)"""
+        return _gizmos.TreeListCtrl_InsertColumn(*args, **kwargs)
+
+    def InsertColumnInfo(*args, **kwargs):
+        """InsertColumnInfo(size_t before, TreeListColumnInfo col)"""
+        return _gizmos.TreeListCtrl_InsertColumnInfo(*args, **kwargs)
+
+    def RemoveColumn(*args, **kwargs):
+        """RemoveColumn(size_t column)"""
+        return _gizmos.TreeListCtrl_RemoveColumn(*args, **kwargs)
+
+    def GetColumnCount(*args, **kwargs):
+        """GetColumnCount() -> size_t"""
+        return _gizmos.TreeListCtrl_GetColumnCount(*args, **kwargs)
+
+    def SetColumnWidth(*args, **kwargs):
+        """SetColumnWidth(size_t column, size_t width)"""
+        return _gizmos.TreeListCtrl_SetColumnWidth(*args, **kwargs)
+
+    def GetColumnWidth(*args, **kwargs):
+        """GetColumnWidth(size_t column) -> int"""
+        return _gizmos.TreeListCtrl_GetColumnWidth(*args, **kwargs)
+
+    def SetMainColumn(*args, **kwargs):
+        """SetMainColumn(size_t column)"""
+        return _gizmos.TreeListCtrl_SetMainColumn(*args, **kwargs)
+
+    def GetMainColumn(*args, **kwargs):
+        """GetMainColumn() -> size_t"""
+        return _gizmos.TreeListCtrl_GetMainColumn(*args, **kwargs)
+
+    def SetColumnText(*args, **kwargs):
+        """SetColumnText(size_t column, wxString text)"""
+        return _gizmos.TreeListCtrl_SetColumnText(*args, **kwargs)
+
+    def GetColumnText(*args, **kwargs):
+        """GetColumnText(size_t column) -> wxString"""
+        return _gizmos.TreeListCtrl_GetColumnText(*args, **kwargs)
+
+    def SetColumn(*args, **kwargs):
+        """SetColumn(size_t column, TreeListColumnInfo info)"""
+        return _gizmos.TreeListCtrl_SetColumn(*args, **kwargs)
+
+    def GetColumn(*args, **kwargs):
+        """GetColumn(size_t column) -> TreeListColumnInfo"""
+        return _gizmos.TreeListCtrl_GetColumn(*args, **kwargs)
+
+    def SetColumnAlignment(*args, **kwargs):
+        """SetColumnAlignment(size_t column, wxTreeListColumnAlign align)"""
+        return _gizmos.TreeListCtrl_SetColumnAlignment(*args, **kwargs)
+
+    def GetColumnAlignment(*args, **kwargs):
+        """GetColumnAlignment(size_t column) -> wxTreeListColumnAlign"""
+        return _gizmos.TreeListCtrl_GetColumnAlignment(*args, **kwargs)
+
+    def SetColumnImage(*args, **kwargs):
+        """SetColumnImage(size_t column, int image)"""
+        return _gizmos.TreeListCtrl_SetColumnImage(*args, **kwargs)
+
+    def GetColumnImage(*args, **kwargs):
+        """GetColumnImage(size_t column) -> int"""
+        return _gizmos.TreeListCtrl_GetColumnImage(*args, **kwargs)
+
+    def GetItemText(*args, **kwargs):
+        """GetItemText(TreeItemId item, int column=-1) -> wxString"""
+        return _gizmos.TreeListCtrl_GetItemText(*args, **kwargs)
+
+    def GetItemImage(*args, **kwargs):
+        """GetItemImage(TreeItemId item, int column=-1, wxTreeItemIcon which=TreeItemIcon_Normal) -> int"""
+        return _gizmos.TreeListCtrl_GetItemImage(*args, **kwargs)
+
+    def SetItemText(*args, **kwargs):
+        """SetItemText(TreeItemId item, wxString text, int column=-1)"""
+        return _gizmos.TreeListCtrl_SetItemText(*args, **kwargs)
+
+    def SetItemImage(*args, **kwargs):
+        """SetItemImage(TreeItemId item, int image, int column=-1, wxTreeItemIcon which=TreeItemIcon_Normal)"""
+        return _gizmos.TreeListCtrl_SetItemImage(*args, **kwargs)
+
+    def GetItemData(*args, **kwargs):
+        """GetItemData(TreeItemId item) -> TreeItemData"""
+        return _gizmos.TreeListCtrl_GetItemData(*args, **kwargs)
+
+    def SetItemData(*args, **kwargs):
+        """SetItemData(TreeItemId item, TreeItemData data)"""
+        return _gizmos.TreeListCtrl_SetItemData(*args, **kwargs)
+
+    def GetItemPyData(*args, **kwargs):
+        """GetItemPyData(TreeItemId item) -> PyObject"""
+        return _gizmos.TreeListCtrl_GetItemPyData(*args, **kwargs)
+
+    def SetItemPyData(*args, **kwargs):
+        """SetItemPyData(TreeItemId item, PyObject obj)"""
+        return _gizmos.TreeListCtrl_SetItemPyData(*args, **kwargs)
+
+    def SetItemHasChildren(*args, **kwargs):
+        """SetItemHasChildren(TreeItemId item, bool has=True)"""
+        return _gizmos.TreeListCtrl_SetItemHasChildren(*args, **kwargs)
+
+    def SetItemBold(*args, **kwargs):
+        """SetItemBold(TreeItemId item, bool bold=True)"""
+        return _gizmos.TreeListCtrl_SetItemBold(*args, **kwargs)
+
+    def SetItemTextColour(*args, **kwargs):
+        """SetItemTextColour(TreeItemId item, wxColour col)"""
+        return _gizmos.TreeListCtrl_SetItemTextColour(*args, **kwargs)
+
+    def SetItemBackgroundColour(*args, **kwargs):
+        """SetItemBackgroundColour(TreeItemId item, wxColour col)"""
+        return _gizmos.TreeListCtrl_SetItemBackgroundColour(*args, **kwargs)
+
+    def SetItemFont(*args, **kwargs):
+        """SetItemFont(TreeItemId item, wxFont font)"""
+        return _gizmos.TreeListCtrl_SetItemFont(*args, **kwargs)
+
+    def GetItemBold(*args, **kwargs):
+        """GetItemBold(TreeItemId item) -> bool"""
+        return _gizmos.TreeListCtrl_GetItemBold(*args, **kwargs)
+
+    def GetItemTextColour(*args, **kwargs):
+        """GetItemTextColour(TreeItemId item) -> wxColour"""
+        return _gizmos.TreeListCtrl_GetItemTextColour(*args, **kwargs)
+
+    def GetItemBackgroundColour(*args, **kwargs):
+        """GetItemBackgroundColour(TreeItemId item) -> wxColour"""
+        return _gizmos.TreeListCtrl_GetItemBackgroundColour(*args, **kwargs)
+
+    def GetItemFont(*args, **kwargs):
+        """GetItemFont(TreeItemId item) -> wxFont"""
+        return _gizmos.TreeListCtrl_GetItemFont(*args, **kwargs)
+
+    def IsVisible(*args, **kwargs):
+        """IsVisible(TreeItemId item) -> bool"""
+        return _gizmos.TreeListCtrl_IsVisible(*args, **kwargs)
+
+    def ItemHasChildren(*args, **kwargs):
+        """ItemHasChildren(TreeItemId item) -> bool"""
+        return _gizmos.TreeListCtrl_ItemHasChildren(*args, **kwargs)
+
+    def IsExpanded(*args, **kwargs):
+        """IsExpanded(TreeItemId item) -> bool"""
+        return _gizmos.TreeListCtrl_IsExpanded(*args, **kwargs)
+
+    def IsSelected(*args, **kwargs):
+        """IsSelected(TreeItemId item) -> bool"""
+        return _gizmos.TreeListCtrl_IsSelected(*args, **kwargs)
+
+    def IsBold(*args, **kwargs):
+        """IsBold(TreeItemId item) -> bool"""
+        return _gizmos.TreeListCtrl_IsBold(*args, **kwargs)
+
+    def GetChildrenCount(*args, **kwargs):
+        """GetChildrenCount(TreeItemId item, bool recursively=True) -> size_t"""
+        return _gizmos.TreeListCtrl_GetChildrenCount(*args, **kwargs)
+
+    def GetRootItem(*args, **kwargs):
+        """GetRootItem() -> TreeItemId"""
+        return _gizmos.TreeListCtrl_GetRootItem(*args, **kwargs)
+
+    def GetSelection(*args, **kwargs):
+        """GetSelection() -> TreeItemId"""
+        return _gizmos.TreeListCtrl_GetSelection(*args, **kwargs)
+
+    def GetSelections(*args, **kwargs):
+        """GetSelections() -> PyObject"""
+        return _gizmos.TreeListCtrl_GetSelections(*args, **kwargs)
+
+    def GetItemParent(*args, **kwargs):
+        """GetItemParent(TreeItemId item) -> TreeItemId"""
+        return _gizmos.TreeListCtrl_GetItemParent(*args, **kwargs)
+
+    def GetFirstChild(*args, **kwargs):
+        """GetFirstChild(TreeItemId item) -> PyObject"""
+        return _gizmos.TreeListCtrl_GetFirstChild(*args, **kwargs)
+
+    def GetNextChild(*args, **kwargs):
+        """GetNextChild(TreeItemId item, long cookie) -> PyObject"""
+        return _gizmos.TreeListCtrl_GetNextChild(*args, **kwargs)
+
+    def GetLastChild(*args, **kwargs):
+        """GetLastChild(TreeItemId item) -> TreeItemId"""
+        return _gizmos.TreeListCtrl_GetLastChild(*args, **kwargs)
+
+    def GetNextSibling(*args, **kwargs):
+        """GetNextSibling(TreeItemId item) -> TreeItemId"""
+        return _gizmos.TreeListCtrl_GetNextSibling(*args, **kwargs)
+
+    def GetPrevSibling(*args, **kwargs):
+        """GetPrevSibling(TreeItemId item) -> TreeItemId"""
+        return _gizmos.TreeListCtrl_GetPrevSibling(*args, **kwargs)
+
+    def GetFirstVisibleItem(*args, **kwargs):
+        """GetFirstVisibleItem() -> TreeItemId"""
+        return _gizmos.TreeListCtrl_GetFirstVisibleItem(*args, **kwargs)
+
+    def GetNextVisible(*args, **kwargs):
+        """GetNextVisible(TreeItemId item) -> TreeItemId"""
+        return _gizmos.TreeListCtrl_GetNextVisible(*args, **kwargs)
+
+    def GetPrevVisible(*args, **kwargs):
+        """GetPrevVisible(TreeItemId item) -> TreeItemId"""
+        return _gizmos.TreeListCtrl_GetPrevVisible(*args, **kwargs)
+
+    def GetNext(*args, **kwargs):
+        """GetNext(TreeItemId item) -> TreeItemId"""
+        return _gizmos.TreeListCtrl_GetNext(*args, **kwargs)
+
+    def AddRoot(*args, **kwargs):
+        """AddRoot(wxString text, int image=-1, int selectedImage=-1, 
+    TreeItemData data=None) -> TreeItemId"""
+        return _gizmos.TreeListCtrl_AddRoot(*args, **kwargs)
+
+    def PrependItem(*args, **kwargs):
+        """PrependItem(TreeItemId parent, wxString text, int image=-1, int selectedImage=-1, 
+    TreeItemData data=None) -> TreeItemId"""
+        return _gizmos.TreeListCtrl_PrependItem(*args, **kwargs)
+
+    def InsertItem(*args, **kwargs):
+        """InsertItem(TreeItemId parent, TreeItemId idPrevious, wxString text, 
+    int image=-1, int selectedImage=-1, TreeItemData data=None) -> TreeItemId"""
+        return _gizmos.TreeListCtrl_InsertItem(*args, **kwargs)
+
+    def InsertItemBefore(*args, **kwargs):
+        """InsertItemBefore(TreeItemId parent, size_t index, wxString text, int image=-1, 
+    int selectedImage=-1, TreeItemData data=None) -> TreeItemId"""
+        return _gizmos.TreeListCtrl_InsertItemBefore(*args, **kwargs)
+
+    def AppendItem(*args, **kwargs):
+        """AppendItem(TreeItemId parent, wxString text, int image=-1, int selectedImage=-1, 
+    TreeItemData data=None) -> TreeItemId"""
+        return _gizmos.TreeListCtrl_AppendItem(*args, **kwargs)
+
+    def Delete(*args, **kwargs):
+        """Delete(TreeItemId item)"""
+        return _gizmos.TreeListCtrl_Delete(*args, **kwargs)
+
+    def DeleteChildren(*args, **kwargs):
+        """DeleteChildren(TreeItemId item)"""
+        return _gizmos.TreeListCtrl_DeleteChildren(*args, **kwargs)
+
+    def DeleteAllItems(*args, **kwargs):
+        """DeleteAllItems()"""
+        return _gizmos.TreeListCtrl_DeleteAllItems(*args, **kwargs)
+
+    def Expand(*args, **kwargs):
+        """Expand(TreeItemId item)"""
+        return _gizmos.TreeListCtrl_Expand(*args, **kwargs)
+
+    def ExpandAll(*args, **kwargs):
+        """ExpandAll(TreeItemId item)"""
+        return _gizmos.TreeListCtrl_ExpandAll(*args, **kwargs)
+
+    def Collapse(*args, **kwargs):
+        """Collapse(TreeItemId item)"""
+        return _gizmos.TreeListCtrl_Collapse(*args, **kwargs)
+
+    def CollapseAndReset(*args, **kwargs):
+        """CollapseAndReset(TreeItemId item)"""
+        return _gizmos.TreeListCtrl_CollapseAndReset(*args, **kwargs)
+
+    def Toggle(*args, **kwargs):
+        """Toggle(TreeItemId item)"""
+        return _gizmos.TreeListCtrl_Toggle(*args, **kwargs)
+
+    def Unselect(*args, **kwargs):
+        """Unselect()"""
+        return _gizmos.TreeListCtrl_Unselect(*args, **kwargs)
+
+    def UnselectAll(*args, **kwargs):
+        """UnselectAll()"""
+        return _gizmos.TreeListCtrl_UnselectAll(*args, **kwargs)
+
+    def SelectItem(*args, **kwargs):
+        """SelectItem(TreeItemId item, bool unselect_others=True, bool extended_select=False)"""
+        return _gizmos.TreeListCtrl_SelectItem(*args, **kwargs)
+
+    def EnsureVisible(*args, **kwargs):
+        """EnsureVisible(TreeItemId item)"""
+        return _gizmos.TreeListCtrl_EnsureVisible(*args, **kwargs)
+
+    def ScrollTo(*args, **kwargs):
+        """ScrollTo(TreeItemId item)"""
+        return _gizmos.TreeListCtrl_ScrollTo(*args, **kwargs)
+
+    def HitTest(*args, **kwargs):
+        """HitTest(Point point, int OUTPUT, int OUTPUT) -> TreeItemId"""
+        return _gizmos.TreeListCtrl_HitTest(*args, **kwargs)
+
+    def GetBoundingRect(*args, **kwargs):
+        """GetBoundingRect(TreeItemId item, bool textOnly=False) -> PyObject"""
+        return _gizmos.TreeListCtrl_GetBoundingRect(*args, **kwargs)
+
+    def EditLabel(*args, **kwargs):
+        """EditLabel(TreeItemId item)"""
+        return _gizmos.TreeListCtrl_EditLabel(*args, **kwargs)
+
+    def Edit(*args, **kwargs):
+        """Edit(TreeItemId item)"""
+        return _gizmos.TreeListCtrl_Edit(*args, **kwargs)
+
+    def SortChildren(*args, **kwargs):
+        """SortChildren(TreeItemId item)"""
+        return _gizmos.TreeListCtrl_SortChildren(*args, **kwargs)
+
+    def GetItemSelectedImage(*args, **kwargs):
+        """GetItemSelectedImage(TreeItemId item) -> int"""
+        return _gizmos.TreeListCtrl_GetItemSelectedImage(*args, **kwargs)
+
+    def SetItemSelectedImage(*args, **kwargs):
+        """SetItemSelectedImage(TreeItemId item, int image)"""
+        return _gizmos.TreeListCtrl_SetItemSelectedImage(*args, **kwargs)
+
+    def GetHeaderWindow(*args, **kwargs):
+        """GetHeaderWindow() -> Window"""
+        return _gizmos.TreeListCtrl_GetHeaderWindow(*args, **kwargs)
+
+    def GetMainWindow(*args, **kwargs):
+        """GetMainWindow() -> Window"""
+        return _gizmos.TreeListCtrl_GetMainWindow(*args, **kwargs)
+
+
+class TreeListCtrlPtr(TreeListCtrl):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = TreeListCtrl
+_gizmos.TreeListCtrl_swigregister(TreeListCtrlPtr)
+
+def PreTreeListCtrl(*args, **kwargs):
+    """PreTreeListCtrl() -> TreeListCtrl"""
+    val = _gizmos.new_PreTreeListCtrl(*args, **kwargs)
+    val.thisown = 1
+    return val
+
+
diff --git a/wxPython/contrib/gizmos/msw/gizmos_wrap.cpp b/wxPython/contrib/gizmos/msw/gizmos_wrap.cpp
new file mode 100644 (file)
index 0000000..d318f94
--- /dev/null
@@ -0,0 +1,7309 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.20
+ * 
+ * This file is not intended to be easily readable and contains a number of 
+ * coding conventions designed to improve portability and efficiency. Do not make
+ * changes to this file unless you know what you are doing--modify the SWIG 
+ * interface file instead. 
+ * ----------------------------------------------------------------------------- */
+
+#define SWIGPYTHON
+#define SWIG_NOINCLUDE
+
+#ifdef __cplusplus
+template<class T> class SwigValueWrapper {
+    T *tt;
+public:
+    SwigValueWrapper() : tt(0) { }
+    SwigValueWrapper(const SwigValueWrapper<T>& rhs) : tt(new T(*rhs.tt)) { }
+    SwigValueWrapper(const T& t) : tt(new T(t)) { }
+    ~SwigValueWrapper() { delete tt; } 
+    SwigValueWrapper& operator=(const T& t) { delete tt; tt = new T(t); return *this; }
+    operator T&() const { return *tt; }
+    T *operator&() { return tt; }
+private:
+    SwigValueWrapper& operator=(const SwigValueWrapper<T>& rhs);
+};                                                    
+#endif
+
+
+#include "Python.h"
+
+/*************************************************************** -*- c -*-
+ * python/precommon.swg
+ *
+ * Rename all exported symbols from common.swg, to avoid symbol
+ * clashes if multiple interpreters are included
+ *
+ ************************************************************************/
+
+#define SWIG_TypeRegister    SWIG_Python_TypeRegister
+#define SWIG_TypeCheck       SWIG_Python_TypeCheck
+#define SWIG_TypeCast        SWIG_Python_TypeCast
+#define SWIG_TypeDynamicCast SWIG_Python_TypeDynamicCast
+#define SWIG_TypeName        SWIG_Python_TypeName
+#define SWIG_TypeQuery       SWIG_Python_TypeQuery
+#define SWIG_TypeClientData  SWIG_Python_TypeClientData
+
+
+/***********************************************************************
+ * common.swg for wxPython
+ *
+ * Include only the function prototypes and such from SWIG's common.swg,
+ * but not the runtime functions themselves.  This helps keep the
+ * wrapper files clean of unnecessary stuff that is in the libpy.c file
+ * anyway.
+ *
+ ************************************************************************/
+
+#include <string.h>
+
+#if defined(_WIN32) || defined(__WIN32__)
+#       if defined(_MSC_VER)
+#               if defined(STATIC_LINKED)
+#                       define SWIGEXPORT(a) a
+#                       define SWIGIMPORT(a) extern a
+#               else
+#                       define SWIGEXPORT(a) __declspec(dllexport) a
+#                       define SWIGIMPORT(a) extern a
+#               endif
+#       else
+#               if defined(__BORLANDC__)
+#                       define SWIGEXPORT(a) a _export
+#                       define SWIGIMPORT(a) a _export
+#               else
+#                       define SWIGEXPORT(a) a
+#                       define SWIGIMPORT(a) a
+#               endif
+#       endif
+#else
+#       define SWIGEXPORT(a) a
+#       define SWIGIMPORT(a) a
+#endif
+
+#ifdef SWIG_GLOBAL
+#define SWIGRUNTIME(a) SWIGEXPORT(a)
+#else
+#define SWIGRUNTIME(a) static a
+#endif
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef void *(*swig_converter_func)(void *);
+typedef struct swig_type_info *(*swig_dycast_func)(void **);
+
+typedef struct swig_type_info {
+  const char             *name;                 
+  swig_converter_func     converter;
+  const char             *str;
+  void                   *clientdata;  
+  swig_dycast_func        dcast;
+  struct swig_type_info  *next;
+  struct swig_type_info  *prev;
+} swig_type_info;
+
+
+SWIGIMPORT(swig_type_info *) SWIG_TypeRegister(swig_type_info *);
+SWIGIMPORT(swig_type_info *) SWIG_TypeCheck(char *c, swig_type_info *);
+SWIGIMPORT(void *)           SWIG_TypeCast(swig_type_info *, void *);
+SWIGIMPORT(swig_type_info *) SWIG_TypeDynamicCast(swig_type_info *, void **);
+SWIGIMPORT(const char *)     SWIG_TypeName(const swig_type_info *);
+SWIGIMPORT(swig_type_info *) SWIG_TypeQuery(const char *);
+SWIGIMPORT(void)             SWIG_TypeClientData(swig_type_info *, void *);
+
+
+#ifdef __cplusplus
+}
+
+#endif
+
+/***********************************************************************
+ * pyrun.swg for wxPython
+ *
+ * Include only the function prototypes and such from SWIG's pyrun.swg,
+ * but not the runtime functions themselves.  This helps keep the
+ * wrapper files clean of unnecessary stuff that is in the libpy.c file
+ * anyway.
+ *
+ ************************************************************************/
+
+
+#include "Python.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define SWIG_PY_INT     1
+#define SWIG_PY_FLOAT   2
+#define SWIG_PY_STRING  3
+#define SWIG_PY_POINTER 4
+#define SWIG_PY_BINARY  5
+
+/* Flags for pointer conversion */
+
+#define SWIG_POINTER_EXCEPTION     0x1
+#define SWIG_POINTER_DISOWN        0x2
+
+/* Exception handling in wrappers */
+#define SWIG_fail   goto fail
+
+/* Constant information structure */
+typedef struct swig_const_info {
+    int type;
+    char *name;
+    long lvalue;
+    double dvalue;
+    void   *pvalue;
+    swig_type_info **ptype;
+} swig_const_info;
+
+
+
+/* Common SWIG API */
+#define SWIG_ConvertPtr(obj, pp, type, flags) \
+  SWIG_Python_ConvertPtr(obj, pp, type, flags)
+#define SWIG_NewPointerObj(p, type, flags) \
+  SWIG_Python_NewPointerObj(p, type, flags)
+#define SWIG_MustGetPtr(p, type, argnum, flags) \
+  SWIG_Python_MustGetPtr(p, type, argnum, flags)
+
+/* Python-specific SWIG API */
+#define SWIG_newvarlink() \
+  SWIG_Python_newvarlink()
+#define SWIG_addvarlink(p, name, get_attr, set_attr) \
+  SWIG_Python_addvarlink(p, name, get_attr, set_attr)
+#define SWIG_ConvertPacked(obj, ptr, sz, ty, flags) \
+  SWIG_Python_ConvertPacked(obj, ptr, sz, ty, flags)
+#define SWIG_PackData(c, ptr, sz) \
+  SWIG_Python_PackData(c, ptr, sz)
+#define SWIG_UnpackData(c, ptr, sz) \
+  SWIG_Python_UnpackData(c, ptr, sz)
+#define SWIG_NewPackedObj(ptr, sz, type) \
+  SWIG_Python_NewPackedObj(ptr, sz, type)
+#define SWIG_InstallConstants(d, constants) \
+  SWIG_Python_InstallConstants(d, constants)
+
+
+SWIGEXPORT(int)               SWIG_Python_ConvertPtr(PyObject *, void **, swig_type_info *, int);
+SWIGEXPORT(PyObject *)        SWIG_Python_NewPointerObj(void *, swig_type_info *,int own);
+SWIGEXPORT(void *)           SWIG_Python_MustGetPtr(PyObject *, swig_type_info *, int, int);
+
+SWIGEXPORT(PyObject *)        SWIG_Python_newvarlink(void);
+SWIGEXPORT(void)              SWIG_Python_addvarlink(PyObject *, char *, PyObject *(*)(void), int (*)(PyObject *));
+SWIGEXPORT(int)               SWIG_Python_ConvertPacked(PyObject *, void *, int sz, swig_type_info *, int);
+SWIGEXPORT(char *)            SWIG_Python_PackData(char *c, void *, int);
+SWIGEXPORT(char *)            SWIG_Python_UnpackData(char *c, void *, int);
+SWIGEXPORT(PyObject *)        SWIG_Python_NewPackedObj(void *, int sz, swig_type_info *);
+SWIGEXPORT(void)              SWIG_Python_InstallConstants(PyObject *d, swig_const_info constants[]);
+
+
+/* Contract support */
+
+#define SWIG_contract_assert(expr, msg) if (!(expr)) { PyErr_SetString(PyExc_RuntimeError, (char *) msg ); goto fail; } else
+
+
+#ifdef __cplusplus
+}
+#endif
+
+
+
+/* -------- TYPES TABLE (BEGIN) -------- */
+
+#define  SWIGTYPE_p_wxEditableListBox swig_types[0] 
+#define  SWIGTYPE_p_wxObject swig_types[1] 
+#define  SWIGTYPE_p_wxColour swig_types[2] 
+#define  SWIGTYPE_p_wxPyTreeCtrl swig_types[3] 
+#define  SWIGTYPE_p_wxRemotelyScrolledTreeCtrl swig_types[4] 
+#define  SWIGTYPE_p_wxTreeListColumnInfo swig_types[5] 
+#define  SWIGTYPE_p_wxPyTreeListCtrl swig_types[6] 
+#define  SWIGTYPE_p_wxImageList swig_types[7] 
+#define  SWIGTYPE_p_wxScrollBar swig_types[8] 
+#define  SWIGTYPE_p_wxDynamicSashWindow swig_types[9] 
+#define  SWIGTYPE_p_wxScrolledWindow swig_types[10] 
+#define  SWIGTYPE_p_wxSplitterWindow swig_types[11] 
+#define  SWIGTYPE_p_wxWindow swig_types[12] 
+#define  SWIGTYPE_p_wxPyTreeCompanionWindow swig_types[13] 
+#define  SWIGTYPE_p_wxThinSplitterWindow swig_types[14] 
+#define  SWIGTYPE_p_wxSplitterScrolledWindow swig_types[15] 
+#define  SWIGTYPE_p_wxValidator swig_types[16] 
+#define  SWIGTYPE_p_wxCommandEvent swig_types[17] 
+#define  SWIGTYPE_p_wxArrayString swig_types[18] 
+#define  SWIGTYPE_p_wxLEDNumberCtrl swig_types[19] 
+#define  SWIGTYPE_p_wxDynamicSashSplitEvent swig_types[20] 
+#define  SWIGTYPE_p_wxTreeItemId swig_types[21] 
+#define  SWIGTYPE_p_wxString swig_types[22] 
+#define  SWIGTYPE_p_wxEvtHandler swig_types[23] 
+#define  SWIGTYPE_p_wxFont swig_types[24] 
+#define  SWIGTYPE_p_wxDynamicSashUnifyEvent swig_types[25] 
+#define  SWIGTYPE_p_wxControl swig_types[26] 
+#define  SWIGTYPE_p_wxPanel swig_types[27] 
+#define  SWIGTYPE_p_wxPyTreeItemData swig_types[28] 
+#define  SWIGTYPE_p_wxEvent swig_types[29] 
+#define  SWIGTYPE_p_int swig_types[30] 
+static swig_type_info *swig_types[32];
+
+/* -------- TYPES TABLE (END) -------- */
+
+
+/*-----------------------------------------------
+              @(target):= _gizmos.so
+  ------------------------------------------------*/
+#define SWIG_init    init_gizmos
+
+#define SWIG_name    "_gizmos"
+
+#include "wx/wxPython/wxPython.h"
+#include "wx/wxPython/pyclasses.h"
+    
+#include <wx/gizmos/dynamicsash.h>
+#include <wx/gizmos/editlbox.h>
+#include <wx/gizmos/splittree.h>
+#include <wx/gizmos/ledctrl.h>
+
+#include <wx/listctrl.h>
+#include <wx/treectrl.h>
+#include <wx/imaglist.h>
+    
+#include "treelistctrl.h"
+#include "wx/wxPython/pytree.h"
+
+    
+    static const wxString wxPyDynamicSashNameStr(wxT("dynamicSashWindow"));
+    static const wxString wxPyEditableListBoxNameStr(wxT("editableListBox"));
+    static const wxString wxPyTreeListCtrlNameStr(wxT("treelistctrl"));
+    static const wxString wxPyEmptyString(wxT(""));
+
+PyObject *wxEditableListBox_GetStrings(wxEditableListBox *self){
+            wxArrayString strings;
+            self->GetStrings(strings);
+            return wxArrayString2PyList_helper(strings);
+        }
+
+    typedef wxTreeCtrl wxPyTreeCtrl;
+
+
+class wxPyTreeCompanionWindow: public wxTreeCompanionWindow
+{
+public:
+    wxPyTreeCompanionWindow(wxWindow* parent, wxWindowID id = -1,
+                            const wxPoint& pos = wxDefaultPosition,
+                            const wxSize& size = wxDefaultSize,
+                            long style = 0)
+        : wxTreeCompanionWindow(parent, id, pos, size, style) {}
+
+
+    virtual void DrawItem(wxDC& dc, wxTreeItemId id, const wxRect& rect) {
+        bool found;
+        wxPyBeginBlockThreads();
+        if ((found = wxPyCBH_findCallback(m_myInst, "DrawItem"))) {
+            PyObject* dcobj = wxPyMake_wxObject(&dc);
+            PyObject* idobj = wxPyConstructObject((void*)&id, wxT("wxTreeItemId"), False);
+            PyObject* recobj= wxPyConstructObject((void*)&rect, wxT("wxRect"), False);
+            wxPyCBH_callCallback(m_myInst, Py_BuildValue("(OOO)", dcobj, idobj, recobj));
+            Py_DECREF(dcobj);
+            Py_DECREF(idobj);
+            Py_DECREF(recobj);
+        }
+        wxPyEndBlockThreads();
+        if (! found)
+            wxTreeCompanionWindow::DrawItem(dc, id, rect);
+    }
+
+    PYPRIVATE;
+};
+
+ // C++ version of Python aware control
+class wxPyTreeListCtrl : public wxTreeListCtrl {
+    DECLARE_ABSTRACT_CLASS(wxPyTreeListCtrl);
+public:
+    wxPyTreeListCtrl() : wxTreeListCtrl() {}
+    wxPyTreeListCtrl(wxWindow *parent, wxWindowID id,
+                     const wxPoint& pos,
+                     const wxSize& size,
+                     long style,
+                     const wxValidator &validator,
+                     const wxString& name) :
+        wxTreeListCtrl(parent, id, pos, size, style, validator, name) {}
+
+    int OnCompareItems(const wxTreeItemId& item1,
+                       const wxTreeItemId& item2) {
+        int rval = 0;
+        bool found;
+        wxPyBeginBlockThreads();
+        if ((found = wxPyCBH_findCallback(m_myInst, "OnCompareItems"))) {
+            PyObject *o1 = wxPyConstructObject((void*)&item1, wxT("wxTreeItemId"), 0);
+            PyObject *o2 = wxPyConstructObject((void*)&item2, wxT("wxTreeItemId"), 0);
+            rval = wxPyCBH_callCallback(m_myInst, Py_BuildValue("(OO)",o1,o2));
+            Py_DECREF(o1);
+            Py_DECREF(o2);
+        }
+        wxPyEndBlockThreads();
+        if (! found)
+            rval = wxTreeListCtrl::OnCompareItems(item1, item2);
+        return rval;
+    }
+    PYPRIVATE;
+};
+
+IMPLEMENT_ABSTRACT_CLASS(wxPyTreeListCtrl, wxTreeListCtrl)
+
+
+wxString wxPyTreeListCtrl_GetItemText(wxPyTreeListCtrl *self,wxTreeItemId const &item,int column){
+            if (column < 0) column = self->GetMainColumn();
+            return self->GetItemText(item, column);
+        }
+int wxPyTreeListCtrl_GetItemImage(wxPyTreeListCtrl *self,wxTreeItemId const &item,int column,wxTreeItemIcon which){
+            if (column < 0) column = self->GetMainColumn();
+            return self->GetItemImage(item, column, which);
+        }
+void wxPyTreeListCtrl_SetItemText(wxPyTreeListCtrl *self,wxTreeItemId const &item,wxString const &text,int column){
+            if (column < 0) column = self->GetMainColumn();
+            self->SetItemText(item, column, text);
+        }
+void wxPyTreeListCtrl_SetItemImage(wxPyTreeListCtrl *self,wxTreeItemId const &item,int image,int column,wxTreeItemIcon which){
+            if (column < 0) column = self->GetMainColumn();
+            self->SetItemImage(item, column, image, which);
+        }
+wxPyTreeItemData *wxPyTreeListCtrl_GetItemData(wxPyTreeListCtrl *self,wxTreeItemId const &item){
+            wxPyTreeItemData* data = (wxPyTreeItemData*)self->GetItemData(item);
+            if (data == NULL) {
+                data = new wxPyTreeItemData();
+                data->SetId(item); // set the id
+                self->SetItemData(item, data);
+            }
+            return data;
+        }
+void wxPyTreeListCtrl_SetItemData(wxPyTreeListCtrl *self,wxTreeItemId const &item,wxPyTreeItemData *data){
+            data->SetId(item); // set the id
+            self->SetItemData(item, data);
+        }
+PyObject *wxPyTreeListCtrl_GetItemPyData(wxPyTreeListCtrl *self,wxTreeItemId const &item){
+            wxPyTreeItemData* data = (wxPyTreeItemData*)self->GetItemData(item);
+            if (data == NULL) {
+                data = new wxPyTreeItemData();
+                data->SetId(item); // set the id
+                self->SetItemData(item, data);
+            }
+            return data->GetData();
+        }
+void wxPyTreeListCtrl_SetItemPyData(wxPyTreeListCtrl *self,wxTreeItemId const &item,PyObject *obj){
+            wxPyTreeItemData* data = (wxPyTreeItemData*)self->GetItemData(item);
+            if (data == NULL) {
+                data = new wxPyTreeItemData(obj);
+                data->SetId(item); // set the id
+                self->SetItemData(item, data);
+            } else
+                data->SetData(obj);
+        }
+PyObject *wxPyTreeListCtrl_GetSelections(wxPyTreeListCtrl *self){
+            wxPyBeginBlockThreads();
+            PyObject*           rval = PyList_New(0);
+            wxArrayTreeItemIds  array;
+            size_t              num, x;
+            num = self->GetSelections(array);
+            for (x=0; x < num; x++) {
+                wxTreeItemId *tii = new wxTreeItemId(array.Item(x));
+                PyObject* item = wxPyConstructObject((void*)tii, wxT("wxTreeItemId"), True);
+                PyList_Append(rval, item);
+            }
+            wxPyEndBlockThreads();
+            return rval;
+        }
+PyObject *wxPyTreeListCtrl_GetFirstChild(wxPyTreeListCtrl *self,wxTreeItemId const &item){
+            long cookie = 0;
+            wxTreeItemId ritem = self->GetFirstChild(item, cookie);
+            wxPyBeginBlockThreads();
+            PyObject* tup = PyTuple_New(2);
+            PyTuple_SET_ITEM(tup, 0, wxPyConstructObject(&ritem, wxT("wxTreeItemId"), true));
+            PyTuple_SET_ITEM(tup, 1, PyInt_FromLong(cookie));
+            wxPyEndBlockThreads();
+            return tup;
+        }
+PyObject *wxPyTreeListCtrl_GetNextChild(wxPyTreeListCtrl *self,wxTreeItemId const &item,long cookie){
+            wxTreeItemId ritem = self->GetNextChild(item, cookie);
+            wxPyBeginBlockThreads();
+            PyObject* tup = PyTuple_New(2);
+            PyTuple_SET_ITEM(tup, 0, wxPyConstructObject(&ritem, wxT("wxTreeItemId"), true));
+            PyTuple_SET_ITEM(tup, 1, PyInt_FromLong(cookie));
+            wxPyEndBlockThreads();
+            return tup;
+        }
+
+static PyObject* t_output_helper(PyObject* target, PyObject* o) {
+    PyObject*   o2;
+    PyObject*   o3;
+
+    if (!target) {                   
+        target = o;
+    } else if (target == Py_None) {  
+        Py_DECREF(Py_None);
+        target = o;
+    } else {                         
+        if (!PyTuple_Check(target)) {
+            o2 = target;
+            target = PyTuple_New(1);
+            PyTuple_SetItem(target, 0, o2);
+        }
+        o3 = PyTuple_New(1);            
+        PyTuple_SetItem(o3, 0, o);      
+
+        o2 = target;
+        target = PySequence_Concat(o2, o3); 
+        Py_DECREF(o2);                      
+        Py_DECREF(o3);
+    }
+    return target;
+}
+
+PyObject *wxPyTreeListCtrl_GetBoundingRect(wxPyTreeListCtrl *self,wxTreeItemId const &item,bool textOnly){
+            wxRect rect;
+            if (self->GetBoundingRect(item, rect, textOnly)) {
+                wxPyBeginBlockThreads();
+                wxRect* r = new wxRect(rect);
+                PyObject* val = wxPyConstructObject((void*)r, wxT("wxRect"), 1);
+                wxPyEndBlockThreads();
+                return val;
+            }
+            else {
+                RETURN_NONE();
+            }
+        }
+#ifdef __cplusplus
+extern "C" {
+#endif
+static PyObject *_wrap_new_DynamicSashSplitEvent(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxObject *arg1 = (wxObject *) 0 ;
+    wxDynamicSashSplitEvent *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "target", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:new_DynamicSashSplitEvent",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxObject,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxDynamicSashSplitEvent *)new wxDynamicSashSplitEvent(arg1);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxDynamicSashSplitEvent, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * DynamicSashSplitEvent_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_wxDynamicSashSplitEvent, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_DynamicSashUnifyEvent(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxObject *arg1 = (wxObject *) 0 ;
+    wxDynamicSashUnifyEvent *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "target", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:new_DynamicSashUnifyEvent",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxObject,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxDynamicSashUnifyEvent *)new wxDynamicSashUnifyEvent(arg1);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxDynamicSashUnifyEvent, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * DynamicSashUnifyEvent_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_wxDynamicSashUnifyEvent, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_DynamicSashWindow(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxWindow *arg1 = (wxWindow *) 0 ;
+    int arg2 ;
+    wxPoint const &arg3_defvalue = wxDefaultPosition ;
+    wxPoint *arg3 = (wxPoint *) &arg3_defvalue ;
+    wxSize const &arg4_defvalue = wxDefaultSize ;
+    wxSize *arg4 = (wxSize *) &arg4_defvalue ;
+    long arg5 = (long) wxCLIP_CHILDREN|wxDS_MANAGE_SCROLLBARS|wxDS_DRAG_CORNER ;
+    wxString const &arg6_defvalue = wxPyDynamicSashNameStr ;
+    wxString *arg6 = (wxString *) &arg6_defvalue ;
+    wxDynamicSashWindow *result;
+    wxPoint temp3 ;
+    wxSize temp4 ;
+    bool temp6 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    PyObject * obj5 = 0 ;
+    char *kwnames[] = {
+        (char *) "parent",(char *) "id",(char *) "pos",(char *) "size",(char *) "style",(char *) "name", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi|OOlO:new_DynamicSashWindow",kwnames,&obj0,&arg2,&obj2,&obj3,&arg5,&obj5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxWindow,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (obj2) {
+        {
+            arg3 = &temp3;
+            if ( ! wxPoint_helper(obj2, &arg3)) SWIG_fail;
+        }
+    }
+    if (obj3) {
+        {
+            arg4 = &temp4;
+            if ( ! wxSize_helper(obj3, &arg4)) SWIG_fail;
+        }
+    }
+    if (obj5) {
+        {
+            arg6 = wxString_in_helper(obj5);
+            if (arg6 == NULL) SWIG_fail;
+            temp6 = True;
+        }
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxDynamicSashWindow *)new wxDynamicSashWindow(arg1,arg2,(wxPoint const &)*arg3,(wxSize const &)*arg4,arg5,(wxString const &)*arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxDynamicSashWindow, 1);
+    {
+        if (temp6)
+        delete arg6;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp6)
+        delete arg6;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_PreDynamicSashWindow(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxDynamicSashWindow *result;
+    char *kwnames[] = {
+        NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)":new_PreDynamicSashWindow",kwnames)) goto fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxDynamicSashWindow *)new wxDynamicSashWindow();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxDynamicSashWindow, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DynamicSashWindow_Create(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxDynamicSashWindow *arg1 = (wxDynamicSashWindow *) 0 ;
+    wxWindow *arg2 = (wxWindow *) 0 ;
+    int arg3 ;
+    wxPoint const &arg4_defvalue = wxDefaultPosition ;
+    wxPoint *arg4 = (wxPoint *) &arg4_defvalue ;
+    wxSize const &arg5_defvalue = wxDefaultSize ;
+    wxSize *arg5 = (wxSize *) &arg5_defvalue ;
+    long arg6 = (long) wxCLIP_CHILDREN|wxDS_MANAGE_SCROLLBARS|wxDS_DRAG_CORNER ;
+    wxString const &arg7_defvalue = wxPyDynamicSashNameStr ;
+    wxString *arg7 = (wxString *) &arg7_defvalue ;
+    bool result;
+    wxPoint temp4 ;
+    wxSize temp5 ;
+    bool temp7 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj3 = 0 ;
+    PyObject * obj4 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "parent",(char *) "id",(char *) "pos",(char *) "size",(char *) "style",(char *) "name", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOi|OOlO:DynamicSashWindow_Create",kwnames,&obj0,&obj1,&arg3,&obj3,&obj4,&arg6,&obj6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDynamicSashWindow,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxWindow,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (obj3) {
+        {
+            arg4 = &temp4;
+            if ( ! wxPoint_helper(obj3, &arg4)) SWIG_fail;
+        }
+    }
+    if (obj4) {
+        {
+            arg5 = &temp5;
+            if ( ! wxSize_helper(obj4, &arg5)) SWIG_fail;
+        }
+    }
+    if (obj6) {
+        {
+            arg7 = wxString_in_helper(obj6);
+            if (arg7 == NULL) SWIG_fail;
+            temp7 = True;
+        }
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->Create(arg2,arg3,(wxPoint const &)*arg4,(wxSize const &)*arg5,arg6,(wxString const &)*arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    {
+        if (temp7)
+        delete arg7;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp7)
+        delete arg7;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_DynamicSashWindow_GetHScrollBar(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxDynamicSashWindow *arg1 = (wxDynamicSashWindow *) 0 ;
+    wxWindow *arg2 = (wxWindow *) 0 ;
+    wxScrollBar *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "child", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:DynamicSashWindow_GetHScrollBar",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDynamicSashWindow,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxWindow,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxScrollBar *)((wxDynamicSashWindow const *)arg1)->GetHScrollBar((wxWindow const *)arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxScrollBar, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DynamicSashWindow_GetVScrollBar(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxDynamicSashWindow *arg1 = (wxDynamicSashWindow *) 0 ;
+    wxWindow *arg2 = (wxWindow *) 0 ;
+    wxScrollBar *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "child", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:DynamicSashWindow_GetVScrollBar",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDynamicSashWindow,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxWindow,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxScrollBar *)((wxDynamicSashWindow const *)arg1)->GetVScrollBar((wxWindow const *)arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxScrollBar, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * DynamicSashWindow_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_wxDynamicSashWindow, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_EditableListBox(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxWindow *arg1 = (wxWindow *) 0 ;
+    int arg2 ;
+    wxString *arg3 = 0 ;
+    wxPoint const &arg4_defvalue = wxDefaultPosition ;
+    wxPoint *arg4 = (wxPoint *) &arg4_defvalue ;
+    wxSize const &arg5_defvalue = wxDefaultSize ;
+    wxSize *arg5 = (wxSize *) &arg5_defvalue ;
+    long arg6 = (long) wxEL_ALLOW_NEW|wxEL_ALLOW_EDIT|wxEL_ALLOW_DELETE ;
+    wxString const &arg7_defvalue = wxPyEditableListBoxNameStr ;
+    wxString *arg7 = (wxString *) &arg7_defvalue ;
+    wxEditableListBox *result;
+    bool temp3 = False ;
+    wxPoint temp4 ;
+    wxSize temp5 ;
+    bool temp7 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    PyObject * obj4 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "parent",(char *) "id",(char *) "label",(char *) "pos",(char *) "size",(char *) "style",(char *) "name", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OiO|OOlO:new_EditableListBox",kwnames,&obj0,&arg2,&obj2,&obj3,&obj4,&arg6,&obj6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxWindow,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg3 = wxString_in_helper(obj2);
+        if (arg3 == NULL) SWIG_fail;
+        temp3 = True;
+    }
+    if (obj3) {
+        {
+            arg4 = &temp4;
+            if ( ! wxPoint_helper(obj3, &arg4)) SWIG_fail;
+        }
+    }
+    if (obj4) {
+        {
+            arg5 = &temp5;
+            if ( ! wxSize_helper(obj4, &arg5)) SWIG_fail;
+        }
+    }
+    if (obj6) {
+        {
+            arg7 = wxString_in_helper(obj6);
+            if (arg7 == NULL) SWIG_fail;
+            temp7 = True;
+        }
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxEditableListBox *)new wxEditableListBox(arg1,arg2,(wxString const &)*arg3,(wxPoint const &)*arg4,(wxSize const &)*arg5,arg6,(wxString const &)*arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxEditableListBox, 1);
+    {
+        if (temp3)
+        delete arg3;
+    }
+    {
+        if (temp7)
+        delete arg7;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp3)
+        delete arg3;
+    }
+    {
+        if (temp7)
+        delete arg7;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_EditableListBox_SetStrings(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxEditableListBox *arg1 = (wxEditableListBox *) 0 ;
+    wxArrayString *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "strings", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:EditableListBox_SetStrings",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxEditableListBox,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        if (! PySequence_Check(obj1)) {
+            PyErr_SetString(PyExc_TypeError, "Sequence of strings expected.");
+            SWIG_fail;
+        }
+        arg2 = new wxArrayString;
+        int i, len=PySequence_Length(obj1);
+        for (i=0; i<len; i++) {
+            PyObject* item = PySequence_GetItem(obj1, i);
+#if wxUSE_UNICODE
+            PyObject* str  = PyObject_Unicode(item);
+#else
+            PyObject* str  = PyObject_Str(item);
+#endif
+            arg2->Add(Py2wxString(str));
+            Py_DECREF(item);
+            Py_DECREF(str);
+        }
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetStrings((wxArrayString const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        if (arg2) delete arg2;
+    }
+    return resultobj;
+    fail:
+    {
+        if (arg2) delete arg2;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_EditableListBox_GetStrings(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxEditableListBox *arg1 = (wxEditableListBox *) 0 ;
+    PyObject *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:EditableListBox_GetStrings",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxEditableListBox,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (PyObject *)wxEditableListBox_GetStrings(arg1);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = result;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EditableListBox_GetListCtrl(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxEditableListBox *arg1 = (wxEditableListBox *) 0 ;
+    wxListCtrl *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:EditableListBox_GetListCtrl",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxEditableListBox,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxListCtrl *)(arg1)->GetListCtrl();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxObject(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EditableListBox_GetDelButton(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxEditableListBox *arg1 = (wxEditableListBox *) 0 ;
+    wxBitmapButton *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:EditableListBox_GetDelButton",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxEditableListBox,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxBitmapButton *)(arg1)->GetDelButton();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxObject(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EditableListBox_GetNewButton(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxEditableListBox *arg1 = (wxEditableListBox *) 0 ;
+    wxBitmapButton *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:EditableListBox_GetNewButton",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxEditableListBox,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxBitmapButton *)(arg1)->GetNewButton();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxObject(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EditableListBox_GetUpButton(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxEditableListBox *arg1 = (wxEditableListBox *) 0 ;
+    wxBitmapButton *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:EditableListBox_GetUpButton",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxEditableListBox,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxBitmapButton *)(arg1)->GetUpButton();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxObject(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EditableListBox_GetDownButton(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxEditableListBox *arg1 = (wxEditableListBox *) 0 ;
+    wxBitmapButton *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:EditableListBox_GetDownButton",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxEditableListBox,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxBitmapButton *)(arg1)->GetDownButton();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxObject(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EditableListBox_GetEditButton(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxEditableListBox *arg1 = (wxEditableListBox *) 0 ;
+    wxBitmapButton *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:EditableListBox_GetEditButton",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxEditableListBox,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxBitmapButton *)(arg1)->GetEditButton();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxObject(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * EditableListBox_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_wxEditableListBox, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_RemotelyScrolledTreeCtrl(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxWindow *arg1 = (wxWindow *) 0 ;
+    int arg2 ;
+    wxPoint const &arg3_defvalue = wxDefaultPosition ;
+    wxPoint *arg3 = (wxPoint *) &arg3_defvalue ;
+    wxSize const &arg4_defvalue = wxDefaultSize ;
+    wxSize *arg4 = (wxSize *) &arg4_defvalue ;
+    long arg5 = (long) wxTR_HAS_BUTTONS ;
+    wxRemotelyScrolledTreeCtrl *result;
+    wxPoint temp3 ;
+    wxSize temp4 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    char *kwnames[] = {
+        (char *) "parent",(char *) "id",(char *) "pos",(char *) "size",(char *) "style", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi|OOl:new_RemotelyScrolledTreeCtrl",kwnames,&obj0,&arg2,&obj2,&obj3,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxWindow,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (obj2) {
+        {
+            arg3 = &temp3;
+            if ( ! wxPoint_helper(obj2, &arg3)) SWIG_fail;
+        }
+    }
+    if (obj3) {
+        {
+            arg4 = &temp4;
+            if ( ! wxSize_helper(obj3, &arg4)) SWIG_fail;
+        }
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxRemotelyScrolledTreeCtrl *)new wxRemotelyScrolledTreeCtrl(arg1,arg2,(wxPoint const &)*arg3,(wxSize const &)*arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxRemotelyScrolledTreeCtrl, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RemotelyScrolledTreeCtrl_HideVScrollbar(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxRemotelyScrolledTreeCtrl *arg1 = (wxRemotelyScrolledTreeCtrl *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:RemotelyScrolledTreeCtrl_HideVScrollbar",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxRemotelyScrolledTreeCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->HideVScrollbar();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RemotelyScrolledTreeCtrl_AdjustRemoteScrollbars(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxRemotelyScrolledTreeCtrl *arg1 = (wxRemotelyScrolledTreeCtrl *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:RemotelyScrolledTreeCtrl_AdjustRemoteScrollbars",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxRemotelyScrolledTreeCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->AdjustRemoteScrollbars();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RemotelyScrolledTreeCtrl_GetScrolledWindow(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxRemotelyScrolledTreeCtrl *arg1 = (wxRemotelyScrolledTreeCtrl *) 0 ;
+    wxScrolledWindow *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:RemotelyScrolledTreeCtrl_GetScrolledWindow",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxRemotelyScrolledTreeCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxScrolledWindow *)((wxRemotelyScrolledTreeCtrl const *)arg1)->GetScrolledWindow();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxScrolledWindow, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RemotelyScrolledTreeCtrl_ScrollToLine(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxRemotelyScrolledTreeCtrl *arg1 = (wxRemotelyScrolledTreeCtrl *) 0 ;
+    int arg2 ;
+    int arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "posHoriz",(char *) "posVert", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oii:RemotelyScrolledTreeCtrl_ScrollToLine",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxRemotelyScrolledTreeCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->ScrollToLine(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RemotelyScrolledTreeCtrl_SetCompanionWindow(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxRemotelyScrolledTreeCtrl *arg1 = (wxRemotelyScrolledTreeCtrl *) 0 ;
+    wxWindow *arg2 = (wxWindow *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "companion", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:RemotelyScrolledTreeCtrl_SetCompanionWindow",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxRemotelyScrolledTreeCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxWindow,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetCompanionWindow(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RemotelyScrolledTreeCtrl_GetCompanionWindow(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxRemotelyScrolledTreeCtrl *arg1 = (wxRemotelyScrolledTreeCtrl *) 0 ;
+    wxWindow *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:RemotelyScrolledTreeCtrl_GetCompanionWindow",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxRemotelyScrolledTreeCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxWindow *)((wxRemotelyScrolledTreeCtrl const *)arg1)->GetCompanionWindow();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxObject(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * RemotelyScrolledTreeCtrl_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_wxRemotelyScrolledTreeCtrl, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_TreeCompanionWindow(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxWindow *arg1 = (wxWindow *) 0 ;
+    int arg2 = (int) -1 ;
+    wxPoint const &arg3_defvalue = wxDefaultPosition ;
+    wxPoint *arg3 = (wxPoint *) &arg3_defvalue ;
+    wxSize const &arg4_defvalue = wxDefaultSize ;
+    wxSize *arg4 = (wxSize *) &arg4_defvalue ;
+    long arg5 = (long) 0 ;
+    wxPyTreeCompanionWindow *result;
+    wxPoint temp3 ;
+    wxSize temp4 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    char *kwnames[] = {
+        (char *) "parent",(char *) "id",(char *) "pos",(char *) "size",(char *) "style", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O|iOOl:new_TreeCompanionWindow",kwnames,&obj0,&arg2,&obj2,&obj3,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxWindow,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (obj2) {
+        {
+            arg3 = &temp3;
+            if ( ! wxPoint_helper(obj2, &arg3)) SWIG_fail;
+        }
+    }
+    if (obj3) {
+        {
+            arg4 = &temp4;
+            if ( ! wxSize_helper(obj3, &arg4)) SWIG_fail;
+        }
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyTreeCompanionWindow *)new wxPyTreeCompanionWindow(arg1,arg2,(wxPoint const &)*arg3,(wxSize const &)*arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxPyTreeCompanionWindow, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeCompanionWindow__setCallbackInfo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeCompanionWindow *arg1 = (wxPyTreeCompanionWindow *) 0 ;
+    PyObject *arg2 = (PyObject *) 0 ;
+    PyObject *arg3 = (PyObject *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "self",(char *) "_class", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:TreeCompanionWindow__setCallbackInfo",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeCompanionWindow,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = obj1;
+    arg3 = obj2;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->_setCallbackInfo(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeCompanionWindow_GetTreeCtrl(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeCompanionWindow *arg1 = (wxPyTreeCompanionWindow *) 0 ;
+    wxRemotelyScrolledTreeCtrl *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:TreeCompanionWindow_GetTreeCtrl",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeCompanionWindow,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxRemotelyScrolledTreeCtrl *)((wxPyTreeCompanionWindow const *)arg1)->GetTreeCtrl();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxRemotelyScrolledTreeCtrl, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeCompanionWindow_SetTreeCtrl(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeCompanionWindow *arg1 = (wxPyTreeCompanionWindow *) 0 ;
+    wxRemotelyScrolledTreeCtrl *arg2 = (wxRemotelyScrolledTreeCtrl *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "treeCtrl", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeCompanionWindow_SetTreeCtrl",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeCompanionWindow,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxRemotelyScrolledTreeCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetTreeCtrl(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * TreeCompanionWindow_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_wxPyTreeCompanionWindow, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_ThinSplitterWindow(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxWindow *arg1 = (wxWindow *) 0 ;
+    int arg2 = (int) -1 ;
+    wxPoint const &arg3_defvalue = wxDefaultPosition ;
+    wxPoint *arg3 = (wxPoint *) &arg3_defvalue ;
+    wxSize const &arg4_defvalue = wxDefaultSize ;
+    wxSize *arg4 = (wxSize *) &arg4_defvalue ;
+    long arg5 = (long) wxSP_3D|wxCLIP_CHILDREN ;
+    wxThinSplitterWindow *result;
+    wxPoint temp3 ;
+    wxSize temp4 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    char *kwnames[] = {
+        (char *) "parent",(char *) "id",(char *) "pos",(char *) "size",(char *) "style", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O|iOOl:new_ThinSplitterWindow",kwnames,&obj0,&arg2,&obj2,&obj3,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxWindow,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (obj2) {
+        {
+            arg3 = &temp3;
+            if ( ! wxPoint_helper(obj2, &arg3)) SWIG_fail;
+        }
+    }
+    if (obj3) {
+        {
+            arg4 = &temp4;
+            if ( ! wxSize_helper(obj3, &arg4)) SWIG_fail;
+        }
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxThinSplitterWindow *)new wxThinSplitterWindow(arg1,arg2,(wxPoint const &)*arg3,(wxSize const &)*arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxThinSplitterWindow, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * ThinSplitterWindow_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_wxThinSplitterWindow, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_SplitterScrolledWindow(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxWindow *arg1 = (wxWindow *) 0 ;
+    int arg2 = (int) -1 ;
+    wxPoint const &arg3_defvalue = wxDefaultPosition ;
+    wxPoint *arg3 = (wxPoint *) &arg3_defvalue ;
+    wxSize const &arg4_defvalue = wxDefaultSize ;
+    wxSize *arg4 = (wxSize *) &arg4_defvalue ;
+    long arg5 = (long) 0 ;
+    wxSplitterScrolledWindow *result;
+    wxPoint temp3 ;
+    wxSize temp4 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    char *kwnames[] = {
+        (char *) "parent",(char *) "id",(char *) "pos",(char *) "size",(char *) "style", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O|iOOl:new_SplitterScrolledWindow",kwnames,&obj0,&arg2,&obj2,&obj3,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxWindow,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (obj2) {
+        {
+            arg3 = &temp3;
+            if ( ! wxPoint_helper(obj2, &arg3)) SWIG_fail;
+        }
+    }
+    if (obj3) {
+        {
+            arg4 = &temp4;
+            if ( ! wxSize_helper(obj3, &arg4)) SWIG_fail;
+        }
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxSplitterScrolledWindow *)new wxSplitterScrolledWindow(arg1,arg2,(wxPoint const &)*arg3,(wxSize const &)*arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxSplitterScrolledWindow, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * SplitterScrolledWindow_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_wxSplitterScrolledWindow, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_LEDNumberCtrl(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxWindow *arg1 = (wxWindow *) 0 ;
+    int arg2 = (int) -1 ;
+    wxPoint const &arg3_defvalue = wxDefaultPosition ;
+    wxPoint *arg3 = (wxPoint *) &arg3_defvalue ;
+    wxSize const &arg4_defvalue = wxDefaultSize ;
+    wxSize *arg4 = (wxSize *) &arg4_defvalue ;
+    long arg5 = (long) wxLED_ALIGN_LEFT|wxLED_DRAW_FADED ;
+    wxLEDNumberCtrl *result;
+    wxPoint temp3 ;
+    wxSize temp4 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    char *kwnames[] = {
+        (char *) "parent",(char *) "id",(char *) "pos",(char *) "size",(char *) "style", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O|iOOl:new_LEDNumberCtrl",kwnames,&obj0,&arg2,&obj2,&obj3,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxWindow,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (obj2) {
+        {
+            arg3 = &temp3;
+            if ( ! wxPoint_helper(obj2, &arg3)) SWIG_fail;
+        }
+    }
+    if (obj3) {
+        {
+            arg4 = &temp4;
+            if ( ! wxSize_helper(obj3, &arg4)) SWIG_fail;
+        }
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxLEDNumberCtrl *)new wxLEDNumberCtrl(arg1,arg2,(wxPoint const &)*arg3,(wxSize const &)*arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxLEDNumberCtrl, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_PreLEDNumberCtrl(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxLEDNumberCtrl *result;
+    char *kwnames[] = {
+        NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)":new_PreLEDNumberCtrl",kwnames)) goto fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxLEDNumberCtrl *)new wxLEDNumberCtrl();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxLEDNumberCtrl, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_LEDNumberCtrl_Create(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxLEDNumberCtrl *arg1 = (wxLEDNumberCtrl *) 0 ;
+    wxWindow *arg2 = (wxWindow *) 0 ;
+    int arg3 = (int) -1 ;
+    wxPoint const &arg4_defvalue = wxDefaultPosition ;
+    wxPoint *arg4 = (wxPoint *) &arg4_defvalue ;
+    wxSize const &arg5_defvalue = wxDefaultSize ;
+    wxSize *arg5 = (wxSize *) &arg5_defvalue ;
+    long arg6 = (long) wxLED_ALIGN_LEFT|wxLED_DRAW_FADED ;
+    bool result;
+    wxPoint temp4 ;
+    wxSize temp5 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj3 = 0 ;
+    PyObject * obj4 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "parent",(char *) "id",(char *) "pos",(char *) "size",(char *) "style", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|iOOl:LEDNumberCtrl_Create",kwnames,&obj0,&obj1,&arg3,&obj3,&obj4,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxLEDNumberCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxWindow,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (obj3) {
+        {
+            arg4 = &temp4;
+            if ( ! wxPoint_helper(obj3, &arg4)) SWIG_fail;
+        }
+    }
+    if (obj4) {
+        {
+            arg5 = &temp5;
+            if ( ! wxSize_helper(obj4, &arg5)) SWIG_fail;
+        }
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->Create(arg2,arg3,(wxPoint const &)*arg4,(wxSize const &)*arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_LEDNumberCtrl_GetAlignment(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxLEDNumberCtrl *arg1 = (wxLEDNumberCtrl *) 0 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:LEDNumberCtrl_GetAlignment",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxLEDNumberCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)((wxLEDNumberCtrl const *)arg1)->GetAlignment();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_LEDNumberCtrl_GetDrawFaded(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxLEDNumberCtrl *arg1 = (wxLEDNumberCtrl *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:LEDNumberCtrl_GetDrawFaded",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxLEDNumberCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)((wxLEDNumberCtrl const *)arg1)->GetDrawFaded();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_LEDNumberCtrl_GetValue(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxLEDNumberCtrl *arg1 = (wxLEDNumberCtrl *) 0 ;
+    wxString *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:LEDNumberCtrl_GetValue",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxLEDNumberCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        {
+            wxString const &_result_ref = ((wxLEDNumberCtrl const *)arg1)->GetValue();
+            result = (wxString *) &_result_ref;
+        }
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxString, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_LEDNumberCtrl_SetAlignment(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxLEDNumberCtrl *arg1 = (wxLEDNumberCtrl *) 0 ;
+    int arg2 ;
+    bool arg3 = (bool) true ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "Alignment",(char *) "Redraw", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi|O:LEDNumberCtrl_SetAlignment",kwnames,&obj0,&arg2,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxLEDNumberCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetAlignment((wxLEDValueAlign )arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_LEDNumberCtrl_SetDrawFaded(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxLEDNumberCtrl *arg1 = (wxLEDNumberCtrl *) 0 ;
+    bool arg2 ;
+    bool arg3 = (bool) true ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "DrawFaded",(char *) "Redraw", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:LEDNumberCtrl_SetDrawFaded",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxLEDNumberCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetDrawFaded(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_LEDNumberCtrl_SetValue(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxLEDNumberCtrl *arg1 = (wxLEDNumberCtrl *) 0 ;
+    wxString *arg2 = 0 ;
+    bool arg3 = (bool) true ;
+    bool temp2 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "Value",(char *) "Redraw", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:LEDNumberCtrl_SetValue",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxLEDNumberCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = wxString_in_helper(obj1);
+        if (arg2 == NULL) SWIG_fail;
+        temp2 = True;
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetValue((wxString const &)*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return NULL;
+}
+
+
+static PyObject * LEDNumberCtrl_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_wxLEDNumberCtrl, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_TreeListColumnInfo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxString const &arg1_defvalue = wxPyEmptyString ;
+    wxString *arg1 = (wxString *) &arg1_defvalue ;
+    int arg2 = (int) -1 ;
+    size_t arg3 = (size_t) 100 ;
+    int arg4 = (int) wxTL_ALIGN_LEFT ;
+    wxTreeListColumnInfo *result;
+    bool temp1 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "text",(char *) "image",(char *) "width",(char *) "alignment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"|OiOi:new_TreeListColumnInfo",kwnames,&obj0,&arg2,&obj2,&arg4)) goto fail;
+    if (obj0) {
+        {
+            arg1 = wxString_in_helper(obj0);
+            if (arg1 == NULL) SWIG_fail;
+            temp1 = True;
+        }
+    }
+    if (obj2) {
+        arg3 = (size_t) PyInt_AsLong(obj2);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxTreeListColumnInfo *)new wxTreeListColumnInfo((wxString const &)*arg1,arg2,arg3,(wxTreeListColumnAlign )arg4);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxTreeListColumnInfo, 1);
+    {
+        if (temp1)
+        delete arg1;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp1)
+        delete arg1;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListColumnInfo_GetAlignment(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxTreeListColumnInfo *arg1 = (wxTreeListColumnInfo *) 0 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:TreeListColumnInfo_GetAlignment",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxTreeListColumnInfo,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)((wxTreeListColumnInfo const *)arg1)->GetAlignment();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListColumnInfo_GetText(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxTreeListColumnInfo *arg1 = (wxTreeListColumnInfo *) 0 ;
+    wxString result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:TreeListColumnInfo_GetText",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxTreeListColumnInfo,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = ((wxTreeListColumnInfo const *)arg1)->GetText();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+#if wxUSE_UNICODE
+        resultobj = PyUnicode_FromWideChar((&result)->c_str(), (&result)->Len());
+#else
+        resultobj = PyString_FromStringAndSize((&result)->c_str(), (&result)->Len());
+#endif
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListColumnInfo_GetImage(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxTreeListColumnInfo *arg1 = (wxTreeListColumnInfo *) 0 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:TreeListColumnInfo_GetImage",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxTreeListColumnInfo,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)((wxTreeListColumnInfo const *)arg1)->GetImage();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListColumnInfo_GetSelectedImage(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxTreeListColumnInfo *arg1 = (wxTreeListColumnInfo *) 0 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:TreeListColumnInfo_GetSelectedImage",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxTreeListColumnInfo,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)((wxTreeListColumnInfo const *)arg1)->GetSelectedImage();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListColumnInfo_GetWidth(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxTreeListColumnInfo *arg1 = (wxTreeListColumnInfo *) 0 ;
+    size_t result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:TreeListColumnInfo_GetWidth",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxTreeListColumnInfo,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (size_t)((wxTreeListColumnInfo const *)arg1)->GetWidth();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListColumnInfo_SetAlignment(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxTreeListColumnInfo *arg1 = (wxTreeListColumnInfo *) 0 ;
+    int arg2 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "alignment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:TreeListColumnInfo_SetAlignment",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxTreeListColumnInfo,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetAlignment((wxTreeListColumnAlign )arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListColumnInfo_SetText(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxTreeListColumnInfo *arg1 = (wxTreeListColumnInfo *) 0 ;
+    wxString *arg2 = 0 ;
+    bool temp2 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "text", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListColumnInfo_SetText",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxTreeListColumnInfo,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = wxString_in_helper(obj1);
+        if (arg2 == NULL) SWIG_fail;
+        temp2 = True;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetText((wxString const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListColumnInfo_SetImage(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxTreeListColumnInfo *arg1 = (wxTreeListColumnInfo *) 0 ;
+    int arg2 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "image", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:TreeListColumnInfo_SetImage",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxTreeListColumnInfo,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetImage(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListColumnInfo_SetSelectedImage(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxTreeListColumnInfo *arg1 = (wxTreeListColumnInfo *) 0 ;
+    int arg2 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "image", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:TreeListColumnInfo_SetSelectedImage",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxTreeListColumnInfo,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetSelectedImage(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListColumnInfo_SetWidth(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxTreeListColumnInfo *arg1 = (wxTreeListColumnInfo *) 0 ;
+    size_t arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "with", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListColumnInfo_SetWidth",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxTreeListColumnInfo,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (size_t) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetWidth(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * TreeListColumnInfo_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_wxTreeListColumnInfo, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_TreeListCtrl(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxWindow *arg1 = (wxWindow *) 0 ;
+    int arg2 = (int) -1 ;
+    wxPoint const &arg3_defvalue = wxDefaultPosition ;
+    wxPoint *arg3 = (wxPoint *) &arg3_defvalue ;
+    wxSize const &arg4_defvalue = wxDefaultSize ;
+    wxSize *arg4 = (wxSize *) &arg4_defvalue ;
+    long arg5 = (long) wxTR_DEFAULT_STYLE ;
+    wxValidator const &arg6_defvalue = wxDefaultValidator ;
+    wxValidator *arg6 = (wxValidator *) &arg6_defvalue ;
+    wxString const &arg7_defvalue = wxPyTreeListCtrlNameStr ;
+    wxString *arg7 = (wxString *) &arg7_defvalue ;
+    wxPyTreeListCtrl *result;
+    wxPoint temp3 ;
+    wxSize temp4 ;
+    bool temp7 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    PyObject * obj5 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "parent",(char *) "id",(char *) "pos",(char *) "size",(char *) "style",(char *) "validator",(char *) "name", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O|iOOlOO:new_TreeListCtrl",kwnames,&obj0,&arg2,&obj2,&obj3,&arg5,&obj5,&obj6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxWindow,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (obj2) {
+        {
+            arg3 = &temp3;
+            if ( ! wxPoint_helper(obj2, &arg3)) SWIG_fail;
+        }
+    }
+    if (obj3) {
+        {
+            arg4 = &temp4;
+            if ( ! wxSize_helper(obj3, &arg4)) SWIG_fail;
+        }
+    }
+    if (obj5) {
+        if ((SWIG_ConvertPtr(obj5,(void **) &arg6, SWIGTYPE_p_wxValidator,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+        if (arg6 == NULL) {
+            PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+        }
+    }
+    if (obj6) {
+        {
+            arg7 = wxString_in_helper(obj6);
+            if (arg7 == NULL) SWIG_fail;
+            temp7 = True;
+        }
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyTreeListCtrl *)new wxPyTreeListCtrl(arg1,arg2,(wxPoint const &)*arg3,(wxSize const &)*arg4,arg5,(wxValidator const &)*arg6,(wxString const &)*arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxPyTreeListCtrl, 1);
+    {
+        if (temp7)
+        delete arg7;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp7)
+        delete arg7;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_PreTreeListCtrl(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *result;
+    char *kwnames[] = {
+        NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)":new_PreTreeListCtrl",kwnames)) goto fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyTreeListCtrl *)new wxPyTreeListCtrl();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxPyTreeListCtrl, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_Create(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxWindow *arg2 = (wxWindow *) 0 ;
+    int arg3 = (int) -1 ;
+    wxPoint const &arg4_defvalue = wxDefaultPosition ;
+    wxPoint *arg4 = (wxPoint *) &arg4_defvalue ;
+    wxSize const &arg5_defvalue = wxDefaultSize ;
+    wxSize *arg5 = (wxSize *) &arg5_defvalue ;
+    long arg6 = (long) wxTR_DEFAULT_STYLE ;
+    wxValidator const &arg7_defvalue = wxDefaultValidator ;
+    wxValidator *arg7 = (wxValidator *) &arg7_defvalue ;
+    wxString const &arg8_defvalue = wxPyTreeListCtrlNameStr ;
+    wxString *arg8 = (wxString *) &arg8_defvalue ;
+    bool result;
+    wxPoint temp4 ;
+    wxSize temp5 ;
+    bool temp8 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj3 = 0 ;
+    PyObject * obj4 = 0 ;
+    PyObject * obj6 = 0 ;
+    PyObject * obj7 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "parent",(char *) "id",(char *) "pos",(char *) "size",(char *) "style",(char *) "validator",(char *) "name", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|iOOlOO:TreeListCtrl_Create",kwnames,&obj0,&obj1,&arg3,&obj3,&obj4,&arg6,&obj6,&obj7)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxWindow,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (obj3) {
+        {
+            arg4 = &temp4;
+            if ( ! wxPoint_helper(obj3, &arg4)) SWIG_fail;
+        }
+    }
+    if (obj4) {
+        {
+            arg5 = &temp5;
+            if ( ! wxSize_helper(obj4, &arg5)) SWIG_fail;
+        }
+    }
+    if (obj6) {
+        if ((SWIG_ConvertPtr(obj6,(void **) &arg7, SWIGTYPE_p_wxValidator,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+        if (arg7 == NULL) {
+            PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+        }
+    }
+    if (obj7) {
+        {
+            arg8 = wxString_in_helper(obj7);
+            if (arg8 == NULL) SWIG_fail;
+            temp8 = True;
+        }
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->Create(arg2,arg3,(wxPoint const &)*arg4,(wxSize const &)*arg5,arg6,(wxValidator const &)*arg7,(wxString const &)*arg8);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    {
+        if (temp8)
+        delete arg8;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp8)
+        delete arg8;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl__setCallbackInfo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    PyObject *arg2 = (PyObject *) 0 ;
+    PyObject *arg3 = (PyObject *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "self",(char *) "_class", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:TreeListCtrl__setCallbackInfo",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = obj1;
+    arg3 = obj2;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->_setCallbackInfo(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetCount(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    size_t result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:TreeListCtrl_GetCount",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (size_t)((wxPyTreeListCtrl const *)arg1)->GetCount();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetIndent(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    unsigned int result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:TreeListCtrl_GetIndent",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (unsigned int)((wxPyTreeListCtrl const *)arg1)->GetIndent();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_SetIndent(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    unsigned int arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "indent", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_SetIndent",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (unsigned int) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetIndent(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetSpacing(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    unsigned int result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:TreeListCtrl_GetSpacing",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (unsigned int)((wxPyTreeListCtrl const *)arg1)->GetSpacing();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_SetSpacing(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    unsigned int arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "spacing", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_SetSpacing",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (unsigned int) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetSpacing(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetLineSpacing(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    unsigned int result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:TreeListCtrl_GetLineSpacing",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (unsigned int)((wxPyTreeListCtrl const *)arg1)->GetLineSpacing();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_SetLineSpacing(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    unsigned int arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "spacing", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_SetLineSpacing",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (unsigned int) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetLineSpacing(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetImageList(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxImageList *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:TreeListCtrl_GetImageList",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxImageList *)((wxPyTreeListCtrl const *)arg1)->GetImageList();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxObject(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetStateImageList(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxImageList *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:TreeListCtrl_GetStateImageList",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxImageList *)((wxPyTreeListCtrl const *)arg1)->GetStateImageList();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxObject(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetButtonsImageList(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxImageList *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:TreeListCtrl_GetButtonsImageList",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxImageList *)((wxPyTreeListCtrl const *)arg1)->GetButtonsImageList();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxObject(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_SetImageList(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxImageList *arg2 = (wxImageList *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "imageList", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_SetImageList",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxImageList,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetImageList(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_SetStateImageList(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxImageList *arg2 = (wxImageList *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "imageList", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_SetStateImageList",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxImageList,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetStateImageList(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_SetButtonsImageList(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxImageList *arg2 = (wxImageList *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "imageList", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_SetButtonsImageList",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxImageList,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetButtonsImageList(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_AssignImageList(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxImageList *arg2 = (wxImageList *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "imageList", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_AssignImageList",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxImageList,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->AssignImageList(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_AssignStateImageList(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxImageList *arg2 = (wxImageList *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "imageList", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_AssignStateImageList",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxImageList,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->AssignStateImageList(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_AssignButtonsImageList(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxImageList *arg2 = (wxImageList *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "imageList", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_AssignButtonsImageList",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxImageList,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->AssignButtonsImageList(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_AddColumn(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxString *arg2 = 0 ;
+    bool temp2 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "text", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_AddColumn",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = wxString_in_helper(obj1);
+        if (arg2 == NULL) SWIG_fail;
+        temp2 = True;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->AddColumn((wxString const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_AddColumnInfo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeListColumnInfo *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "col", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_AddColumnInfo",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeListColumnInfo,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->AddColumn((wxTreeListColumnInfo const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_InsertColumn(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    size_t arg2 ;
+    wxString *arg3 = 0 ;
+    bool temp3 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "before",(char *) "text", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:TreeListCtrl_InsertColumn",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (size_t) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        arg3 = wxString_in_helper(obj2);
+        if (arg3 == NULL) SWIG_fail;
+        temp3 = True;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->InsertColumn(arg2,(wxString const &)*arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        if (temp3)
+        delete arg3;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp3)
+        delete arg3;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_InsertColumnInfo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    size_t arg2 ;
+    wxTreeListColumnInfo *arg3 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "before",(char *) "col", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:TreeListCtrl_InsertColumnInfo",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (size_t) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj2,(void **) &arg3, SWIGTYPE_p_wxTreeListColumnInfo,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg3 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->InsertColumn(arg2,(wxTreeListColumnInfo const &)*arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_RemoveColumn(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    size_t arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "column", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_RemoveColumn",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (size_t) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->RemoveColumn(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetColumnCount(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    size_t result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:TreeListCtrl_GetColumnCount",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (size_t)((wxPyTreeListCtrl const *)arg1)->GetColumnCount();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_SetColumnWidth(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    size_t arg2 ;
+    size_t arg3 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "column",(char *) "width", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:TreeListCtrl_SetColumnWidth",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (size_t) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    arg3 = (size_t) PyInt_AsLong(obj2);
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetColumnWidth(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetColumnWidth(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    size_t arg2 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "column", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_GetColumnWidth",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (size_t) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)((wxPyTreeListCtrl const *)arg1)->GetColumnWidth(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_SetMainColumn(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    size_t arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "column", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_SetMainColumn",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (size_t) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetMainColumn(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetMainColumn(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    size_t result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:TreeListCtrl_GetMainColumn",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (size_t)((wxPyTreeListCtrl const *)arg1)->GetMainColumn();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_SetColumnText(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    size_t arg2 ;
+    wxString *arg3 = 0 ;
+    bool temp3 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "column",(char *) "text", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:TreeListCtrl_SetColumnText",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (size_t) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        arg3 = wxString_in_helper(obj2);
+        if (arg3 == NULL) SWIG_fail;
+        temp3 = True;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetColumnText(arg2,(wxString const &)*arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        if (temp3)
+        delete arg3;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp3)
+        delete arg3;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetColumnText(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    size_t arg2 ;
+    wxString result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "column", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_GetColumnText",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (size_t) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = ((wxPyTreeListCtrl const *)arg1)->GetColumnText(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+#if wxUSE_UNICODE
+        resultobj = PyUnicode_FromWideChar((&result)->c_str(), (&result)->Len());
+#else
+        resultobj = PyString_FromStringAndSize((&result)->c_str(), (&result)->Len());
+#endif
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_SetColumn(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    size_t arg2 ;
+    wxTreeListColumnInfo *arg3 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "column",(char *) "info", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:TreeListCtrl_SetColumn",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (size_t) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj2,(void **) &arg3, SWIGTYPE_p_wxTreeListColumnInfo,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg3 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetColumn(arg2,(wxTreeListColumnInfo const &)*arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetColumn(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    size_t arg2 ;
+    wxTreeListColumnInfo *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "column", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_GetColumn",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (size_t) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        {
+            wxTreeListColumnInfo &_result_ref = (arg1)->GetColumn(arg2);
+            result = (wxTreeListColumnInfo *) &_result_ref;
+        }
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxTreeListColumnInfo, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_SetColumnAlignment(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    size_t arg2 ;
+    int arg3 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "column",(char *) "align", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOi:TreeListCtrl_SetColumnAlignment",kwnames,&obj0,&obj1,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (size_t) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetColumnAlignment(arg2,(wxTreeListColumnAlign )arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetColumnAlignment(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    size_t arg2 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "column", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_GetColumnAlignment",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (size_t) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)((wxPyTreeListCtrl const *)arg1)->GetColumnAlignment(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_SetColumnImage(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    size_t arg2 ;
+    int arg3 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "column",(char *) "image", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOi:TreeListCtrl_SetColumnImage",kwnames,&obj0,&obj1,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (size_t) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetColumnImage(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetColumnImage(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    size_t arg2 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "column", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_GetColumnImage",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (size_t) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)((wxPyTreeListCtrl const *)arg1)->GetColumnImage(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetItemText(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    int arg3 = (int) -1 ;
+    wxString result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item",(char *) "column", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|i:TreeListCtrl_GetItemText",kwnames,&obj0,&obj1,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = wxPyTreeListCtrl_GetItemText(arg1,(wxTreeItemId const &)*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+#if wxUSE_UNICODE
+        resultobj = PyUnicode_FromWideChar((&result)->c_str(), (&result)->Len());
+#else
+        resultobj = PyString_FromStringAndSize((&result)->c_str(), (&result)->Len());
+#endif
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetItemImage(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    int arg3 = (int) -1 ;
+    int arg4 = (int) wxTreeItemIcon_Normal ;
+    int result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item",(char *) "column",(char *) "which", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|ii:TreeListCtrl_GetItemImage",kwnames,&obj0,&obj1,&arg3,&arg4)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)wxPyTreeListCtrl_GetItemImage(arg1,(wxTreeItemId const &)*arg2,arg3,(wxTreeItemIcon )arg4);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_SetItemText(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    wxString *arg3 = 0 ;
+    int arg4 = (int) -1 ;
+    bool temp3 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item",(char *) "text",(char *) "column", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO|i:TreeListCtrl_SetItemText",kwnames,&obj0,&obj1,&obj2,&arg4)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        arg3 = wxString_in_helper(obj2);
+        if (arg3 == NULL) SWIG_fail;
+        temp3 = True;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        wxPyTreeListCtrl_SetItemText(arg1,(wxTreeItemId const &)*arg2,(wxString const &)*arg3,arg4);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        if (temp3)
+        delete arg3;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp3)
+        delete arg3;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_SetItemImage(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    int arg3 ;
+    int arg4 = (int) -1 ;
+    int arg5 = (int) wxTreeItemIcon_Normal ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item",(char *) "image",(char *) "column",(char *) "which", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOi|ii:TreeListCtrl_SetItemImage",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        wxPyTreeListCtrl_SetItemImage(arg1,(wxTreeItemId const &)*arg2,arg3,arg4,(wxTreeItemIcon )arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetItemData(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    wxPyTreeItemData *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_GetItemData",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyTreeItemData *)wxPyTreeListCtrl_GetItemData(arg1,(wxTreeItemId const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxPyTreeItemData, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_SetItemData(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    wxPyTreeItemData *arg3 = (wxPyTreeItemData *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item",(char *) "data", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:TreeListCtrl_SetItemData",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if ((SWIG_ConvertPtr(obj2,(void **) &arg3, SWIGTYPE_p_wxPyTreeItemData,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        wxPyTreeListCtrl_SetItemData(arg1,(wxTreeItemId const &)*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetItemPyData(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    PyObject *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_GetItemPyData",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (PyObject *)wxPyTreeListCtrl_GetItemPyData(arg1,(wxTreeItemId const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = result;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_SetItemPyData(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    PyObject *arg3 = (PyObject *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item",(char *) "obj", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:TreeListCtrl_SetItemPyData",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    arg3 = obj2;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        wxPyTreeListCtrl_SetItemPyData(arg1,(wxTreeItemId const &)*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_SetItemHasChildren(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    bool arg3 = (bool) True ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item",(char *) "has", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:TreeListCtrl_SetItemHasChildren",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetItemHasChildren((wxTreeItemId const &)*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_SetItemBold(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    bool arg3 = (bool) True ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item",(char *) "bold", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:TreeListCtrl_SetItemBold",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetItemBold((wxTreeItemId const &)*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_SetItemTextColour(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    wxColour *arg3 = 0 ;
+    wxColour temp3 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item",(char *) "col", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:TreeListCtrl_SetItemTextColour",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        arg3 = &temp3;
+        if ( ! wxColour_helper(obj2, &arg3)) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetItemTextColour((wxTreeItemId const &)*arg2,(wxColour const &)*arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_SetItemBackgroundColour(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    wxColour *arg3 = 0 ;
+    wxColour temp3 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item",(char *) "col", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:TreeListCtrl_SetItemBackgroundColour",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        arg3 = &temp3;
+        if ( ! wxColour_helper(obj2, &arg3)) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetItemBackgroundColour((wxTreeItemId const &)*arg2,(wxColour const &)*arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_SetItemFont(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    wxFont *arg3 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item",(char *) "font", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:TreeListCtrl_SetItemFont",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if ((SWIG_ConvertPtr(obj2,(void **) &arg3, SWIGTYPE_p_wxFont,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg3 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetItemFont((wxTreeItemId const &)*arg2,(wxFont const &)*arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetItemBold(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_GetItemBold",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)((wxPyTreeListCtrl const *)arg1)->GetItemBold((wxTreeItemId const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetItemTextColour(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    wxColour result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_GetItemTextColour",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = ((wxPyTreeListCtrl const *)arg1)->GetItemTextColour((wxTreeItemId const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        wxColour * resultptr;
+        resultptr = new wxColour((wxColour &) result);
+        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_wxColour, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetItemBackgroundColour(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    wxColour result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_GetItemBackgroundColour",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = ((wxPyTreeListCtrl const *)arg1)->GetItemBackgroundColour((wxTreeItemId const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        wxColour * resultptr;
+        resultptr = new wxColour((wxColour &) result);
+        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_wxColour, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetItemFont(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    wxFont result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_GetItemFont",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = ((wxPyTreeListCtrl const *)arg1)->GetItemFont((wxTreeItemId const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        wxFont * resultptr;
+        resultptr = new wxFont((wxFont &) result);
+        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_wxFont, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_IsVisible(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_IsVisible",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)((wxPyTreeListCtrl const *)arg1)->IsVisible((wxTreeItemId const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_ItemHasChildren(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_ItemHasChildren",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)((wxPyTreeListCtrl const *)arg1)->ItemHasChildren((wxTreeItemId const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_IsExpanded(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_IsExpanded",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)((wxPyTreeListCtrl const *)arg1)->IsExpanded((wxTreeItemId const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_IsSelected(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_IsSelected",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)((wxPyTreeListCtrl const *)arg1)->IsSelected((wxTreeItemId const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_IsBold(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_IsBold",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)((wxPyTreeListCtrl const *)arg1)->IsBold((wxTreeItemId const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetChildrenCount(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    bool arg3 = (bool) True ;
+    size_t result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item",(char *) "recursively", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:TreeListCtrl_GetChildrenCount",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (size_t)(arg1)->GetChildrenCount((wxTreeItemId const &)*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetRootItem(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:TreeListCtrl_GetRootItem",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = ((wxPyTreeListCtrl const *)arg1)->GetRootItem();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        wxTreeItemId * resultptr;
+        resultptr = new wxTreeItemId((wxTreeItemId &) result);
+        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_wxTreeItemId, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetSelection(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:TreeListCtrl_GetSelection",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = ((wxPyTreeListCtrl const *)arg1)->GetSelection();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        wxTreeItemId * resultptr;
+        resultptr = new wxTreeItemId((wxTreeItemId &) result);
+        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_wxTreeItemId, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetSelections(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    PyObject *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:TreeListCtrl_GetSelections",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (PyObject *)wxPyTreeListCtrl_GetSelections(arg1);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = result;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetItemParent(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    wxTreeItemId result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_GetItemParent",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = ((wxPyTreeListCtrl const *)arg1)->GetParent((wxTreeItemId const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        wxTreeItemId * resultptr;
+        resultptr = new wxTreeItemId((wxTreeItemId &) result);
+        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_wxTreeItemId, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetFirstChild(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    PyObject *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_GetFirstChild",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (PyObject *)wxPyTreeListCtrl_GetFirstChild(arg1,(wxTreeItemId const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = result;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetNextChild(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    long arg3 ;
+    PyObject *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item",(char *) "cookie", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOl:TreeListCtrl_GetNextChild",kwnames,&obj0,&obj1,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (PyObject *)wxPyTreeListCtrl_GetNextChild(arg1,(wxTreeItemId const &)*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = result;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetLastChild(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    wxTreeItemId result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_GetLastChild",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = ((wxPyTreeListCtrl const *)arg1)->GetLastChild((wxTreeItemId const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        wxTreeItemId * resultptr;
+        resultptr = new wxTreeItemId((wxTreeItemId &) result);
+        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_wxTreeItemId, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetNextSibling(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    wxTreeItemId result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_GetNextSibling",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = ((wxPyTreeListCtrl const *)arg1)->GetNextSibling((wxTreeItemId const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        wxTreeItemId * resultptr;
+        resultptr = new wxTreeItemId((wxTreeItemId &) result);
+        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_wxTreeItemId, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetPrevSibling(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    wxTreeItemId result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_GetPrevSibling",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = ((wxPyTreeListCtrl const *)arg1)->GetPrevSibling((wxTreeItemId const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        wxTreeItemId * resultptr;
+        resultptr = new wxTreeItemId((wxTreeItemId &) result);
+        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_wxTreeItemId, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetFirstVisibleItem(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:TreeListCtrl_GetFirstVisibleItem",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = ((wxPyTreeListCtrl const *)arg1)->GetFirstVisibleItem();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        wxTreeItemId * resultptr;
+        resultptr = new wxTreeItemId((wxTreeItemId &) result);
+        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_wxTreeItemId, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetNextVisible(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    wxTreeItemId result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_GetNextVisible",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = ((wxPyTreeListCtrl const *)arg1)->GetNextVisible((wxTreeItemId const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        wxTreeItemId * resultptr;
+        resultptr = new wxTreeItemId((wxTreeItemId &) result);
+        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_wxTreeItemId, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetPrevVisible(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    wxTreeItemId result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_GetPrevVisible",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = ((wxPyTreeListCtrl const *)arg1)->GetPrevVisible((wxTreeItemId const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        wxTreeItemId * resultptr;
+        resultptr = new wxTreeItemId((wxTreeItemId &) result);
+        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_wxTreeItemId, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetNext(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    wxTreeItemId result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_GetNext",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = ((wxPyTreeListCtrl const *)arg1)->GetNext((wxTreeItemId const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        wxTreeItemId * resultptr;
+        resultptr = new wxTreeItemId((wxTreeItemId &) result);
+        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_wxTreeItemId, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_AddRoot(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxString *arg2 = 0 ;
+    int arg3 = (int) -1 ;
+    int arg4 = (int) -1 ;
+    wxPyTreeItemData *arg5 = (wxPyTreeItemData *) NULL ;
+    wxTreeItemId result;
+    bool temp2 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj4 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "text",(char *) "image",(char *) "selectedImage",(char *) "data", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|iiO:TreeListCtrl_AddRoot",kwnames,&obj0,&obj1,&arg3,&arg4,&obj4)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = wxString_in_helper(obj1);
+        if (arg2 == NULL) SWIG_fail;
+        temp2 = True;
+    }
+    if (obj4) {
+        if ((SWIG_ConvertPtr(obj4,(void **) &arg5, SWIGTYPE_p_wxPyTreeItemData,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (arg1)->AddRoot((wxString const &)*arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        wxTreeItemId * resultptr;
+        resultptr = new wxTreeItemId((wxTreeItemId &) result);
+        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_wxTreeItemId, 1);
+    }
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_PrependItem(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    wxString *arg3 = 0 ;
+    int arg4 = (int) -1 ;
+    int arg5 = (int) -1 ;
+    wxPyTreeItemData *arg6 = (wxPyTreeItemData *) NULL ;
+    wxTreeItemId result;
+    bool temp3 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj5 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "parent",(char *) "text",(char *) "image",(char *) "selectedImage",(char *) "data", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO|iiO:TreeListCtrl_PrependItem",kwnames,&obj0,&obj1,&obj2,&arg4,&arg5,&obj5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        arg3 = wxString_in_helper(obj2);
+        if (arg3 == NULL) SWIG_fail;
+        temp3 = True;
+    }
+    if (obj5) {
+        if ((SWIG_ConvertPtr(obj5,(void **) &arg6, SWIGTYPE_p_wxPyTreeItemData,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (arg1)->PrependItem((wxTreeItemId const &)*arg2,(wxString const &)*arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        wxTreeItemId * resultptr;
+        resultptr = new wxTreeItemId((wxTreeItemId &) result);
+        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_wxTreeItemId, 1);
+    }
+    {
+        if (temp3)
+        delete arg3;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp3)
+        delete arg3;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_InsertItem(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    wxTreeItemId *arg3 = 0 ;
+    wxString *arg4 = 0 ;
+    int arg5 = (int) -1 ;
+    int arg6 = (int) -1 ;
+    wxPyTreeItemData *arg7 = (wxPyTreeItemData *) NULL ;
+    wxTreeItemId result;
+    bool temp4 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "parent",(char *) "idPrevious",(char *) "text",(char *) "image",(char *) "selectedImage",(char *) "data", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOOO|iiO:TreeListCtrl_InsertItem",kwnames,&obj0,&obj1,&obj2,&obj3,&arg5,&arg6,&obj6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if ((SWIG_ConvertPtr(obj2,(void **) &arg3, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg3 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        arg4 = wxString_in_helper(obj3);
+        if (arg4 == NULL) SWIG_fail;
+        temp4 = True;
+    }
+    if (obj6) {
+        if ((SWIG_ConvertPtr(obj6,(void **) &arg7, SWIGTYPE_p_wxPyTreeItemData,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (arg1)->InsertItem((wxTreeItemId const &)*arg2,(wxTreeItemId const &)*arg3,(wxString const &)*arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        wxTreeItemId * resultptr;
+        resultptr = new wxTreeItemId((wxTreeItemId &) result);
+        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_wxTreeItemId, 1);
+    }
+    {
+        if (temp4)
+        delete arg4;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp4)
+        delete arg4;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_InsertItemBefore(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    size_t arg3 ;
+    wxString *arg4 = 0 ;
+    int arg5 = (int) -1 ;
+    int arg6 = (int) -1 ;
+    wxPyTreeItemData *arg7 = (wxPyTreeItemData *) NULL ;
+    wxTreeItemId result;
+    bool temp4 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "parent",(char *) "index",(char *) "text",(char *) "image",(char *) "selectedImage",(char *) "data", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOOO|iiO:TreeListCtrl_InsertItemBefore",kwnames,&obj0,&obj1,&obj2,&obj3,&arg5,&arg6,&obj6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    arg3 = (size_t) PyInt_AsLong(obj2);
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        arg4 = wxString_in_helper(obj3);
+        if (arg4 == NULL) SWIG_fail;
+        temp4 = True;
+    }
+    if (obj6) {
+        if ((SWIG_ConvertPtr(obj6,(void **) &arg7, SWIGTYPE_p_wxPyTreeItemData,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (arg1)->InsertItem((wxTreeItemId const &)*arg2,arg3,(wxString const &)*arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        wxTreeItemId * resultptr;
+        resultptr = new wxTreeItemId((wxTreeItemId &) result);
+        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_wxTreeItemId, 1);
+    }
+    {
+        if (temp4)
+        delete arg4;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp4)
+        delete arg4;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_AppendItem(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    wxString *arg3 = 0 ;
+    int arg4 = (int) -1 ;
+    int arg5 = (int) -1 ;
+    wxPyTreeItemData *arg6 = (wxPyTreeItemData *) NULL ;
+    wxTreeItemId result;
+    bool temp3 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj5 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "parent",(char *) "text",(char *) "image",(char *) "selectedImage",(char *) "data", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO|iiO:TreeListCtrl_AppendItem",kwnames,&obj0,&obj1,&obj2,&arg4,&arg5,&obj5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        arg3 = wxString_in_helper(obj2);
+        if (arg3 == NULL) SWIG_fail;
+        temp3 = True;
+    }
+    if (obj5) {
+        if ((SWIG_ConvertPtr(obj5,(void **) &arg6, SWIGTYPE_p_wxPyTreeItemData,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (arg1)->AppendItem((wxTreeItemId const &)*arg2,(wxString const &)*arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        wxTreeItemId * resultptr;
+        resultptr = new wxTreeItemId((wxTreeItemId &) result);
+        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_wxTreeItemId, 1);
+    }
+    {
+        if (temp3)
+        delete arg3;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp3)
+        delete arg3;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_Delete(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_Delete",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Delete((wxTreeItemId const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_DeleteChildren(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_DeleteChildren",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DeleteChildren((wxTreeItemId const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_DeleteAllItems(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:TreeListCtrl_DeleteAllItems",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DeleteAllItems();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_Expand(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_Expand",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Expand((wxTreeItemId const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_ExpandAll(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_ExpandAll",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->ExpandAll((wxTreeItemId const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_Collapse(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_Collapse",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Collapse((wxTreeItemId const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_CollapseAndReset(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_CollapseAndReset",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->CollapseAndReset((wxTreeItemId const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_Toggle(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_Toggle",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Toggle((wxTreeItemId const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_Unselect(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:TreeListCtrl_Unselect",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Unselect();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_UnselectAll(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:TreeListCtrl_UnselectAll",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->UnselectAll();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_SelectItem(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    bool arg3 = (bool) True ;
+    bool arg4 = (bool) False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item",(char *) "unselect_others",(char *) "extended_select", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|OO:TreeListCtrl_SelectItem",kwnames,&obj0,&obj1,&obj2,&obj3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    if (obj3) {
+        arg4 = PyInt_AsLong(obj3) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SelectItem((wxTreeItemId const &)*arg2,arg3,arg4);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_EnsureVisible(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_EnsureVisible",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->EnsureVisible((wxTreeItemId const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_ScrollTo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_ScrollTo",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->ScrollTo((wxTreeItemId const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_HitTest(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxPoint *arg2 = 0 ;
+    int *arg3 = 0 ;
+    int *arg4 = 0 ;
+    wxTreeItemId result;
+    wxPoint temp2 ;
+    int temp3 ;
+    int temp4 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "point", NULL 
+    };
+    
+    arg3 = &temp3;
+    arg4 = &temp4;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_HitTest",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = &temp2;
+        if ( ! wxPoint_helper(obj1, &arg2)) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (arg1)->HitTest((wxPoint const &)*arg2,*arg3,*arg4);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        wxTreeItemId * resultptr;
+        resultptr = new wxTreeItemId((wxTreeItemId &) result);
+        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_wxTreeItemId, 1);
+    }
+    {
+        PyObject *o = PyInt_FromLong((long) (*arg3));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    {
+        PyObject *o = PyInt_FromLong((long) (*arg4));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetBoundingRect(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    bool arg3 = (bool) False ;
+    PyObject *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item",(char *) "textOnly", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:TreeListCtrl_GetBoundingRect",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (PyObject *)wxPyTreeListCtrl_GetBoundingRect(arg1,(wxTreeItemId const &)*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = result;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_EditLabel(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_EditLabel",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->EditLabel((wxTreeItemId const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_Edit(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_Edit",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Edit((wxTreeItemId const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_SortChildren(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_SortChildren",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SortChildren((wxTreeItemId const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetItemSelectedImage(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:TreeListCtrl_GetItemSelectedImage",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)((wxPyTreeListCtrl const *)arg1)->GetItemSelectedImage((wxTreeItemId const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_SetItemSelectedImage(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxTreeItemId *arg2 = 0 ;
+    int arg3 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "item",(char *) "image", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOi:TreeListCtrl_SetItemSelectedImage",kwnames,&obj0,&obj1,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxTreeItemId,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetItemSelectedImage((wxTreeItemId const &)*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetHeaderWindow(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxWindow *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:TreeListCtrl_GetHeaderWindow",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxWindow *)((wxPyTreeListCtrl const *)arg1)->GetHeaderWindow();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxObject(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TreeListCtrl_GetMainWindow(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTreeListCtrl *arg1 = (wxPyTreeListCtrl *) 0 ;
+    wxWindow *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:TreeListCtrl_GetMainWindow",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTreeListCtrl,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxWindow *)((wxPyTreeListCtrl const *)arg1)->GetMainWindow();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxObject(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * TreeListCtrl_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_wxPyTreeListCtrl, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyMethodDef SwigMethods[] = {
+        { (char *)"new_DynamicSashSplitEvent", (PyCFunction) _wrap_new_DynamicSashSplitEvent, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"DynamicSashSplitEvent_swigregister", DynamicSashSplitEvent_swigregister, METH_VARARGS },
+        { (char *)"new_DynamicSashUnifyEvent", (PyCFunction) _wrap_new_DynamicSashUnifyEvent, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"DynamicSashUnifyEvent_swigregister", DynamicSashUnifyEvent_swigregister, METH_VARARGS },
+        { (char *)"new_DynamicSashWindow", (PyCFunction) _wrap_new_DynamicSashWindow, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"new_PreDynamicSashWindow", (PyCFunction) _wrap_new_PreDynamicSashWindow, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"DynamicSashWindow_Create", (PyCFunction) _wrap_DynamicSashWindow_Create, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"DynamicSashWindow_GetHScrollBar", (PyCFunction) _wrap_DynamicSashWindow_GetHScrollBar, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"DynamicSashWindow_GetVScrollBar", (PyCFunction) _wrap_DynamicSashWindow_GetVScrollBar, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"DynamicSashWindow_swigregister", DynamicSashWindow_swigregister, METH_VARARGS },
+        { (char *)"new_EditableListBox", (PyCFunction) _wrap_new_EditableListBox, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"EditableListBox_SetStrings", (PyCFunction) _wrap_EditableListBox_SetStrings, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"EditableListBox_GetStrings", (PyCFunction) _wrap_EditableListBox_GetStrings, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"EditableListBox_GetListCtrl", (PyCFunction) _wrap_EditableListBox_GetListCtrl, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"EditableListBox_GetDelButton", (PyCFunction) _wrap_EditableListBox_GetDelButton, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"EditableListBox_GetNewButton", (PyCFunction) _wrap_EditableListBox_GetNewButton, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"EditableListBox_GetUpButton", (PyCFunction) _wrap_EditableListBox_GetUpButton, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"EditableListBox_GetDownButton", (PyCFunction) _wrap_EditableListBox_GetDownButton, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"EditableListBox_GetEditButton", (PyCFunction) _wrap_EditableListBox_GetEditButton, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"EditableListBox_swigregister", EditableListBox_swigregister, METH_VARARGS },
+        { (char *)"new_RemotelyScrolledTreeCtrl", (PyCFunction) _wrap_new_RemotelyScrolledTreeCtrl, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"RemotelyScrolledTreeCtrl_HideVScrollbar", (PyCFunction) _wrap_RemotelyScrolledTreeCtrl_HideVScrollbar, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"RemotelyScrolledTreeCtrl_AdjustRemoteScrollbars", (PyCFunction) _wrap_RemotelyScrolledTreeCtrl_AdjustRemoteScrollbars, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"RemotelyScrolledTreeCtrl_GetScrolledWindow", (PyCFunction) _wrap_RemotelyScrolledTreeCtrl_GetScrolledWindow, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"RemotelyScrolledTreeCtrl_ScrollToLine", (PyCFunction) _wrap_RemotelyScrolledTreeCtrl_ScrollToLine, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"RemotelyScrolledTreeCtrl_SetCompanionWindow", (PyCFunction) _wrap_RemotelyScrolledTreeCtrl_SetCompanionWindow, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"RemotelyScrolledTreeCtrl_GetCompanionWindow", (PyCFunction) _wrap_RemotelyScrolledTreeCtrl_GetCompanionWindow, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"RemotelyScrolledTreeCtrl_swigregister", RemotelyScrolledTreeCtrl_swigregister, METH_VARARGS },
+        { (char *)"new_TreeCompanionWindow", (PyCFunction) _wrap_new_TreeCompanionWindow, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeCompanionWindow__setCallbackInfo", (PyCFunction) _wrap_TreeCompanionWindow__setCallbackInfo, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeCompanionWindow_GetTreeCtrl", (PyCFunction) _wrap_TreeCompanionWindow_GetTreeCtrl, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeCompanionWindow_SetTreeCtrl", (PyCFunction) _wrap_TreeCompanionWindow_SetTreeCtrl, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeCompanionWindow_swigregister", TreeCompanionWindow_swigregister, METH_VARARGS },
+        { (char *)"new_ThinSplitterWindow", (PyCFunction) _wrap_new_ThinSplitterWindow, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ThinSplitterWindow_swigregister", ThinSplitterWindow_swigregister, METH_VARARGS },
+        { (char *)"new_SplitterScrolledWindow", (PyCFunction) _wrap_new_SplitterScrolledWindow, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"SplitterScrolledWindow_swigregister", SplitterScrolledWindow_swigregister, METH_VARARGS },
+        { (char *)"new_LEDNumberCtrl", (PyCFunction) _wrap_new_LEDNumberCtrl, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"new_PreLEDNumberCtrl", (PyCFunction) _wrap_new_PreLEDNumberCtrl, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"LEDNumberCtrl_Create", (PyCFunction) _wrap_LEDNumberCtrl_Create, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"LEDNumberCtrl_GetAlignment", (PyCFunction) _wrap_LEDNumberCtrl_GetAlignment, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"LEDNumberCtrl_GetDrawFaded", (PyCFunction) _wrap_LEDNumberCtrl_GetDrawFaded, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"LEDNumberCtrl_GetValue", (PyCFunction) _wrap_LEDNumberCtrl_GetValue, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"LEDNumberCtrl_SetAlignment", (PyCFunction) _wrap_LEDNumberCtrl_SetAlignment, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"LEDNumberCtrl_SetDrawFaded", (PyCFunction) _wrap_LEDNumberCtrl_SetDrawFaded, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"LEDNumberCtrl_SetValue", (PyCFunction) _wrap_LEDNumberCtrl_SetValue, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"LEDNumberCtrl_swigregister", LEDNumberCtrl_swigregister, METH_VARARGS },
+        { (char *)"new_TreeListColumnInfo", (PyCFunction) _wrap_new_TreeListColumnInfo, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListColumnInfo_GetAlignment", (PyCFunction) _wrap_TreeListColumnInfo_GetAlignment, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListColumnInfo_GetText", (PyCFunction) _wrap_TreeListColumnInfo_GetText, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListColumnInfo_GetImage", (PyCFunction) _wrap_TreeListColumnInfo_GetImage, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListColumnInfo_GetSelectedImage", (PyCFunction) _wrap_TreeListColumnInfo_GetSelectedImage, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListColumnInfo_GetWidth", (PyCFunction) _wrap_TreeListColumnInfo_GetWidth, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListColumnInfo_SetAlignment", (PyCFunction) _wrap_TreeListColumnInfo_SetAlignment, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListColumnInfo_SetText", (PyCFunction) _wrap_TreeListColumnInfo_SetText, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListColumnInfo_SetImage", (PyCFunction) _wrap_TreeListColumnInfo_SetImage, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListColumnInfo_SetSelectedImage", (PyCFunction) _wrap_TreeListColumnInfo_SetSelectedImage, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListColumnInfo_SetWidth", (PyCFunction) _wrap_TreeListColumnInfo_SetWidth, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListColumnInfo_swigregister", TreeListColumnInfo_swigregister, METH_VARARGS },
+        { (char *)"new_TreeListCtrl", (PyCFunction) _wrap_new_TreeListCtrl, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"new_PreTreeListCtrl", (PyCFunction) _wrap_new_PreTreeListCtrl, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_Create", (PyCFunction) _wrap_TreeListCtrl_Create, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl__setCallbackInfo", (PyCFunction) _wrap_TreeListCtrl__setCallbackInfo, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetCount", (PyCFunction) _wrap_TreeListCtrl_GetCount, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetIndent", (PyCFunction) _wrap_TreeListCtrl_GetIndent, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_SetIndent", (PyCFunction) _wrap_TreeListCtrl_SetIndent, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetSpacing", (PyCFunction) _wrap_TreeListCtrl_GetSpacing, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_SetSpacing", (PyCFunction) _wrap_TreeListCtrl_SetSpacing, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetLineSpacing", (PyCFunction) _wrap_TreeListCtrl_GetLineSpacing, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_SetLineSpacing", (PyCFunction) _wrap_TreeListCtrl_SetLineSpacing, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetImageList", (PyCFunction) _wrap_TreeListCtrl_GetImageList, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetStateImageList", (PyCFunction) _wrap_TreeListCtrl_GetStateImageList, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetButtonsImageList", (PyCFunction) _wrap_TreeListCtrl_GetButtonsImageList, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_SetImageList", (PyCFunction) _wrap_TreeListCtrl_SetImageList, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_SetStateImageList", (PyCFunction) _wrap_TreeListCtrl_SetStateImageList, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_SetButtonsImageList", (PyCFunction) _wrap_TreeListCtrl_SetButtonsImageList, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_AssignImageList", (PyCFunction) _wrap_TreeListCtrl_AssignImageList, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_AssignStateImageList", (PyCFunction) _wrap_TreeListCtrl_AssignStateImageList, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_AssignButtonsImageList", (PyCFunction) _wrap_TreeListCtrl_AssignButtonsImageList, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_AddColumn", (PyCFunction) _wrap_TreeListCtrl_AddColumn, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_AddColumnInfo", (PyCFunction) _wrap_TreeListCtrl_AddColumnInfo, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_InsertColumn", (PyCFunction) _wrap_TreeListCtrl_InsertColumn, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_InsertColumnInfo", (PyCFunction) _wrap_TreeListCtrl_InsertColumnInfo, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_RemoveColumn", (PyCFunction) _wrap_TreeListCtrl_RemoveColumn, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetColumnCount", (PyCFunction) _wrap_TreeListCtrl_GetColumnCount, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_SetColumnWidth", (PyCFunction) _wrap_TreeListCtrl_SetColumnWidth, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetColumnWidth", (PyCFunction) _wrap_TreeListCtrl_GetColumnWidth, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_SetMainColumn", (PyCFunction) _wrap_TreeListCtrl_SetMainColumn, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetMainColumn", (PyCFunction) _wrap_TreeListCtrl_GetMainColumn, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_SetColumnText", (PyCFunction) _wrap_TreeListCtrl_SetColumnText, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetColumnText", (PyCFunction) _wrap_TreeListCtrl_GetColumnText, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_SetColumn", (PyCFunction) _wrap_TreeListCtrl_SetColumn, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetColumn", (PyCFunction) _wrap_TreeListCtrl_GetColumn, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_SetColumnAlignment", (PyCFunction) _wrap_TreeListCtrl_SetColumnAlignment, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetColumnAlignment", (PyCFunction) _wrap_TreeListCtrl_GetColumnAlignment, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_SetColumnImage", (PyCFunction) _wrap_TreeListCtrl_SetColumnImage, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetColumnImage", (PyCFunction) _wrap_TreeListCtrl_GetColumnImage, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetItemText", (PyCFunction) _wrap_TreeListCtrl_GetItemText, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetItemImage", (PyCFunction) _wrap_TreeListCtrl_GetItemImage, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_SetItemText", (PyCFunction) _wrap_TreeListCtrl_SetItemText, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_SetItemImage", (PyCFunction) _wrap_TreeListCtrl_SetItemImage, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetItemData", (PyCFunction) _wrap_TreeListCtrl_GetItemData, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_SetItemData", (PyCFunction) _wrap_TreeListCtrl_SetItemData, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetItemPyData", (PyCFunction) _wrap_TreeListCtrl_GetItemPyData, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_SetItemPyData", (PyCFunction) _wrap_TreeListCtrl_SetItemPyData, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_SetItemHasChildren", (PyCFunction) _wrap_TreeListCtrl_SetItemHasChildren, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_SetItemBold", (PyCFunction) _wrap_TreeListCtrl_SetItemBold, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_SetItemTextColour", (PyCFunction) _wrap_TreeListCtrl_SetItemTextColour, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_SetItemBackgroundColour", (PyCFunction) _wrap_TreeListCtrl_SetItemBackgroundColour, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_SetItemFont", (PyCFunction) _wrap_TreeListCtrl_SetItemFont, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetItemBold", (PyCFunction) _wrap_TreeListCtrl_GetItemBold, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetItemTextColour", (PyCFunction) _wrap_TreeListCtrl_GetItemTextColour, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetItemBackgroundColour", (PyCFunction) _wrap_TreeListCtrl_GetItemBackgroundColour, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetItemFont", (PyCFunction) _wrap_TreeListCtrl_GetItemFont, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_IsVisible", (PyCFunction) _wrap_TreeListCtrl_IsVisible, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_ItemHasChildren", (PyCFunction) _wrap_TreeListCtrl_ItemHasChildren, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_IsExpanded", (PyCFunction) _wrap_TreeListCtrl_IsExpanded, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_IsSelected", (PyCFunction) _wrap_TreeListCtrl_IsSelected, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_IsBold", (PyCFunction) _wrap_TreeListCtrl_IsBold, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetChildrenCount", (PyCFunction) _wrap_TreeListCtrl_GetChildrenCount, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetRootItem", (PyCFunction) _wrap_TreeListCtrl_GetRootItem, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetSelection", (PyCFunction) _wrap_TreeListCtrl_GetSelection, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetSelections", (PyCFunction) _wrap_TreeListCtrl_GetSelections, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetItemParent", (PyCFunction) _wrap_TreeListCtrl_GetItemParent, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetFirstChild", (PyCFunction) _wrap_TreeListCtrl_GetFirstChild, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetNextChild", (PyCFunction) _wrap_TreeListCtrl_GetNextChild, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetLastChild", (PyCFunction) _wrap_TreeListCtrl_GetLastChild, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetNextSibling", (PyCFunction) _wrap_TreeListCtrl_GetNextSibling, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetPrevSibling", (PyCFunction) _wrap_TreeListCtrl_GetPrevSibling, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetFirstVisibleItem", (PyCFunction) _wrap_TreeListCtrl_GetFirstVisibleItem, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetNextVisible", (PyCFunction) _wrap_TreeListCtrl_GetNextVisible, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetPrevVisible", (PyCFunction) _wrap_TreeListCtrl_GetPrevVisible, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetNext", (PyCFunction) _wrap_TreeListCtrl_GetNext, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_AddRoot", (PyCFunction) _wrap_TreeListCtrl_AddRoot, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_PrependItem", (PyCFunction) _wrap_TreeListCtrl_PrependItem, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_InsertItem", (PyCFunction) _wrap_TreeListCtrl_InsertItem, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_InsertItemBefore", (PyCFunction) _wrap_TreeListCtrl_InsertItemBefore, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_AppendItem", (PyCFunction) _wrap_TreeListCtrl_AppendItem, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_Delete", (PyCFunction) _wrap_TreeListCtrl_Delete, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_DeleteChildren", (PyCFunction) _wrap_TreeListCtrl_DeleteChildren, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_DeleteAllItems", (PyCFunction) _wrap_TreeListCtrl_DeleteAllItems, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_Expand", (PyCFunction) _wrap_TreeListCtrl_Expand, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_ExpandAll", (PyCFunction) _wrap_TreeListCtrl_ExpandAll, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_Collapse", (PyCFunction) _wrap_TreeListCtrl_Collapse, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_CollapseAndReset", (PyCFunction) _wrap_TreeListCtrl_CollapseAndReset, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_Toggle", (PyCFunction) _wrap_TreeListCtrl_Toggle, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_Unselect", (PyCFunction) _wrap_TreeListCtrl_Unselect, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_UnselectAll", (PyCFunction) _wrap_TreeListCtrl_UnselectAll, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_SelectItem", (PyCFunction) _wrap_TreeListCtrl_SelectItem, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_EnsureVisible", (PyCFunction) _wrap_TreeListCtrl_EnsureVisible, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_ScrollTo", (PyCFunction) _wrap_TreeListCtrl_ScrollTo, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_HitTest", (PyCFunction) _wrap_TreeListCtrl_HitTest, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetBoundingRect", (PyCFunction) _wrap_TreeListCtrl_GetBoundingRect, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_EditLabel", (PyCFunction) _wrap_TreeListCtrl_EditLabel, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_Edit", (PyCFunction) _wrap_TreeListCtrl_Edit, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_SortChildren", (PyCFunction) _wrap_TreeListCtrl_SortChildren, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetItemSelectedImage", (PyCFunction) _wrap_TreeListCtrl_GetItemSelectedImage, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_SetItemSelectedImage", (PyCFunction) _wrap_TreeListCtrl_SetItemSelectedImage, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetHeaderWindow", (PyCFunction) _wrap_TreeListCtrl_GetHeaderWindow, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_GetMainWindow", (PyCFunction) _wrap_TreeListCtrl_GetMainWindow, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"TreeListCtrl_swigregister", TreeListCtrl_swigregister, METH_VARARGS },
+        { NULL, NULL }
+};
+
+
+/* -------- TYPE CONVERSION AND EQUIVALENCE RULES (BEGIN) -------- */
+
+static void *_p_wxPyValidatorTo_p_wxValidator(void *x) {
+    return (void *)((wxValidator *)  ((wxPyValidator *) x));
+}
+static void *_p_wxScrolledWindowTo_p_wxPanel(void *x) {
+    return (void *)((wxPanel *)  ((wxScrolledWindow *) x));
+}
+static void *_p_wxPyVScrolledWindowTo_p_wxPanel(void *x) {
+    return (void *)((wxPanel *)  ((wxPyVScrolledWindow *) x));
+}
+static void *_p_wxSplitterScrolledWindowTo_p_wxPanel(void *x) {
+    return (void *)((wxPanel *) (wxScrolledWindow *) ((wxSplitterScrolledWindow *) x));
+}
+static void *_p_wxPyVListBoxTo_p_wxPanel(void *x) {
+    return (void *)((wxPanel *) (wxPyVScrolledWindow *) ((wxPyVListBox *) x));
+}
+static void *_p_wxPyHtmlListBoxTo_p_wxPanel(void *x) {
+    return (void *)((wxPanel *) (wxPyVScrolledWindow *)(wxPyVListBox *) ((wxPyHtmlListBox *) x));
+}
+static void *_p_wxPyPanelTo_p_wxPanel(void *x) {
+    return (void *)((wxPanel *)  ((wxPyPanel *) x));
+}
+static void *_p_wxEditableListBoxTo_p_wxPanel(void *x) {
+    return (void *)((wxPanel *)  ((wxEditableListBox *) x));
+}
+static void *_p_wxPreviewCanvasTo_p_wxPanel(void *x) {
+    return (void *)((wxPanel *) (wxScrolledWindow *) ((wxPreviewCanvas *) x));
+}
+static void *_p_wxPreviewControlBarTo_p_wxPanel(void *x) {
+    return (void *)((wxPanel *)  ((wxPreviewControlBar *) x));
+}
+static void *_p_wxPyPreviewControlBarTo_p_wxPanel(void *x) {
+    return (void *)((wxPanel *) (wxPreviewControlBar *) ((wxPyPreviewControlBar *) x));
+}
+static void *_p_wxPyPreviewFrameTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxFrame *)(wxPreviewFrame *) ((wxPyPreviewFrame *) x));
+}
+static void *_p_wxPreviewFrameTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxFrame *) ((wxPreviewFrame *) x));
+}
+static void *_p_wxCheckBoxTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *) ((wxCheckBox *) x));
+}
+static void *_p_wxPyTreeCtrlTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *) ((wxPyTreeCtrl *) x));
+}
+static void *_p_wxRemotelyScrolledTreeCtrlTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *)(wxPyTreeCtrl *) ((wxRemotelyScrolledTreeCtrl *) x));
+}
+static void *_p_wxPyPanelTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxPanel *) ((wxPyPanel *) x));
+}
+static void *_p_wxGenericDirCtrlTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *) ((wxGenericDirCtrl *) x));
+}
+static void *_p_wxDirFilterListCtrlTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *)(wxControlWithItems *)(wxChoice *) ((wxDirFilterListCtrl *) x));
+}
+static void *_p_wxPyListCtrlTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *) ((wxPyListCtrl *) x));
+}
+static void *_p_wxPyTreeListCtrlTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *) ((wxPyTreeListCtrl *) x));
+}
+static void *_p_wxPreviewCanvasTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxPanel *)(wxScrolledWindow *) ((wxPreviewCanvas *) x));
+}
+static void *_p_wxStaticLineTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *) ((wxStaticLine *) x));
+}
+static void *_p_wxPyControlTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *) ((wxPyControl *) x));
+}
+static void *_p_wxControlTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *)  ((wxControl *) x));
+}
+static void *_p_wxGaugeTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *) ((wxGauge *) x));
+}
+static void *_p_wxToolBarBaseTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *) ((wxToolBarBase *) x));
+}
+static void *_p_wxToggleButtonTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *) ((wxToggleButton *) x));
+}
+static void *_p_wxRadioButtonTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *) ((wxRadioButton *) x));
+}
+static void *_p_wxChoiceTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *)(wxControlWithItems *) ((wxChoice *) x));
+}
+static void *_p_wxListViewTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *)(wxPyListCtrl *) ((wxListView *) x));
+}
+static void *_p_wxTextCtrlTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *) ((wxTextCtrl *) x));
+}
+static void *_p_wxNotebookTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *)(wxBookCtrl *) ((wxNotebook *) x));
+}
+static void *_p_wxMDIChildFrameTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxFrame *) ((wxMDIChildFrame *) x));
+}
+static void *_p_wxPyWindowTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *)  ((wxPyWindow *) x));
+}
+static void *_p_wxSplashScreenTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxFrame *) ((wxSplashScreen *) x));
+}
+static void *_p_wxListbookTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *)(wxBookCtrl *) ((wxListbook *) x));
+}
+static void *_p_wxFileDialogTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxDialog *) ((wxFileDialog *) x));
+}
+static void *_p_wxMultiChoiceDialogTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxDialog *) ((wxMultiChoiceDialog *) x));
+}
+static void *_p_wxSingleChoiceDialogTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxDialog *) ((wxSingleChoiceDialog *) x));
+}
+static void *_p_wxTextEntryDialogTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxDialog *) ((wxTextEntryDialog *) x));
+}
+static void *_p_wxMessageDialogTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxDialog *) ((wxMessageDialog *) x));
+}
+static void *_p_wxProgressDialogTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxFrame *) ((wxProgressDialog *) x));
+}
+static void *_p_wxFindReplaceDialogTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxDialog *) ((wxFindReplaceDialog *) x));
+}
+static void *_p_wxStaticBitmapTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *) ((wxStaticBitmap *) x));
+}
+static void *_p_wxSliderTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *) ((wxSlider *) x));
+}
+static void *_p_wxStaticBoxTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *) ((wxStaticBox *) x));
+}
+static void *_p_wxCheckListBoxTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *)(wxControlWithItems *)(wxListBox *) ((wxCheckListBox *) x));
+}
+static void *_p_wxListBoxTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *)(wxControlWithItems *) ((wxListBox *) x));
+}
+static void *_p_wxPyVListBoxTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxPanel *)(wxPyVScrolledWindow *) ((wxPyVListBox *) x));
+}
+static void *_p_wxPyHtmlListBoxTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxPanel *)(wxPyVScrolledWindow *)(wxPyVListBox *) ((wxPyHtmlListBox *) x));
+}
+static void *_p_wxEditableListBoxTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxPanel *) ((wxEditableListBox *) x));
+}
+static void *_p_wxBookCtrlTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *) ((wxBookCtrl *) x));
+}
+static void *_p_wxLEDNumberCtrlTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *) ((wxLEDNumberCtrl *) x));
+}
+static void *_p_wxSpinButtonTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *) ((wxSpinButton *) x));
+}
+static void *_p_wxBitmapButtonTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *)(wxButton *) ((wxBitmapButton *) x));
+}
+static void *_p_wxButtonTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *) ((wxButton *) x));
+}
+static void *_p_wxContextHelpButtonTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *)(wxButton *)(wxBitmapButton *) ((wxContextHelpButton *) x));
+}
+static void *_p_wxRadioBoxTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *) ((wxRadioBox *) x));
+}
+static void *_p_wxScrollBarTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *) ((wxScrollBar *) x));
+}
+static void *_p_wxComboBoxTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *)(wxControlWithItems *)(wxChoice *) ((wxComboBox *) x));
+}
+static void *_p_wxMiniFrameTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxFrame *) ((wxMiniFrame *) x));
+}
+static void *_p_wxFrameTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *) ((wxFrame *) x));
+}
+static void *_p_wxSpinCtrlTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *) ((wxSpinCtrl *) x));
+}
+static void *_p_wxStatusBarTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *)  ((wxStatusBar *) x));
+}
+static void *_p_wxMDIParentFrameTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxFrame *) ((wxMDIParentFrame *) x));
+}
+static void *_p_wxSashWindowTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *)  ((wxSashWindow *) x));
+}
+static void *_p_wxSplitterWindowTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *)  ((wxSplitterWindow *) x));
+}
+static void *_p_wxSplashScreenWindowTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *)  ((wxSplashScreenWindow *) x));
+}
+static void *_p_wxTopLevelWindowTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *)  ((wxTopLevelWindow *) x));
+}
+static void *_p_wxScrolledWindowTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxPanel *) ((wxScrolledWindow *) x));
+}
+static void *_p_wxSashLayoutWindowTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxSashWindow *) ((wxSashLayoutWindow *) x));
+}
+static void *_p_wxPopupWindowTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *)  ((wxPopupWindow *) x));
+}
+static void *_p_wxPyPopupTransientWindowTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxPopupWindow *) ((wxPyPopupTransientWindow *) x));
+}
+static void *_p_wxTipWindowTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxPopupWindow *)(wxPyPopupTransientWindow *) ((wxTipWindow *) x));
+}
+static void *_p_wxPyVScrolledWindowTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxPanel *) ((wxPyVScrolledWindow *) x));
+}
+static void *_p_wxMDIClientWindowTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *)  ((wxMDIClientWindow *) x));
+}
+static void *_p_wxMenuBarTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *)  ((wxMenuBar *) x));
+}
+static void *_p_wxDynamicSashWindowTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *)  ((wxDynamicSashWindow *) x));
+}
+static void *_p_wxPyTreeCompanionWindowTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *)  ((wxPyTreeCompanionWindow *) x));
+}
+static void *_p_wxThinSplitterWindowTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxSplitterWindow *) ((wxThinSplitterWindow *) x));
+}
+static void *_p_wxSplitterScrolledWindowTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxPanel *)(wxScrolledWindow *) ((wxSplitterScrolledWindow *) x));
+}
+static void *_p_wxPrintDialogTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxDialog *) ((wxPrintDialog *) x));
+}
+static void *_p_wxPageSetupDialogTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxDialog *) ((wxPageSetupDialog *) x));
+}
+static void *_p_wxDialogTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *) ((wxDialog *) x));
+}
+static void *_p_wxColourDialogTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxDialog *) ((wxColourDialog *) x));
+}
+static void *_p_wxDirDialogTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxDialog *) ((wxDirDialog *) x));
+}
+static void *_p_wxFontDialogTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxDialog *) ((wxFontDialog *) x));
+}
+static void *_p_wxPanelTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *)  ((wxPanel *) x));
+}
+static void *_p_wxStaticTextTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *) ((wxStaticText *) x));
+}
+static void *_p_wxPyPreviewControlBarTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxPanel *)(wxPreviewControlBar *) ((wxPyPreviewControlBar *) x));
+}
+static void *_p_wxPreviewControlBarTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxPanel *) ((wxPreviewControlBar *) x));
+}
+static void *_p_wxControlWithItemsTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *) ((wxControlWithItems *) x));
+}
+static void *_p_wxToolBarTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *)(wxToolBarBase *) ((wxToolBar *) x));
+}
+static void *_p_wxThinSplitterWindowTo_p_wxSplitterWindow(void *x) {
+    return (void *)((wxSplitterWindow *)  ((wxThinSplitterWindow *) x));
+}
+static void *_p_wxSplitterScrolledWindowTo_p_wxScrolledWindow(void *x) {
+    return (void *)((wxScrolledWindow *)  ((wxSplitterScrolledWindow *) x));
+}
+static void *_p_wxPreviewCanvasTo_p_wxScrolledWindow(void *x) {
+    return (void *)((wxScrolledWindow *)  ((wxPreviewCanvas *) x));
+}
+static void *_p_wxBookCtrlTo_p_wxControl(void *x) {
+    return (void *)((wxControl *)  ((wxBookCtrl *) x));
+}
+static void *_p_wxToolBarTo_p_wxControl(void *x) {
+    return (void *)((wxControl *) (wxToolBarBase *) ((wxToolBar *) x));
+}
+static void *_p_wxToggleButtonTo_p_wxControl(void *x) {
+    return (void *)((wxControl *)  ((wxToggleButton *) x));
+}
+static void *_p_wxRadioButtonTo_p_wxControl(void *x) {
+    return (void *)((wxControl *)  ((wxRadioButton *) x));
+}
+static void *_p_wxLEDNumberCtrlTo_p_wxControl(void *x) {
+    return (void *)((wxControl *)  ((wxLEDNumberCtrl *) x));
+}
+static void *_p_wxPyControlTo_p_wxControl(void *x) {
+    return (void *)((wxControl *)  ((wxPyControl *) x));
+}
+static void *_p_wxToolBarBaseTo_p_wxControl(void *x) {
+    return (void *)((wxControl *)  ((wxToolBarBase *) x));
+}
+static void *_p_wxDirFilterListCtrlTo_p_wxControl(void *x) {
+    return (void *)((wxControl *) (wxControlWithItems *)(wxChoice *) ((wxDirFilterListCtrl *) x));
+}
+static void *_p_wxPyListCtrlTo_p_wxControl(void *x) {
+    return (void *)((wxControl *)  ((wxPyListCtrl *) x));
+}
+static void *_p_wxComboBoxTo_p_wxControl(void *x) {
+    return (void *)((wxControl *) (wxControlWithItems *)(wxChoice *) ((wxComboBox *) x));
+}
+static void *_p_wxPyTreeListCtrlTo_p_wxControl(void *x) {
+    return (void *)((wxControl *)  ((wxPyTreeListCtrl *) x));
+}
+static void *_p_wxGenericDirCtrlTo_p_wxControl(void *x) {
+    return (void *)((wxControl *)  ((wxGenericDirCtrl *) x));
+}
+static void *_p_wxScrollBarTo_p_wxControl(void *x) {
+    return (void *)((wxControl *)  ((wxScrollBar *) x));
+}
+static void *_p_wxControlWithItemsTo_p_wxControl(void *x) {
+    return (void *)((wxControl *)  ((wxControlWithItems *) x));
+}
+static void *_p_wxGaugeTo_p_wxControl(void *x) {
+    return (void *)((wxControl *)  ((wxGauge *) x));
+}
+static void *_p_wxStaticLineTo_p_wxControl(void *x) {
+    return (void *)((wxControl *)  ((wxStaticLine *) x));
+}
+static void *_p_wxListbookTo_p_wxControl(void *x) {
+    return (void *)((wxControl *) (wxBookCtrl *) ((wxListbook *) x));
+}
+static void *_p_wxRemotelyScrolledTreeCtrlTo_p_wxControl(void *x) {
+    return (void *)((wxControl *) (wxPyTreeCtrl *) ((wxRemotelyScrolledTreeCtrl *) x));
+}
+static void *_p_wxPyTreeCtrlTo_p_wxControl(void *x) {
+    return (void *)((wxControl *)  ((wxPyTreeCtrl *) x));
+}
+static void *_p_wxCheckBoxTo_p_wxControl(void *x) {
+    return (void *)((wxControl *)  ((wxCheckBox *) x));
+}
+static void *_p_wxRadioBoxTo_p_wxControl(void *x) {
+    return (void *)((wxControl *)  ((wxRadioBox *) x));
+}
+static void *_p_wxChoiceTo_p_wxControl(void *x) {
+    return (void *)((wxControl *) (wxControlWithItems *) ((wxChoice *) x));
+}
+static void *_p_wxListBoxTo_p_wxControl(void *x) {
+    return (void *)((wxControl *) (wxControlWithItems *) ((wxListBox *) x));
+}
+static void *_p_wxCheckListBoxTo_p_wxControl(void *x) {
+    return (void *)((wxControl *) (wxControlWithItems *)(wxListBox *) ((wxCheckListBox *) x));
+}
+static void *_p_wxListViewTo_p_wxControl(void *x) {
+    return (void *)((wxControl *) (wxPyListCtrl *) ((wxListView *) x));
+}
+static void *_p_wxNotebookTo_p_wxControl(void *x) {
+    return (void *)((wxControl *) (wxBookCtrl *) ((wxNotebook *) x));
+}
+static void *_p_wxStaticBitmapTo_p_wxControl(void *x) {
+    return (void *)((wxControl *)  ((wxStaticBitmap *) x));
+}
+static void *_p_wxSpinCtrlTo_p_wxControl(void *x) {
+    return (void *)((wxControl *)  ((wxSpinCtrl *) x));
+}
+static void *_p_wxStaticTextTo_p_wxControl(void *x) {
+    return (void *)((wxControl *)  ((wxStaticText *) x));
+}
+static void *_p_wxStaticBoxTo_p_wxControl(void *x) {
+    return (void *)((wxControl *)  ((wxStaticBox *) x));
+}
+static void *_p_wxSliderTo_p_wxControl(void *x) {
+    return (void *)((wxControl *)  ((wxSlider *) x));
+}
+static void *_p_wxContextHelpButtonTo_p_wxControl(void *x) {
+    return (void *)((wxControl *) (wxButton *)(wxBitmapButton *) ((wxContextHelpButton *) x));
+}
+static void *_p_wxSpinButtonTo_p_wxControl(void *x) {
+    return (void *)((wxControl *)  ((wxSpinButton *) x));
+}
+static void *_p_wxButtonTo_p_wxControl(void *x) {
+    return (void *)((wxControl *)  ((wxButton *) x));
+}
+static void *_p_wxBitmapButtonTo_p_wxControl(void *x) {
+    return (void *)((wxControl *) (wxButton *) ((wxBitmapButton *) x));
+}
+static void *_p_wxTextCtrlTo_p_wxControl(void *x) {
+    return (void *)((wxControl *)  ((wxTextCtrl *) x));
+}
+static void *_p_wxContextMenuEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *) (wxCommandEvent *) ((wxContextMenuEvent *) x));
+}
+static void *_p_wxMenuEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *)  ((wxMenuEvent *) x));
+}
+static void *_p_wxCloseEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *)  ((wxCloseEvent *) x));
+}
+static void *_p_wxMouseEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *)  ((wxMouseEvent *) x));
+}
+static void *_p_wxEraseEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *)  ((wxEraseEvent *) x));
+}
+static void *_p_wxTreeEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *) (wxCommandEvent *)(wxNotifyEvent *) ((wxTreeEvent *) x));
+}
+static void *_p_wxSetCursorEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *)  ((wxSetCursorEvent *) x));
+}
+static void *_p_wxSplitterEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *) (wxCommandEvent *)(wxNotifyEvent *) ((wxSplitterEvent *) x));
+}
+static void *_p_wxInitDialogEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *)  ((wxInitDialogEvent *) x));
+}
+static void *_p_wxScrollEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *) (wxCommandEvent *) ((wxScrollEvent *) x));
+}
+static void *_p_wxFindDialogEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *) (wxCommandEvent *) ((wxFindDialogEvent *) x));
+}
+static void *_p_wxTextUrlEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *) (wxCommandEvent *) ((wxTextUrlEvent *) x));
+}
+static void *_p_wxBookCtrlEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *) (wxCommandEvent *)(wxNotifyEvent *) ((wxBookCtrlEvent *) x));
+}
+static void *_p_wxPyEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *)  ((wxPyEvent *) x));
+}
+static void *_p_wxNotifyEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *) (wxCommandEvent *) ((wxNotifyEvent *) x));
+}
+static void *_p_wxCalculateLayoutEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *)  ((wxCalculateLayoutEvent *) x));
+}
+static void *_p_wxListEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *) (wxCommandEvent *)(wxNotifyEvent *) ((wxListEvent *) x));
+}
+static void *_p_wxDynamicSashSplitEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *) (wxCommandEvent *) ((wxDynamicSashSplitEvent *) x));
+}
+static void *_p_wxDynamicSashUnifyEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *) (wxCommandEvent *) ((wxDynamicSashUnifyEvent *) x));
+}
+static void *_p_wxNotebookEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *) (wxCommandEvent *)(wxNotifyEvent *)(wxBookCtrlEvent *) ((wxNotebookEvent *) x));
+}
+static void *_p_wxListbookEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *) (wxCommandEvent *)(wxNotifyEvent *)(wxBookCtrlEvent *) ((wxListbookEvent *) x));
+}
+static void *_p_wxHelpEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *) (wxCommandEvent *) ((wxHelpEvent *) x));
+}
+static void *_p_wxIdleEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *)  ((wxIdleEvent *) x));
+}
+static void *_p_wxWindowCreateEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *) (wxCommandEvent *) ((wxWindowCreateEvent *) x));
+}
+static void *_p_wxQueryNewPaletteEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *)  ((wxQueryNewPaletteEvent *) x));
+}
+static void *_p_wxMaximizeEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *)  ((wxMaximizeEvent *) x));
+}
+static void *_p_wxIconizeEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *)  ((wxIconizeEvent *) x));
+}
+static void *_p_wxActivateEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *)  ((wxActivateEvent *) x));
+}
+static void *_p_wxSizeEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *)  ((wxSizeEvent *) x));
+}
+static void *_p_wxMoveEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *)  ((wxMoveEvent *) x));
+}
+static void *_p_wxPaintEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *)  ((wxPaintEvent *) x));
+}
+static void *_p_wxNcPaintEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *)  ((wxNcPaintEvent *) x));
+}
+static void *_p_wxUpdateUIEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *) (wxCommandEvent *) ((wxUpdateUIEvent *) x));
+}
+static void *_p_wxPaletteChangedEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *)  ((wxPaletteChangedEvent *) x));
+}
+static void *_p_wxDisplayChangedEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *)  ((wxDisplayChangedEvent *) x));
+}
+static void *_p_wxMouseCaptureChangedEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *)  ((wxMouseCaptureChangedEvent *) x));
+}
+static void *_p_wxSysColourChangedEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *)  ((wxSysColourChangedEvent *) x));
+}
+static void *_p_wxDropFilesEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *)  ((wxDropFilesEvent *) x));
+}
+static void *_p_wxFocusEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *)  ((wxFocusEvent *) x));
+}
+static void *_p_wxChildFocusEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *) (wxCommandEvent *) ((wxChildFocusEvent *) x));
+}
+static void *_p_wxSashEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *) (wxCommandEvent *) ((wxSashEvent *) x));
+}
+static void *_p_wxQueryLayoutInfoEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *)  ((wxQueryLayoutInfoEvent *) x));
+}
+static void *_p_wxShowEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *)  ((wxShowEvent *) x));
+}
+static void *_p_wxCommandEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *)  ((wxCommandEvent *) x));
+}
+static void *_p_wxPyCommandEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *) (wxCommandEvent *) ((wxPyCommandEvent *) x));
+}
+static void *_p_wxWindowDestroyEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *) (wxCommandEvent *) ((wxWindowDestroyEvent *) x));
+}
+static void *_p_wxNavigationKeyEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *)  ((wxNavigationKeyEvent *) x));
+}
+static void *_p_wxKeyEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *)  ((wxKeyEvent *) x));
+}
+static void *_p_wxScrollWinEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *)  ((wxScrollWinEvent *) x));
+}
+static void *_p_wxTaskBarIconEventTo_p_wxEvent(void *x) {
+    return (void *)((wxEvent *)  ((wxTaskBarIconEvent *) x));
+}
+static void *_p_wxScrollBarTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *) ((wxScrollBar *) x));
+}
+static void *_p_wxUpdateUIEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxUpdateUIEvent *) x));
+}
+static void *_p_wxPreviewCanvasTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxPanel *)(wxScrolledWindow *) ((wxPreviewCanvas *) x));
+}
+static void *_p_wxEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxEvent *) x));
+}
+static void *_p_wxBookCtrlTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *) ((wxBookCtrl *) x));
+}
+static void *_p_wxFindDialogEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxFindDialogEvent *) x));
+}
+static void *_p_wxInitDialogEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxInitDialogEvent *) x));
+}
+static void *_p_wxIndividualLayoutConstraintTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxIndividualLayoutConstraint *) x));
+}
+static void *_p_wxPyPreviewFrameTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxFrame *)(wxPreviewFrame *) ((wxPyPreviewFrame *) x));
+}
+static void *_p_wxPreviewFrameTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxFrame *) ((wxPreviewFrame *) x));
+}
+static void *_p_wxToolBarBaseTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *) ((wxToolBarBase *) x));
+}
+static void *_p_wxMenuItemTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxMenuItem *) x));
+}
+static void *_p_wxImageTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxImage *) x));
+}
+static void *_p_wxPySizerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxSizer *) ((wxPySizer *) x));
+}
+static void *_p_wxStaticBitmapTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *) ((wxStaticBitmap *) x));
+}
+static void *_p_wxGenericDragImageTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxGenericDragImage *) x));
+}
+static void *_p_wxComboBoxTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *)(wxControlWithItems *)(wxChoice *) ((wxComboBox *) x));
+}
+static void *_p_wxTaskBarIconTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *) ((wxTaskBarIcon *) x));
+}
+static void *_p_wxLayoutAlgorithmTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxLayoutAlgorithm *) x));
+}
+static void *_p_wxPyAppTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *) ((wxPyApp *) x));
+}
+static void *_p_wxNotebookTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *)(wxBookCtrl *) ((wxNotebook *) x));
+}
+static void *_p_wxListItemTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxListItem *) x));
+}
+static void *_p_wxNotebookSizerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxSizer *) ((wxNotebookSizer *) x));
+}
+static void *_p_wxPyTreeCtrlTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *) ((wxPyTreeCtrl *) x));
+}
+static void *_p_wxRemotelyScrolledTreeCtrlTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *)(wxPyTreeCtrl *) ((wxRemotelyScrolledTreeCtrl *) x));
+}
+static void *_p_wxPyPreviewControlBarTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxPanel *)(wxPreviewControlBar *) ((wxPyPreviewControlBar *) x));
+}
+static void *_p_wxPreviewControlBarTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxPanel *) ((wxPreviewControlBar *) x));
+}
+static void *_p_wxFindReplaceDataTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxFindReplaceData *) x));
+}
+static void *_p_wxStaticLineTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *) ((wxStaticLine *) x));
+}
+static void *_p_wxValidatorTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *) ((wxValidator *) x));
+}
+static void *_p_wxPyValidatorTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxValidator *) ((wxPyValidator *) x));
+}
+static void *_p_wxEraseEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxEraseEvent *) x));
+}
+static void *_p_wxMouseEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxMouseEvent *) x));
+}
+static void *_p_wxCloseEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxCloseEvent *) x));
+}
+static void *_p_wxTreeEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *)(wxNotifyEvent *) ((wxTreeEvent *) x));
+}
+static void *_p_wxBookCtrlEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *)(wxNotifyEvent *) ((wxBookCtrlEvent *) x));
+}
+static void *_p_wxTextUrlEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxTextUrlEvent *) x));
+}
+static void *_p_wxScrollEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxScrollEvent *) x));
+}
+static void *_p_wxPrintDialogDataTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxPrintDialogData *) x));
+}
+static void *_p_wxPageSetupDialogDataTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxPageSetupDialogData *) x));
+}
+static void *_p_wxPrinterTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxPrinter *) x));
+}
+static void *_p_wxControlWithItemsTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *) ((wxControlWithItems *) x));
+}
+static void *_p_wxRadioBoxTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *) ((wxRadioBox *) x));
+}
+static void *_p_wxGridSizerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxSizer *) ((wxGridSizer *) x));
+}
+static void *_p_wxFlexGridSizerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxSizer *)(wxGridSizer *) ((wxFlexGridSizer *) x));
+}
+static void *_p_wxAcceleratorTableTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxAcceleratorTable *) x));
+}
+static void *_p_wxTreeListColumnInfoTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxTreeListColumnInfo *) x));
+}
+static void *_p_wxControlTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *) ((wxControl *) x));
+}
+static void *_p_wxPyControlTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *) ((wxPyControl *) x));
+}
+static void *_p_wxContextHelpTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxContextHelp *) x));
+}
+static void *_p_wxColourDataTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxColourData *) x));
+}
+static void *_p_wxActivateEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxActivateEvent *) x));
+}
+static void *_p_wxMoveEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxMoveEvent *) x));
+}
+static void *_p_wxSizeEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxSizeEvent *) x));
+}
+static void *_p_wxIconizeEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxIconizeEvent *) x));
+}
+static void *_p_wxMaximizeEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxMaximizeEvent *) x));
+}
+static void *_p_wxQueryNewPaletteEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxQueryNewPaletteEvent *) x));
+}
+static void *_p_wxWindowCreateEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxWindowCreateEvent *) x));
+}
+static void *_p_wxIdleEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxIdleEvent *) x));
+}
+static void *_p_wxStaticTextTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *) ((wxStaticText *) x));
+}
+static void *_p_wxCalculateLayoutEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxCalculateLayoutEvent *) x));
+}
+static void *_p_wxListEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *)(wxNotifyEvent *) ((wxListEvent *) x));
+}
+static void *_p_wxDynamicSashSplitEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxDynamicSashSplitEvent *) x));
+}
+static void *_p_wxPyPrintoutTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxPyPrintout *) x));
+}
+static void *_p_wxGaugeTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *) ((wxGauge *) x));
+}
+static void *_p_wxMDIChildFrameTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxFrame *) ((wxMDIChildFrame *) x));
+}
+static void *_p_wxChoiceTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *)(wxControlWithItems *) ((wxChoice *) x));
+}
+static void *_p_wxSpinButtonTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *) ((wxSpinButton *) x));
+}
+static void *_p_wxBitmapButtonTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *)(wxButton *) ((wxBitmapButton *) x));
+}
+static void *_p_wxButtonTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *) ((wxButton *) x));
+}
+static void *_p_wxContextHelpButtonTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *)(wxButton *)(wxBitmapButton *) ((wxContextHelpButton *) x));
+}
+static void *_p_wxKeyEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxKeyEvent *) x));
+}
+static void *_p_wxNavigationKeyEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxNavigationKeyEvent *) x));
+}
+static void *_p_wxWindowDestroyEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxWindowDestroyEvent *) x));
+}
+static void *_p_wxSashEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxSashEvent *) x));
+}
+static void *_p_wxCheckListBoxTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *)(wxControlWithItems *)(wxListBox *) ((wxCheckListBox *) x));
+}
+static void *_p_wxListBoxTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *)(wxControlWithItems *) ((wxListBox *) x));
+}
+static void *_p_wxPyHtmlListBoxTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxPanel *)(wxPyVScrolledWindow *)(wxPyVListBox *) ((wxPyHtmlListBox *) x));
+}
+static void *_p_wxPyVListBoxTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxPanel *)(wxPyVScrolledWindow *) ((wxPyVListBox *) x));
+}
+static void *_p_wxPrintDataTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxPrintData *) x));
+}
+static void *_p_wxFontDataTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxFontData *) x));
+}
+static void *_p_wxEditableListBoxTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxPanel *) ((wxEditableListBox *) x));
+}
+static void *_p_wxMiniFrameTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxFrame *) ((wxMiniFrame *) x));
+}
+static void *_p_wxListbookTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *)(wxBookCtrl *) ((wxListbook *) x));
+}
+static void *_p_wxFrameTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *) ((wxFrame *) x));
+}
+static void *_p_wxPyPanelTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxPanel *) ((wxPyPanel *) x));
+}
+static void *_p_wxStaticBoxTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *) ((wxStaticBox *) x));
+}
+static void *_p_wxQueryLayoutInfoEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxQueryLayoutInfoEvent *) x));
+}
+static void *_p_wxSplashScreenTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxFrame *) ((wxSplashScreen *) x));
+}
+static void *_p_wxFileSystemTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxFileSystem *) x));
+}
+static void *_p_wxPyPrintPreviewTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxPrintPreview *) ((wxPyPrintPreview *) x));
+}
+static void *_p_wxPrintPreviewTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxPrintPreview *) x));
+}
+static void *_p_wxListViewTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *)(wxPyListCtrl *) ((wxListView *) x));
+}
+static void *_p_wxLayoutConstraintsTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxLayoutConstraints *) x));
+}
+static void *_p_wxPyListCtrlTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *) ((wxPyListCtrl *) x));
+}
+static void *_p_wxDirFilterListCtrlTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *)(wxControlWithItems *)(wxChoice *) ((wxDirFilterListCtrl *) x));
+}
+static void *_p_wxPyTreeListCtrlTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *) ((wxPyTreeListCtrl *) x));
+}
+static void *_p_wxSizerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxSizer *) x));
+}
+static void *_p_wxBoxSizerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxSizer *) ((wxBoxSizer *) x));
+}
+static void *_p_wxStaticBoxSizerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxSizer *)(wxBoxSizer *) ((wxStaticBoxSizer *) x));
+}
+static void *_p_wxGridBagSizerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxSizer *)(wxGridSizer *)(wxFlexGridSizer *) ((wxGridBagSizer *) x));
+}
+static void *_p_wxNcPaintEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxNcPaintEvent *) x));
+}
+static void *_p_wxPaintEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxPaintEvent *) x));
+}
+static void *_p_wxFSFileTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxFSFile *) x));
+}
+static void *_p_wxSplitterEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *)(wxNotifyEvent *) ((wxSplitterEvent *) x));
+}
+static void *_p_wxSetCursorEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxSetCursorEvent *) x));
+}
+static void *_p_wxTextCtrlTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *) ((wxTextCtrl *) x));
+}
+static void *_p_wxMenuTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *) ((wxMenu *) x));
+}
+static void *_p_wxToggleButtonTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *) ((wxToggleButton *) x));
+}
+static void *_p_wxRadioButtonTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *) ((wxRadioButton *) x));
+}
+static void *_p_wxSizerItemTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxSizerItem *) x));
+}
+static void *_p_wxGBSizerItemTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxSizerItem *) ((wxGBSizerItem *) x));
+}
+static void *_p_wxPrintDialogTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxPrintDialog *) x));
+}
+static void *_p_wxPageSetupDialogTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxPageSetupDialog *) x));
+}
+static void *_p_wxFontDialogTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxFontDialog *) x));
+}
+static void *_p_wxDirDialogTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxDirDialog *) x));
+}
+static void *_p_wxColourDialogTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxColourDialog *) x));
+}
+static void *_p_wxDialogTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *) ((wxDialog *) x));
+}
+static void *_p_wxNotifyEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxNotifyEvent *) x));
+}
+static void *_p_wxPyEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxPyEvent *) x));
+}
+static void *_p_wxGenericDirCtrlTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *) ((wxGenericDirCtrl *) x));
+}
+static void *_p_wxDynamicSashUnifyEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxDynamicSashUnifyEvent *) x));
+}
+static void *_p_wxEvtHandlerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxEvtHandler *) x));
+}
+static void *_p_wxTIFFHandlerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxImageHandler *) ((wxTIFFHandler *) x));
+}
+static void *_p_wxImageHandlerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxImageHandler *) x));
+}
+static void *_p_wxBMPHandlerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxImageHandler *) ((wxBMPHandler *) x));
+}
+static void *_p_wxICOHandlerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxImageHandler *)(wxBMPHandler *) ((wxICOHandler *) x));
+}
+static void *_p_wxCURHandlerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxImageHandler *)(wxBMPHandler *)(wxICOHandler *) ((wxCURHandler *) x));
+}
+static void *_p_wxANIHandlerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxImageHandler *)(wxBMPHandler *)(wxICOHandler *)(wxCURHandler *) ((wxANIHandler *) x));
+}
+static void *_p_wxPNGHandlerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxImageHandler *) ((wxPNGHandler *) x));
+}
+static void *_p_wxGIFHandlerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxImageHandler *) ((wxGIFHandler *) x));
+}
+static void *_p_wxPCXHandlerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxImageHandler *) ((wxPCXHandler *) x));
+}
+static void *_p_wxJPEGHandlerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxImageHandler *) ((wxJPEGHandler *) x));
+}
+static void *_p_wxPNMHandlerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxImageHandler *) ((wxPNMHandler *) x));
+}
+static void *_p_wxXPMHandlerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxImageHandler *) ((wxXPMHandler *) x));
+}
+static void *_p_wxShowEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxShowEvent *) x));
+}
+static void *_p_wxMDIClientWindowTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *) ((wxMDIClientWindow *) x));
+}
+static void *_p_wxPyVScrolledWindowTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxPanel *) ((wxPyVScrolledWindow *) x));
+}
+static void *_p_wxTipWindowTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxPopupWindow *)(wxPyPopupTransientWindow *) ((wxTipWindow *) x));
+}
+static void *_p_wxPyPopupTransientWindowTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxPopupWindow *) ((wxPyPopupTransientWindow *) x));
+}
+static void *_p_wxPopupWindowTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *) ((wxPopupWindow *) x));
+}
+static void *_p_wxSashLayoutWindowTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxSashWindow *) ((wxSashLayoutWindow *) x));
+}
+static void *_p_wxSashWindowTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *) ((wxSashWindow *) x));
+}
+static void *_p_wxSplitterWindowTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *) ((wxSplitterWindow *) x));
+}
+static void *_p_wxSplashScreenWindowTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *) ((wxSplashScreenWindow *) x));
+}
+static void *_p_wxTopLevelWindowTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *) ((wxTopLevelWindow *) x));
+}
+static void *_p_wxWindowTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *) ((wxWindow *) x));
+}
+static void *_p_wxScrolledWindowTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxPanel *) ((wxScrolledWindow *) x));
+}
+static void *_p_wxDynamicSashWindowTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *) ((wxDynamicSashWindow *) x));
+}
+static void *_p_wxPyTreeCompanionWindowTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *) ((wxPyTreeCompanionWindow *) x));
+}
+static void *_p_wxThinSplitterWindowTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxSplitterWindow *) ((wxThinSplitterWindow *) x));
+}
+static void *_p_wxSplitterScrolledWindowTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxPanel *)(wxScrolledWindow *) ((wxSplitterScrolledWindow *) x));
+}
+static void *_p_wxSpinCtrlTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *) ((wxSpinCtrl *) x));
+}
+static void *_p_wxListbookEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *)(wxNotifyEvent *)(wxBookCtrlEvent *) ((wxListbookEvent *) x));
+}
+static void *_p_wxNotebookEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *)(wxNotifyEvent *)(wxBookCtrlEvent *) ((wxNotebookEvent *) x));
+}
+static void *_p_wxBookCtrlSizerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxSizer *) ((wxBookCtrlSizer *) x));
+}
+static void *_p_wxFindReplaceDialogTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxFindReplaceDialog *) x));
+}
+static void *_p_wxProgressDialogTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxFrame *) ((wxProgressDialog *) x));
+}
+static void *_p_wxMessageDialogTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxMessageDialog *) x));
+}
+static void *_p_wxTextEntryDialogTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxTextEntryDialog *) x));
+}
+static void *_p_wxSingleChoiceDialogTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxSingleChoiceDialog *) x));
+}
+static void *_p_wxMultiChoiceDialogTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxMultiChoiceDialog *) x));
+}
+static void *_p_wxFileDialogTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxFileDialog *) x));
+}
+static void *_p_wxToolBarToolBaseTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxToolBarToolBase *) x));
+}
+static void *_p_wxSliderTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *) ((wxSlider *) x));
+}
+static void *_p_wxPyWindowTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *) ((wxPyWindow *) x));
+}
+static void *_p_wxSysColourChangedEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxSysColourChangedEvent *) x));
+}
+static void *_p_wxMouseCaptureChangedEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxMouseCaptureChangedEvent *) x));
+}
+static void *_p_wxDisplayChangedEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxDisplayChangedEvent *) x));
+}
+static void *_p_wxPaletteChangedEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxPaletteChangedEvent *) x));
+}
+static void *_p_wxCheckBoxTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *) ((wxCheckBox *) x));
+}
+static void *_p_wxHelpEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxHelpEvent *) x));
+}
+static void *_p_wxPanelTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *) ((wxPanel *) x));
+}
+static void *_p_wxTaskBarIconEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxTaskBarIconEvent *) x));
+}
+static void *_p_wxScrollWinEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxScrollWinEvent *) x));
+}
+static void *_p_wxMenuEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxMenuEvent *) x));
+}
+static void *_p_wxContextMenuEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxContextMenuEvent *) x));
+}
+static void *_p_wxLEDNumberCtrlTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *) ((wxLEDNumberCtrl *) x));
+}
+static void *_p_wxCommandEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxCommandEvent *) x));
+}
+static void *_p_wxPyCommandEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxPyCommandEvent *) x));
+}
+static void *_p_wxToolBarTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *)(wxToolBarBase *) ((wxToolBar *) x));
+}
+static void *_p_wxStatusBarTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *) ((wxStatusBar *) x));
+}
+static void *_p_wxChildFocusEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxChildFocusEvent *) x));
+}
+static void *_p_wxFocusEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxFocusEvent *) x));
+}
+static void *_p_wxDropFilesEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxDropFilesEvent *) x));
+}
+static void *_p_wxMDIParentFrameTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxFrame *) ((wxMDIParentFrame *) x));
+}
+static void *_p_wxMenuBarTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *) ((wxMenuBar *) x));
+}
+static void *_p_wxPyPreviewFrameTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxFrame *)(wxPreviewFrame *) ((wxPyPreviewFrame *) x));
+}
+static void *_p_wxPreviewFrameTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxFrame *) ((wxPreviewFrame *) x));
+}
+static void *_p_wxCheckBoxTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *) ((wxCheckBox *) x));
+}
+static void *_p_wxPyTreeCtrlTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *) ((wxPyTreeCtrl *) x));
+}
+static void *_p_wxRemotelyScrolledTreeCtrlTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *)(wxPyTreeCtrl *) ((wxRemotelyScrolledTreeCtrl *) x));
+}
+static void *_p_wxPyPanelTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxPanel *) ((wxPyPanel *) x));
+}
+static void *_p_wxTaskBarIconTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *)  ((wxTaskBarIcon *) x));
+}
+static void *_p_wxGenericDirCtrlTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *) ((wxGenericDirCtrl *) x));
+}
+static void *_p_wxPyListCtrlTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *) ((wxPyListCtrl *) x));
+}
+static void *_p_wxDirFilterListCtrlTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *)(wxControlWithItems *)(wxChoice *) ((wxDirFilterListCtrl *) x));
+}
+static void *_p_wxPyTreeListCtrlTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *) ((wxPyTreeListCtrl *) x));
+}
+static void *_p_wxPreviewCanvasTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxPanel *)(wxScrolledWindow *) ((wxPreviewCanvas *) x));
+}
+static void *_p_wxStaticLineTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *) ((wxStaticLine *) x));
+}
+static void *_p_wxControlTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *) ((wxControl *) x));
+}
+static void *_p_wxPyControlTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *) ((wxPyControl *) x));
+}
+static void *_p_wxGaugeTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *) ((wxGauge *) x));
+}
+static void *_p_wxToolBarBaseTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *) ((wxToolBarBase *) x));
+}
+static void *_p_wxToggleButtonTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *) ((wxToggleButton *) x));
+}
+static void *_p_wxRadioButtonTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *) ((wxRadioButton *) x));
+}
+static void *_p_wxChoiceTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *)(wxControlWithItems *) ((wxChoice *) x));
+}
+static void *_p_wxListViewTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *)(wxPyListCtrl *) ((wxListView *) x));
+}
+static void *_p_wxTextCtrlTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *) ((wxTextCtrl *) x));
+}
+static void *_p_wxNotebookTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *)(wxBookCtrl *) ((wxNotebook *) x));
+}
+static void *_p_wxMDIChildFrameTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxFrame *) ((wxMDIChildFrame *) x));
+}
+static void *_p_wxPyWindowTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *) ((wxPyWindow *) x));
+}
+static void *_p_wxSplashScreenTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxFrame *) ((wxSplashScreen *) x));
+}
+static void *_p_wxListbookTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *)(wxBookCtrl *) ((wxListbook *) x));
+}
+static void *_p_wxFindReplaceDialogTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxFindReplaceDialog *) x));
+}
+static void *_p_wxProgressDialogTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxFrame *) ((wxProgressDialog *) x));
+}
+static void *_p_wxMessageDialogTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxMessageDialog *) x));
+}
+static void *_p_wxFileDialogTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxFileDialog *) x));
+}
+static void *_p_wxMultiChoiceDialogTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxMultiChoiceDialog *) x));
+}
+static void *_p_wxSingleChoiceDialogTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxSingleChoiceDialog *) x));
+}
+static void *_p_wxTextEntryDialogTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxTextEntryDialog *) x));
+}
+static void *_p_wxStaticBitmapTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *) ((wxStaticBitmap *) x));
+}
+static void *_p_wxSliderTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *) ((wxSlider *) x));
+}
+static void *_p_wxStaticBoxTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *) ((wxStaticBox *) x));
+}
+static void *_p_wxCheckListBoxTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *)(wxControlWithItems *)(wxListBox *) ((wxCheckListBox *) x));
+}
+static void *_p_wxListBoxTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *)(wxControlWithItems *) ((wxListBox *) x));
+}
+static void *_p_wxPyVListBoxTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxPanel *)(wxPyVScrolledWindow *) ((wxPyVListBox *) x));
+}
+static void *_p_wxPyHtmlListBoxTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxPanel *)(wxPyVScrolledWindow *)(wxPyVListBox *) ((wxPyHtmlListBox *) x));
+}
+static void *_p_wxEditableListBoxTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxPanel *) ((wxEditableListBox *) x));
+}
+static void *_p_wxBookCtrlTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *) ((wxBookCtrl *) x));
+}
+static void *_p_wxLEDNumberCtrlTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *) ((wxLEDNumberCtrl *) x));
+}
+static void *_p_wxSpinButtonTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *) ((wxSpinButton *) x));
+}
+static void *_p_wxBitmapButtonTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *)(wxButton *) ((wxBitmapButton *) x));
+}
+static void *_p_wxButtonTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *) ((wxButton *) x));
+}
+static void *_p_wxContextHelpButtonTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *)(wxButton *)(wxBitmapButton *) ((wxContextHelpButton *) x));
+}
+static void *_p_wxRadioBoxTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *) ((wxRadioBox *) x));
+}
+static void *_p_wxScrollBarTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *) ((wxScrollBar *) x));
+}
+static void *_p_wxComboBoxTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *)(wxControlWithItems *)(wxChoice *) ((wxComboBox *) x));
+}
+static void *_p_wxMiniFrameTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxFrame *) ((wxMiniFrame *) x));
+}
+static void *_p_wxFrameTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *) ((wxFrame *) x));
+}
+static void *_p_wxSpinCtrlTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *) ((wxSpinCtrl *) x));
+}
+static void *_p_wxStatusBarTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *) ((wxStatusBar *) x));
+}
+static void *_p_wxMDIParentFrameTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxFrame *) ((wxMDIParentFrame *) x));
+}
+static void *_p_wxMDIClientWindowTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *) ((wxMDIClientWindow *) x));
+}
+static void *_p_wxTopLevelWindowTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *) ((wxTopLevelWindow *) x));
+}
+static void *_p_wxScrolledWindowTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxPanel *) ((wxScrolledWindow *) x));
+}
+static void *_p_wxWindowTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *)  ((wxWindow *) x));
+}
+static void *_p_wxSplashScreenWindowTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *) ((wxSplashScreenWindow *) x));
+}
+static void *_p_wxSplitterWindowTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *) ((wxSplitterWindow *) x));
+}
+static void *_p_wxSashWindowTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *) ((wxSashWindow *) x));
+}
+static void *_p_wxSashLayoutWindowTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxSashWindow *) ((wxSashLayoutWindow *) x));
+}
+static void *_p_wxPopupWindowTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *) ((wxPopupWindow *) x));
+}
+static void *_p_wxPyPopupTransientWindowTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxPopupWindow *) ((wxPyPopupTransientWindow *) x));
+}
+static void *_p_wxTipWindowTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxPopupWindow *)(wxPyPopupTransientWindow *) ((wxTipWindow *) x));
+}
+static void *_p_wxPyVScrolledWindowTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxPanel *) ((wxPyVScrolledWindow *) x));
+}
+static void *_p_wxMenuTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *)  ((wxMenu *) x));
+}
+static void *_p_wxMenuBarTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *) ((wxMenuBar *) x));
+}
+static void *_p_wxDynamicSashWindowTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *) ((wxDynamicSashWindow *) x));
+}
+static void *_p_wxPyTreeCompanionWindowTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *) ((wxPyTreeCompanionWindow *) x));
+}
+static void *_p_wxThinSplitterWindowTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxSplitterWindow *) ((wxThinSplitterWindow *) x));
+}
+static void *_p_wxSplitterScrolledWindowTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxPanel *)(wxScrolledWindow *) ((wxSplitterScrolledWindow *) x));
+}
+static void *_p_wxPrintDialogTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxPrintDialog *) x));
+}
+static void *_p_wxPageSetupDialogTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxPageSetupDialog *) x));
+}
+static void *_p_wxDialogTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *) ((wxDialog *) x));
+}
+static void *_p_wxColourDialogTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxColourDialog *) x));
+}
+static void *_p_wxDirDialogTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxDirDialog *) x));
+}
+static void *_p_wxFontDialogTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxFontDialog *) x));
+}
+static void *_p_wxPanelTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *) ((wxPanel *) x));
+}
+static void *_p_wxPyAppTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *)  ((wxPyApp *) x));
+}
+static void *_p_wxStaticTextTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *) ((wxStaticText *) x));
+}
+static void *_p_wxPyPreviewControlBarTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxPanel *)(wxPreviewControlBar *) ((wxPyPreviewControlBar *) x));
+}
+static void *_p_wxPreviewControlBarTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxPanel *) ((wxPreviewControlBar *) x));
+}
+static void *_p_wxControlWithItemsTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *) ((wxControlWithItems *) x));
+}
+static void *_p_wxToolBarTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *)(wxToolBarBase *) ((wxToolBar *) x));
+}
+static void *_p_wxPyValidatorTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxValidator *) ((wxPyValidator *) x));
+}
+static void *_p_wxValidatorTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *)  ((wxValidator *) x));
+}
+static void *_p_wxRemotelyScrolledTreeCtrlTo_p_wxPyTreeCtrl(void *x) {
+    return (void *)((wxPyTreeCtrl *)  ((wxRemotelyScrolledTreeCtrl *) x));
+}
+static void *_p_wxSashEventTo_p_wxCommandEvent(void *x) {
+    return (void *)((wxCommandEvent *)  ((wxSashEvent *) x));
+}
+static void *_p_wxWindowDestroyEventTo_p_wxCommandEvent(void *x) {
+    return (void *)((wxCommandEvent *)  ((wxWindowDestroyEvent *) x));
+}
+static void *_p_wxSplitterEventTo_p_wxCommandEvent(void *x) {
+    return (void *)((wxCommandEvent *) (wxNotifyEvent *) ((wxSplitterEvent *) x));
+}
+static void *_p_wxBookCtrlEventTo_p_wxCommandEvent(void *x) {
+    return (void *)((wxCommandEvent *) (wxNotifyEvent *) ((wxBookCtrlEvent *) x));
+}
+static void *_p_wxTextUrlEventTo_p_wxCommandEvent(void *x) {
+    return (void *)((wxCommandEvent *)  ((wxTextUrlEvent *) x));
+}
+static void *_p_wxScrollEventTo_p_wxCommandEvent(void *x) {
+    return (void *)((wxCommandEvent *)  ((wxScrollEvent *) x));
+}
+static void *_p_wxPyCommandEventTo_p_wxCommandEvent(void *x) {
+    return (void *)((wxCommandEvent *)  ((wxPyCommandEvent *) x));
+}
+static void *_p_wxContextMenuEventTo_p_wxCommandEvent(void *x) {
+    return (void *)((wxCommandEvent *)  ((wxContextMenuEvent *) x));
+}
+static void *_p_wxChildFocusEventTo_p_wxCommandEvent(void *x) {
+    return (void *)((wxCommandEvent *)  ((wxChildFocusEvent *) x));
+}
+static void *_p_wxNotebookEventTo_p_wxCommandEvent(void *x) {
+    return (void *)((wxCommandEvent *) (wxNotifyEvent *)(wxBookCtrlEvent *) ((wxNotebookEvent *) x));
+}
+static void *_p_wxListbookEventTo_p_wxCommandEvent(void *x) {
+    return (void *)((wxCommandEvent *) (wxNotifyEvent *)(wxBookCtrlEvent *) ((wxListbookEvent *) x));
+}
+static void *_p_wxWindowCreateEventTo_p_wxCommandEvent(void *x) {
+    return (void *)((wxCommandEvent *)  ((wxWindowCreateEvent *) x));
+}
+static void *_p_wxListEventTo_p_wxCommandEvent(void *x) {
+    return (void *)((wxCommandEvent *) (wxNotifyEvent *) ((wxListEvent *) x));
+}
+static void *_p_wxDynamicSashSplitEventTo_p_wxCommandEvent(void *x) {
+    return (void *)((wxCommandEvent *)  ((wxDynamicSashSplitEvent *) x));
+}
+static void *_p_wxTreeEventTo_p_wxCommandEvent(void *x) {
+    return (void *)((wxCommandEvent *) (wxNotifyEvent *) ((wxTreeEvent *) x));
+}
+static void *_p_wxHelpEventTo_p_wxCommandEvent(void *x) {
+    return (void *)((wxCommandEvent *)  ((wxHelpEvent *) x));
+}
+static void *_p_wxNotifyEventTo_p_wxCommandEvent(void *x) {
+    return (void *)((wxCommandEvent *)  ((wxNotifyEvent *) x));
+}
+static void *_p_wxDynamicSashUnifyEventTo_p_wxCommandEvent(void *x) {
+    return (void *)((wxCommandEvent *)  ((wxDynamicSashUnifyEvent *) x));
+}
+static void *_p_wxFindDialogEventTo_p_wxCommandEvent(void *x) {
+    return (void *)((wxCommandEvent *)  ((wxFindDialogEvent *) x));
+}
+static void *_p_wxUpdateUIEventTo_p_wxCommandEvent(void *x) {
+    return (void *)((wxCommandEvent *)  ((wxUpdateUIEvent *) x));
+}
+static swig_type_info _swigt__p_wxEditableListBox[] = {{"_p_wxEditableListBox", 0, "wxEditableListBox *", 0},{"_p_wxEditableListBox"},{0}};
+static swig_type_info _swigt__p_wxObject[] = {{"_p_wxObject", 0, "wxObject *", 0},{"_p_wxScrollBar", _p_wxScrollBarTo_p_wxObject},{"_p_wxUpdateUIEvent", _p_wxUpdateUIEventTo_p_wxObject},{"_p_wxPreviewCanvas", _p_wxPreviewCanvasTo_p_wxObject},{"_p_wxEvent", _p_wxEventTo_p_wxObject},{"_p_wxBookCtrl", _p_wxBookCtrlTo_p_wxObject},{"_p_wxFindDialogEvent", _p_wxFindDialogEventTo_p_wxObject},{"_p_wxInitDialogEvent", _p_wxInitDialogEventTo_p_wxObject},{"_p_wxIndividualLayoutConstraint", _p_wxIndividualLayoutConstraintTo_p_wxObject},{"_p_wxPyPreviewFrame", _p_wxPyPreviewFrameTo_p_wxObject},{"_p_wxPreviewFrame", _p_wxPreviewFrameTo_p_wxObject},{"_p_wxToolBarBase", _p_wxToolBarBaseTo_p_wxObject},{"_p_wxMenuItem", _p_wxMenuItemTo_p_wxObject},{"_p_wxImage", _p_wxImageTo_p_wxObject},{"_p_wxPySizer", _p_wxPySizerTo_p_wxObject},{"_p_wxGenericDragImage", _p_wxGenericDragImageTo_p_wxObject},{"_p_wxStaticBitmap", _p_wxStaticBitmapTo_p_wxObject},{"_p_wxComboBox", _p_wxComboBoxTo_p_wxObject},{"_p_wxLayoutAlgorithm", _p_wxLayoutAlgorithmTo_p_wxObject},{"_p_wxTaskBarIcon", _p_wxTaskBarIconTo_p_wxObject},{"_p_wxPyApp", _p_wxPyAppTo_p_wxObject},{"_p_wxNotebook", _p_wxNotebookTo_p_wxObject},{"_p_wxListItem", _p_wxListItemTo_p_wxObject},{"_p_wxNotebookSizer", _p_wxNotebookSizerTo_p_wxObject},{"_p_wxRemotelyScrolledTreeCtrl", _p_wxRemotelyScrolledTreeCtrlTo_p_wxObject},{"_p_wxPyTreeCtrl", _p_wxPyTreeCtrlTo_p_wxObject},{"_p_wxPyPreviewControlBar", _p_wxPyPreviewControlBarTo_p_wxObject},{"_p_wxPreviewControlBar", _p_wxPreviewControlBarTo_p_wxObject},{"_p_wxFindReplaceData", _p_wxFindReplaceDataTo_p_wxObject},{"_p_wxStaticLine", _p_wxStaticLineTo_p_wxObject},{"_p_wxValidator", _p_wxValidatorTo_p_wxObject},{"_p_wxPyValidator", _p_wxPyValidatorTo_p_wxObject},{"_p_wxCloseEvent", _p_wxCloseEventTo_p_wxObject},{"_p_wxMouseEvent", _p_wxMouseEventTo_p_wxObject},{"_p_wxEraseEvent", _p_wxEraseEventTo_p_wxObject},{"_p_wxTreeEvent", _p_wxTreeEventTo_p_wxObject},{"_p_wxBookCtrlEvent", _p_wxBookCtrlEventTo_p_wxObject},{"_p_wxTextUrlEvent", _p_wxTextUrlEventTo_p_wxObject},{"_p_wxScrollEvent", _p_wxScrollEventTo_p_wxObject},{"_p_wxPageSetupDialogData", _p_wxPageSetupDialogDataTo_p_wxObject},{"_p_wxPrintDialogData", _p_wxPrintDialogDataTo_p_wxObject},{"_p_wxPrinter", _p_wxPrinterTo_p_wxObject},{"_p_wxControlWithItems", _p_wxControlWithItemsTo_p_wxObject},{"_p_wxObject"},{"_p_wxRadioBox", _p_wxRadioBoxTo_p_wxObject},{"_p_wxFlexGridSizer", _p_wxFlexGridSizerTo_p_wxObject},{"_p_wxGridSizer", _p_wxGridSizerTo_p_wxObject},{"_p_wxTreeListColumnInfo", _p_wxTreeListColumnInfoTo_p_wxObject},{"_p_wxAcceleratorTable", _p_wxAcceleratorTableTo_p_wxObject},{"_p_wxPyControl", _p_wxPyControlTo_p_wxObject},{"_p_wxControl", _p_wxControlTo_p_wxObject},{"_p_wxContextHelp", _p_wxContextHelpTo_p_wxObject},{"_p_wxColourData", _p_wxColourDataTo_p_wxObject},{"_p_wxWindowCreateEvent", _p_wxWindowCreateEventTo_p_wxObject},{"_p_wxQueryNewPaletteEvent", _p_wxQueryNewPaletteEventTo_p_wxObject},{"_p_wxMaximizeEvent", _p_wxMaximizeEventTo_p_wxObject},{"_p_wxIconizeEvent", _p_wxIconizeEventTo_p_wxObject},{"_p_wxActivateEvent", _p_wxActivateEventTo_p_wxObject},{"_p_wxSizeEvent", _p_wxSizeEventTo_p_wxObject},{"_p_wxMoveEvent", _p_wxMoveEventTo_p_wxObject},{"_p_wxIdleEvent", _p_wxIdleEventTo_p_wxObject},{"_p_wxStaticText", _p_wxStaticTextTo_p_wxObject},{"_p_wxCalculateLayoutEvent", _p_wxCalculateLayoutEventTo_p_wxObject},{"_p_wxListEvent", _p_wxListEventTo_p_wxObject},{"_p_wxDynamicSashSplitEvent", _p_wxDynamicSashSplitEventTo_p_wxObject},{"_p_wxPyPrintout", _p_wxPyPrintoutTo_p_wxObject},{"_p_wxGauge", _p_wxGaugeTo_p_wxObject},{"_p_wxMDIChildFrame", _p_wxMDIChildFrameTo_p_wxObject},{"_p_wxChoice", _p_wxChoiceTo_p_wxObject},{"_p_wxMenu", _p_wxMenuTo_p_wxObject},{"_p_wxBitmapButton", _p_wxBitmapButtonTo_p_wxObject},{"_p_wxButton", _p_wxButtonTo_p_wxObject},{"_p_wxContextHelpButton", _p_wxContextHelpButtonTo_p_wxObject},{"_p_wxSpinButton", _p_wxSpinButtonTo_p_wxObject},{"_p_wxWindowDestroyEvent", _p_wxWindowDestroyEventTo_p_wxObject},{"_p_wxNavigationKeyEvent", _p_wxNavigationKeyEventTo_p_wxObject},{"_p_wxKeyEvent", _p_wxKeyEventTo_p_wxObject},{"_p_wxSashEvent", _p_wxSashEventTo_p_wxObject},{"_p_wxPyHtmlListBox", _p_wxPyHtmlListBoxTo_p_wxObject},{"_p_wxPyVListBox", _p_wxPyVListBoxTo_p_wxObject},{"_p_wxEditableListBox", _p_wxEditableListBoxTo_p_wxObject},{"_p_wxListBox", _p_wxListBoxTo_p_wxObject},{"_p_wxCheckListBox", _p_wxCheckListBoxTo_p_wxObject},{"_p_wxPrintData", _p_wxPrintDataTo_p_wxObject},{"_p_wxFontData", _p_wxFontDataTo_p_wxObject},{"_p_wxMiniFrame", _p_wxMiniFrameTo_p_wxObject},{"_p_wxListbook", _p_wxListbookTo_p_wxObject},{"_p_wxFrame", _p_wxFrameTo_p_wxObject},{"_p_wxPyPanel", _p_wxPyPanelTo_p_wxObject},{"_p_wxStaticBox", _p_wxStaticBoxTo_p_wxObject},{"_p_wxQueryLayoutInfoEvent", _p_wxQueryLayoutInfoEventTo_p_wxObject},{"_p_wxSplashScreen", _p_wxSplashScreenTo_p_wxObject},{"_p_wxFileSystem", _p_wxFileSystemTo_p_wxObject},{"_p_wxPyPrintPreview", _p_wxPyPrintPreviewTo_p_wxObject},{"_p_wxPrintPreview", _p_wxPrintPreviewTo_p_wxObject},{"_p_wxListView", _p_wxListViewTo_p_wxObject},{"_p_wxPyTreeListCtrl", _p_wxPyTreeListCtrlTo_p_wxObject},{"_p_wxPyListCtrl", _p_wxPyListCtrlTo_p_wxObject},{"_p_wxDirFilterListCtrl", _p_wxDirFilterListCtrlTo_p_wxObject},{"_p_wxLayoutConstraints", _p_wxLayoutConstraintsTo_p_wxObject},{"_p_wxSizer", _p_wxSizerTo_p_wxObject},{"_p_wxBoxSizer", _p_wxBoxSizerTo_p_wxObject},{"_p_wxStaticBoxSizer", _p_wxStaticBoxSizerTo_p_wxObject},{"_p_wxGridBagSizer", _p_wxGridBagSizerTo_p_wxObject},{"_p_wxNcPaintEvent", _p_wxNcPaintEventTo_p_wxObject},{"_p_wxPaintEvent", _p_wxPaintEventTo_p_wxObject},{"_p_wxFSFile", _p_wxFSFileTo_p_wxObject},{"_p_wxSetCursorEvent", _p_wxSetCursorEventTo_p_wxObject},{"_p_wxSplitterEvent", _p_wxSplitterEventTo_p_wxObject},{"_p_wxTextCtrl", _p_wxTextCtrlTo_p_wxObject},{"_p_wxRadioButton", _p_wxRadioButtonTo_p_wxObject},{"_p_wxToggleButton", _p_wxToggleButtonTo_p_wxObject},{"_p_wxSizerItem", _p_wxSizerItemTo_p_wxObject},{"_p_wxGBSizerItem", _p_wxGBSizerItemTo_p_wxObject},{"_p_wxPrintDialog", _p_wxPrintDialogTo_p_wxObject},{"_p_wxPageSetupDialog", _p_wxPageSetupDialogTo_p_wxObject},{"_p_wxFontDialog", _p_wxFontDialogTo_p_wxObject},{"_p_wxDirDialog", _p_wxDirDialogTo_p_wxObject},{"_p_wxColourDialog", _p_wxColourDialogTo_p_wxObject},{"_p_wxDialog", _p_wxDialogTo_p_wxObject},{"_p_wxPyEvent", _p_wxPyEventTo_p_wxObject},{"_p_wxNotifyEvent", _p_wxNotifyEventTo_p_wxObject},{"_p_wxDynamicSashUnifyEvent", _p_wxDynamicSashUnifyEventTo_p_wxObject},{"_p_wxGenericDirCtrl", _p_wxGenericDirCtrlTo_p_wxObject},{"_p_wxEvtHandler", _p_wxEvtHandlerTo_p_wxObject},{"_p_wxTIFFHandler", _p_wxTIFFHandlerTo_p_wxObject},{"_p_wxImageHandler", _p_wxImageHandlerTo_p_wxObject},{"_p_wxBMPHandler", _p_wxBMPHandlerTo_p_wxObject},{"_p_wxICOHandler", _p_wxICOHandlerTo_p_wxObject},{"_p_wxCURHandler", _p_wxCURHandlerTo_p_wxObject},{"_p_wxANIHandler", _p_wxANIHandlerTo_p_wxObject},{"_p_wxPNGHandler", _p_wxPNGHandlerTo_p_wxObject},{"_p_wxGIFHandler", _p_wxGIFHandlerTo_p_wxObject},{"_p_wxPCXHandler", _p_wxPCXHandlerTo_p_wxObject},{"_p_wxJPEGHandler", _p_wxJPEGHandlerTo_p_wxObject},{"_p_wxPNMHandler", _p_wxPNMHandlerTo_p_wxObject},{"_p_wxXPMHandler", _p_wxXPMHandlerTo_p_wxObject},{"_p_wxShowEvent", _p_wxShowEventTo_p_wxObject},{"_p_wxThinSplitterWindow", _p_wxThinSplitterWindowTo_p_wxObject},{"_p_wxPyTreeCompanionWindow", _p_wxPyTreeCompanionWindowTo_p_wxObject},{"_p_wxDynamicSashWindow", _p_wxDynamicSashWindowTo_p_wxObject},{"_p_wxPyVScrolledWindow", _p_wxPyVScrolledWindowTo_p_wxObject},{"_p_wxTipWindow", _p_wxTipWindowTo_p_wxObject},{"_p_wxPyPopupTransientWindow", _p_wxPyPopupTransientWindowTo_p_wxObject},{"_p_wxPopupWindow", _p_wxPopupWindowTo_p_wxObject},{"_p_wxSashLayoutWindow", _p_wxSashLayoutWindowTo_p_wxObject},{"_p_wxSashWindow", _p_wxSashWindowTo_p_wxObject},{"_p_wxSplitterWindow", _p_wxSplitterWindowTo_p_wxObject},{"_p_wxSplashScreenWindow", _p_wxSplashScreenWindowTo_p_wxObject},{"_p_wxWindow", _p_wxWindowTo_p_wxObject},{"_p_wxSplitterScrolledWindow", _p_wxSplitterScrolledWindowTo_p_wxObject},{"_p_wxMDIClientWindow", _p_wxMDIClientWindowTo_p_wxObject},{"_p_wxScrolledWindow", _p_wxScrolledWindowTo_p_wxObject},{"_p_wxTopLevelWindow", _p_wxTopLevelWindowTo_p_wxObject},{"_p_wxSpinCtrl", _p_wxSpinCtrlTo_p_wxObject},{"_p_wxNotebookEvent", _p_wxNotebookEventTo_p_wxObject},{"_p_wxListbookEvent", _p_wxListbookEventTo_p_wxObject},{"_p_wxBookCtrlSizer", _p_wxBookCtrlSizerTo_p_wxObject},{"_p_wxTextEntryDialog", _p_wxTextEntryDialogTo_p_wxObject},{"_p_wxFindReplaceDialog", _p_wxFindReplaceDialogTo_p_wxObject},{"_p_wxProgressDialog", _p_wxProgressDialogTo_p_wxObject},{"_p_wxMessageDialog", _p_wxMessageDialogTo_p_wxObject},{"_p_wxFileDialog", _p_wxFileDialogTo_p_wxObject},{"_p_wxMultiChoiceDialog", _p_wxMultiChoiceDialogTo_p_wxObject},{"_p_wxSingleChoiceDialog", _p_wxSingleChoiceDialogTo_p_wxObject},{"_p_wxToolBarToolBase", _p_wxToolBarToolBaseTo_p_wxObject},{"_p_wxSlider", _p_wxSliderTo_p_wxObject},{"_p_wxPyWindow", _p_wxPyWindowTo_p_wxObject},{"_p_wxPaletteChangedEvent", _p_wxPaletteChangedEventTo_p_wxObject},{"_p_wxDisplayChangedEvent", _p_wxDisplayChangedEventTo_p_wxObject},{"_p_wxMouseCaptureChangedEvent", _p_wxMouseCaptureChangedEventTo_p_wxObject},{"_p_wxSysColourChangedEvent", _p_wxSysColourChangedEventTo_p_wxObject},{"_p_wxCheckBox", _p_wxCheckBoxTo_p_wxObject},{"_p_wxHelpEvent", _p_wxHelpEventTo_p_wxObject},{"_p_wxPanel", _p_wxPanelTo_p_wxObject},{"_p_wxScrollWinEvent", _p_wxScrollWinEventTo_p_wxObject},{"_p_wxTaskBarIconEvent", _p_wxTaskBarIconEventTo_p_wxObject},{"_p_wxContextMenuEvent", _p_wxContextMenuEventTo_p_wxObject},{"_p_wxMenuEvent", _p_wxMenuEventTo_p_wxObject},{"_p_wxLEDNumberCtrl", _p_wxLEDNumberCtrlTo_p_wxObject},{"_p_wxToolBar", _p_wxToolBarTo_p_wxObject},{"_p_wxCommandEvent", _p_wxCommandEventTo_p_wxObject},{"_p_wxPyCommandEvent", _p_wxPyCommandEventTo_p_wxObject},{"_p_wxStatusBar", _p_wxStatusBarTo_p_wxObject},{"_p_wxDropFilesEvent", _p_wxDropFilesEventTo_p_wxObject},{"_p_wxFocusEvent", _p_wxFocusEventTo_p_wxObject},{"_p_wxChildFocusEvent", _p_wxChildFocusEventTo_p_wxObject},{"_p_wxMDIParentFrame", _p_wxMDIParentFrameTo_p_wxObject},{"_p_wxMenuBar", _p_wxMenuBarTo_p_wxObject},{0}};
+static swig_type_info _swigt__p_wxColour[] = {{"_p_wxColour", 0, "wxColour *", 0},{"_p_wxColour"},{0}};
+static swig_type_info _swigt__p_wxPyTreeCtrl[] = {{"_p_wxPyTreeCtrl", 0, "wxPyTreeCtrl *", 0},{"_p_wxPyTreeCtrl"},{"_p_wxRemotelyScrolledTreeCtrl", _p_wxRemotelyScrolledTreeCtrlTo_p_wxPyTreeCtrl},{0}};
+static swig_type_info _swigt__p_wxRemotelyScrolledTreeCtrl[] = {{"_p_wxRemotelyScrolledTreeCtrl", 0, "wxRemotelyScrolledTreeCtrl *", 0},{"_p_wxRemotelyScrolledTreeCtrl"},{0}};
+static swig_type_info _swigt__p_wxTreeListColumnInfo[] = {{"_p_wxTreeListColumnInfo", 0, "wxTreeListColumnInfo *", 0},{"_p_wxTreeListColumnInfo"},{0}};
+static swig_type_info _swigt__p_wxPyTreeListCtrl[] = {{"_p_wxPyTreeListCtrl", 0, "wxPyTreeListCtrl *", 0},{"_p_wxPyTreeListCtrl"},{0}};
+static swig_type_info _swigt__p_wxImageList[] = {{"_p_wxImageList", 0, "wxImageList *", 0},{"_p_wxImageList"},{0}};
+static swig_type_info _swigt__p_wxScrollBar[] = {{"_p_wxScrollBar", 0, "wxScrollBar *", 0},{"_p_wxScrollBar"},{0}};
+static swig_type_info _swigt__p_wxDynamicSashWindow[] = {{"_p_wxDynamicSashWindow", 0, "wxDynamicSashWindow *", 0},{"_p_wxDynamicSashWindow"},{0}};
+static swig_type_info _swigt__p_wxScrolledWindow[] = {{"_p_wxScrolledWindow", 0, "wxScrolledWindow *", 0},{"_p_wxScrolledWindow"},{"_p_wxSplitterScrolledWindow", _p_wxSplitterScrolledWindowTo_p_wxScrolledWindow},{"_p_wxPreviewCanvas", _p_wxPreviewCanvasTo_p_wxScrolledWindow},{0}};
+static swig_type_info _swigt__p_wxSplitterWindow[] = {{"_p_wxSplitterWindow", 0, "wxSplitterWindow *", 0},{"_p_wxSplitterWindow"},{"_p_wxThinSplitterWindow", _p_wxThinSplitterWindowTo_p_wxSplitterWindow},{0}};
+static swig_type_info _swigt__p_wxWindow[] = {{"_p_wxWindow", 0, "wxWindow *", 0},{"_p_wxPyPreviewFrame", _p_wxPyPreviewFrameTo_p_wxWindow},{"_p_wxPreviewFrame", _p_wxPreviewFrameTo_p_wxWindow},{"_p_wxCheckBox", _p_wxCheckBoxTo_p_wxWindow},{"_p_wxPyTreeCtrl", _p_wxPyTreeCtrlTo_p_wxWindow},{"_p_wxRemotelyScrolledTreeCtrl", _p_wxRemotelyScrolledTreeCtrlTo_p_wxWindow},{"_p_wxPyPanel", _p_wxPyPanelTo_p_wxWindow},{"_p_wxGenericDirCtrl", _p_wxGenericDirCtrlTo_p_wxWindow},{"_p_wxDirFilterListCtrl", _p_wxDirFilterListCtrlTo_p_wxWindow},{"_p_wxPyListCtrl", _p_wxPyListCtrlTo_p_wxWindow},{"_p_wxPyTreeListCtrl", _p_wxPyTreeListCtrlTo_p_wxWindow},{"_p_wxPreviewCanvas", _p_wxPreviewCanvasTo_p_wxWindow},{"_p_wxStaticLine", _p_wxStaticLineTo_p_wxWindow},{"_p_wxPyControl", _p_wxPyControlTo_p_wxWindow},{"_p_wxControl", _p_wxControlTo_p_wxWindow},{"_p_wxGauge", _p_wxGaugeTo_p_wxWindow},{"_p_wxToolBarBase", _p_wxToolBarBaseTo_p_wxWindow},{"_p_wxToggleButton", _p_wxToggleButtonTo_p_wxWindow},{"_p_wxRadioButton", _p_wxRadioButtonTo_p_wxWindow},{"_p_wxChoice", _p_wxChoiceTo_p_wxWindow},{"_p_wxListView", _p_wxListViewTo_p_wxWindow},{"_p_wxTextCtrl", _p_wxTextCtrlTo_p_wxWindow},{"_p_wxNotebook", _p_wxNotebookTo_p_wxWindow},{"_p_wxMDIChildFrame", _p_wxMDIChildFrameTo_p_wxWindow},{"_p_wxPyWindow", _p_wxPyWindowTo_p_wxWindow},{"_p_wxSplashScreen", _p_wxSplashScreenTo_p_wxWindow},{"_p_wxListbook", _p_wxListbookTo_p_wxWindow},{"_p_wxFindReplaceDialog", _p_wxFindReplaceDialogTo_p_wxWindow},{"_p_wxProgressDialog", _p_wxProgressDialogTo_p_wxWindow},{"_p_wxMessageDialog", _p_wxMessageDialogTo_p_wxWindow},{"_p_wxTextEntryDialog", _p_wxTextEntryDialogTo_p_wxWindow},{"_p_wxSingleChoiceDialog", _p_wxSingleChoiceDialogTo_p_wxWindow},{"_p_wxMultiChoiceDialog", _p_wxMultiChoiceDialogTo_p_wxWindow},{"_p_wxFileDialog", _p_wxFileDialogTo_p_wxWindow},{"_p_wxStaticBitmap", _p_wxStaticBitmapTo_p_wxWindow},{"_p_wxSlider", _p_wxSliderTo_p_wxWindow},{"_p_wxStaticBox", _p_wxStaticBoxTo_p_wxWindow},{"_p_wxPyVListBox", _p_wxPyVListBoxTo_p_wxWindow},{"_p_wxPyHtmlListBox", _p_wxPyHtmlListBoxTo_p_wxWindow},{"_p_wxEditableListBox", _p_wxEditableListBoxTo_p_wxWindow},{"_p_wxCheckListBox", _p_wxCheckListBoxTo_p_wxWindow},{"_p_wxListBox", _p_wxListBoxTo_p_wxWindow},{"_p_wxLEDNumberCtrl", _p_wxLEDNumberCtrlTo_p_wxWindow},{"_p_wxBookCtrl", _p_wxBookCtrlTo_p_wxWindow},{"_p_wxBitmapButton", _p_wxBitmapButtonTo_p_wxWindow},{"_p_wxButton", _p_wxButtonTo_p_wxWindow},{"_p_wxContextHelpButton", _p_wxContextHelpButtonTo_p_wxWindow},{"_p_wxSpinButton", _p_wxSpinButtonTo_p_wxWindow},{"_p_wxRadioBox", _p_wxRadioBoxTo_p_wxWindow},{"_p_wxScrollBar", _p_wxScrollBarTo_p_wxWindow},{"_p_wxComboBox", _p_wxComboBoxTo_p_wxWindow},{"_p_wxMiniFrame", _p_wxMiniFrameTo_p_wxWindow},{"_p_wxFrame", _p_wxFrameTo_p_wxWindow},{"_p_wxSpinCtrl", _p_wxSpinCtrlTo_p_wxWindow},{"_p_wxStatusBar", _p_wxStatusBarTo_p_wxWindow},{"_p_wxMDIParentFrame", _p_wxMDIParentFrameTo_p_wxWindow},{"_p_wxSashWindow", _p_wxSashWindowTo_p_wxWindow},{"_p_wxSplitterWindow", _p_wxSplitterWindowTo_p_wxWindow},{"_p_wxSplashScreenWindow", _p_wxSplashScreenWindowTo_p_wxWindow},{"_p_wxTopLevelWindow", _p_wxTopLevelWindowTo_p_wxWindow},{"_p_wxScrolledWindow", _p_wxScrolledWindowTo_p_wxWindow},{"_p_wxSashLayoutWindow", _p_wxSashLayoutWindowTo_p_wxWindow},{"_p_wxPopupWindow", _p_wxPopupWindowTo_p_wxWindow},{"_p_wxPyPopupTransientWindow", _p_wxPyPopupTransientWindowTo_p_wxWindow},{"_p_wxTipWindow", _p_wxTipWindowTo_p_wxWindow},{"_p_wxPyVScrolledWindow", _p_wxPyVScrolledWindowTo_p_wxWindow},{"_p_wxMDIClientWindow", _p_wxMDIClientWindowTo_p_wxWindow},{"_p_wxDynamicSashWindow", _p_wxDynamicSashWindowTo_p_wxWindow},{"_p_wxPyTreeCompanionWindow", _p_wxPyTreeCompanionWindowTo_p_wxWindow},{"_p_wxThinSplitterWindow", _p_wxThinSplitterWindowTo_p_wxWindow},{"_p_wxSplitterScrolledWindow", _p_wxSplitterScrolledWindowTo_p_wxWindow},{"_p_wxWindow"},{"_p_wxMenuBar", _p_wxMenuBarTo_p_wxWindow},{"_p_wxPageSetupDialog", _p_wxPageSetupDialogTo_p_wxWindow},{"_p_wxPrintDialog", _p_wxPrintDialogTo_p_wxWindow},{"_p_wxDialog", _p_wxDialogTo_p_wxWindow},{"_p_wxColourDialog", _p_wxColourDialogTo_p_wxWindow},{"_p_wxDirDialog", _p_wxDirDialogTo_p_wxWindow},{"_p_wxFontDialog", _p_wxFontDialogTo_p_wxWindow},{"_p_wxPanel", _p_wxPanelTo_p_wxWindow},{"_p_wxStaticText", _p_wxStaticTextTo_p_wxWindow},{"_p_wxPreviewControlBar", _p_wxPreviewControlBarTo_p_wxWindow},{"_p_wxPyPreviewControlBar", _p_wxPyPreviewControlBarTo_p_wxWindow},{"_p_wxControlWithItems", _p_wxControlWithItemsTo_p_wxWindow},{"_p_wxToolBar", _p_wxToolBarTo_p_wxWindow},{0}};
+static swig_type_info _swigt__p_wxPyTreeCompanionWindow[] = {{"_p_wxPyTreeCompanionWindow", 0, "wxPyTreeCompanionWindow *", 0},{"_p_wxPyTreeCompanionWindow"},{0}};
+static swig_type_info _swigt__p_wxThinSplitterWindow[] = {{"_p_wxThinSplitterWindow", 0, "wxThinSplitterWindow *", 0},{"_p_wxThinSplitterWindow"},{0}};
+static swig_type_info _swigt__p_wxSplitterScrolledWindow[] = {{"_p_wxSplitterScrolledWindow", 0, "wxSplitterScrolledWindow *", 0},{"_p_wxSplitterScrolledWindow"},{0}};
+static swig_type_info _swigt__p_wxValidator[] = {{"_p_wxValidator", 0, "wxValidator *", 0},{"_p_wxValidator"},{"_p_wxPyValidator", _p_wxPyValidatorTo_p_wxValidator},{0}};
+static swig_type_info _swigt__p_wxCommandEvent[] = {{"_p_wxCommandEvent", 0, "wxCommandEvent *", 0},{"_p_wxSashEvent", _p_wxSashEventTo_p_wxCommandEvent},{"_p_wxWindowDestroyEvent", _p_wxWindowDestroyEventTo_p_wxCommandEvent},{"_p_wxSplitterEvent", _p_wxSplitterEventTo_p_wxCommandEvent},{"_p_wxBookCtrlEvent", _p_wxBookCtrlEventTo_p_wxCommandEvent},{"_p_wxTextUrlEvent", _p_wxTextUrlEventTo_p_wxCommandEvent},{"_p_wxScrollEvent", _p_wxScrollEventTo_p_wxCommandEvent},{"_p_wxPyCommandEvent", _p_wxPyCommandEventTo_p_wxCommandEvent},{"_p_wxCommandEvent"},{"_p_wxContextMenuEvent", _p_wxContextMenuEventTo_p_wxCommandEvent},{"_p_wxChildFocusEvent", _p_wxChildFocusEventTo_p_wxCommandEvent},{"_p_wxNotebookEvent", _p_wxNotebookEventTo_p_wxCommandEvent},{"_p_wxListbookEvent", _p_wxListbookEventTo_p_wxCommandEvent},{"_p_wxListEvent", _p_wxListEventTo_p_wxCommandEvent},{"_p_wxWindowCreateEvent", _p_wxWindowCreateEventTo_p_wxCommandEvent},{"_p_wxDynamicSashSplitEvent", _p_wxDynamicSashSplitEventTo_p_wxCommandEvent},{"_p_wxTreeEvent", _p_wxTreeEventTo_p_wxCommandEvent},{"_p_wxHelpEvent", _p_wxHelpEventTo_p_wxCommandEvent},{"_p_wxNotifyEvent", _p_wxNotifyEventTo_p_wxCommandEvent},{"_p_wxDynamicSashUnifyEvent", _p_wxDynamicSashUnifyEventTo_p_wxCommandEvent},{"_p_wxFindDialogEvent", _p_wxFindDialogEventTo_p_wxCommandEvent},{"_p_wxUpdateUIEvent", _p_wxUpdateUIEventTo_p_wxCommandEvent},{0}};
+static swig_type_info _swigt__p_wxArrayString[] = {{"_p_wxArrayString", 0, "wxArrayString *", 0},{"_p_wxArrayString"},{0}};
+static swig_type_info _swigt__p_wxLEDNumberCtrl[] = {{"_p_wxLEDNumberCtrl", 0, "wxLEDNumberCtrl *", 0},{"_p_wxLEDNumberCtrl"},{0}};
+static swig_type_info _swigt__p_wxDynamicSashSplitEvent[] = {{"_p_wxDynamicSashSplitEvent", 0, "wxDynamicSashSplitEvent *", 0},{"_p_wxDynamicSashSplitEvent"},{0}};
+static swig_type_info _swigt__p_wxTreeItemId[] = {{"_p_wxTreeItemId", 0, "wxTreeItemId *", 0},{"_p_wxTreeItemId"},{0}};
+static swig_type_info _swigt__p_wxString[] = {{"_p_wxString", 0, "wxString *", 0},{"_p_wxString"},{0}};
+static swig_type_info _swigt__p_wxEvtHandler[] = {{"_p_wxEvtHandler", 0, "wxEvtHandler *", 0},{"_p_wxPyPreviewFrame", _p_wxPyPreviewFrameTo_p_wxEvtHandler},{"_p_wxPreviewFrame", _p_wxPreviewFrameTo_p_wxEvtHandler},{"_p_wxCheckBox", _p_wxCheckBoxTo_p_wxEvtHandler},{"_p_wxPyTreeCtrl", _p_wxPyTreeCtrlTo_p_wxEvtHandler},{"_p_wxRemotelyScrolledTreeCtrl", _p_wxRemotelyScrolledTreeCtrlTo_p_wxEvtHandler},{"_p_wxPyPanel", _p_wxPyPanelTo_p_wxEvtHandler},{"_p_wxMenu", _p_wxMenuTo_p_wxEvtHandler},{"_p_wxTaskBarIcon", _p_wxTaskBarIconTo_p_wxEvtHandler},{"_p_wxGenericDirCtrl", _p_wxGenericDirCtrlTo_p_wxEvtHandler},{"_p_wxPyListCtrl", _p_wxPyListCtrlTo_p_wxEvtHandler},{"_p_wxDirFilterListCtrl", _p_wxDirFilterListCtrlTo_p_wxEvtHandler},{"_p_wxPyTreeListCtrl", _p_wxPyTreeListCtrlTo_p_wxEvtHandler},{"_p_wxPreviewCanvas", _p_wxPreviewCanvasTo_p_wxEvtHandler},{"_p_wxStaticLine", _p_wxStaticLineTo_p_wxEvtHandler},{"_p_wxControl", _p_wxControlTo_p_wxEvtHandler},{"_p_wxPyControl", _p_wxPyControlTo_p_wxEvtHandler},{"_p_wxGauge", _p_wxGaugeTo_p_wxEvtHandler},{"_p_wxToolBarBase", _p_wxToolBarBaseTo_p_wxEvtHandler},{"_p_wxToggleButton", _p_wxToggleButtonTo_p_wxEvtHandler},{"_p_wxRadioButton", _p_wxRadioButtonTo_p_wxEvtHandler},{"_p_wxChoice", _p_wxChoiceTo_p_wxEvtHandler},{"_p_wxListView", _p_wxListViewTo_p_wxEvtHandler},{"_p_wxTextCtrl", _p_wxTextCtrlTo_p_wxEvtHandler},{"_p_wxNotebook", _p_wxNotebookTo_p_wxEvtHandler},{"_p_wxMDIChildFrame", _p_wxMDIChildFrameTo_p_wxEvtHandler},{"_p_wxPyWindow", _p_wxPyWindowTo_p_wxEvtHandler},{"_p_wxSplashScreen", _p_wxSplashScreenTo_p_wxEvtHandler},{"_p_wxListbook", _p_wxListbookTo_p_wxEvtHandler},{"_p_wxSingleChoiceDialog", _p_wxSingleChoiceDialogTo_p_wxEvtHandler},{"_p_wxMultiChoiceDialog", _p_wxMultiChoiceDialogTo_p_wxEvtHandler},{"_p_wxFileDialog", _p_wxFileDialogTo_p_wxEvtHandler},{"_p_wxMessageDialog", _p_wxMessageDialogTo_p_wxEvtHandler},{"_p_wxProgressDialog", _p_wxProgressDialogTo_p_wxEvtHandler},{"_p_wxFindReplaceDialog", _p_wxFindReplaceDialogTo_p_wxEvtHandler},{"_p_wxTextEntryDialog", _p_wxTextEntryDialogTo_p_wxEvtHandler},{"_p_wxStaticBitmap", _p_wxStaticBitmapTo_p_wxEvtHandler},{"_p_wxSlider", _p_wxSliderTo_p_wxEvtHandler},{"_p_wxStaticBox", _p_wxStaticBoxTo_p_wxEvtHandler},{"_p_wxEvtHandler"},{"_p_wxPyVListBox", _p_wxPyVListBoxTo_p_wxEvtHandler},{"_p_wxPyHtmlListBox", _p_wxPyHtmlListBoxTo_p_wxEvtHandler},{"_p_wxEditableListBox", _p_wxEditableListBoxTo_p_wxEvtHandler},{"_p_wxCheckListBox", _p_wxCheckListBoxTo_p_wxEvtHandler},{"_p_wxListBox", _p_wxListBoxTo_p_wxEvtHandler},{"_p_wxLEDNumberCtrl", _p_wxLEDNumberCtrlTo_p_wxEvtHandler},{"_p_wxBookCtrl", _p_wxBookCtrlTo_p_wxEvtHandler},{"_p_wxBitmapButton", _p_wxBitmapButtonTo_p_wxEvtHandler},{"_p_wxButton", _p_wxButtonTo_p_wxEvtHandler},{"_p_wxContextHelpButton", _p_wxContextHelpButtonTo_p_wxEvtHandler},{"_p_wxSpinButton", _p_wxSpinButtonTo_p_wxEvtHandler},{"_p_wxRadioBox", _p_wxRadioBoxTo_p_wxEvtHandler},{"_p_wxScrollBar", _p_wxScrollBarTo_p_wxEvtHandler},{"_p_wxComboBox", _p_wxComboBoxTo_p_wxEvtHandler},{"_p_wxMiniFrame", _p_wxMiniFrameTo_p_wxEvtHandler},{"_p_wxFrame", _p_wxFrameTo_p_wxEvtHandler},{"_p_wxSpinCtrl", _p_wxSpinCtrlTo_p_wxEvtHandler},{"_p_wxStatusBar", _p_wxStatusBarTo_p_wxEvtHandler},{"_p_wxMDIParentFrame", _p_wxMDIParentFrameTo_p_wxEvtHandler},{"_p_wxSplitterScrolledWindow", _p_wxSplitterScrolledWindowTo_p_wxEvtHandler},{"_p_wxWindow", _p_wxWindowTo_p_wxEvtHandler},{"_p_wxSplashScreenWindow", _p_wxSplashScreenWindowTo_p_wxEvtHandler},{"_p_wxSplitterWindow", _p_wxSplitterWindowTo_p_wxEvtHandler},{"_p_wxSashWindow", _p_wxSashWindowTo_p_wxEvtHandler},{"_p_wxSashLayoutWindow", _p_wxSashLayoutWindowTo_p_wxEvtHandler},{"_p_wxPopupWindow", _p_wxPopupWindowTo_p_wxEvtHandler},{"_p_wxPyPopupTransientWindow", _p_wxPyPopupTransientWindowTo_p_wxEvtHandler},{"_p_wxTipWindow", _p_wxTipWindowTo_p_wxEvtHandler},{"_p_wxPyVScrolledWindow", _p_wxPyVScrolledWindowTo_p_wxEvtHandler},{"_p_wxDynamicSashWindow", _p_wxDynamicSashWindowTo_p_wxEvtHandler},{"_p_wxPyTreeCompanionWindow", _p_wxPyTreeCompanionWindowTo_p_wxEvtHandler},{"_p_wxThinSplitterWindow", _p_wxThinSplitterWindowTo_p_wxEvtHandler},{"_p_wxMDIClientWindow", _p_wxMDIClientWindowTo_p_wxEvtHandler},{"_p_wxScrolledWindow", _p_wxScrolledWindowTo_p_wxEvtHandler},{"_p_wxTopLevelWindow", _p_wxTopLevelWindowTo_p_wxEvtHandler},{"_p_wxMenuBar", _p_wxMenuBarTo_p_wxEvtHandler},{"_p_wxPageSetupDialog", _p_wxPageSetupDialogTo_p_wxEvtHandler},{"_p_wxPrintDialog", _p_wxPrintDialogTo_p_wxEvtHandler},{"_p_wxDialog", _p_wxDialogTo_p_wxEvtHandler},{"_p_wxColourDialog", _p_wxColourDialogTo_p_wxEvtHandler},{"_p_wxDirDialog", _p_wxDirDialogTo_p_wxEvtHandler},{"_p_wxFontDialog", _p_wxFontDialogTo_p_wxEvtHandler},{"_p_wxPanel", _p_wxPanelTo_p_wxEvtHandler},{"_p_wxPyApp", _p_wxPyAppTo_p_wxEvtHandler},{"_p_wxStaticText", _p_wxStaticTextTo_p_wxEvtHandler},{"_p_wxPreviewControlBar", _p_wxPreviewControlBarTo_p_wxEvtHandler},{"_p_wxPyPreviewControlBar", _p_wxPyPreviewControlBarTo_p_wxEvtHandler},{"_p_wxControlWithItems", _p_wxControlWithItemsTo_p_wxEvtHandler},{"_p_wxToolBar", _p_wxToolBarTo_p_wxEvtHandler},{"_p_wxPyValidator", _p_wxPyValidatorTo_p_wxEvtHandler},{"_p_wxValidator", _p_wxValidatorTo_p_wxEvtHandler},{0}};
+static swig_type_info _swigt__p_wxFont[] = {{"_p_wxFont", 0, "wxFont *", 0},{"_p_wxFont"},{0}};
+static swig_type_info _swigt__p_wxDynamicSashUnifyEvent[] = {{"_p_wxDynamicSashUnifyEvent", 0, "wxDynamicSashUnifyEvent *", 0},{"_p_wxDynamicSashUnifyEvent"},{0}};
+static swig_type_info _swigt__p_wxControl[] = {{"_p_wxControl", 0, "wxControl *", 0},{"_p_wxBookCtrl", _p_wxBookCtrlTo_p_wxControl},{"_p_wxToolBar", _p_wxToolBarTo_p_wxControl},{"_p_wxToggleButton", _p_wxToggleButtonTo_p_wxControl},{"_p_wxRadioButton", _p_wxRadioButtonTo_p_wxControl},{"_p_wxLEDNumberCtrl", _p_wxLEDNumberCtrlTo_p_wxControl},{"_p_wxControl"},{"_p_wxPyControl", _p_wxPyControlTo_p_wxControl},{"_p_wxToolBarBase", _p_wxToolBarBaseTo_p_wxControl},{"_p_wxDirFilterListCtrl", _p_wxDirFilterListCtrlTo_p_wxControl},{"_p_wxPyListCtrl", _p_wxPyListCtrlTo_p_wxControl},{"_p_wxPyTreeListCtrl", _p_wxPyTreeListCtrlTo_p_wxControl},{"_p_wxComboBox", _p_wxComboBoxTo_p_wxControl},{"_p_wxGenericDirCtrl", _p_wxGenericDirCtrlTo_p_wxControl},{"_p_wxScrollBar", _p_wxScrollBarTo_p_wxControl},{"_p_wxControlWithItems", _p_wxControlWithItemsTo_p_wxControl},{"_p_wxGauge", _p_wxGaugeTo_p_wxControl},{"_p_wxStaticLine", _p_wxStaticLineTo_p_wxControl},{"_p_wxListbook", _p_wxListbookTo_p_wxControl},{"_p_wxRemotelyScrolledTreeCtrl", _p_wxRemotelyScrolledTreeCtrlTo_p_wxControl},{"_p_wxPyTreeCtrl", _p_wxPyTreeCtrlTo_p_wxControl},{"_p_wxCheckBox", _p_wxCheckBoxTo_p_wxControl},{"_p_wxRadioBox", _p_wxRadioBoxTo_p_wxControl},{"_p_wxChoice", _p_wxChoiceTo_p_wxControl},{"_p_wxListBox", _p_wxListBoxTo_p_wxControl},{"_p_wxCheckListBox", _p_wxCheckListBoxTo_p_wxControl},{"_p_wxListView", _p_wxListViewTo_p_wxControl},{"_p_wxNotebook", _p_wxNotebookTo_p_wxControl},{"_p_wxStaticBitmap", _p_wxStaticBitmapTo_p_wxControl},{"_p_wxSpinCtrl", _p_wxSpinCtrlTo_p_wxControl},{"_p_wxStaticText", _p_wxStaticTextTo_p_wxControl},{"_p_wxStaticBox", _p_wxStaticBoxTo_p_wxControl},{"_p_wxSlider", _p_wxSliderTo_p_wxControl},{"_p_wxContextHelpButton", _p_wxContextHelpButtonTo_p_wxControl},{"_p_wxSpinButton", _p_wxSpinButtonTo_p_wxControl},{"_p_wxButton", _p_wxButtonTo_p_wxControl},{"_p_wxBitmapButton", _p_wxBitmapButtonTo_p_wxControl},{"_p_wxTextCtrl", _p_wxTextCtrlTo_p_wxControl},{0}};
+static swig_type_info _swigt__p_wxPanel[] = {{"_p_wxPanel", 0, "wxPanel *", 0},{"_p_wxPanel"},{"_p_wxScrolledWindow", _p_wxScrolledWindowTo_p_wxPanel},{"_p_wxSplitterScrolledWindow", _p_wxSplitterScrolledWindowTo_p_wxPanel},{"_p_wxPyVScrolledWindow", _p_wxPyVScrolledWindowTo_p_wxPanel},{"_p_wxPyVListBox", _p_wxPyVListBoxTo_p_wxPanel},{"_p_wxPyHtmlListBox", _p_wxPyHtmlListBoxTo_p_wxPanel},{"_p_wxPyPanel", _p_wxPyPanelTo_p_wxPanel},{"_p_wxEditableListBox", _p_wxEditableListBoxTo_p_wxPanel},{"_p_wxPreviewCanvas", _p_wxPreviewCanvasTo_p_wxPanel},{"_p_wxPreviewControlBar", _p_wxPreviewControlBarTo_p_wxPanel},{"_p_wxPyPreviewControlBar", _p_wxPyPreviewControlBarTo_p_wxPanel},{0}};
+static swig_type_info _swigt__p_wxPyTreeItemData[] = {{"_p_wxPyTreeItemData", 0, "wxPyTreeItemData *", 0},{"_p_wxPyTreeItemData"},{0}};
+static swig_type_info _swigt__p_wxEvent[] = {{"_p_wxEvent", 0, "wxEvent *", 0},{"_p_wxContextMenuEvent", _p_wxContextMenuEventTo_p_wxEvent},{"_p_wxMenuEvent", _p_wxMenuEventTo_p_wxEvent},{"_p_wxCloseEvent", _p_wxCloseEventTo_p_wxEvent},{"_p_wxMouseEvent", _p_wxMouseEventTo_p_wxEvent},{"_p_wxEraseEvent", _p_wxEraseEventTo_p_wxEvent},{"_p_wxTreeEvent", _p_wxTreeEventTo_p_wxEvent},{"_p_wxSetCursorEvent", _p_wxSetCursorEventTo_p_wxEvent},{"_p_wxSplitterEvent", _p_wxSplitterEventTo_p_wxEvent},{"_p_wxInitDialogEvent", _p_wxInitDialogEventTo_p_wxEvent},{"_p_wxFindDialogEvent", _p_wxFindDialogEventTo_p_wxEvent},{"_p_wxScrollEvent", _p_wxScrollEventTo_p_wxEvent},{"_p_wxTextUrlEvent", _p_wxTextUrlEventTo_p_wxEvent},{"_p_wxBookCtrlEvent", _p_wxBookCtrlEventTo_p_wxEvent},{"_p_wxPyEvent", _p_wxPyEventTo_p_wxEvent},{"_p_wxNotifyEvent", _p_wxNotifyEventTo_p_wxEvent},{"_p_wxDynamicSashUnifyEvent", _p_wxDynamicSashUnifyEventTo_p_wxEvent},{"_p_wxCalculateLayoutEvent", _p_wxCalculateLayoutEventTo_p_wxEvent},{"_p_wxListEvent", _p_wxListEventTo_p_wxEvent},{"_p_wxDynamicSashSplitEvent", _p_wxDynamicSashSplitEventTo_p_wxEvent},{"_p_wxHelpEvent", _p_wxHelpEventTo_p_wxEvent},{"_p_wxNotebookEvent", _p_wxNotebookEventTo_p_wxEvent},{"_p_wxListbookEvent", _p_wxListbookEventTo_p_wxEvent},{"_p_wxEvent"},{"_p_wxIdleEvent", _p_wxIdleEventTo_p_wxEvent},{"_p_wxWindowCreateEvent", _p_wxWindowCreateEventTo_p_wxEvent},{"_p_wxQueryNewPaletteEvent", _p_wxQueryNewPaletteEventTo_p_wxEvent},{"_p_wxMaximizeEvent", _p_wxMaximizeEventTo_p_wxEvent},{"_p_wxIconizeEvent", _p_wxIconizeEventTo_p_wxEvent},{"_p_wxActivateEvent", _p_wxActivateEventTo_p_wxEvent},{"_p_wxSizeEvent", _p_wxSizeEventTo_p_wxEvent},{"_p_wxMoveEvent", _p_wxMoveEventTo_p_wxEvent},{"_p_wxPaintEvent", _p_wxPaintEventTo_p_wxEvent},{"_p_wxNcPaintEvent", _p_wxNcPaintEventTo_p_wxEvent},{"_p_wxUpdateUIEvent", _p_wxUpdateUIEventTo_p_wxEvent},{"_p_wxPaletteChangedEvent", _p_wxPaletteChangedEventTo_p_wxEvent},{"_p_wxDisplayChangedEvent", _p_wxDisplayChangedEventTo_p_wxEvent},{"_p_wxMouseCaptureChangedEvent", _p_wxMouseCaptureChangedEventTo_p_wxEvent},{"_p_wxSysColourChangedEvent", _p_wxSysColourChangedEventTo_p_wxEvent},{"_p_wxDropFilesEvent", _p_wxDropFilesEventTo_p_wxEvent},{"_p_wxFocusEvent", _p_wxFocusEventTo_p_wxEvent},{"_p_wxChildFocusEvent", _p_wxChildFocusEventTo_p_wxEvent},{"_p_wxSashEvent", _p_wxSashEventTo_p_wxEvent},{"_p_wxQueryLayoutInfoEvent", _p_wxQueryLayoutInfoEventTo_p_wxEvent},{"_p_wxShowEvent", _p_wxShowEventTo_p_wxEvent},{"_p_wxCommandEvent", _p_wxCommandEventTo_p_wxEvent},{"_p_wxPyCommandEvent", _p_wxPyCommandEventTo_p_wxEvent},{"_p_wxWindowDestroyEvent", _p_wxWindowDestroyEventTo_p_wxEvent},{"_p_wxNavigationKeyEvent", _p_wxNavigationKeyEventTo_p_wxEvent},{"_p_wxKeyEvent", _p_wxKeyEventTo_p_wxEvent},{"_p_wxScrollWinEvent", _p_wxScrollWinEventTo_p_wxEvent},{"_p_wxTaskBarIconEvent", _p_wxTaskBarIconEventTo_p_wxEvent},{0}};
+static swig_type_info _swigt__p_int[] = {{"_p_int", 0, "int *", 0},{"_p_int"},{0}};
+
+static swig_type_info *swig_types_initial[] = {
+_swigt__p_wxEditableListBox, 
+_swigt__p_wxObject, 
+_swigt__p_wxColour, 
+_swigt__p_wxPyTreeCtrl, 
+_swigt__p_wxRemotelyScrolledTreeCtrl, 
+_swigt__p_wxTreeListColumnInfo, 
+_swigt__p_wxPyTreeListCtrl, 
+_swigt__p_wxImageList, 
+_swigt__p_wxScrollBar, 
+_swigt__p_wxDynamicSashWindow, 
+_swigt__p_wxScrolledWindow, 
+_swigt__p_wxSplitterWindow, 
+_swigt__p_wxWindow, 
+_swigt__p_wxPyTreeCompanionWindow, 
+_swigt__p_wxThinSplitterWindow, 
+_swigt__p_wxSplitterScrolledWindow, 
+_swigt__p_wxValidator, 
+_swigt__p_wxCommandEvent, 
+_swigt__p_wxArrayString, 
+_swigt__p_wxLEDNumberCtrl, 
+_swigt__p_wxDynamicSashSplitEvent, 
+_swigt__p_wxTreeItemId, 
+_swigt__p_wxString, 
+_swigt__p_wxEvtHandler, 
+_swigt__p_wxFont, 
+_swigt__p_wxDynamicSashUnifyEvent, 
+_swigt__p_wxControl, 
+_swigt__p_wxPanel, 
+_swigt__p_wxPyTreeItemData, 
+_swigt__p_wxEvent, 
+_swigt__p_int, 
+0
+};
+
+
+/* -------- TYPE CONVERSION AND EQUIVALENCE RULES (END) -------- */
+
+static swig_const_info swig_const_table[] = {
+{ SWIG_PY_INT,     (char *)"wxEVT_DYNAMIC_SASH_SPLIT", (long) wxEVT_DYNAMIC_SASH_SPLIT, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"wxEVT_DYNAMIC_SASH_UNIFY", (long) wxEVT_DYNAMIC_SASH_UNIFY, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"DS_MANAGE_SCROLLBARS", (long) wxDS_MANAGE_SCROLLBARS, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"DS_DRAG_CORNER", (long) wxDS_DRAG_CORNER, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"EL_ALLOW_NEW", (long) wxEL_ALLOW_NEW, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"EL_ALLOW_EDIT", (long) wxEL_ALLOW_EDIT, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"EL_ALLOW_DELETE", (long) wxEL_ALLOW_DELETE, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"LED_ALIGN_LEFT", (long) wxLED_ALIGN_LEFT, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"LED_ALIGN_RIGHT", (long) wxLED_ALIGN_RIGHT, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"LED_ALIGN_CENTER", (long) wxLED_ALIGN_CENTER, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"LED_ALIGN_MASK", (long) wxLED_ALIGN_MASK, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"LED_DRAW_FADED", (long) wxLED_DRAW_FADED, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"TL_ALIGN_LEFT", (long) wxTL_ALIGN_LEFT, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"TL_ALIGN_RIGHT", (long) wxTL_ALIGN_RIGHT, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"TL_ALIGN_CENTER", (long) wxTL_ALIGN_CENTER, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"TREE_HITTEST_ONITEMCOLUMN", (long) wxTREE_HITTEST_ONITEMCOLUMN, 0, 0, 0},
+{0}};
+
+#ifdef __cplusplus
+}
+#endif
+
+#ifdef __cplusplus
+extern "C"
+#endif
+SWIGEXPORT(void) SWIG_init(void) {
+    static PyObject *SWIG_globals = 0; 
+    static int       typeinit = 0;
+    PyObject *m, *d;
+    int       i;
+    if (!SWIG_globals) SWIG_globals = SWIG_newvarlink();
+    m = Py_InitModule((char *) SWIG_name, SwigMethods);
+    d = PyModule_GetDict(m);
+    
+    if (!typeinit) {
+        for (i = 0; swig_types_initial[i]; i++) {
+            swig_types[i] = SWIG_TypeRegister(swig_types_initial[i]);
+        }
+        typeinit = 1;
+    }
+    SWIG_InstallConstants(d,swig_const_table);
+    
+    
+    
+    wxPyPtrTypeMap_Add("wxTreeCompanionWindow", "wxPyTreeCompanionWindow");
+    wxPyPtrTypeMap_Add("wxTreeListCtrl", "wxPyTreeListCtrl");
+    
+}
+
diff --git a/wxPython/contrib/ogl/gtk/ogl.py b/wxPython/contrib/ogl/gtk/ogl.py
new file mode 100644 (file)
index 0000000..750f38a
--- /dev/null
@@ -0,0 +1,3828 @@
+# This file was created automatically by SWIG.
+# Don't modify this file, modify the SWIG interface instead.
+
+import _ogl
+
+import windows
+import core
+wx = core 
+#---------------------------------------------------------------------------
+
+class ShapeRegion(core.Object):
+    """"""
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxShapeRegion instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__() -> ShapeRegion"""
+        newobj = _ogl.new_ShapeRegion(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+    def SetText(*args, **kwargs):
+        """SetText(wxString s)"""
+        return _ogl.ShapeRegion_SetText(*args, **kwargs)
+
+    def SetFont(*args, **kwargs):
+        """SetFont(wxFont f)"""
+        return _ogl.ShapeRegion_SetFont(*args, **kwargs)
+
+    def SetMinSize(*args, **kwargs):
+        """SetMinSize(double w, double h)"""
+        return _ogl.ShapeRegion_SetMinSize(*args, **kwargs)
+
+    def SetSize(*args, **kwargs):
+        """SetSize(double w, double h)"""
+        return _ogl.ShapeRegion_SetSize(*args, **kwargs)
+
+    def SetPosition(*args, **kwargs):
+        """SetPosition(double x, double y)"""
+        return _ogl.ShapeRegion_SetPosition(*args, **kwargs)
+
+    def SetProportions(*args, **kwargs):
+        """SetProportions(double x, double y)"""
+        return _ogl.ShapeRegion_SetProportions(*args, **kwargs)
+
+    def SetFormatMode(*args, **kwargs):
+        """SetFormatMode(int mode)"""
+        return _ogl.ShapeRegion_SetFormatMode(*args, **kwargs)
+
+    def SetName(*args, **kwargs):
+        """SetName(wxString s)"""
+        return _ogl.ShapeRegion_SetName(*args, **kwargs)
+
+    def SetColour(*args, **kwargs):
+        """SetColour(wxString col)"""
+        return _ogl.ShapeRegion_SetColour(*args, **kwargs)
+
+    def GetText(*args, **kwargs):
+        """GetText() -> wxString"""
+        return _ogl.ShapeRegion_GetText(*args, **kwargs)
+
+    def GetFont(*args, **kwargs):
+        """GetFont() -> wxFont"""
+        return _ogl.ShapeRegion_GetFont(*args, **kwargs)
+
+    def GetMinSize(*args, **kwargs):
+        """GetMinSize(double OUTPUT, double OUTPUT)"""
+        return _ogl.ShapeRegion_GetMinSize(*args, **kwargs)
+
+    def GetProportion(*args, **kwargs):
+        """GetProportion(double OUTPUT, double OUTPUT)"""
+        return _ogl.ShapeRegion_GetProportion(*args, **kwargs)
+
+    def GetSize(*args, **kwargs):
+        """GetSize(double OUTPUT, double OUTPUT)"""
+        return _ogl.ShapeRegion_GetSize(*args, **kwargs)
+
+    def GetPosition(*args, **kwargs):
+        """GetPosition(double OUTPUT, double OUTPUT)"""
+        return _ogl.ShapeRegion_GetPosition(*args, **kwargs)
+
+    def GetFormatMode(*args, **kwargs):
+        """GetFormatMode() -> int"""
+        return _ogl.ShapeRegion_GetFormatMode(*args, **kwargs)
+
+    def GetName(*args, **kwargs):
+        """GetName() -> wxString"""
+        return _ogl.ShapeRegion_GetName(*args, **kwargs)
+
+    def GetColour(*args, **kwargs):
+        """GetColour() -> wxString"""
+        return _ogl.ShapeRegion_GetColour(*args, **kwargs)
+
+    def GetActualColourObject(*args, **kwargs):
+        """GetActualColourObject() -> wxColour"""
+        return _ogl.ShapeRegion_GetActualColourObject(*args, **kwargs)
+
+    def GetFormattedText(*args, **kwargs):
+        """GetFormattedText() -> wxList"""
+        return _ogl.ShapeRegion_GetFormattedText(*args, **kwargs)
+
+    def GetPenColour(*args, **kwargs):
+        """GetPenColour() -> wxString"""
+        return _ogl.ShapeRegion_GetPenColour(*args, **kwargs)
+
+    def GetPenStyle(*args, **kwargs):
+        """GetPenStyle() -> int"""
+        return _ogl.ShapeRegion_GetPenStyle(*args, **kwargs)
+
+    def SetPenStyle(*args, **kwargs):
+        """SetPenStyle(int style)"""
+        return _ogl.ShapeRegion_SetPenStyle(*args, **kwargs)
+
+    def SetPenColour(*args, **kwargs):
+        """SetPenColour(wxString col)"""
+        return _ogl.ShapeRegion_SetPenColour(*args, **kwargs)
+
+    def GetActualPen(*args, **kwargs):
+        """GetActualPen() -> wxPen"""
+        return _ogl.ShapeRegion_GetActualPen(*args, **kwargs)
+
+    def GetWidth(*args, **kwargs):
+        """GetWidth() -> double"""
+        return _ogl.ShapeRegion_GetWidth(*args, **kwargs)
+
+    def GetHeight(*args, **kwargs):
+        """GetHeight() -> double"""
+        return _ogl.ShapeRegion_GetHeight(*args, **kwargs)
+
+    def ClearText(*args, **kwargs):
+        """ClearText()"""
+        return _ogl.ShapeRegion_ClearText(*args, **kwargs)
+
+
+class ShapeRegionPtr(ShapeRegion):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = ShapeRegion
+_ogl.ShapeRegion_swigregister(ShapeRegionPtr)
+
+class PyShapeEvtHandler(core.Object):
+    """"""
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxPyShapeEvtHandler instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__(PyShapeEvtHandler prev=None, PyShape shape=None) -> PyShapeEvtHandler"""
+        newobj = _ogl.new_PyShapeEvtHandler(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+        self._setOORandCallbackInfo(PyShapeEvtHandler)
+
+    def _setCallbackInfo(*args, **kwargs):
+        """_setCallbackInfo(PyObject self, PyObject _class)"""
+        return _ogl.PyShapeEvtHandler__setCallbackInfo(*args, **kwargs)
+
+    def _setOORInfo(*args, **kwargs):
+        """_setOORInfo(PyObject _self)"""
+        return _ogl.PyShapeEvtHandler__setOORInfo(*args, **kwargs)
+
+    def _setOORandCallbackInfo(self, _class):
+        self._setOORInfo(self)
+        self._setCallbackInfo(self, _class)
+
+    def SetShape(*args, **kwargs):
+        """SetShape(PyShape sh)"""
+        return _ogl.PyShapeEvtHandler_SetShape(*args, **kwargs)
+
+    def GetShape(*args, **kwargs):
+        """GetShape() -> PyShape"""
+        return _ogl.PyShapeEvtHandler_GetShape(*args, **kwargs)
+
+    def SetPreviousHandler(*args, **kwargs):
+        """SetPreviousHandler(PyShapeEvtHandler handler)"""
+        return _ogl.PyShapeEvtHandler_SetPreviousHandler(*args, **kwargs)
+
+    def GetPreviousHandler(*args, **kwargs):
+        """GetPreviousHandler() -> PyShapeEvtHandler"""
+        return _ogl.PyShapeEvtHandler_GetPreviousHandler(*args, **kwargs)
+
+    def CreateNewCopy(*args, **kwargs):
+        """CreateNewCopy() -> PyShapeEvtHandler"""
+        return _ogl.PyShapeEvtHandler_CreateNewCopy(*args, **kwargs)
+
+    def base_OnDelete(*args, **kwargs):
+        """base_OnDelete()"""
+        return _ogl.PyShapeEvtHandler_base_OnDelete(*args, **kwargs)
+
+    def base_OnDraw(*args, **kwargs):
+        """base_OnDraw(wxDC dc)"""
+        return _ogl.PyShapeEvtHandler_base_OnDraw(*args, **kwargs)
+
+    def base_OnDrawContents(*args, **kwargs):
+        """base_OnDrawContents(wxDC dc)"""
+        return _ogl.PyShapeEvtHandler_base_OnDrawContents(*args, **kwargs)
+
+    def base_OnDrawBranches(*args, **kwargs):
+        """base_OnDrawBranches(wxDC dc, bool erase=False)"""
+        return _ogl.PyShapeEvtHandler_base_OnDrawBranches(*args, **kwargs)
+
+    def base_OnMoveLinks(*args, **kwargs):
+        """base_OnMoveLinks(wxDC dc)"""
+        return _ogl.PyShapeEvtHandler_base_OnMoveLinks(*args, **kwargs)
+
+    def base_OnErase(*args, **kwargs):
+        """base_OnErase(wxDC dc)"""
+        return _ogl.PyShapeEvtHandler_base_OnErase(*args, **kwargs)
+
+    def base_OnEraseContents(*args, **kwargs):
+        """base_OnEraseContents(wxDC dc)"""
+        return _ogl.PyShapeEvtHandler_base_OnEraseContents(*args, **kwargs)
+
+    def base_OnHighlight(*args, **kwargs):
+        """base_OnHighlight(wxDC dc)"""
+        return _ogl.PyShapeEvtHandler_base_OnHighlight(*args, **kwargs)
+
+    def base_OnLeftClick(*args, **kwargs):
+        """base_OnLeftClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyShapeEvtHandler_base_OnLeftClick(*args, **kwargs)
+
+    def base_OnLeftDoubleClick(*args, **kwargs):
+        """base_OnLeftDoubleClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyShapeEvtHandler_base_OnLeftDoubleClick(*args, **kwargs)
+
+    def base_OnRightClick(*args, **kwargs):
+        """base_OnRightClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyShapeEvtHandler_base_OnRightClick(*args, **kwargs)
+
+    def base_OnSize(*args, **kwargs):
+        """base_OnSize(double x, double y)"""
+        return _ogl.PyShapeEvtHandler_base_OnSize(*args, **kwargs)
+
+    def base_OnMovePre(*args, **kwargs):
+        """base_OnMovePre(wxDC dc, double x, double y, double old_x, double old_y, 
+    bool display=True) -> bool"""
+        return _ogl.PyShapeEvtHandler_base_OnMovePre(*args, **kwargs)
+
+    def base_OnMovePost(*args, **kwargs):
+        """base_OnMovePost(wxDC dc, double x, double y, double old_x, double old_y, 
+    bool display=True)"""
+        return _ogl.PyShapeEvtHandler_base_OnMovePost(*args, **kwargs)
+
+    def base_OnDragLeft(*args, **kwargs):
+        """base_OnDragLeft(bool draw, double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyShapeEvtHandler_base_OnDragLeft(*args, **kwargs)
+
+    def base_OnBeginDragLeft(*args, **kwargs):
+        """base_OnBeginDragLeft(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyShapeEvtHandler_base_OnBeginDragLeft(*args, **kwargs)
+
+    def base_OnEndDragLeft(*args, **kwargs):
+        """base_OnEndDragLeft(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyShapeEvtHandler_base_OnEndDragLeft(*args, **kwargs)
+
+    def base_OnDragRight(*args, **kwargs):
+        """base_OnDragRight(bool draw, double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyShapeEvtHandler_base_OnDragRight(*args, **kwargs)
+
+    def base_OnBeginDragRight(*args, **kwargs):
+        """base_OnBeginDragRight(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyShapeEvtHandler_base_OnBeginDragRight(*args, **kwargs)
+
+    def base_OnEndDragRight(*args, **kwargs):
+        """base_OnEndDragRight(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyShapeEvtHandler_base_OnEndDragRight(*args, **kwargs)
+
+    def base_OnDrawOutline(*args, **kwargs):
+        """base_OnDrawOutline(wxDC dc, double x, double y, double w, double h)"""
+        return _ogl.PyShapeEvtHandler_base_OnDrawOutline(*args, **kwargs)
+
+    def base_OnDrawControlPoints(*args, **kwargs):
+        """base_OnDrawControlPoints(wxDC dc)"""
+        return _ogl.PyShapeEvtHandler_base_OnDrawControlPoints(*args, **kwargs)
+
+    def base_OnEraseControlPoints(*args, **kwargs):
+        """base_OnEraseControlPoints(wxDC dc)"""
+        return _ogl.PyShapeEvtHandler_base_OnEraseControlPoints(*args, **kwargs)
+
+    def base_OnMoveLink(*args, **kwargs):
+        """base_OnMoveLink(wxDC dc, bool moveControlPoints=True)"""
+        return _ogl.PyShapeEvtHandler_base_OnMoveLink(*args, **kwargs)
+
+    def base_OnSizingDragLeft(*args, **kwargs):
+        """base_OnSizingDragLeft(PyControlPoint pt, bool draw, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyShapeEvtHandler_base_OnSizingDragLeft(*args, **kwargs)
+
+    def base_OnSizingBeginDragLeft(*args, **kwargs):
+        """base_OnSizingBeginDragLeft(PyControlPoint pt, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyShapeEvtHandler_base_OnSizingBeginDragLeft(*args, **kwargs)
+
+    def base_OnSizingEndDragLeft(*args, **kwargs):
+        """base_OnSizingEndDragLeft(PyControlPoint pt, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyShapeEvtHandler_base_OnSizingEndDragLeft(*args, **kwargs)
+
+    def base_OnBeginSize(*args, **kwargs):
+        """base_OnBeginSize(double w, double h)"""
+        return _ogl.PyShapeEvtHandler_base_OnBeginSize(*args, **kwargs)
+
+    def base_OnEndSize(*args, **kwargs):
+        """base_OnEndSize(double w, double h)"""
+        return _ogl.PyShapeEvtHandler_base_OnEndSize(*args, **kwargs)
+
+
+class PyShapeEvtHandlerPtr(PyShapeEvtHandler):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = PyShapeEvtHandler
+_ogl.PyShapeEvtHandler_swigregister(PyShapeEvtHandlerPtr)
+
+class PyShape(PyShapeEvtHandler):
+    """"""
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxPyShape instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__(PyShapeCanvas can=None) -> PyShape"""
+        newobj = _ogl.new_PyShape(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+        self._setOORandCallbackInfo(PyShapeEvtHandler)
+
+    def _setCallbackInfo(*args, **kwargs):
+        """_setCallbackInfo(PyObject self, PyObject _class)"""
+        return _ogl.PyShape__setCallbackInfo(*args, **kwargs)
+
+    def GetBoundingBoxMax(*args, **kwargs):
+        """GetBoundingBoxMax(double OUTPUT, double OUTPUT)"""
+        return _ogl.PyShape_GetBoundingBoxMax(*args, **kwargs)
+
+    def GetBoundingBoxMin(*args, **kwargs):
+        """GetBoundingBoxMin(double OUTPUT, double OUTPUT)"""
+        return _ogl.PyShape_GetBoundingBoxMin(*args, **kwargs)
+
+    def GetPerimeterPoint(*args, **kwargs):
+        """GetPerimeterPoint(double x1, double y1, double x2, double y2, double OUTPUT, 
+    double OUTPUT) -> bool"""
+        return _ogl.PyShape_GetPerimeterPoint(*args, **kwargs)
+
+    def GetCanvas(*args, **kwargs):
+        """GetCanvas() -> PyShapeCanvas"""
+        return _ogl.PyShape_GetCanvas(*args, **kwargs)
+
+    def SetCanvas(*args, **kwargs):
+        """SetCanvas(PyShapeCanvas the_canvas)"""
+        return _ogl.PyShape_SetCanvas(*args, **kwargs)
+
+    def AddToCanvas(*args, **kwargs):
+        """AddToCanvas(PyShapeCanvas the_canvas, PyShape addAfter=None)"""
+        return _ogl.PyShape_AddToCanvas(*args, **kwargs)
+
+    def InsertInCanvas(*args, **kwargs):
+        """InsertInCanvas(PyShapeCanvas the_canvas)"""
+        return _ogl.PyShape_InsertInCanvas(*args, **kwargs)
+
+    def RemoveFromCanvas(*args, **kwargs):
+        """RemoveFromCanvas(PyShapeCanvas the_canvas)"""
+        return _ogl.PyShape_RemoveFromCanvas(*args, **kwargs)
+
+    def GetX(*args, **kwargs):
+        """GetX() -> double"""
+        return _ogl.PyShape_GetX(*args, **kwargs)
+
+    def GetY(*args, **kwargs):
+        """GetY() -> double"""
+        return _ogl.PyShape_GetY(*args, **kwargs)
+
+    def SetX(*args, **kwargs):
+        """SetX(double x)"""
+        return _ogl.PyShape_SetX(*args, **kwargs)
+
+    def SetY(*args, **kwargs):
+        """SetY(double y)"""
+        return _ogl.PyShape_SetY(*args, **kwargs)
+
+    def GetParent(*args, **kwargs):
+        """GetParent() -> PyShape"""
+        return _ogl.PyShape_GetParent(*args, **kwargs)
+
+    def SetParent(*args, **kwargs):
+        """SetParent(PyShape p)"""
+        return _ogl.PyShape_SetParent(*args, **kwargs)
+
+    def GetTopAncestor(*args, **kwargs):
+        """GetTopAncestor() -> PyShape"""
+        return _ogl.PyShape_GetTopAncestor(*args, **kwargs)
+
+    def GetChildren(*args, **kwargs):
+        """GetChildren() -> PyObject"""
+        return _ogl.PyShape_GetChildren(*args, **kwargs)
+
+    def Unlink(*args, **kwargs):
+        """Unlink()"""
+        return _ogl.PyShape_Unlink(*args, **kwargs)
+
+    def SetDrawHandles(*args, **kwargs):
+        """SetDrawHandles(bool drawH)"""
+        return _ogl.PyShape_SetDrawHandles(*args, **kwargs)
+
+    def GetDrawHandles(*args, **kwargs):
+        """GetDrawHandles() -> bool"""
+        return _ogl.PyShape_GetDrawHandles(*args, **kwargs)
+
+    def MakeControlPoints(*args, **kwargs):
+        """MakeControlPoints()"""
+        return _ogl.PyShape_MakeControlPoints(*args, **kwargs)
+
+    def DeleteControlPoints(*args, **kwargs):
+        """DeleteControlPoints(wxDC dc=None)"""
+        return _ogl.PyShape_DeleteControlPoints(*args, **kwargs)
+
+    def ResetControlPoints(*args, **kwargs):
+        """ResetControlPoints()"""
+        return _ogl.PyShape_ResetControlPoints(*args, **kwargs)
+
+    def GetEventHandler(*args, **kwargs):
+        """GetEventHandler() -> PyShapeEvtHandler"""
+        return _ogl.PyShape_GetEventHandler(*args, **kwargs)
+
+    def SetEventHandler(*args, **kwargs):
+        """SetEventHandler(PyShapeEvtHandler handler)"""
+        return _ogl.PyShape_SetEventHandler(*args, **kwargs)
+
+    def MakeMandatoryControlPoints(*args, **kwargs):
+        """MakeMandatoryControlPoints()"""
+        return _ogl.PyShape_MakeMandatoryControlPoints(*args, **kwargs)
+
+    def ResetMandatoryControlPoints(*args, **kwargs):
+        """ResetMandatoryControlPoints()"""
+        return _ogl.PyShape_ResetMandatoryControlPoints(*args, **kwargs)
+
+    def Recompute(*args, **kwargs):
+        """Recompute() -> bool"""
+        return _ogl.PyShape_Recompute(*args, **kwargs)
+
+    def CalculateSize(*args, **kwargs):
+        """CalculateSize()"""
+        return _ogl.PyShape_CalculateSize(*args, **kwargs)
+
+    def Select(*args, **kwargs):
+        """Select(bool select=True, wxDC dc=None)"""
+        return _ogl.PyShape_Select(*args, **kwargs)
+
+    def SetHighlight(*args, **kwargs):
+        """SetHighlight(bool hi=True, bool recurse=False)"""
+        return _ogl.PyShape_SetHighlight(*args, **kwargs)
+
+    def IsHighlighted(*args, **kwargs):
+        """IsHighlighted() -> bool"""
+        return _ogl.PyShape_IsHighlighted(*args, **kwargs)
+
+    def Selected(*args, **kwargs):
+        """Selected() -> bool"""
+        return _ogl.PyShape_Selected(*args, **kwargs)
+
+    def AncestorSelected(*args, **kwargs):
+        """AncestorSelected() -> bool"""
+        return _ogl.PyShape_AncestorSelected(*args, **kwargs)
+
+    def SetSensitivityFilter(*args, **kwargs):
+        """SetSensitivityFilter(int sens=OP_ALL, bool recursive=False)"""
+        return _ogl.PyShape_SetSensitivityFilter(*args, **kwargs)
+
+    def GetSensitivityFilter(*args, **kwargs):
+        """GetSensitivityFilter() -> int"""
+        return _ogl.PyShape_GetSensitivityFilter(*args, **kwargs)
+
+    def SetDraggable(*args, **kwargs):
+        """SetDraggable(bool drag, bool recursive=False)"""
+        return _ogl.PyShape_SetDraggable(*args, **kwargs)
+
+    def SetFixedSize(*args, **kwargs):
+        """SetFixedSize(bool x, bool y)"""
+        return _ogl.PyShape_SetFixedSize(*args, **kwargs)
+
+    def GetFixedSize(*args, **kwargs):
+        """GetFixedSize(bool OUTPUT, bool OUTPUT)"""
+        return _ogl.PyShape_GetFixedSize(*args, **kwargs)
+
+    def GetFixedWidth(*args, **kwargs):
+        """GetFixedWidth() -> bool"""
+        return _ogl.PyShape_GetFixedWidth(*args, **kwargs)
+
+    def GetFixedHeight(*args, **kwargs):
+        """GetFixedHeight() -> bool"""
+        return _ogl.PyShape_GetFixedHeight(*args, **kwargs)
+
+    def SetSpaceAttachments(*args, **kwargs):
+        """SetSpaceAttachments(bool sp)"""
+        return _ogl.PyShape_SetSpaceAttachments(*args, **kwargs)
+
+    def GetSpaceAttachments(*args, **kwargs):
+        """GetSpaceAttachments() -> bool"""
+        return _ogl.PyShape_GetSpaceAttachments(*args, **kwargs)
+
+    def SetShadowMode(*args, **kwargs):
+        """SetShadowMode(int mode, bool redraw=False)"""
+        return _ogl.PyShape_SetShadowMode(*args, **kwargs)
+
+    def GetShadowMode(*args, **kwargs):
+        """GetShadowMode() -> int"""
+        return _ogl.PyShape_GetShadowMode(*args, **kwargs)
+
+    def HitTest(*args, **kwargs):
+        """HitTest(double x, double y, int OUTPUT, double OUTPUT) -> bool"""
+        return _ogl.PyShape_HitTest(*args, **kwargs)
+
+    def SetCentreResize(*args, **kwargs):
+        """SetCentreResize(bool cr)"""
+        return _ogl.PyShape_SetCentreResize(*args, **kwargs)
+
+    def GetCentreResize(*args, **kwargs):
+        """GetCentreResize() -> bool"""
+        return _ogl.PyShape_GetCentreResize(*args, **kwargs)
+
+    def SetMaintainAspectRatio(*args, **kwargs):
+        """SetMaintainAspectRatio(bool ar)"""
+        return _ogl.PyShape_SetMaintainAspectRatio(*args, **kwargs)
+
+    def GetMaintainAspectRatio(*args, **kwargs):
+        """GetMaintainAspectRatio() -> bool"""
+        return _ogl.PyShape_GetMaintainAspectRatio(*args, **kwargs)
+
+    def GetLines(*args, **kwargs):
+        """GetLines() -> PyObject"""
+        return _ogl.PyShape_GetLines(*args, **kwargs)
+
+    def SetDisableLabel(*args, **kwargs):
+        """SetDisableLabel(bool flag)"""
+        return _ogl.PyShape_SetDisableLabel(*args, **kwargs)
+
+    def GetDisableLabel(*args, **kwargs):
+        """GetDisableLabel() -> bool"""
+        return _ogl.PyShape_GetDisableLabel(*args, **kwargs)
+
+    def SetAttachmentMode(*args, **kwargs):
+        """SetAttachmentMode(int mode)"""
+        return _ogl.PyShape_SetAttachmentMode(*args, **kwargs)
+
+    def GetAttachmentMode(*args, **kwargs):
+        """GetAttachmentMode() -> int"""
+        return _ogl.PyShape_GetAttachmentMode(*args, **kwargs)
+
+    def SetId(*args, **kwargs):
+        """SetId(long i)"""
+        return _ogl.PyShape_SetId(*args, **kwargs)
+
+    def GetId(*args, **kwargs):
+        """GetId() -> long"""
+        return _ogl.PyShape_GetId(*args, **kwargs)
+
+    def SetPen(*args, **kwargs):
+        """SetPen(wxPen pen)"""
+        return _ogl.PyShape_SetPen(*args, **kwargs)
+
+    def SetBrush(*args, **kwargs):
+        """SetBrush(wxBrush brush)"""
+        return _ogl.PyShape_SetBrush(*args, **kwargs)
+
+    def SetClientData(self, data):
+        self.clientData = data
+    def GetClientData(self):
+        if hasattr(self, 'clientData'):
+            return self.clientData
+        else:
+            return None
+
+    def Show(*args, **kwargs):
+        """Show(bool show)"""
+        return _ogl.PyShape_Show(*args, **kwargs)
+
+    def IsShown(*args, **kwargs):
+        """IsShown() -> bool"""
+        return _ogl.PyShape_IsShown(*args, **kwargs)
+
+    def Move(*args, **kwargs):
+        """Move(wxDC dc, double x1, double y1, bool display=True)"""
+        return _ogl.PyShape_Move(*args, **kwargs)
+
+    def Erase(*args, **kwargs):
+        """Erase(wxDC dc)"""
+        return _ogl.PyShape_Erase(*args, **kwargs)
+
+    def EraseContents(*args, **kwargs):
+        """EraseContents(wxDC dc)"""
+        return _ogl.PyShape_EraseContents(*args, **kwargs)
+
+    def Draw(*args, **kwargs):
+        """Draw(wxDC dc)"""
+        return _ogl.PyShape_Draw(*args, **kwargs)
+
+    def Flash(*args, **kwargs):
+        """Flash()"""
+        return _ogl.PyShape_Flash(*args, **kwargs)
+
+    def MoveLinks(*args, **kwargs):
+        """MoveLinks(wxDC dc)"""
+        return _ogl.PyShape_MoveLinks(*args, **kwargs)
+
+    def DrawContents(*args, **kwargs):
+        """DrawContents(wxDC dc)"""
+        return _ogl.PyShape_DrawContents(*args, **kwargs)
+
+    def SetSize(*args, **kwargs):
+        """SetSize(double x, double y, bool recursive=True)"""
+        return _ogl.PyShape_SetSize(*args, **kwargs)
+
+    def SetAttachmentSize(*args, **kwargs):
+        """SetAttachmentSize(double x, double y)"""
+        return _ogl.PyShape_SetAttachmentSize(*args, **kwargs)
+
+    def Attach(*args, **kwargs):
+        """Attach(PyShapeCanvas can)"""
+        return _ogl.PyShape_Attach(*args, **kwargs)
+
+    def Detach(*args, **kwargs):
+        """Detach()"""
+        return _ogl.PyShape_Detach(*args, **kwargs)
+
+    def Constrain(*args, **kwargs):
+        """Constrain() -> bool"""
+        return _ogl.PyShape_Constrain(*args, **kwargs)
+
+    def AddLine(*args, **kwargs):
+        """AddLine(PyLineShape line, PyShape other, int attachFrom=0, 
+    int attachTo=0, int positionFrom=-1, int positionTo=-1)"""
+        return _ogl.PyShape_AddLine(*args, **kwargs)
+
+    def GetLinePosition(*args, **kwargs):
+        """GetLinePosition(PyLineShape line) -> int"""
+        return _ogl.PyShape_GetLinePosition(*args, **kwargs)
+
+    def AddText(*args, **kwargs):
+        """AddText(wxString string)"""
+        return _ogl.PyShape_AddText(*args, **kwargs)
+
+    def GetPen(*args, **kwargs):
+        """GetPen() -> wxPen"""
+        return _ogl.PyShape_GetPen(*args, **kwargs)
+
+    def GetBrush(*args, **kwargs):
+        """GetBrush() -> wxBrush"""
+        return _ogl.PyShape_GetBrush(*args, **kwargs)
+
+    def SetDefaultRegionSize(*args, **kwargs):
+        """SetDefaultRegionSize()"""
+        return _ogl.PyShape_SetDefaultRegionSize(*args, **kwargs)
+
+    def FormatText(*args, **kwargs):
+        """FormatText(wxDC dc, wxString s, int regionId=0)"""
+        return _ogl.PyShape_FormatText(*args, **kwargs)
+
+    def SetFormatMode(*args, **kwargs):
+        """SetFormatMode(int mode, int regionId=0)"""
+        return _ogl.PyShape_SetFormatMode(*args, **kwargs)
+
+    def GetFormatMode(*args, **kwargs):
+        """GetFormatMode(int regionId=0) -> int"""
+        return _ogl.PyShape_GetFormatMode(*args, **kwargs)
+
+    def SetFont(*args, **kwargs):
+        """SetFont(wxFont font, int regionId=0)"""
+        return _ogl.PyShape_SetFont(*args, **kwargs)
+
+    def GetFont(*args, **kwargs):
+        """GetFont(int regionId=0) -> wxFont"""
+        return _ogl.PyShape_GetFont(*args, **kwargs)
+
+    def SetTextColour(*args, **kwargs):
+        """SetTextColour(wxString colour, int regionId=0)"""
+        return _ogl.PyShape_SetTextColour(*args, **kwargs)
+
+    def GetTextColour(*args, **kwargs):
+        """GetTextColour(int regionId=0) -> wxString"""
+        return _ogl.PyShape_GetTextColour(*args, **kwargs)
+
+    def GetNumberOfTextRegions(*args, **kwargs):
+        """GetNumberOfTextRegions() -> int"""
+        return _ogl.PyShape_GetNumberOfTextRegions(*args, **kwargs)
+
+    def SetRegionName(*args, **kwargs):
+        """SetRegionName(wxString name, int regionId=0)"""
+        return _ogl.PyShape_SetRegionName(*args, **kwargs)
+
+    def GetRegionName(*args, **kwargs):
+        """GetRegionName(int regionId) -> wxString"""
+        return _ogl.PyShape_GetRegionName(*args, **kwargs)
+
+    def GetRegionId(*args, **kwargs):
+        """GetRegionId(wxString name) -> int"""
+        return _ogl.PyShape_GetRegionId(*args, **kwargs)
+
+    def NameRegions(*args, **kwargs):
+        """NameRegions(wxString parentName="")"""
+        return _ogl.PyShape_NameRegions(*args, **kwargs)
+
+    def GetRegions(*args, **kwargs):
+        """GetRegions() -> PyObject"""
+        return _ogl.PyShape_GetRegions(*args, **kwargs)
+
+    def AddRegion(*args, **kwargs):
+        """AddRegion(ShapeRegion region)"""
+        return _ogl.PyShape_AddRegion(*args, **kwargs)
+
+    def ClearRegions(*args, **kwargs):
+        """ClearRegions()"""
+        return _ogl.PyShape_ClearRegions(*args, **kwargs)
+
+    def AssignNewIds(*args, **kwargs):
+        """AssignNewIds()"""
+        return _ogl.PyShape_AssignNewIds(*args, **kwargs)
+
+    def FindRegion(*args, **kwargs):
+        """FindRegion(wxString regionName, int OUTPUT) -> PyShape"""
+        return _ogl.PyShape_FindRegion(*args, **kwargs)
+
+    def FindRegionNames(*args, **kwargs):
+        """FindRegionNames(wxStringList list)"""
+        return _ogl.PyShape_FindRegionNames(*args, **kwargs)
+
+    def ClearText(*args, **kwargs):
+        """ClearText(int regionId=0)"""
+        return _ogl.PyShape_ClearText(*args, **kwargs)
+
+    def RemoveLine(*args, **kwargs):
+        """RemoveLine(PyLineShape line)"""
+        return _ogl.PyShape_RemoveLine(*args, **kwargs)
+
+    def GetAttachmentPosition(*args, **kwargs):
+        """GetAttachmentPosition(int attachment, double OUTPUT, double OUTPUT, int nth=0, 
+    int no_arcs=1, PyLineShape line=None) -> bool"""
+        return _ogl.PyShape_GetAttachmentPosition(*args, **kwargs)
+
+    def GetNumberOfAttachments(*args, **kwargs):
+        """GetNumberOfAttachments() -> int"""
+        return _ogl.PyShape_GetNumberOfAttachments(*args, **kwargs)
+
+    def AttachmentIsValid(*args, **kwargs):
+        """AttachmentIsValid(int attachment) -> bool"""
+        return _ogl.PyShape_AttachmentIsValid(*args, **kwargs)
+
+    def GetAttachmentPositionEdge(*args, **kwargs):
+        """GetAttachmentPositionEdge(int attachment, double OUTPUT, double OUTPUT, int nth=0, 
+    int no_arcs=1, PyLineShape line=None) -> bool"""
+        return _ogl.PyShape_GetAttachmentPositionEdge(*args, **kwargs)
+
+    def CalcSimpleAttachment(*args, **kwargs):
+        """CalcSimpleAttachment(RealPoint pt1, RealPoint pt2, int nth, int noArcs, 
+    PyLineShape line) -> RealPoint"""
+        return _ogl.PyShape_CalcSimpleAttachment(*args, **kwargs)
+
+    def AttachmentSortTest(*args, **kwargs):
+        """AttachmentSortTest(int attachmentPoint, RealPoint pt1, RealPoint pt2) -> bool"""
+        return _ogl.PyShape_AttachmentSortTest(*args, **kwargs)
+
+    def EraseLinks(*args, **kwargs):
+        """EraseLinks(wxDC dc, int attachment=-1, bool recurse=False)"""
+        return _ogl.PyShape_EraseLinks(*args, **kwargs)
+
+    def DrawLinks(*args, **kwargs):
+        """DrawLinks(wxDC dc, int attachment=-1, bool recurse=False)"""
+        return _ogl.PyShape_DrawLinks(*args, **kwargs)
+
+    def MoveLineToNewAttachment(*args, **kwargs):
+        """MoveLineToNewAttachment(wxDC dc, PyLineShape to_move, double x, double y) -> bool"""
+        return _ogl.PyShape_MoveLineToNewAttachment(*args, **kwargs)
+
+    def ApplyAttachmentOrdering(*args, **kwargs):
+        """ApplyAttachmentOrdering(PyObject linesToSort)"""
+        return _ogl.PyShape_ApplyAttachmentOrdering(*args, **kwargs)
+
+    def GetBranchingAttachmentRoot(*args, **kwargs):
+        """GetBranchingAttachmentRoot(int attachment) -> RealPoint"""
+        return _ogl.PyShape_GetBranchingAttachmentRoot(*args, **kwargs)
+
+    def GetBranchingAttachmentInfo(*args, **kwargs):
+        """GetBranchingAttachmentInfo(int attachment, RealPoint root, RealPoint neck, RealPoint shoulder1, 
+    RealPoint shoulder2) -> bool"""
+        return _ogl.PyShape_GetBranchingAttachmentInfo(*args, **kwargs)
+
+    def GetBranchingAttachmentPoint(*args, **kwargs):
+        """GetBranchingAttachmentPoint(int attachment, int n, RealPoint attachmentPoint, RealPoint stemPoint) -> bool"""
+        return _ogl.PyShape_GetBranchingAttachmentPoint(*args, **kwargs)
+
+    def GetAttachmentLineCount(*args, **kwargs):
+        """GetAttachmentLineCount(int attachment) -> int"""
+        return _ogl.PyShape_GetAttachmentLineCount(*args, **kwargs)
+
+    def SetBranchNeckLength(*args, **kwargs):
+        """SetBranchNeckLength(int len)"""
+        return _ogl.PyShape_SetBranchNeckLength(*args, **kwargs)
+
+    def GetBranchNeckLength(*args, **kwargs):
+        """GetBranchNeckLength() -> int"""
+        return _ogl.PyShape_GetBranchNeckLength(*args, **kwargs)
+
+    def SetBranchStemLength(*args, **kwargs):
+        """SetBranchStemLength(int len)"""
+        return _ogl.PyShape_SetBranchStemLength(*args, **kwargs)
+
+    def GetBranchStemLength(*args, **kwargs):
+        """GetBranchStemLength() -> int"""
+        return _ogl.PyShape_GetBranchStemLength(*args, **kwargs)
+
+    def SetBranchSpacing(*args, **kwargs):
+        """SetBranchSpacing(int len)"""
+        return _ogl.PyShape_SetBranchSpacing(*args, **kwargs)
+
+    def GetBranchSpacing(*args, **kwargs):
+        """GetBranchSpacing() -> int"""
+        return _ogl.PyShape_GetBranchSpacing(*args, **kwargs)
+
+    def SetBranchStyle(*args, **kwargs):
+        """SetBranchStyle(long style)"""
+        return _ogl.PyShape_SetBranchStyle(*args, **kwargs)
+
+    def GetBranchStyle(*args, **kwargs):
+        """GetBranchStyle() -> long"""
+        return _ogl.PyShape_GetBranchStyle(*args, **kwargs)
+
+    def PhysicalToLogicalAttachment(*args, **kwargs):
+        """PhysicalToLogicalAttachment(int physicalAttachment) -> int"""
+        return _ogl.PyShape_PhysicalToLogicalAttachment(*args, **kwargs)
+
+    def LogicalToPhysicalAttachment(*args, **kwargs):
+        """LogicalToPhysicalAttachment(int logicalAttachment) -> int"""
+        return _ogl.PyShape_LogicalToPhysicalAttachment(*args, **kwargs)
+
+    def Draggable(*args, **kwargs):
+        """Draggable() -> bool"""
+        return _ogl.PyShape_Draggable(*args, **kwargs)
+
+    def HasDescendant(*args, **kwargs):
+        """HasDescendant(PyShape image) -> bool"""
+        return _ogl.PyShape_HasDescendant(*args, **kwargs)
+
+    def CreateNewCopy(*args, **kwargs):
+        """CreateNewCopy(bool resetMapping=True, bool recompute=True) -> PyShape"""
+        return _ogl.PyShape_CreateNewCopy(*args, **kwargs)
+
+    def Copy(*args, **kwargs):
+        """Copy(PyShape copy)"""
+        return _ogl.PyShape_Copy(*args, **kwargs)
+
+    def CopyWithHandler(*args, **kwargs):
+        """CopyWithHandler(PyShape copy)"""
+        return _ogl.PyShape_CopyWithHandler(*args, **kwargs)
+
+    def Rotate(*args, **kwargs):
+        """Rotate(double x, double y, double theta)"""
+        return _ogl.PyShape_Rotate(*args, **kwargs)
+
+    def GetRotation(*args, **kwargs):
+        """GetRotation() -> double"""
+        return _ogl.PyShape_GetRotation(*args, **kwargs)
+
+    def ClearAttachments(*args, **kwargs):
+        """ClearAttachments()"""
+        return _ogl.PyShape_ClearAttachments(*args, **kwargs)
+
+    def Recentre(*args, **kwargs):
+        """Recentre(wxDC dc)"""
+        return _ogl.PyShape_Recentre(*args, **kwargs)
+
+    def ClearPointList(*args, **kwargs):
+        """ClearPointList(wxList list)"""
+        return _ogl.PyShape_ClearPointList(*args, **kwargs)
+
+    def GetBackgroundPen(*args, **kwargs):
+        """GetBackgroundPen() -> wxPen"""
+        return _ogl.PyShape_GetBackgroundPen(*args, **kwargs)
+
+    def GetBackgroundBrush(*args, **kwargs):
+        """GetBackgroundBrush() -> wxBrush"""
+        return _ogl.PyShape_GetBackgroundBrush(*args, **kwargs)
+
+    def base_OnDelete(*args, **kwargs):
+        """base_OnDelete()"""
+        return _ogl.PyShape_base_OnDelete(*args, **kwargs)
+
+    def base_OnDraw(*args, **kwargs):
+        """base_OnDraw(wxDC dc)"""
+        return _ogl.PyShape_base_OnDraw(*args, **kwargs)
+
+    def base_OnDrawContents(*args, **kwargs):
+        """base_OnDrawContents(wxDC dc)"""
+        return _ogl.PyShape_base_OnDrawContents(*args, **kwargs)
+
+    def base_OnDrawBranches(*args, **kwargs):
+        """base_OnDrawBranches(wxDC dc, bool erase=False)"""
+        return _ogl.PyShape_base_OnDrawBranches(*args, **kwargs)
+
+    def base_OnMoveLinks(*args, **kwargs):
+        """base_OnMoveLinks(wxDC dc)"""
+        return _ogl.PyShape_base_OnMoveLinks(*args, **kwargs)
+
+    def base_OnErase(*args, **kwargs):
+        """base_OnErase(wxDC dc)"""
+        return _ogl.PyShape_base_OnErase(*args, **kwargs)
+
+    def base_OnEraseContents(*args, **kwargs):
+        """base_OnEraseContents(wxDC dc)"""
+        return _ogl.PyShape_base_OnEraseContents(*args, **kwargs)
+
+    def base_OnHighlight(*args, **kwargs):
+        """base_OnHighlight(wxDC dc)"""
+        return _ogl.PyShape_base_OnHighlight(*args, **kwargs)
+
+    def base_OnLeftClick(*args, **kwargs):
+        """base_OnLeftClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyShape_base_OnLeftClick(*args, **kwargs)
+
+    def base_OnLeftDoubleClick(*args, **kwargs):
+        """base_OnLeftDoubleClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyShape_base_OnLeftDoubleClick(*args, **kwargs)
+
+    def base_OnRightClick(*args, **kwargs):
+        """base_OnRightClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyShape_base_OnRightClick(*args, **kwargs)
+
+    def base_OnSize(*args, **kwargs):
+        """base_OnSize(double x, double y)"""
+        return _ogl.PyShape_base_OnSize(*args, **kwargs)
+
+    def base_OnMovePre(*args, **kwargs):
+        """base_OnMovePre(wxDC dc, double x, double y, double old_x, double old_y, 
+    bool display=True) -> bool"""
+        return _ogl.PyShape_base_OnMovePre(*args, **kwargs)
+
+    def base_OnMovePost(*args, **kwargs):
+        """base_OnMovePost(wxDC dc, double x, double y, double old_x, double old_y, 
+    bool display=True)"""
+        return _ogl.PyShape_base_OnMovePost(*args, **kwargs)
+
+    def base_OnDragLeft(*args, **kwargs):
+        """base_OnDragLeft(bool draw, double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyShape_base_OnDragLeft(*args, **kwargs)
+
+    def base_OnBeginDragLeft(*args, **kwargs):
+        """base_OnBeginDragLeft(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyShape_base_OnBeginDragLeft(*args, **kwargs)
+
+    def base_OnEndDragLeft(*args, **kwargs):
+        """base_OnEndDragLeft(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyShape_base_OnEndDragLeft(*args, **kwargs)
+
+    def base_OnDragRight(*args, **kwargs):
+        """base_OnDragRight(bool draw, double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyShape_base_OnDragRight(*args, **kwargs)
+
+    def base_OnBeginDragRight(*args, **kwargs):
+        """base_OnBeginDragRight(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyShape_base_OnBeginDragRight(*args, **kwargs)
+
+    def base_OnEndDragRight(*args, **kwargs):
+        """base_OnEndDragRight(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyShape_base_OnEndDragRight(*args, **kwargs)
+
+    def base_OnDrawOutline(*args, **kwargs):
+        """base_OnDrawOutline(wxDC dc, double x, double y, double w, double h)"""
+        return _ogl.PyShape_base_OnDrawOutline(*args, **kwargs)
+
+    def base_OnDrawControlPoints(*args, **kwargs):
+        """base_OnDrawControlPoints(wxDC dc)"""
+        return _ogl.PyShape_base_OnDrawControlPoints(*args, **kwargs)
+
+    def base_OnEraseControlPoints(*args, **kwargs):
+        """base_OnEraseControlPoints(wxDC dc)"""
+        return _ogl.PyShape_base_OnEraseControlPoints(*args, **kwargs)
+
+    def base_OnMoveLink(*args, **kwargs):
+        """base_OnMoveLink(wxDC dc, bool moveControlPoints=True)"""
+        return _ogl.PyShape_base_OnMoveLink(*args, **kwargs)
+
+    def base_OnSizingDragLeft(*args, **kwargs):
+        """base_OnSizingDragLeft(PyControlPoint pt, bool draw, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyShape_base_OnSizingDragLeft(*args, **kwargs)
+
+    def base_OnSizingBeginDragLeft(*args, **kwargs):
+        """base_OnSizingBeginDragLeft(PyControlPoint pt, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyShape_base_OnSizingBeginDragLeft(*args, **kwargs)
+
+    def base_OnSizingEndDragLeft(*args, **kwargs):
+        """base_OnSizingEndDragLeft(PyControlPoint pt, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyShape_base_OnSizingEndDragLeft(*args, **kwargs)
+
+    def base_OnBeginSize(*args, **kwargs):
+        """base_OnBeginSize(double w, double h)"""
+        return _ogl.PyShape_base_OnBeginSize(*args, **kwargs)
+
+    def base_OnEndSize(*args, **kwargs):
+        """base_OnEndSize(double w, double h)"""
+        return _ogl.PyShape_base_OnEndSize(*args, **kwargs)
+
+
+class PyShapePtr(PyShape):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = PyShape
+_ogl.PyShape_swigregister(PyShapePtr)
+
+oglMETAFLAGS_OUTLINE = _ogl.oglMETAFLAGS_OUTLINE
+oglMETAFLAGS_ATTACHMENTS = _ogl.oglMETAFLAGS_ATTACHMENTS
+class PseudoMetaFile(core.Object):
+    """"""
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxPseudoMetaFile instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__() -> PseudoMetaFile"""
+        newobj = _ogl.new_PseudoMetaFile(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+    def __del__(self, destroy=_ogl.delete_PseudoMetaFile):
+        """__del__()"""
+        try:
+            if self.thisown: destroy(self)
+        except: pass
+
+    def Draw(*args, **kwargs):
+        """Draw(wxDC dc, double xoffset, double yoffset)"""
+        return _ogl.PseudoMetaFile_Draw(*args, **kwargs)
+
+    def Clear(*args, **kwargs):
+        """Clear()"""
+        return _ogl.PseudoMetaFile_Clear(*args, **kwargs)
+
+    def Copy(*args, **kwargs):
+        """Copy(PseudoMetaFile copy)"""
+        return _ogl.PseudoMetaFile_Copy(*args, **kwargs)
+
+    def Scale(*args, **kwargs):
+        """Scale(double sx, double sy)"""
+        return _ogl.PseudoMetaFile_Scale(*args, **kwargs)
+
+    def ScaleTo(*args, **kwargs):
+        """ScaleTo(double w, double h)"""
+        return _ogl.PseudoMetaFile_ScaleTo(*args, **kwargs)
+
+    def Translate(*args, **kwargs):
+        """Translate(double x, double y)"""
+        return _ogl.PseudoMetaFile_Translate(*args, **kwargs)
+
+    def Rotate(*args, **kwargs):
+        """Rotate(double x, double y, double theta)"""
+        return _ogl.PseudoMetaFile_Rotate(*args, **kwargs)
+
+    def LoadFromMetaFile(*args, **kwargs):
+        """LoadFromMetaFile(wxString filename, double width, double height) -> bool"""
+        return _ogl.PseudoMetaFile_LoadFromMetaFile(*args, **kwargs)
+
+    def GetBounds(*args, **kwargs):
+        """GetBounds(double minX, double minY, double maxX, double maxY)"""
+        return _ogl.PseudoMetaFile_GetBounds(*args, **kwargs)
+
+    def CalculateSize(*args, **kwargs):
+        """CalculateSize(PyDrawnShape shape)"""
+        return _ogl.PseudoMetaFile_CalculateSize(*args, **kwargs)
+
+    def SetRotateable(*args, **kwargs):
+        """SetRotateable(bool rot)"""
+        return _ogl.PseudoMetaFile_SetRotateable(*args, **kwargs)
+
+    def GetRotateable(*args, **kwargs):
+        """GetRotateable() -> bool"""
+        return _ogl.PseudoMetaFile_GetRotateable(*args, **kwargs)
+
+    def SetSize(*args, **kwargs):
+        """SetSize(double w, double h)"""
+        return _ogl.PseudoMetaFile_SetSize(*args, **kwargs)
+
+    def SetFillBrush(*args, **kwargs):
+        """SetFillBrush(wxBrush brush)"""
+        return _ogl.PseudoMetaFile_SetFillBrush(*args, **kwargs)
+
+    def GetFillBrush(*args, **kwargs):
+        """GetFillBrush() -> wxBrush"""
+        return _ogl.PseudoMetaFile_GetFillBrush(*args, **kwargs)
+
+    def SetOutlinePen(*args, **kwargs):
+        """SetOutlinePen(wxPen pen)"""
+        return _ogl.PseudoMetaFile_SetOutlinePen(*args, **kwargs)
+
+    def GetOutlinePen(*args, **kwargs):
+        """GetOutlinePen() -> wxPen"""
+        return _ogl.PseudoMetaFile_GetOutlinePen(*args, **kwargs)
+
+    def SetOutlineOp(*args, **kwargs):
+        """SetOutlineOp(int op)"""
+        return _ogl.PseudoMetaFile_SetOutlineOp(*args, **kwargs)
+
+    def GetOutlineOp(*args, **kwargs):
+        """GetOutlineOp() -> int"""
+        return _ogl.PseudoMetaFile_GetOutlineOp(*args, **kwargs)
+
+    def IsValid(*args, **kwargs):
+        """IsValid() -> bool"""
+        return _ogl.PseudoMetaFile_IsValid(*args, **kwargs)
+
+    def DrawLine(*args, **kwargs):
+        """DrawLine(Point pt1, Point pt2)"""
+        return _ogl.PseudoMetaFile_DrawLine(*args, **kwargs)
+
+    def DrawRectangle(*args, **kwargs):
+        """DrawRectangle(Rect rect)"""
+        return _ogl.PseudoMetaFile_DrawRectangle(*args, **kwargs)
+
+    def DrawRoundedRectangle(*args, **kwargs):
+        """DrawRoundedRectangle(Rect rect, double radius)"""
+        return _ogl.PseudoMetaFile_DrawRoundedRectangle(*args, **kwargs)
+
+    def DrawArc(*args, **kwargs):
+        """DrawArc(Point centrePt, Point startPt, Point endPt)"""
+        return _ogl.PseudoMetaFile_DrawArc(*args, **kwargs)
+
+    def DrawEllipticArc(*args, **kwargs):
+        """DrawEllipticArc(Rect rect, double startAngle, double endAngle)"""
+        return _ogl.PseudoMetaFile_DrawEllipticArc(*args, **kwargs)
+
+    def DrawEllipse(*args, **kwargs):
+        """DrawEllipse(Rect rect)"""
+        return _ogl.PseudoMetaFile_DrawEllipse(*args, **kwargs)
+
+    def DrawPoint(*args, **kwargs):
+        """DrawPoint(Point pt)"""
+        return _ogl.PseudoMetaFile_DrawPoint(*args, **kwargs)
+
+    def DrawText(*args, **kwargs):
+        """DrawText(wxString text, Point pt)"""
+        return _ogl.PseudoMetaFile_DrawText(*args, **kwargs)
+
+    def DrawLines(*args, **kwargs):
+        """DrawLines(int PCOUNT, Point points)"""
+        return _ogl.PseudoMetaFile_DrawLines(*args, **kwargs)
+
+    def DrawPolygon(*args, **kwargs):
+        """DrawPolygon(int PCOUNT, Point points, int flags=0)"""
+        return _ogl.PseudoMetaFile_DrawPolygon(*args, **kwargs)
+
+    def DrawSpline(*args, **kwargs):
+        """DrawSpline(int PCOUNT, Point points)"""
+        return _ogl.PseudoMetaFile_DrawSpline(*args, **kwargs)
+
+    def SetClippingRect(*args, **kwargs):
+        """SetClippingRect(Rect rect)"""
+        return _ogl.PseudoMetaFile_SetClippingRect(*args, **kwargs)
+
+    def DestroyClippingRect(*args, **kwargs):
+        """DestroyClippingRect()"""
+        return _ogl.PseudoMetaFile_DestroyClippingRect(*args, **kwargs)
+
+    def SetPen(*args, **kwargs):
+        """SetPen(wxPen pen, bool isOutline=FALSE)"""
+        return _ogl.PseudoMetaFile_SetPen(*args, **kwargs)
+
+    def SetBrush(*args, **kwargs):
+        """SetBrush(wxBrush brush, bool isFill=FALSE)"""
+        return _ogl.PseudoMetaFile_SetBrush(*args, **kwargs)
+
+    def SetFont(*args, **kwargs):
+        """SetFont(wxFont font)"""
+        return _ogl.PseudoMetaFile_SetFont(*args, **kwargs)
+
+    def SetTextColour(*args, **kwargs):
+        """SetTextColour(wxColour colour)"""
+        return _ogl.PseudoMetaFile_SetTextColour(*args, **kwargs)
+
+    def SetBackgroundColour(*args, **kwargs):
+        """SetBackgroundColour(wxColour colour)"""
+        return _ogl.PseudoMetaFile_SetBackgroundColour(*args, **kwargs)
+
+    def SetBackgroundMode(*args, **kwargs):
+        """SetBackgroundMode(int mode)"""
+        return _ogl.PseudoMetaFile_SetBackgroundMode(*args, **kwargs)
+
+
+class PseudoMetaFilePtr(PseudoMetaFile):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = PseudoMetaFile
+_ogl.PseudoMetaFile_swigregister(PseudoMetaFilePtr)
+
+class PyRectangleShape(PyShape):
+    """"""
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxPyRectangleShape instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__(double width=0.0, double height=0.0) -> PyRectangleShape"""
+        newobj = _ogl.new_PyRectangleShape(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+        self._setOORandCallbackInfo(PyRectangleShape)
+
+    def _setCallbackInfo(*args, **kwargs):
+        """_setCallbackInfo(PyObject self, PyObject _class)"""
+        return _ogl.PyRectangleShape__setCallbackInfo(*args, **kwargs)
+
+    def SetCornerRadius(*args, **kwargs):
+        """SetCornerRadius(double radius)"""
+        return _ogl.PyRectangleShape_SetCornerRadius(*args, **kwargs)
+
+    def base_OnDelete(*args, **kwargs):
+        """base_OnDelete()"""
+        return _ogl.PyRectangleShape_base_OnDelete(*args, **kwargs)
+
+    def base_OnDraw(*args, **kwargs):
+        """base_OnDraw(wxDC dc)"""
+        return _ogl.PyRectangleShape_base_OnDraw(*args, **kwargs)
+
+    def base_OnDrawContents(*args, **kwargs):
+        """base_OnDrawContents(wxDC dc)"""
+        return _ogl.PyRectangleShape_base_OnDrawContents(*args, **kwargs)
+
+    def base_OnDrawBranches(*args, **kwargs):
+        """base_OnDrawBranches(wxDC dc, bool erase=FALSE)"""
+        return _ogl.PyRectangleShape_base_OnDrawBranches(*args, **kwargs)
+
+    def base_OnMoveLinks(*args, **kwargs):
+        """base_OnMoveLinks(wxDC dc)"""
+        return _ogl.PyRectangleShape_base_OnMoveLinks(*args, **kwargs)
+
+    def base_OnErase(*args, **kwargs):
+        """base_OnErase(wxDC dc)"""
+        return _ogl.PyRectangleShape_base_OnErase(*args, **kwargs)
+
+    def base_OnEraseContents(*args, **kwargs):
+        """base_OnEraseContents(wxDC dc)"""
+        return _ogl.PyRectangleShape_base_OnEraseContents(*args, **kwargs)
+
+    def base_OnHighlight(*args, **kwargs):
+        """base_OnHighlight(wxDC dc)"""
+        return _ogl.PyRectangleShape_base_OnHighlight(*args, **kwargs)
+
+    def base_OnLeftClick(*args, **kwargs):
+        """base_OnLeftClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyRectangleShape_base_OnLeftClick(*args, **kwargs)
+
+    def base_OnLeftDoubleClick(*args, **kwargs):
+        """base_OnLeftDoubleClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyRectangleShape_base_OnLeftDoubleClick(*args, **kwargs)
+
+    def base_OnRightClick(*args, **kwargs):
+        """base_OnRightClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyRectangleShape_base_OnRightClick(*args, **kwargs)
+
+    def base_OnSize(*args, **kwargs):
+        """base_OnSize(double x, double y)"""
+        return _ogl.PyRectangleShape_base_OnSize(*args, **kwargs)
+
+    def base_OnMovePre(*args, **kwargs):
+        """base_OnMovePre(wxDC dc, double x, double y, double old_x, double old_y, 
+    bool display=True) -> bool"""
+        return _ogl.PyRectangleShape_base_OnMovePre(*args, **kwargs)
+
+    def base_OnMovePost(*args, **kwargs):
+        """base_OnMovePost(wxDC dc, double x, double y, double old_x, double old_y, 
+    bool display=True)"""
+        return _ogl.PyRectangleShape_base_OnMovePost(*args, **kwargs)
+
+    def base_OnDragLeft(*args, **kwargs):
+        """base_OnDragLeft(bool draw, double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyRectangleShape_base_OnDragLeft(*args, **kwargs)
+
+    def base_OnBeginDragLeft(*args, **kwargs):
+        """base_OnBeginDragLeft(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyRectangleShape_base_OnBeginDragLeft(*args, **kwargs)
+
+    def base_OnEndDragLeft(*args, **kwargs):
+        """base_OnEndDragLeft(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyRectangleShape_base_OnEndDragLeft(*args, **kwargs)
+
+    def base_OnDragRight(*args, **kwargs):
+        """base_OnDragRight(bool draw, double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyRectangleShape_base_OnDragRight(*args, **kwargs)
+
+    def base_OnBeginDragRight(*args, **kwargs):
+        """base_OnBeginDragRight(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyRectangleShape_base_OnBeginDragRight(*args, **kwargs)
+
+    def base_OnEndDragRight(*args, **kwargs):
+        """base_OnEndDragRight(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyRectangleShape_base_OnEndDragRight(*args, **kwargs)
+
+    def base_OnDrawOutline(*args, **kwargs):
+        """base_OnDrawOutline(wxDC dc, double x, double y, double w, double h)"""
+        return _ogl.PyRectangleShape_base_OnDrawOutline(*args, **kwargs)
+
+    def base_OnDrawControlPoints(*args, **kwargs):
+        """base_OnDrawControlPoints(wxDC dc)"""
+        return _ogl.PyRectangleShape_base_OnDrawControlPoints(*args, **kwargs)
+
+    def base_OnEraseControlPoints(*args, **kwargs):
+        """base_OnEraseControlPoints(wxDC dc)"""
+        return _ogl.PyRectangleShape_base_OnEraseControlPoints(*args, **kwargs)
+
+    def base_OnMoveLink(*args, **kwargs):
+        """base_OnMoveLink(wxDC dc, bool moveControlPoints=True)"""
+        return _ogl.PyRectangleShape_base_OnMoveLink(*args, **kwargs)
+
+    def base_OnSizingDragLeft(*args, **kwargs):
+        """base_OnSizingDragLeft(PyControlPoint pt, bool draw, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyRectangleShape_base_OnSizingDragLeft(*args, **kwargs)
+
+    def base_OnSizingBeginDragLeft(*args, **kwargs):
+        """base_OnSizingBeginDragLeft(PyControlPoint pt, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyRectangleShape_base_OnSizingBeginDragLeft(*args, **kwargs)
+
+    def base_OnSizingEndDragLeft(*args, **kwargs):
+        """base_OnSizingEndDragLeft(PyControlPoint pt, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyRectangleShape_base_OnSizingEndDragLeft(*args, **kwargs)
+
+    def base_OnBeginSize(*args, **kwargs):
+        """base_OnBeginSize(double w, double h)"""
+        return _ogl.PyRectangleShape_base_OnBeginSize(*args, **kwargs)
+
+    def base_OnEndSize(*args, **kwargs):
+        """base_OnEndSize(double w, double h)"""
+        return _ogl.PyRectangleShape_base_OnEndSize(*args, **kwargs)
+
+
+class PyRectangleShapePtr(PyRectangleShape):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = PyRectangleShape
+_ogl.PyRectangleShape_swigregister(PyRectangleShapePtr)
+
+class PyControlPoint(PyRectangleShape):
+    """"""
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxPyControlPoint instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__(PyShapeCanvas the_canvas=None, PyShape object=None, 
+    double size=0.0, double the_xoffset=0.0, double the_yoffset=0.0, 
+    int the_type=0) -> PyControlPoint"""
+        newobj = _ogl.new_PyControlPoint(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+        self._setOORandCallbackInfo(PyControlPoint)
+
+    def _setCallbackInfo(*args, **kwargs):
+        """_setCallbackInfo(PyObject self, PyObject _class)"""
+        return _ogl.PyControlPoint__setCallbackInfo(*args, **kwargs)
+
+    def SetCornerRadius(*args, **kwargs):
+        """SetCornerRadius(double radius)"""
+        return _ogl.PyControlPoint_SetCornerRadius(*args, **kwargs)
+
+    def base_OnDelete(*args, **kwargs):
+        """base_OnDelete()"""
+        return _ogl.PyControlPoint_base_OnDelete(*args, **kwargs)
+
+    def base_OnDraw(*args, **kwargs):
+        """base_OnDraw(wxDC dc)"""
+        return _ogl.PyControlPoint_base_OnDraw(*args, **kwargs)
+
+    def base_OnDrawContents(*args, **kwargs):
+        """base_OnDrawContents(wxDC dc)"""
+        return _ogl.PyControlPoint_base_OnDrawContents(*args, **kwargs)
+
+    def base_OnDrawBranches(*args, **kwargs):
+        """base_OnDrawBranches(wxDC dc, bool erase=FALSE)"""
+        return _ogl.PyControlPoint_base_OnDrawBranches(*args, **kwargs)
+
+    def base_OnMoveLinks(*args, **kwargs):
+        """base_OnMoveLinks(wxDC dc)"""
+        return _ogl.PyControlPoint_base_OnMoveLinks(*args, **kwargs)
+
+    def base_OnErase(*args, **kwargs):
+        """base_OnErase(wxDC dc)"""
+        return _ogl.PyControlPoint_base_OnErase(*args, **kwargs)
+
+    def base_OnEraseContents(*args, **kwargs):
+        """base_OnEraseContents(wxDC dc)"""
+        return _ogl.PyControlPoint_base_OnEraseContents(*args, **kwargs)
+
+    def base_OnHighlight(*args, **kwargs):
+        """base_OnHighlight(wxDC dc)"""
+        return _ogl.PyControlPoint_base_OnHighlight(*args, **kwargs)
+
+    def base_OnLeftClick(*args, **kwargs):
+        """base_OnLeftClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyControlPoint_base_OnLeftClick(*args, **kwargs)
+
+    def base_OnLeftDoubleClick(*args, **kwargs):
+        """base_OnLeftDoubleClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyControlPoint_base_OnLeftDoubleClick(*args, **kwargs)
+
+    def base_OnRightClick(*args, **kwargs):
+        """base_OnRightClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyControlPoint_base_OnRightClick(*args, **kwargs)
+
+    def base_OnSize(*args, **kwargs):
+        """base_OnSize(double x, double y)"""
+        return _ogl.PyControlPoint_base_OnSize(*args, **kwargs)
+
+    def base_OnMovePre(*args, **kwargs):
+        """base_OnMovePre(wxDC dc, double x, double y, double old_x, double old_y, 
+    bool display=True) -> bool"""
+        return _ogl.PyControlPoint_base_OnMovePre(*args, **kwargs)
+
+    def base_OnMovePost(*args, **kwargs):
+        """base_OnMovePost(wxDC dc, double x, double y, double old_x, double old_y, 
+    bool display=True)"""
+        return _ogl.PyControlPoint_base_OnMovePost(*args, **kwargs)
+
+    def base_OnDragLeft(*args, **kwargs):
+        """base_OnDragLeft(bool draw, double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyControlPoint_base_OnDragLeft(*args, **kwargs)
+
+    def base_OnBeginDragLeft(*args, **kwargs):
+        """base_OnBeginDragLeft(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyControlPoint_base_OnBeginDragLeft(*args, **kwargs)
+
+    def base_OnEndDragLeft(*args, **kwargs):
+        """base_OnEndDragLeft(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyControlPoint_base_OnEndDragLeft(*args, **kwargs)
+
+    def base_OnDragRight(*args, **kwargs):
+        """base_OnDragRight(bool draw, double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyControlPoint_base_OnDragRight(*args, **kwargs)
+
+    def base_OnBeginDragRight(*args, **kwargs):
+        """base_OnBeginDragRight(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyControlPoint_base_OnBeginDragRight(*args, **kwargs)
+
+    def base_OnEndDragRight(*args, **kwargs):
+        """base_OnEndDragRight(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyControlPoint_base_OnEndDragRight(*args, **kwargs)
+
+    def base_OnDrawOutline(*args, **kwargs):
+        """base_OnDrawOutline(wxDC dc, double x, double y, double w, double h)"""
+        return _ogl.PyControlPoint_base_OnDrawOutline(*args, **kwargs)
+
+    def base_OnDrawControlPoints(*args, **kwargs):
+        """base_OnDrawControlPoints(wxDC dc)"""
+        return _ogl.PyControlPoint_base_OnDrawControlPoints(*args, **kwargs)
+
+    def base_OnEraseControlPoints(*args, **kwargs):
+        """base_OnEraseControlPoints(wxDC dc)"""
+        return _ogl.PyControlPoint_base_OnEraseControlPoints(*args, **kwargs)
+
+    def base_OnMoveLink(*args, **kwargs):
+        """base_OnMoveLink(wxDC dc, bool moveControlPoints=True)"""
+        return _ogl.PyControlPoint_base_OnMoveLink(*args, **kwargs)
+
+    def base_OnSizingDragLeft(*args, **kwargs):
+        """base_OnSizingDragLeft(PyControlPoint pt, bool draw, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyControlPoint_base_OnSizingDragLeft(*args, **kwargs)
+
+    def base_OnSizingBeginDragLeft(*args, **kwargs):
+        """base_OnSizingBeginDragLeft(PyControlPoint pt, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyControlPoint_base_OnSizingBeginDragLeft(*args, **kwargs)
+
+    def base_OnSizingEndDragLeft(*args, **kwargs):
+        """base_OnSizingEndDragLeft(PyControlPoint pt, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyControlPoint_base_OnSizingEndDragLeft(*args, **kwargs)
+
+    def base_OnBeginSize(*args, **kwargs):
+        """base_OnBeginSize(double w, double h)"""
+        return _ogl.PyControlPoint_base_OnBeginSize(*args, **kwargs)
+
+    def base_OnEndSize(*args, **kwargs):
+        """base_OnEndSize(double w, double h)"""
+        return _ogl.PyControlPoint_base_OnEndSize(*args, **kwargs)
+
+
+class PyControlPointPtr(PyControlPoint):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = PyControlPoint
+_ogl.PyControlPoint_swigregister(PyControlPointPtr)
+
+class PyBitmapShape(PyRectangleShape):
+    """"""
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxPyBitmapShape instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__() -> PyBitmapShape"""
+        newobj = _ogl.new_PyBitmapShape(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+        self._setOORandCallbackInfo(PyBitmapShape)
+
+    def _setCallbackInfo(*args, **kwargs):
+        """_setCallbackInfo(PyObject self, PyObject _class)"""
+        return _ogl.PyBitmapShape__setCallbackInfo(*args, **kwargs)
+
+    def GetBitmap(*args, **kwargs):
+        """GetBitmap() -> wxBitmap"""
+        return _ogl.PyBitmapShape_GetBitmap(*args, **kwargs)
+
+    def GetFilename(*args, **kwargs):
+        """GetFilename() -> wxString"""
+        return _ogl.PyBitmapShape_GetFilename(*args, **kwargs)
+
+    def SetBitmap(*args, **kwargs):
+        """SetBitmap(wxBitmap bitmap)"""
+        return _ogl.PyBitmapShape_SetBitmap(*args, **kwargs)
+
+    def SetFilename(*args, **kwargs):
+        """SetFilename(wxString filename)"""
+        return _ogl.PyBitmapShape_SetFilename(*args, **kwargs)
+
+    def base_OnDelete(*args, **kwargs):
+        """base_OnDelete()"""
+        return _ogl.PyBitmapShape_base_OnDelete(*args, **kwargs)
+
+    def base_OnDraw(*args, **kwargs):
+        """base_OnDraw(wxDC dc)"""
+        return _ogl.PyBitmapShape_base_OnDraw(*args, **kwargs)
+
+    def base_OnDrawContents(*args, **kwargs):
+        """base_OnDrawContents(wxDC dc)"""
+        return _ogl.PyBitmapShape_base_OnDrawContents(*args, **kwargs)
+
+    def base_OnDrawBranches(*args, **kwargs):
+        """base_OnDrawBranches(wxDC dc, bool erase=FALSE)"""
+        return _ogl.PyBitmapShape_base_OnDrawBranches(*args, **kwargs)
+
+    def base_OnMoveLinks(*args, **kwargs):
+        """base_OnMoveLinks(wxDC dc)"""
+        return _ogl.PyBitmapShape_base_OnMoveLinks(*args, **kwargs)
+
+    def base_OnErase(*args, **kwargs):
+        """base_OnErase(wxDC dc)"""
+        return _ogl.PyBitmapShape_base_OnErase(*args, **kwargs)
+
+    def base_OnEraseContents(*args, **kwargs):
+        """base_OnEraseContents(wxDC dc)"""
+        return _ogl.PyBitmapShape_base_OnEraseContents(*args, **kwargs)
+
+    def base_OnHighlight(*args, **kwargs):
+        """base_OnHighlight(wxDC dc)"""
+        return _ogl.PyBitmapShape_base_OnHighlight(*args, **kwargs)
+
+    def base_OnLeftClick(*args, **kwargs):
+        """base_OnLeftClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyBitmapShape_base_OnLeftClick(*args, **kwargs)
+
+    def base_OnLeftDoubleClick(*args, **kwargs):
+        """base_OnLeftDoubleClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyBitmapShape_base_OnLeftDoubleClick(*args, **kwargs)
+
+    def base_OnRightClick(*args, **kwargs):
+        """base_OnRightClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyBitmapShape_base_OnRightClick(*args, **kwargs)
+
+    def base_OnSize(*args, **kwargs):
+        """base_OnSize(double x, double y)"""
+        return _ogl.PyBitmapShape_base_OnSize(*args, **kwargs)
+
+    def base_OnMovePre(*args, **kwargs):
+        """base_OnMovePre(wxDC dc, double x, double y, double old_x, double old_y, 
+    bool display=True) -> bool"""
+        return _ogl.PyBitmapShape_base_OnMovePre(*args, **kwargs)
+
+    def base_OnMovePost(*args, **kwargs):
+        """base_OnMovePost(wxDC dc, double x, double y, double old_x, double old_y, 
+    bool display=True)"""
+        return _ogl.PyBitmapShape_base_OnMovePost(*args, **kwargs)
+
+    def base_OnDragLeft(*args, **kwargs):
+        """base_OnDragLeft(bool draw, double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyBitmapShape_base_OnDragLeft(*args, **kwargs)
+
+    def base_OnBeginDragLeft(*args, **kwargs):
+        """base_OnBeginDragLeft(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyBitmapShape_base_OnBeginDragLeft(*args, **kwargs)
+
+    def base_OnEndDragLeft(*args, **kwargs):
+        """base_OnEndDragLeft(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyBitmapShape_base_OnEndDragLeft(*args, **kwargs)
+
+    def base_OnDragRight(*args, **kwargs):
+        """base_OnDragRight(bool draw, double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyBitmapShape_base_OnDragRight(*args, **kwargs)
+
+    def base_OnBeginDragRight(*args, **kwargs):
+        """base_OnBeginDragRight(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyBitmapShape_base_OnBeginDragRight(*args, **kwargs)
+
+    def base_OnEndDragRight(*args, **kwargs):
+        """base_OnEndDragRight(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyBitmapShape_base_OnEndDragRight(*args, **kwargs)
+
+    def base_OnDrawOutline(*args, **kwargs):
+        """base_OnDrawOutline(wxDC dc, double x, double y, double w, double h)"""
+        return _ogl.PyBitmapShape_base_OnDrawOutline(*args, **kwargs)
+
+    def base_OnDrawControlPoints(*args, **kwargs):
+        """base_OnDrawControlPoints(wxDC dc)"""
+        return _ogl.PyBitmapShape_base_OnDrawControlPoints(*args, **kwargs)
+
+    def base_OnEraseControlPoints(*args, **kwargs):
+        """base_OnEraseControlPoints(wxDC dc)"""
+        return _ogl.PyBitmapShape_base_OnEraseControlPoints(*args, **kwargs)
+
+    def base_OnMoveLink(*args, **kwargs):
+        """base_OnMoveLink(wxDC dc, bool moveControlPoints=True)"""
+        return _ogl.PyBitmapShape_base_OnMoveLink(*args, **kwargs)
+
+    def base_OnSizingDragLeft(*args, **kwargs):
+        """base_OnSizingDragLeft(PyControlPoint pt, bool draw, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyBitmapShape_base_OnSizingDragLeft(*args, **kwargs)
+
+    def base_OnSizingBeginDragLeft(*args, **kwargs):
+        """base_OnSizingBeginDragLeft(PyControlPoint pt, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyBitmapShape_base_OnSizingBeginDragLeft(*args, **kwargs)
+
+    def base_OnSizingEndDragLeft(*args, **kwargs):
+        """base_OnSizingEndDragLeft(PyControlPoint pt, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyBitmapShape_base_OnSizingEndDragLeft(*args, **kwargs)
+
+    def base_OnBeginSize(*args, **kwargs):
+        """base_OnBeginSize(double w, double h)"""
+        return _ogl.PyBitmapShape_base_OnBeginSize(*args, **kwargs)
+
+    def base_OnEndSize(*args, **kwargs):
+        """base_OnEndSize(double w, double h)"""
+        return _ogl.PyBitmapShape_base_OnEndSize(*args, **kwargs)
+
+
+class PyBitmapShapePtr(PyBitmapShape):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = PyBitmapShape
+_ogl.PyBitmapShape_swigregister(PyBitmapShapePtr)
+
+class PyDrawnShape(PyRectangleShape):
+    """"""
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxPyDrawnShape instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__() -> PyDrawnShape"""
+        newobj = _ogl.new_PyDrawnShape(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+        self._setOORandCallbackInfo(PyDrawnShape)
+
+    def _setCallbackInfo(*args, **kwargs):
+        """_setCallbackInfo(PyObject self, PyObject _class)"""
+        return _ogl.PyDrawnShape__setCallbackInfo(*args, **kwargs)
+
+    def CalculateSize(*args, **kwargs):
+        """CalculateSize()"""
+        return _ogl.PyDrawnShape_CalculateSize(*args, **kwargs)
+
+    def DestroyClippingRect(*args, **kwargs):
+        """DestroyClippingRect()"""
+        return _ogl.PyDrawnShape_DestroyClippingRect(*args, **kwargs)
+
+    def DrawArc(*args, **kwargs):
+        """DrawArc(Point centrePoint, Point startPoint, Point endPoint)"""
+        return _ogl.PyDrawnShape_DrawArc(*args, **kwargs)
+
+    def DrawAtAngle(*args, **kwargs):
+        """DrawAtAngle(int angle)"""
+        return _ogl.PyDrawnShape_DrawAtAngle(*args, **kwargs)
+
+    def DrawEllipticArc(*args, **kwargs):
+        """DrawEllipticArc(Rect rect, double startAngle, double endAngle)"""
+        return _ogl.PyDrawnShape_DrawEllipticArc(*args, **kwargs)
+
+    def DrawLine(*args, **kwargs):
+        """DrawLine(Point point1, Point point2)"""
+        return _ogl.PyDrawnShape_DrawLine(*args, **kwargs)
+
+    def DrawLines(*args, **kwargs):
+        """DrawLines(int PCOUNT, Point points)"""
+        return _ogl.PyDrawnShape_DrawLines(*args, **kwargs)
+
+    def DrawPoint(*args, **kwargs):
+        """DrawPoint(Point point)"""
+        return _ogl.PyDrawnShape_DrawPoint(*args, **kwargs)
+
+    def DrawPolygon(*args, **kwargs):
+        """DrawPolygon(int PCOUNT, Point points, int flags=0)"""
+        return _ogl.PyDrawnShape_DrawPolygon(*args, **kwargs)
+
+    def DrawRectangle(*args, **kwargs):
+        """DrawRectangle(Rect rect)"""
+        return _ogl.PyDrawnShape_DrawRectangle(*args, **kwargs)
+
+    def DrawRoundedRectangle(*args, **kwargs):
+        """DrawRoundedRectangle(Rect rect, double radius)"""
+        return _ogl.PyDrawnShape_DrawRoundedRectangle(*args, **kwargs)
+
+    def DrawSpline(*args, **kwargs):
+        """DrawSpline(int PCOUNT, Point points)"""
+        return _ogl.PyDrawnShape_DrawSpline(*args, **kwargs)
+
+    def DrawText(*args, **kwargs):
+        """DrawText(wxString text, Point point)"""
+        return _ogl.PyDrawnShape_DrawText(*args, **kwargs)
+
+    def GetAngle(*args, **kwargs):
+        """GetAngle() -> int"""
+        return _ogl.PyDrawnShape_GetAngle(*args, **kwargs)
+
+    def GetMetaFile(*args, **kwargs):
+        """GetMetaFile() -> PseudoMetaFile"""
+        return _ogl.PyDrawnShape_GetMetaFile(*args, **kwargs)
+
+    def GetRotation(*args, **kwargs):
+        """GetRotation() -> double"""
+        return _ogl.PyDrawnShape_GetRotation(*args, **kwargs)
+
+    def LoadFromMetaFile(*args, **kwargs):
+        """LoadFromMetaFile(wxString filename) -> bool"""
+        return _ogl.PyDrawnShape_LoadFromMetaFile(*args, **kwargs)
+
+    def Rotate(*args, **kwargs):
+        """Rotate(double x, double y, double theta)"""
+        return _ogl.PyDrawnShape_Rotate(*args, **kwargs)
+
+    def SetClippingRect(*args, **kwargs):
+        """SetClippingRect(Rect rect)"""
+        return _ogl.PyDrawnShape_SetClippingRect(*args, **kwargs)
+
+    def SetDrawnBackgroundColour(*args, **kwargs):
+        """SetDrawnBackgroundColour(wxColour colour)"""
+        return _ogl.PyDrawnShape_SetDrawnBackgroundColour(*args, **kwargs)
+
+    def SetDrawnBackgroundMode(*args, **kwargs):
+        """SetDrawnBackgroundMode(int mode)"""
+        return _ogl.PyDrawnShape_SetDrawnBackgroundMode(*args, **kwargs)
+
+    def SetDrawnBrush(*args, **kwargs):
+        """SetDrawnBrush(wxBrush pen, bool isOutline=FALSE)"""
+        return _ogl.PyDrawnShape_SetDrawnBrush(*args, **kwargs)
+
+    def SetDrawnFont(*args, **kwargs):
+        """SetDrawnFont(wxFont font)"""
+        return _ogl.PyDrawnShape_SetDrawnFont(*args, **kwargs)
+
+    def SetDrawnPen(*args, **kwargs):
+        """SetDrawnPen(wxPen pen, bool isOutline=FALSE)"""
+        return _ogl.PyDrawnShape_SetDrawnPen(*args, **kwargs)
+
+    def SetDrawnTextColour(*args, **kwargs):
+        """SetDrawnTextColour(wxColour colour)"""
+        return _ogl.PyDrawnShape_SetDrawnTextColour(*args, **kwargs)
+
+    def Scale(*args, **kwargs):
+        """Scale(double sx, double sy)"""
+        return _ogl.PyDrawnShape_Scale(*args, **kwargs)
+
+    def SetSaveToFile(*args, **kwargs):
+        """SetSaveToFile(bool save)"""
+        return _ogl.PyDrawnShape_SetSaveToFile(*args, **kwargs)
+
+    def Translate(*args, **kwargs):
+        """Translate(double x, double y)"""
+        return _ogl.PyDrawnShape_Translate(*args, **kwargs)
+
+    def base_OnDelete(*args, **kwargs):
+        """base_OnDelete()"""
+        return _ogl.PyDrawnShape_base_OnDelete(*args, **kwargs)
+
+    def base_OnDraw(*args, **kwargs):
+        """base_OnDraw(wxDC dc)"""
+        return _ogl.PyDrawnShape_base_OnDraw(*args, **kwargs)
+
+    def base_OnDrawContents(*args, **kwargs):
+        """base_OnDrawContents(wxDC dc)"""
+        return _ogl.PyDrawnShape_base_OnDrawContents(*args, **kwargs)
+
+    def base_OnDrawBranches(*args, **kwargs):
+        """base_OnDrawBranches(wxDC dc, bool erase=FALSE)"""
+        return _ogl.PyDrawnShape_base_OnDrawBranches(*args, **kwargs)
+
+    def base_OnMoveLinks(*args, **kwargs):
+        """base_OnMoveLinks(wxDC dc)"""
+        return _ogl.PyDrawnShape_base_OnMoveLinks(*args, **kwargs)
+
+    def base_OnErase(*args, **kwargs):
+        """base_OnErase(wxDC dc)"""
+        return _ogl.PyDrawnShape_base_OnErase(*args, **kwargs)
+
+    def base_OnEraseContents(*args, **kwargs):
+        """base_OnEraseContents(wxDC dc)"""
+        return _ogl.PyDrawnShape_base_OnEraseContents(*args, **kwargs)
+
+    def base_OnHighlight(*args, **kwargs):
+        """base_OnHighlight(wxDC dc)"""
+        return _ogl.PyDrawnShape_base_OnHighlight(*args, **kwargs)
+
+    def base_OnLeftClick(*args, **kwargs):
+        """base_OnLeftClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyDrawnShape_base_OnLeftClick(*args, **kwargs)
+
+    def base_OnLeftDoubleClick(*args, **kwargs):
+        """base_OnLeftDoubleClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyDrawnShape_base_OnLeftDoubleClick(*args, **kwargs)
+
+    def base_OnRightClick(*args, **kwargs):
+        """base_OnRightClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyDrawnShape_base_OnRightClick(*args, **kwargs)
+
+    def base_OnSize(*args, **kwargs):
+        """base_OnSize(double x, double y)"""
+        return _ogl.PyDrawnShape_base_OnSize(*args, **kwargs)
+
+    def base_OnMovePre(*args, **kwargs):
+        """base_OnMovePre(wxDC dc, double x, double y, double old_x, double old_y, 
+    bool display=True) -> bool"""
+        return _ogl.PyDrawnShape_base_OnMovePre(*args, **kwargs)
+
+    def base_OnMovePost(*args, **kwargs):
+        """base_OnMovePost(wxDC dc, double x, double y, double old_x, double old_y, 
+    bool display=True)"""
+        return _ogl.PyDrawnShape_base_OnMovePost(*args, **kwargs)
+
+    def base_OnDragLeft(*args, **kwargs):
+        """base_OnDragLeft(bool draw, double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyDrawnShape_base_OnDragLeft(*args, **kwargs)
+
+    def base_OnBeginDragLeft(*args, **kwargs):
+        """base_OnBeginDragLeft(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyDrawnShape_base_OnBeginDragLeft(*args, **kwargs)
+
+    def base_OnEndDragLeft(*args, **kwargs):
+        """base_OnEndDragLeft(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyDrawnShape_base_OnEndDragLeft(*args, **kwargs)
+
+    def base_OnDragRight(*args, **kwargs):
+        """base_OnDragRight(bool draw, double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyDrawnShape_base_OnDragRight(*args, **kwargs)
+
+    def base_OnBeginDragRight(*args, **kwargs):
+        """base_OnBeginDragRight(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyDrawnShape_base_OnBeginDragRight(*args, **kwargs)
+
+    def base_OnEndDragRight(*args, **kwargs):
+        """base_OnEndDragRight(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyDrawnShape_base_OnEndDragRight(*args, **kwargs)
+
+    def base_OnDrawOutline(*args, **kwargs):
+        """base_OnDrawOutline(wxDC dc, double x, double y, double w, double h)"""
+        return _ogl.PyDrawnShape_base_OnDrawOutline(*args, **kwargs)
+
+    def base_OnDrawControlPoints(*args, **kwargs):
+        """base_OnDrawControlPoints(wxDC dc)"""
+        return _ogl.PyDrawnShape_base_OnDrawControlPoints(*args, **kwargs)
+
+    def base_OnEraseControlPoints(*args, **kwargs):
+        """base_OnEraseControlPoints(wxDC dc)"""
+        return _ogl.PyDrawnShape_base_OnEraseControlPoints(*args, **kwargs)
+
+    def base_OnMoveLink(*args, **kwargs):
+        """base_OnMoveLink(wxDC dc, bool moveControlPoints=True)"""
+        return _ogl.PyDrawnShape_base_OnMoveLink(*args, **kwargs)
+
+    def base_OnSizingDragLeft(*args, **kwargs):
+        """base_OnSizingDragLeft(PyControlPoint pt, bool draw, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyDrawnShape_base_OnSizingDragLeft(*args, **kwargs)
+
+    def base_OnSizingBeginDragLeft(*args, **kwargs):
+        """base_OnSizingBeginDragLeft(PyControlPoint pt, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyDrawnShape_base_OnSizingBeginDragLeft(*args, **kwargs)
+
+    def base_OnSizingEndDragLeft(*args, **kwargs):
+        """base_OnSizingEndDragLeft(PyControlPoint pt, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyDrawnShape_base_OnSizingEndDragLeft(*args, **kwargs)
+
+    def base_OnBeginSize(*args, **kwargs):
+        """base_OnBeginSize(double w, double h)"""
+        return _ogl.PyDrawnShape_base_OnBeginSize(*args, **kwargs)
+
+    def base_OnEndSize(*args, **kwargs):
+        """base_OnEndSize(double w, double h)"""
+        return _ogl.PyDrawnShape_base_OnEndSize(*args, **kwargs)
+
+
+class PyDrawnShapePtr(PyDrawnShape):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = PyDrawnShape
+_ogl.PyDrawnShape_swigregister(PyDrawnShapePtr)
+
+class OGLConstraint(core.Object):
+    """"""
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxOGLConstraint instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__(int type, PyShape constraining, PyObject constrained) -> OGLConstraint"""
+        newobj = _ogl.new_OGLConstraint(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+    def Evaluate(*args, **kwargs):
+        """Evaluate() -> bool"""
+        return _ogl.OGLConstraint_Evaluate(*args, **kwargs)
+
+    def SetSpacing(*args, **kwargs):
+        """SetSpacing(double x, double y)"""
+        return _ogl.OGLConstraint_SetSpacing(*args, **kwargs)
+
+    def Equals(*args, **kwargs):
+        """Equals(double a, double b) -> bool"""
+        return _ogl.OGLConstraint_Equals(*args, **kwargs)
+
+
+class OGLConstraintPtr(OGLConstraint):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = OGLConstraint
+_ogl.OGLConstraint_swigregister(OGLConstraintPtr)
+
+class PyCompositeShape(PyRectangleShape):
+    """"""
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxPyCompositeShape instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__() -> PyCompositeShape"""
+        newobj = _ogl.new_PyCompositeShape(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+        self._setOORandCallbackInfo(PyCompositeShape)
+
+    def _setCallbackInfo(*args, **kwargs):
+        """_setCallbackInfo(PyObject self, PyObject _class)"""
+        return _ogl.PyCompositeShape__setCallbackInfo(*args, **kwargs)
+
+    def AddChild(*args, **kwargs):
+        """AddChild(PyShape child, PyShape addAfter=None)"""
+        return _ogl.PyCompositeShape_AddChild(*args, **kwargs)
+
+    def AddConstraint(*args, **kwargs):
+        """AddConstraint(OGLConstraint constraint) -> OGLConstraint"""
+        return _ogl.PyCompositeShape_AddConstraint(*args, **kwargs)
+
+    def AddConstrainedShapes(*args, **kwargs):
+        """AddConstrainedShapes(int type, PyShape constraining, PyObject constrained) -> OGLConstraint"""
+        return _ogl.PyCompositeShape_AddConstrainedShapes(*args, **kwargs)
+
+    def AddSimpleConstraint(*args, **kwargs):
+        """AddSimpleConstraint(int type, PyShape constraining, PyShape constrained) -> OGLConstraint"""
+        return _ogl.PyCompositeShape_AddSimpleConstraint(*args, **kwargs)
+
+    def CalculateSize(*args, **kwargs):
+        """CalculateSize()"""
+        return _ogl.PyCompositeShape_CalculateSize(*args, **kwargs)
+
+    def ContainsDivision(*args, **kwargs):
+        """ContainsDivision(PyDivisionShape division) -> bool"""
+        return _ogl.PyCompositeShape_ContainsDivision(*args, **kwargs)
+
+    def DeleteConstraint(*args, **kwargs):
+        """DeleteConstraint(OGLConstraint constraint)"""
+        return _ogl.PyCompositeShape_DeleteConstraint(*args, **kwargs)
+
+    def DeleteConstraintsInvolvingChild(*args, **kwargs):
+        """DeleteConstraintsInvolvingChild(PyShape child)"""
+        return _ogl.PyCompositeShape_DeleteConstraintsInvolvingChild(*args, **kwargs)
+
+    def FindContainerImage(*args, **kwargs):
+        """FindContainerImage() -> PyShape"""
+        return _ogl.PyCompositeShape_FindContainerImage(*args, **kwargs)
+
+    def GetConstraints(*args, **kwargs):
+        """GetConstraints() -> PyObject"""
+        return _ogl.PyCompositeShape_GetConstraints(*args, **kwargs)
+
+    def GetDivisions(*args, **kwargs):
+        """GetDivisions() -> PyObject"""
+        return _ogl.PyCompositeShape_GetDivisions(*args, **kwargs)
+
+    def MakeContainer(*args, **kwargs):
+        """MakeContainer()"""
+        return _ogl.PyCompositeShape_MakeContainer(*args, **kwargs)
+
+    def Recompute(*args, **kwargs):
+        """Recompute() -> bool"""
+        return _ogl.PyCompositeShape_Recompute(*args, **kwargs)
+
+    def RemoveChild(*args, **kwargs):
+        """RemoveChild(PyShape child)"""
+        return _ogl.PyCompositeShape_RemoveChild(*args, **kwargs)
+
+    def base_OnDelete(*args, **kwargs):
+        """base_OnDelete()"""
+        return _ogl.PyCompositeShape_base_OnDelete(*args, **kwargs)
+
+    def base_OnDraw(*args, **kwargs):
+        """base_OnDraw(wxDC dc)"""
+        return _ogl.PyCompositeShape_base_OnDraw(*args, **kwargs)
+
+    def base_OnDrawContents(*args, **kwargs):
+        """base_OnDrawContents(wxDC dc)"""
+        return _ogl.PyCompositeShape_base_OnDrawContents(*args, **kwargs)
+
+    def base_OnDrawBranches(*args, **kwargs):
+        """base_OnDrawBranches(wxDC dc, bool erase=FALSE)"""
+        return _ogl.PyCompositeShape_base_OnDrawBranches(*args, **kwargs)
+
+    def base_OnMoveLinks(*args, **kwargs):
+        """base_OnMoveLinks(wxDC dc)"""
+        return _ogl.PyCompositeShape_base_OnMoveLinks(*args, **kwargs)
+
+    def base_OnErase(*args, **kwargs):
+        """base_OnErase(wxDC dc)"""
+        return _ogl.PyCompositeShape_base_OnErase(*args, **kwargs)
+
+    def base_OnEraseContents(*args, **kwargs):
+        """base_OnEraseContents(wxDC dc)"""
+        return _ogl.PyCompositeShape_base_OnEraseContents(*args, **kwargs)
+
+    def base_OnHighlight(*args, **kwargs):
+        """base_OnHighlight(wxDC dc)"""
+        return _ogl.PyCompositeShape_base_OnHighlight(*args, **kwargs)
+
+    def base_OnLeftClick(*args, **kwargs):
+        """base_OnLeftClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyCompositeShape_base_OnLeftClick(*args, **kwargs)
+
+    def base_OnLeftDoubleClick(*args, **kwargs):
+        """base_OnLeftDoubleClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyCompositeShape_base_OnLeftDoubleClick(*args, **kwargs)
+
+    def base_OnRightClick(*args, **kwargs):
+        """base_OnRightClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyCompositeShape_base_OnRightClick(*args, **kwargs)
+
+    def base_OnSize(*args, **kwargs):
+        """base_OnSize(double x, double y)"""
+        return _ogl.PyCompositeShape_base_OnSize(*args, **kwargs)
+
+    def base_OnMovePre(*args, **kwargs):
+        """base_OnMovePre(wxDC dc, double x, double y, double old_x, double old_y, 
+    bool display=True) -> bool"""
+        return _ogl.PyCompositeShape_base_OnMovePre(*args, **kwargs)
+
+    def base_OnMovePost(*args, **kwargs):
+        """base_OnMovePost(wxDC dc, double x, double y, double old_x, double old_y, 
+    bool display=True)"""
+        return _ogl.PyCompositeShape_base_OnMovePost(*args, **kwargs)
+
+    def base_OnDragLeft(*args, **kwargs):
+        """base_OnDragLeft(bool draw, double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyCompositeShape_base_OnDragLeft(*args, **kwargs)
+
+    def base_OnBeginDragLeft(*args, **kwargs):
+        """base_OnBeginDragLeft(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyCompositeShape_base_OnBeginDragLeft(*args, **kwargs)
+
+    def base_OnEndDragLeft(*args, **kwargs):
+        """base_OnEndDragLeft(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyCompositeShape_base_OnEndDragLeft(*args, **kwargs)
+
+    def base_OnDragRight(*args, **kwargs):
+        """base_OnDragRight(bool draw, double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyCompositeShape_base_OnDragRight(*args, **kwargs)
+
+    def base_OnBeginDragRight(*args, **kwargs):
+        """base_OnBeginDragRight(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyCompositeShape_base_OnBeginDragRight(*args, **kwargs)
+
+    def base_OnEndDragRight(*args, **kwargs):
+        """base_OnEndDragRight(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyCompositeShape_base_OnEndDragRight(*args, **kwargs)
+
+    def base_OnDrawOutline(*args, **kwargs):
+        """base_OnDrawOutline(wxDC dc, double x, double y, double w, double h)"""
+        return _ogl.PyCompositeShape_base_OnDrawOutline(*args, **kwargs)
+
+    def base_OnDrawControlPoints(*args, **kwargs):
+        """base_OnDrawControlPoints(wxDC dc)"""
+        return _ogl.PyCompositeShape_base_OnDrawControlPoints(*args, **kwargs)
+
+    def base_OnEraseControlPoints(*args, **kwargs):
+        """base_OnEraseControlPoints(wxDC dc)"""
+        return _ogl.PyCompositeShape_base_OnEraseControlPoints(*args, **kwargs)
+
+    def base_OnMoveLink(*args, **kwargs):
+        """base_OnMoveLink(wxDC dc, bool moveControlPoints=True)"""
+        return _ogl.PyCompositeShape_base_OnMoveLink(*args, **kwargs)
+
+    def base_OnSizingDragLeft(*args, **kwargs):
+        """base_OnSizingDragLeft(PyControlPoint pt, bool draw, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyCompositeShape_base_OnSizingDragLeft(*args, **kwargs)
+
+    def base_OnSizingBeginDragLeft(*args, **kwargs):
+        """base_OnSizingBeginDragLeft(PyControlPoint pt, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyCompositeShape_base_OnSizingBeginDragLeft(*args, **kwargs)
+
+    def base_OnSizingEndDragLeft(*args, **kwargs):
+        """base_OnSizingEndDragLeft(PyControlPoint pt, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyCompositeShape_base_OnSizingEndDragLeft(*args, **kwargs)
+
+    def base_OnBeginSize(*args, **kwargs):
+        """base_OnBeginSize(double w, double h)"""
+        return _ogl.PyCompositeShape_base_OnBeginSize(*args, **kwargs)
+
+    def base_OnEndSize(*args, **kwargs):
+        """base_OnEndSize(double w, double h)"""
+        return _ogl.PyCompositeShape_base_OnEndSize(*args, **kwargs)
+
+
+class PyCompositeShapePtr(PyCompositeShape):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = PyCompositeShape
+_ogl.PyCompositeShape_swigregister(PyCompositeShapePtr)
+
+class PyDividedShape(PyRectangleShape):
+    """"""
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxPyDividedShape instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__(double width=0.0, double height=0.0) -> PyDividedShape"""
+        newobj = _ogl.new_PyDividedShape(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+        self._setOORandCallbackInfo(PyDividedShape)
+
+    def _setCallbackInfo(*args, **kwargs):
+        """_setCallbackInfo(PyObject self, PyObject _class)"""
+        return _ogl.PyDividedShape__setCallbackInfo(*args, **kwargs)
+
+    def EditRegions(*args, **kwargs):
+        """EditRegions()"""
+        return _ogl.PyDividedShape_EditRegions(*args, **kwargs)
+
+    def SetRegionSizes(*args, **kwargs):
+        """SetRegionSizes()"""
+        return _ogl.PyDividedShape_SetRegionSizes(*args, **kwargs)
+
+    def base_OnDelete(*args, **kwargs):
+        """base_OnDelete()"""
+        return _ogl.PyDividedShape_base_OnDelete(*args, **kwargs)
+
+    def base_OnDraw(*args, **kwargs):
+        """base_OnDraw(wxDC dc)"""
+        return _ogl.PyDividedShape_base_OnDraw(*args, **kwargs)
+
+    def base_OnDrawContents(*args, **kwargs):
+        """base_OnDrawContents(wxDC dc)"""
+        return _ogl.PyDividedShape_base_OnDrawContents(*args, **kwargs)
+
+    def base_OnDrawBranches(*args, **kwargs):
+        """base_OnDrawBranches(wxDC dc, bool erase=FALSE)"""
+        return _ogl.PyDividedShape_base_OnDrawBranches(*args, **kwargs)
+
+    def base_OnMoveLinks(*args, **kwargs):
+        """base_OnMoveLinks(wxDC dc)"""
+        return _ogl.PyDividedShape_base_OnMoveLinks(*args, **kwargs)
+
+    def base_OnErase(*args, **kwargs):
+        """base_OnErase(wxDC dc)"""
+        return _ogl.PyDividedShape_base_OnErase(*args, **kwargs)
+
+    def base_OnEraseContents(*args, **kwargs):
+        """base_OnEraseContents(wxDC dc)"""
+        return _ogl.PyDividedShape_base_OnEraseContents(*args, **kwargs)
+
+    def base_OnHighlight(*args, **kwargs):
+        """base_OnHighlight(wxDC dc)"""
+        return _ogl.PyDividedShape_base_OnHighlight(*args, **kwargs)
+
+    def base_OnLeftClick(*args, **kwargs):
+        """base_OnLeftClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyDividedShape_base_OnLeftClick(*args, **kwargs)
+
+    def base_OnLeftDoubleClick(*args, **kwargs):
+        """base_OnLeftDoubleClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyDividedShape_base_OnLeftDoubleClick(*args, **kwargs)
+
+    def base_OnRightClick(*args, **kwargs):
+        """base_OnRightClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyDividedShape_base_OnRightClick(*args, **kwargs)
+
+    def base_OnSize(*args, **kwargs):
+        """base_OnSize(double x, double y)"""
+        return _ogl.PyDividedShape_base_OnSize(*args, **kwargs)
+
+    def base_OnMovePre(*args, **kwargs):
+        """base_OnMovePre(wxDC dc, double x, double y, double old_x, double old_y, 
+    bool display=True) -> bool"""
+        return _ogl.PyDividedShape_base_OnMovePre(*args, **kwargs)
+
+    def base_OnMovePost(*args, **kwargs):
+        """base_OnMovePost(wxDC dc, double x, double y, double old_x, double old_y, 
+    bool display=True)"""
+        return _ogl.PyDividedShape_base_OnMovePost(*args, **kwargs)
+
+    def base_OnDragLeft(*args, **kwargs):
+        """base_OnDragLeft(bool draw, double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyDividedShape_base_OnDragLeft(*args, **kwargs)
+
+    def base_OnBeginDragLeft(*args, **kwargs):
+        """base_OnBeginDragLeft(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyDividedShape_base_OnBeginDragLeft(*args, **kwargs)
+
+    def base_OnEndDragLeft(*args, **kwargs):
+        """base_OnEndDragLeft(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyDividedShape_base_OnEndDragLeft(*args, **kwargs)
+
+    def base_OnDragRight(*args, **kwargs):
+        """base_OnDragRight(bool draw, double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyDividedShape_base_OnDragRight(*args, **kwargs)
+
+    def base_OnBeginDragRight(*args, **kwargs):
+        """base_OnBeginDragRight(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyDividedShape_base_OnBeginDragRight(*args, **kwargs)
+
+    def base_OnEndDragRight(*args, **kwargs):
+        """base_OnEndDragRight(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyDividedShape_base_OnEndDragRight(*args, **kwargs)
+
+    def base_OnDrawOutline(*args, **kwargs):
+        """base_OnDrawOutline(wxDC dc, double x, double y, double w, double h)"""
+        return _ogl.PyDividedShape_base_OnDrawOutline(*args, **kwargs)
+
+    def base_OnDrawControlPoints(*args, **kwargs):
+        """base_OnDrawControlPoints(wxDC dc)"""
+        return _ogl.PyDividedShape_base_OnDrawControlPoints(*args, **kwargs)
+
+    def base_OnEraseControlPoints(*args, **kwargs):
+        """base_OnEraseControlPoints(wxDC dc)"""
+        return _ogl.PyDividedShape_base_OnEraseControlPoints(*args, **kwargs)
+
+    def base_OnMoveLink(*args, **kwargs):
+        """base_OnMoveLink(wxDC dc, bool moveControlPoints=True)"""
+        return _ogl.PyDividedShape_base_OnMoveLink(*args, **kwargs)
+
+    def base_OnSizingDragLeft(*args, **kwargs):
+        """base_OnSizingDragLeft(PyControlPoint pt, bool draw, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyDividedShape_base_OnSizingDragLeft(*args, **kwargs)
+
+    def base_OnSizingBeginDragLeft(*args, **kwargs):
+        """base_OnSizingBeginDragLeft(PyControlPoint pt, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyDividedShape_base_OnSizingBeginDragLeft(*args, **kwargs)
+
+    def base_OnSizingEndDragLeft(*args, **kwargs):
+        """base_OnSizingEndDragLeft(PyControlPoint pt, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyDividedShape_base_OnSizingEndDragLeft(*args, **kwargs)
+
+    def base_OnBeginSize(*args, **kwargs):
+        """base_OnBeginSize(double w, double h)"""
+        return _ogl.PyDividedShape_base_OnBeginSize(*args, **kwargs)
+
+    def base_OnEndSize(*args, **kwargs):
+        """base_OnEndSize(double w, double h)"""
+        return _ogl.PyDividedShape_base_OnEndSize(*args, **kwargs)
+
+
+class PyDividedShapePtr(PyDividedShape):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = PyDividedShape
+_ogl.PyDividedShape_swigregister(PyDividedShapePtr)
+
+class PyDivisionShape(PyCompositeShape):
+    """"""
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxPyDivisionShape instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__() -> PyDivisionShape"""
+        newobj = _ogl.new_PyDivisionShape(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+        self._setOORandCallbackInfo(PyDivisionShape)
+
+    def _setCallbackInfo(*args, **kwargs):
+        """_setCallbackInfo(PyObject self, PyObject _class)"""
+        return _ogl.PyDivisionShape__setCallbackInfo(*args, **kwargs)
+
+    def AdjustBottom(*args, **kwargs):
+        """AdjustBottom(double bottom, bool test)"""
+        return _ogl.PyDivisionShape_AdjustBottom(*args, **kwargs)
+
+    def AdjustLeft(*args, **kwargs):
+        """AdjustLeft(double left, bool test)"""
+        return _ogl.PyDivisionShape_AdjustLeft(*args, **kwargs)
+
+    def AdjustRight(*args, **kwargs):
+        """AdjustRight(double right, bool test)"""
+        return _ogl.PyDivisionShape_AdjustRight(*args, **kwargs)
+
+    def AdjustTop(*args, **kwargs):
+        """AdjustTop(double top, bool test)"""
+        return _ogl.PyDivisionShape_AdjustTop(*args, **kwargs)
+
+    def Divide(*args, **kwargs):
+        """Divide(int direction)"""
+        return _ogl.PyDivisionShape_Divide(*args, **kwargs)
+
+    def EditEdge(*args, **kwargs):
+        """EditEdge(int side)"""
+        return _ogl.PyDivisionShape_EditEdge(*args, **kwargs)
+
+    def GetBottomSide(*args, **kwargs):
+        """GetBottomSide() -> PyDivisionShape"""
+        return _ogl.PyDivisionShape_GetBottomSide(*args, **kwargs)
+
+    def GetHandleSide(*args, **kwargs):
+        """GetHandleSide() -> int"""
+        return _ogl.PyDivisionShape_GetHandleSide(*args, **kwargs)
+
+    def GetLeftSide(*args, **kwargs):
+        """GetLeftSide() -> PyDivisionShape"""
+        return _ogl.PyDivisionShape_GetLeftSide(*args, **kwargs)
+
+    def GetLeftSideColour(*args, **kwargs):
+        """GetLeftSideColour() -> wxString"""
+        return _ogl.PyDivisionShape_GetLeftSideColour(*args, **kwargs)
+
+    def GetLeftSidePen(*args, **kwargs):
+        """GetLeftSidePen() -> wxPen"""
+        return _ogl.PyDivisionShape_GetLeftSidePen(*args, **kwargs)
+
+    def GetRightSide(*args, **kwargs):
+        """GetRightSide() -> PyDivisionShape"""
+        return _ogl.PyDivisionShape_GetRightSide(*args, **kwargs)
+
+    def GetTopSide(*args, **kwargs):
+        """GetTopSide() -> PyDivisionShape"""
+        return _ogl.PyDivisionShape_GetTopSide(*args, **kwargs)
+
+    def GetTopSidePen(*args, **kwargs):
+        """GetTopSidePen() -> wxPen"""
+        return _ogl.PyDivisionShape_GetTopSidePen(*args, **kwargs)
+
+    def ResizeAdjoining(*args, **kwargs):
+        """ResizeAdjoining(int side, double newPos, bool test)"""
+        return _ogl.PyDivisionShape_ResizeAdjoining(*args, **kwargs)
+
+    def PopupMenu(*args, **kwargs):
+        """PopupMenu(double x, double y)"""
+        return _ogl.PyDivisionShape_PopupMenu(*args, **kwargs)
+
+    def SetBottomSide(*args, **kwargs):
+        """SetBottomSide(PyDivisionShape shape)"""
+        return _ogl.PyDivisionShape_SetBottomSide(*args, **kwargs)
+
+    def SetHandleSide(*args, **kwargs):
+        """SetHandleSide(int side)"""
+        return _ogl.PyDivisionShape_SetHandleSide(*args, **kwargs)
+
+    def SetLeftSide(*args, **kwargs):
+        """SetLeftSide(PyDivisionShape shape)"""
+        return _ogl.PyDivisionShape_SetLeftSide(*args, **kwargs)
+
+    def SetLeftSideColour(*args, **kwargs):
+        """SetLeftSideColour(wxString colour)"""
+        return _ogl.PyDivisionShape_SetLeftSideColour(*args, **kwargs)
+
+    def SetLeftSidePen(*args, **kwargs):
+        """SetLeftSidePen(wxPen pen)"""
+        return _ogl.PyDivisionShape_SetLeftSidePen(*args, **kwargs)
+
+    def SetRightSide(*args, **kwargs):
+        """SetRightSide(PyDivisionShape shape)"""
+        return _ogl.PyDivisionShape_SetRightSide(*args, **kwargs)
+
+    def SetTopSide(*args, **kwargs):
+        """SetTopSide(PyDivisionShape shape)"""
+        return _ogl.PyDivisionShape_SetTopSide(*args, **kwargs)
+
+    def SetTopSideColour(*args, **kwargs):
+        """SetTopSideColour(wxString colour)"""
+        return _ogl.PyDivisionShape_SetTopSideColour(*args, **kwargs)
+
+    def SetTopSidePen(*args, **kwargs):
+        """SetTopSidePen(wxPen pen)"""
+        return _ogl.PyDivisionShape_SetTopSidePen(*args, **kwargs)
+
+    def base_OnDelete(*args, **kwargs):
+        """base_OnDelete()"""
+        return _ogl.PyDivisionShape_base_OnDelete(*args, **kwargs)
+
+    def base_OnDraw(*args, **kwargs):
+        """base_OnDraw(wxDC dc)"""
+        return _ogl.PyDivisionShape_base_OnDraw(*args, **kwargs)
+
+    def base_OnDrawContents(*args, **kwargs):
+        """base_OnDrawContents(wxDC dc)"""
+        return _ogl.PyDivisionShape_base_OnDrawContents(*args, **kwargs)
+
+    def base_OnDrawBranches(*args, **kwargs):
+        """base_OnDrawBranches(wxDC dc, bool erase=FALSE)"""
+        return _ogl.PyDivisionShape_base_OnDrawBranches(*args, **kwargs)
+
+    def base_OnMoveLinks(*args, **kwargs):
+        """base_OnMoveLinks(wxDC dc)"""
+        return _ogl.PyDivisionShape_base_OnMoveLinks(*args, **kwargs)
+
+    def base_OnErase(*args, **kwargs):
+        """base_OnErase(wxDC dc)"""
+        return _ogl.PyDivisionShape_base_OnErase(*args, **kwargs)
+
+    def base_OnEraseContents(*args, **kwargs):
+        """base_OnEraseContents(wxDC dc)"""
+        return _ogl.PyDivisionShape_base_OnEraseContents(*args, **kwargs)
+
+    def base_OnHighlight(*args, **kwargs):
+        """base_OnHighlight(wxDC dc)"""
+        return _ogl.PyDivisionShape_base_OnHighlight(*args, **kwargs)
+
+    def base_OnLeftClick(*args, **kwargs):
+        """base_OnLeftClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyDivisionShape_base_OnLeftClick(*args, **kwargs)
+
+    def base_OnLeftDoubleClick(*args, **kwargs):
+        """base_OnLeftDoubleClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyDivisionShape_base_OnLeftDoubleClick(*args, **kwargs)
+
+    def base_OnRightClick(*args, **kwargs):
+        """base_OnRightClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyDivisionShape_base_OnRightClick(*args, **kwargs)
+
+    def base_OnSize(*args, **kwargs):
+        """base_OnSize(double x, double y)"""
+        return _ogl.PyDivisionShape_base_OnSize(*args, **kwargs)
+
+    def base_OnMovePre(*args, **kwargs):
+        """base_OnMovePre(wxDC dc, double x, double y, double old_x, double old_y, 
+    bool display=True) -> bool"""
+        return _ogl.PyDivisionShape_base_OnMovePre(*args, **kwargs)
+
+    def base_OnMovePost(*args, **kwargs):
+        """base_OnMovePost(wxDC dc, double x, double y, double old_x, double old_y, 
+    bool display=True)"""
+        return _ogl.PyDivisionShape_base_OnMovePost(*args, **kwargs)
+
+    def base_OnDragLeft(*args, **kwargs):
+        """base_OnDragLeft(bool draw, double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyDivisionShape_base_OnDragLeft(*args, **kwargs)
+
+    def base_OnBeginDragLeft(*args, **kwargs):
+        """base_OnBeginDragLeft(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyDivisionShape_base_OnBeginDragLeft(*args, **kwargs)
+
+    def base_OnEndDragLeft(*args, **kwargs):
+        """base_OnEndDragLeft(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyDivisionShape_base_OnEndDragLeft(*args, **kwargs)
+
+    def base_OnDragRight(*args, **kwargs):
+        """base_OnDragRight(bool draw, double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyDivisionShape_base_OnDragRight(*args, **kwargs)
+
+    def base_OnBeginDragRight(*args, **kwargs):
+        """base_OnBeginDragRight(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyDivisionShape_base_OnBeginDragRight(*args, **kwargs)
+
+    def base_OnEndDragRight(*args, **kwargs):
+        """base_OnEndDragRight(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyDivisionShape_base_OnEndDragRight(*args, **kwargs)
+
+    def base_OnDrawOutline(*args, **kwargs):
+        """base_OnDrawOutline(wxDC dc, double x, double y, double w, double h)"""
+        return _ogl.PyDivisionShape_base_OnDrawOutline(*args, **kwargs)
+
+    def base_OnDrawControlPoints(*args, **kwargs):
+        """base_OnDrawControlPoints(wxDC dc)"""
+        return _ogl.PyDivisionShape_base_OnDrawControlPoints(*args, **kwargs)
+
+    def base_OnEraseControlPoints(*args, **kwargs):
+        """base_OnEraseControlPoints(wxDC dc)"""
+        return _ogl.PyDivisionShape_base_OnEraseControlPoints(*args, **kwargs)
+
+    def base_OnMoveLink(*args, **kwargs):
+        """base_OnMoveLink(wxDC dc, bool moveControlPoints=True)"""
+        return _ogl.PyDivisionShape_base_OnMoveLink(*args, **kwargs)
+
+    def base_OnSizingDragLeft(*args, **kwargs):
+        """base_OnSizingDragLeft(PyControlPoint pt, bool draw, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyDivisionShape_base_OnSizingDragLeft(*args, **kwargs)
+
+    def base_OnSizingBeginDragLeft(*args, **kwargs):
+        """base_OnSizingBeginDragLeft(PyControlPoint pt, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyDivisionShape_base_OnSizingBeginDragLeft(*args, **kwargs)
+
+    def base_OnSizingEndDragLeft(*args, **kwargs):
+        """base_OnSizingEndDragLeft(PyControlPoint pt, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyDivisionShape_base_OnSizingEndDragLeft(*args, **kwargs)
+
+    def base_OnBeginSize(*args, **kwargs):
+        """base_OnBeginSize(double w, double h)"""
+        return _ogl.PyDivisionShape_base_OnBeginSize(*args, **kwargs)
+
+    def base_OnEndSize(*args, **kwargs):
+        """base_OnEndSize(double w, double h)"""
+        return _ogl.PyDivisionShape_base_OnEndSize(*args, **kwargs)
+
+
+class PyDivisionShapePtr(PyDivisionShape):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = PyDivisionShape
+_ogl.PyDivisionShape_swigregister(PyDivisionShapePtr)
+
+class PyEllipseShape(PyShape):
+    """"""
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxPyEllipseShape instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__(double width=0.0, double height=0.0) -> PyEllipseShape"""
+        newobj = _ogl.new_PyEllipseShape(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+        self._setOORandCallbackInfo(PyEllipseShape)
+
+    def _setCallbackInfo(*args, **kwargs):
+        """_setCallbackInfo(PyObject self, PyObject _class)"""
+        return _ogl.PyEllipseShape__setCallbackInfo(*args, **kwargs)
+
+    def base_OnDraw(*args, **kwargs):
+        """base_OnDraw(wxDC dc)"""
+        return _ogl.PyEllipseShape_base_OnDraw(*args, **kwargs)
+
+    def base_OnDrawContents(*args, **kwargs):
+        """base_OnDrawContents(wxDC dc)"""
+        return _ogl.PyEllipseShape_base_OnDrawContents(*args, **kwargs)
+
+    def base_OnDrawBranches(*args, **kwargs):
+        """base_OnDrawBranches(wxDC dc, bool erase=FALSE)"""
+        return _ogl.PyEllipseShape_base_OnDrawBranches(*args, **kwargs)
+
+    def base_OnMoveLinks(*args, **kwargs):
+        """base_OnMoveLinks(wxDC dc)"""
+        return _ogl.PyEllipseShape_base_OnMoveLinks(*args, **kwargs)
+
+    def base_OnErase(*args, **kwargs):
+        """base_OnErase(wxDC dc)"""
+        return _ogl.PyEllipseShape_base_OnErase(*args, **kwargs)
+
+    def base_OnEraseContents(*args, **kwargs):
+        """base_OnEraseContents(wxDC dc)"""
+        return _ogl.PyEllipseShape_base_OnEraseContents(*args, **kwargs)
+
+    def base_OnHighlight(*args, **kwargs):
+        """base_OnHighlight(wxDC dc)"""
+        return _ogl.PyEllipseShape_base_OnHighlight(*args, **kwargs)
+
+    def base_OnLeftClick(*args, **kwargs):
+        """base_OnLeftClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyEllipseShape_base_OnLeftClick(*args, **kwargs)
+
+    def base_OnLeftDoubleClick(*args, **kwargs):
+        """base_OnLeftDoubleClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyEllipseShape_base_OnLeftDoubleClick(*args, **kwargs)
+
+    def base_OnRightClick(*args, **kwargs):
+        """base_OnRightClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyEllipseShape_base_OnRightClick(*args, **kwargs)
+
+    def base_OnSize(*args, **kwargs):
+        """base_OnSize(double x, double y)"""
+        return _ogl.PyEllipseShape_base_OnSize(*args, **kwargs)
+
+    def base_OnMovePre(*args, **kwargs):
+        """base_OnMovePre(wxDC dc, double x, double y, double old_x, double old_y, 
+    bool display=True) -> bool"""
+        return _ogl.PyEllipseShape_base_OnMovePre(*args, **kwargs)
+
+    def base_OnMovePost(*args, **kwargs):
+        """base_OnMovePost(wxDC dc, double x, double y, double old_x, double old_y, 
+    bool display=True)"""
+        return _ogl.PyEllipseShape_base_OnMovePost(*args, **kwargs)
+
+    def base_OnDragLeft(*args, **kwargs):
+        """base_OnDragLeft(bool draw, double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyEllipseShape_base_OnDragLeft(*args, **kwargs)
+
+    def base_OnBeginDragLeft(*args, **kwargs):
+        """base_OnBeginDragLeft(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyEllipseShape_base_OnBeginDragLeft(*args, **kwargs)
+
+    def base_OnEndDragLeft(*args, **kwargs):
+        """base_OnEndDragLeft(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyEllipseShape_base_OnEndDragLeft(*args, **kwargs)
+
+    def base_OnDragRight(*args, **kwargs):
+        """base_OnDragRight(bool draw, double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyEllipseShape_base_OnDragRight(*args, **kwargs)
+
+    def base_OnBeginDragRight(*args, **kwargs):
+        """base_OnBeginDragRight(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyEllipseShape_base_OnBeginDragRight(*args, **kwargs)
+
+    def base_OnEndDragRight(*args, **kwargs):
+        """base_OnEndDragRight(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyEllipseShape_base_OnEndDragRight(*args, **kwargs)
+
+    def base_OnDrawOutline(*args, **kwargs):
+        """base_OnDrawOutline(wxDC dc, double x, double y, double w, double h)"""
+        return _ogl.PyEllipseShape_base_OnDrawOutline(*args, **kwargs)
+
+    def base_OnDrawControlPoints(*args, **kwargs):
+        """base_OnDrawControlPoints(wxDC dc)"""
+        return _ogl.PyEllipseShape_base_OnDrawControlPoints(*args, **kwargs)
+
+    def base_OnEraseControlPoints(*args, **kwargs):
+        """base_OnEraseControlPoints(wxDC dc)"""
+        return _ogl.PyEllipseShape_base_OnEraseControlPoints(*args, **kwargs)
+
+    def base_OnMoveLink(*args, **kwargs):
+        """base_OnMoveLink(wxDC dc, bool moveControlPoints=True)"""
+        return _ogl.PyEllipseShape_base_OnMoveLink(*args, **kwargs)
+
+    def base_OnSizingDragLeft(*args, **kwargs):
+        """base_OnSizingDragLeft(PyControlPoint pt, bool draw, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyEllipseShape_base_OnSizingDragLeft(*args, **kwargs)
+
+    def base_OnSizingBeginDragLeft(*args, **kwargs):
+        """base_OnSizingBeginDragLeft(PyControlPoint pt, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyEllipseShape_base_OnSizingBeginDragLeft(*args, **kwargs)
+
+    def base_OnSizingEndDragLeft(*args, **kwargs):
+        """base_OnSizingEndDragLeft(PyControlPoint pt, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyEllipseShape_base_OnSizingEndDragLeft(*args, **kwargs)
+
+    def base_OnBeginSize(*args, **kwargs):
+        """base_OnBeginSize(double w, double h)"""
+        return _ogl.PyEllipseShape_base_OnBeginSize(*args, **kwargs)
+
+    def base_OnEndSize(*args, **kwargs):
+        """base_OnEndSize(double w, double h)"""
+        return _ogl.PyEllipseShape_base_OnEndSize(*args, **kwargs)
+
+
+class PyEllipseShapePtr(PyEllipseShape):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = PyEllipseShape
+_ogl.PyEllipseShape_swigregister(PyEllipseShapePtr)
+
+class PyCircleShape(PyEllipseShape):
+    """"""
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxPyCircleShape instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__(double width=0.0) -> PyCircleShape"""
+        newobj = _ogl.new_PyCircleShape(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+        self._setOORandCallbackInfo(PyCircleShape)
+
+    def _setCallbackInfo(*args, **kwargs):
+        """_setCallbackInfo(PyObject self, PyObject _class)"""
+        return _ogl.PyCircleShape__setCallbackInfo(*args, **kwargs)
+
+    def base_OnDraw(*args, **kwargs):
+        """base_OnDraw(wxDC dc)"""
+        return _ogl.PyCircleShape_base_OnDraw(*args, **kwargs)
+
+    def base_OnDrawContents(*args, **kwargs):
+        """base_OnDrawContents(wxDC dc)"""
+        return _ogl.PyCircleShape_base_OnDrawContents(*args, **kwargs)
+
+    def base_OnDrawBranches(*args, **kwargs):
+        """base_OnDrawBranches(wxDC dc, bool erase=FALSE)"""
+        return _ogl.PyCircleShape_base_OnDrawBranches(*args, **kwargs)
+
+    def base_OnMoveLinks(*args, **kwargs):
+        """base_OnMoveLinks(wxDC dc)"""
+        return _ogl.PyCircleShape_base_OnMoveLinks(*args, **kwargs)
+
+    def base_OnErase(*args, **kwargs):
+        """base_OnErase(wxDC dc)"""
+        return _ogl.PyCircleShape_base_OnErase(*args, **kwargs)
+
+    def base_OnEraseContents(*args, **kwargs):
+        """base_OnEraseContents(wxDC dc)"""
+        return _ogl.PyCircleShape_base_OnEraseContents(*args, **kwargs)
+
+    def base_OnHighlight(*args, **kwargs):
+        """base_OnHighlight(wxDC dc)"""
+        return _ogl.PyCircleShape_base_OnHighlight(*args, **kwargs)
+
+    def base_OnLeftClick(*args, **kwargs):
+        """base_OnLeftClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyCircleShape_base_OnLeftClick(*args, **kwargs)
+
+    def base_OnLeftDoubleClick(*args, **kwargs):
+        """base_OnLeftDoubleClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyCircleShape_base_OnLeftDoubleClick(*args, **kwargs)
+
+    def base_OnRightClick(*args, **kwargs):
+        """base_OnRightClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyCircleShape_base_OnRightClick(*args, **kwargs)
+
+    def base_OnSize(*args, **kwargs):
+        """base_OnSize(double x, double y)"""
+        return _ogl.PyCircleShape_base_OnSize(*args, **kwargs)
+
+    def base_OnMovePre(*args, **kwargs):
+        """base_OnMovePre(wxDC dc, double x, double y, double old_x, double old_y, 
+    bool display=True) -> bool"""
+        return _ogl.PyCircleShape_base_OnMovePre(*args, **kwargs)
+
+    def base_OnMovePost(*args, **kwargs):
+        """base_OnMovePost(wxDC dc, double x, double y, double old_x, double old_y, 
+    bool display=True)"""
+        return _ogl.PyCircleShape_base_OnMovePost(*args, **kwargs)
+
+    def base_OnDragLeft(*args, **kwargs):
+        """base_OnDragLeft(bool draw, double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyCircleShape_base_OnDragLeft(*args, **kwargs)
+
+    def base_OnBeginDragLeft(*args, **kwargs):
+        """base_OnBeginDragLeft(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyCircleShape_base_OnBeginDragLeft(*args, **kwargs)
+
+    def base_OnEndDragLeft(*args, **kwargs):
+        """base_OnEndDragLeft(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyCircleShape_base_OnEndDragLeft(*args, **kwargs)
+
+    def base_OnDragRight(*args, **kwargs):
+        """base_OnDragRight(bool draw, double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyCircleShape_base_OnDragRight(*args, **kwargs)
+
+    def base_OnBeginDragRight(*args, **kwargs):
+        """base_OnBeginDragRight(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyCircleShape_base_OnBeginDragRight(*args, **kwargs)
+
+    def base_OnEndDragRight(*args, **kwargs):
+        """base_OnEndDragRight(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyCircleShape_base_OnEndDragRight(*args, **kwargs)
+
+    def base_OnDrawOutline(*args, **kwargs):
+        """base_OnDrawOutline(wxDC dc, double x, double y, double w, double h)"""
+        return _ogl.PyCircleShape_base_OnDrawOutline(*args, **kwargs)
+
+    def base_OnDrawControlPoints(*args, **kwargs):
+        """base_OnDrawControlPoints(wxDC dc)"""
+        return _ogl.PyCircleShape_base_OnDrawControlPoints(*args, **kwargs)
+
+    def base_OnEraseControlPoints(*args, **kwargs):
+        """base_OnEraseControlPoints(wxDC dc)"""
+        return _ogl.PyCircleShape_base_OnEraseControlPoints(*args, **kwargs)
+
+    def base_OnMoveLink(*args, **kwargs):
+        """base_OnMoveLink(wxDC dc, bool moveControlPoints=True)"""
+        return _ogl.PyCircleShape_base_OnMoveLink(*args, **kwargs)
+
+    def base_OnSizingDragLeft(*args, **kwargs):
+        """base_OnSizingDragLeft(PyControlPoint pt, bool draw, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyCircleShape_base_OnSizingDragLeft(*args, **kwargs)
+
+    def base_OnSizingBeginDragLeft(*args, **kwargs):
+        """base_OnSizingBeginDragLeft(PyControlPoint pt, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyCircleShape_base_OnSizingBeginDragLeft(*args, **kwargs)
+
+    def base_OnSizingEndDragLeft(*args, **kwargs):
+        """base_OnSizingEndDragLeft(PyControlPoint pt, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyCircleShape_base_OnSizingEndDragLeft(*args, **kwargs)
+
+    def base_OnBeginSize(*args, **kwargs):
+        """base_OnBeginSize(double w, double h)"""
+        return _ogl.PyCircleShape_base_OnBeginSize(*args, **kwargs)
+
+    def base_OnEndSize(*args, **kwargs):
+        """base_OnEndSize(double w, double h)"""
+        return _ogl.PyCircleShape_base_OnEndSize(*args, **kwargs)
+
+
+class PyCircleShapePtr(PyCircleShape):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = PyCircleShape
+_ogl.PyCircleShape_swigregister(PyCircleShapePtr)
+
+class ArrowHead(core.Object):
+    """"""
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxArrowHead instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__(int type=0, int end=0, double size=0.0, double dist=0.0, 
+    wxString name=wxPyEmptyString, PseudoMetaFile mf=None, 
+    long arrowId=-1) -> ArrowHead"""
+        newobj = _ogl.new_ArrowHead(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+    def __del__(self, destroy=_ogl.delete_ArrowHead):
+        """__del__()"""
+        try:
+            if self.thisown: destroy(self)
+        except: pass
+
+    def _GetType(*args, **kwargs):
+        """_GetType() -> int"""
+        return _ogl.ArrowHead__GetType(*args, **kwargs)
+
+    def GetPosition(*args, **kwargs):
+        """GetPosition() -> int"""
+        return _ogl.ArrowHead_GetPosition(*args, **kwargs)
+
+    def SetPosition(*args, **kwargs):
+        """SetPosition(int pos)"""
+        return _ogl.ArrowHead_SetPosition(*args, **kwargs)
+
+    def GetXOffset(*args, **kwargs):
+        """GetXOffset() -> double"""
+        return _ogl.ArrowHead_GetXOffset(*args, **kwargs)
+
+    def GetYOffset(*args, **kwargs):
+        """GetYOffset() -> double"""
+        return _ogl.ArrowHead_GetYOffset(*args, **kwargs)
+
+    def GetSpacing(*args, **kwargs):
+        """GetSpacing() -> double"""
+        return _ogl.ArrowHead_GetSpacing(*args, **kwargs)
+
+    def GetSize(*args, **kwargs):
+        """GetSize() -> double"""
+        return _ogl.ArrowHead_GetSize(*args, **kwargs)
+
+    def GetName(*args, **kwargs):
+        """GetName() -> wxString"""
+        return _ogl.ArrowHead_GetName(*args, **kwargs)
+
+    def SetXOffset(*args, **kwargs):
+        """SetXOffset(double x)"""
+        return _ogl.ArrowHead_SetXOffset(*args, **kwargs)
+
+    def SetYOffset(*args, **kwargs):
+        """SetYOffset(double y)"""
+        return _ogl.ArrowHead_SetYOffset(*args, **kwargs)
+
+    def GetMetaFile(*args, **kwargs):
+        """GetMetaFile() -> PseudoMetaFile"""
+        return _ogl.ArrowHead_GetMetaFile(*args, **kwargs)
+
+    def GetId(*args, **kwargs):
+        """GetId() -> long"""
+        return _ogl.ArrowHead_GetId(*args, **kwargs)
+
+    def GetArrowEnd(*args, **kwargs):
+        """GetArrowEnd() -> int"""
+        return _ogl.ArrowHead_GetArrowEnd(*args, **kwargs)
+
+    def GetArrowSize(*args, **kwargs):
+        """GetArrowSize() -> double"""
+        return _ogl.ArrowHead_GetArrowSize(*args, **kwargs)
+
+    def SetSize(*args, **kwargs):
+        """SetSize(double size)"""
+        return _ogl.ArrowHead_SetSize(*args, **kwargs)
+
+    def SetSpacing(*args, **kwargs):
+        """SetSpacing(double sp)"""
+        return _ogl.ArrowHead_SetSpacing(*args, **kwargs)
+
+
+class ArrowHeadPtr(ArrowHead):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = ArrowHead
+_ogl.ArrowHead_swigregister(ArrowHeadPtr)
+
+class PyLineShape(PyShape):
+    """"""
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxPyLineShape instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__() -> PyLineShape"""
+        newobj = _ogl.new_PyLineShape(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+        self._setOORandCallbackInfo(PyLineShape)
+
+    def _setCallbackInfo(*args, **kwargs):
+        """_setCallbackInfo(PyObject self, PyObject _class)"""
+        return _ogl.PyLineShape__setCallbackInfo(*args, **kwargs)
+
+    def AddArrow(*args, **kwargs):
+        """AddArrow(int type, int end=ARROW_POSITION_END, double arrowSize=10.0, 
+    double xOffset=0.0, wxString name=wxPyEmptyString, 
+    PseudoMetaFile mf=None, long arrowId=-1)"""
+        return _ogl.PyLineShape_AddArrow(*args, **kwargs)
+
+    def AddArrowOrdered(*args, **kwargs):
+        """AddArrowOrdered(ArrowHead arrow, PyObject referenceList, int end)"""
+        return _ogl.PyLineShape_AddArrowOrdered(*args, **kwargs)
+
+    def ClearArrow(*args, **kwargs):
+        """ClearArrow(wxString name) -> bool"""
+        return _ogl.PyLineShape_ClearArrow(*args, **kwargs)
+
+    def ClearArrowsAtPosition(*args, **kwargs):
+        """ClearArrowsAtPosition(int position=-1)"""
+        return _ogl.PyLineShape_ClearArrowsAtPosition(*args, **kwargs)
+
+    def DrawArrow(*args, **kwargs):
+        """DrawArrow(wxDC dc, ArrowHead arrow, double xOffset, bool proportionalOffset)"""
+        return _ogl.PyLineShape_DrawArrow(*args, **kwargs)
+
+    def DeleteArrowHeadId(*args, **kwargs):
+        """DeleteArrowHeadId(long arrowId) -> bool"""
+        return _ogl.PyLineShape_DeleteArrowHeadId(*args, **kwargs)
+
+    def DeleteArrowHead(*args, **kwargs):
+        """DeleteArrowHead(int position, wxString name) -> bool"""
+        return _ogl.PyLineShape_DeleteArrowHead(*args, **kwargs)
+
+    def DeleteLineControlPoint(*args, **kwargs):
+        """DeleteLineControlPoint() -> bool"""
+        return _ogl.PyLineShape_DeleteLineControlPoint(*args, **kwargs)
+
+    def DrawArrows(*args, **kwargs):
+        """DrawArrows(wxDC dc)"""
+        return _ogl.PyLineShape_DrawArrows(*args, **kwargs)
+
+    def DrawRegion(*args, **kwargs):
+        """DrawRegion(wxDC dc, ShapeRegion region, double x, double y)"""
+        return _ogl.PyLineShape_DrawRegion(*args, **kwargs)
+
+    def EraseRegion(*args, **kwargs):
+        """EraseRegion(wxDC dc, ShapeRegion region, double x, double y)"""
+        return _ogl.PyLineShape_EraseRegion(*args, **kwargs)
+
+    def FindArrowHeadId(*args, **kwargs):
+        """FindArrowHeadId(long arrowId) -> ArrowHead"""
+        return _ogl.PyLineShape_FindArrowHeadId(*args, **kwargs)
+
+    def FindArrowHead(*args, **kwargs):
+        """FindArrowHead(int position, wxString name) -> ArrowHead"""
+        return _ogl.PyLineShape_FindArrowHead(*args, **kwargs)
+
+    def FindLineEndPoints(*args, **kwargs):
+        """FindLineEndPoints(double OUTPUT, double OUTPUT, double OUTPUT, double OUTPUT)"""
+        return _ogl.PyLineShape_FindLineEndPoints(*args, **kwargs)
+
+    def FindLinePosition(*args, **kwargs):
+        """FindLinePosition(double x, double y) -> int"""
+        return _ogl.PyLineShape_FindLinePosition(*args, **kwargs)
+
+    def FindMinimumWidth(*args, **kwargs):
+        """FindMinimumWidth() -> double"""
+        return _ogl.PyLineShape_FindMinimumWidth(*args, **kwargs)
+
+    def FindNth(*args, **kwargs):
+        """FindNth(PyShape image, int OUTPUT, int OUTPUT, bool incoming)"""
+        return _ogl.PyLineShape_FindNth(*args, **kwargs)
+
+    def GetAttachmentFrom(*args, **kwargs):
+        """GetAttachmentFrom() -> int"""
+        return _ogl.PyLineShape_GetAttachmentFrom(*args, **kwargs)
+
+    def GetAttachmentTo(*args, **kwargs):
+        """GetAttachmentTo() -> int"""
+        return _ogl.PyLineShape_GetAttachmentTo(*args, **kwargs)
+
+    def GetEnds(*args, **kwargs):
+        """GetEnds(double OUTPUT, double OUTPUT, double OUTPUT, double OUTPUT)"""
+        return _ogl.PyLineShape_GetEnds(*args, **kwargs)
+
+    def GetFrom(*args, **kwargs):
+        """GetFrom() -> PyShape"""
+        return _ogl.PyLineShape_GetFrom(*args, **kwargs)
+
+    def GetLabelPosition(*args, **kwargs):
+        """GetLabelPosition(int position, double OUTPUT, double OUTPUT)"""
+        return _ogl.PyLineShape_GetLabelPosition(*args, **kwargs)
+
+    def GetNextControlPoint(*args, **kwargs):
+        """GetNextControlPoint(PyShape shape) -> RealPoint"""
+        return _ogl.PyLineShape_GetNextControlPoint(*args, **kwargs)
+
+    def GetTo(*args, **kwargs):
+        """GetTo() -> PyShape"""
+        return _ogl.PyLineShape_GetTo(*args, **kwargs)
+
+    def Initialise(*args, **kwargs):
+        """Initialise()"""
+        return _ogl.PyLineShape_Initialise(*args, **kwargs)
+
+    def InsertLineControlPoint(*args, **kwargs):
+        """InsertLineControlPoint(wxDC dc)"""
+        return _ogl.PyLineShape_InsertLineControlPoint(*args, **kwargs)
+
+    def IsEnd(*args, **kwargs):
+        """IsEnd(PyShape shape) -> bool"""
+        return _ogl.PyLineShape_IsEnd(*args, **kwargs)
+
+    def IsSpline(*args, **kwargs):
+        """IsSpline() -> bool"""
+        return _ogl.PyLineShape_IsSpline(*args, **kwargs)
+
+    def MakeLineControlPoints(*args, **kwargs):
+        """MakeLineControlPoints(int n)"""
+        return _ogl.PyLineShape_MakeLineControlPoints(*args, **kwargs)
+
+    def GetLineControlPoints(*args, **kwargs):
+        """GetLineControlPoints() -> PyObject"""
+        return _ogl.PyLineShape_GetLineControlPoints(*args, **kwargs)
+
+    def SetAttachmentFrom(*args, **kwargs):
+        """SetAttachmentFrom(int fromAttach)"""
+        return _ogl.PyLineShape_SetAttachmentFrom(*args, **kwargs)
+
+    def SetAttachments(*args, **kwargs):
+        """SetAttachments(int fromAttach, int toAttach)"""
+        return _ogl.PyLineShape_SetAttachments(*args, **kwargs)
+
+    def SetAttachmentTo(*args, **kwargs):
+        """SetAttachmentTo(int toAttach)"""
+        return _ogl.PyLineShape_SetAttachmentTo(*args, **kwargs)
+
+    def SetEnds(*args, **kwargs):
+        """SetEnds(double x1, double y1, double x2, double y2)"""
+        return _ogl.PyLineShape_SetEnds(*args, **kwargs)
+
+    def SetFrom(*args, **kwargs):
+        """SetFrom(PyShape object)"""
+        return _ogl.PyLineShape_SetFrom(*args, **kwargs)
+
+    def SetIgnoreOffsets(*args, **kwargs):
+        """SetIgnoreOffsets(bool ignore)"""
+        return _ogl.PyLineShape_SetIgnoreOffsets(*args, **kwargs)
+
+    def SetSpline(*args, **kwargs):
+        """SetSpline(bool spline)"""
+        return _ogl.PyLineShape_SetSpline(*args, **kwargs)
+
+    def SetTo(*args, **kwargs):
+        """SetTo(PyShape object)"""
+        return _ogl.PyLineShape_SetTo(*args, **kwargs)
+
+    def Straighten(*args, **kwargs):
+        """Straighten(wxDC dc=None)"""
+        return _ogl.PyLineShape_Straighten(*args, **kwargs)
+
+    def Unlink(*args, **kwargs):
+        """Unlink()"""
+        return _ogl.PyLineShape_Unlink(*args, **kwargs)
+
+    def base_OnDraw(*args, **kwargs):
+        """base_OnDraw(wxDC dc)"""
+        return _ogl.PyLineShape_base_OnDraw(*args, **kwargs)
+
+    def base_OnDrawContents(*args, **kwargs):
+        """base_OnDrawContents(wxDC dc)"""
+        return _ogl.PyLineShape_base_OnDrawContents(*args, **kwargs)
+
+    def base_OnDrawBranches(*args, **kwargs):
+        """base_OnDrawBranches(wxDC dc, bool erase=FALSE)"""
+        return _ogl.PyLineShape_base_OnDrawBranches(*args, **kwargs)
+
+    def base_OnMoveLinks(*args, **kwargs):
+        """base_OnMoveLinks(wxDC dc)"""
+        return _ogl.PyLineShape_base_OnMoveLinks(*args, **kwargs)
+
+    def base_OnErase(*args, **kwargs):
+        """base_OnErase(wxDC dc)"""
+        return _ogl.PyLineShape_base_OnErase(*args, **kwargs)
+
+    def base_OnEraseContents(*args, **kwargs):
+        """base_OnEraseContents(wxDC dc)"""
+        return _ogl.PyLineShape_base_OnEraseContents(*args, **kwargs)
+
+    def base_OnHighlight(*args, **kwargs):
+        """base_OnHighlight(wxDC dc)"""
+        return _ogl.PyLineShape_base_OnHighlight(*args, **kwargs)
+
+    def base_OnLeftClick(*args, **kwargs):
+        """base_OnLeftClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyLineShape_base_OnLeftClick(*args, **kwargs)
+
+    def base_OnLeftDoubleClick(*args, **kwargs):
+        """base_OnLeftDoubleClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyLineShape_base_OnLeftDoubleClick(*args, **kwargs)
+
+    def base_OnRightClick(*args, **kwargs):
+        """base_OnRightClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyLineShape_base_OnRightClick(*args, **kwargs)
+
+    def base_OnSize(*args, **kwargs):
+        """base_OnSize(double x, double y)"""
+        return _ogl.PyLineShape_base_OnSize(*args, **kwargs)
+
+    def base_OnMovePre(*args, **kwargs):
+        """base_OnMovePre(wxDC dc, double x, double y, double old_x, double old_y, 
+    bool display=True) -> bool"""
+        return _ogl.PyLineShape_base_OnMovePre(*args, **kwargs)
+
+    def base_OnMovePost(*args, **kwargs):
+        """base_OnMovePost(wxDC dc, double x, double y, double old_x, double old_y, 
+    bool display=True)"""
+        return _ogl.PyLineShape_base_OnMovePost(*args, **kwargs)
+
+    def base_OnDragLeft(*args, **kwargs):
+        """base_OnDragLeft(bool draw, double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyLineShape_base_OnDragLeft(*args, **kwargs)
+
+    def base_OnBeginDragLeft(*args, **kwargs):
+        """base_OnBeginDragLeft(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyLineShape_base_OnBeginDragLeft(*args, **kwargs)
+
+    def base_OnEndDragLeft(*args, **kwargs):
+        """base_OnEndDragLeft(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyLineShape_base_OnEndDragLeft(*args, **kwargs)
+
+    def base_OnDragRight(*args, **kwargs):
+        """base_OnDragRight(bool draw, double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyLineShape_base_OnDragRight(*args, **kwargs)
+
+    def base_OnBeginDragRight(*args, **kwargs):
+        """base_OnBeginDragRight(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyLineShape_base_OnBeginDragRight(*args, **kwargs)
+
+    def base_OnEndDragRight(*args, **kwargs):
+        """base_OnEndDragRight(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyLineShape_base_OnEndDragRight(*args, **kwargs)
+
+    def base_OnDrawOutline(*args, **kwargs):
+        """base_OnDrawOutline(wxDC dc, double x, double y, double w, double h)"""
+        return _ogl.PyLineShape_base_OnDrawOutline(*args, **kwargs)
+
+    def base_OnDrawControlPoints(*args, **kwargs):
+        """base_OnDrawControlPoints(wxDC dc)"""
+        return _ogl.PyLineShape_base_OnDrawControlPoints(*args, **kwargs)
+
+    def base_OnEraseControlPoints(*args, **kwargs):
+        """base_OnEraseControlPoints(wxDC dc)"""
+        return _ogl.PyLineShape_base_OnEraseControlPoints(*args, **kwargs)
+
+    def base_OnMoveLink(*args, **kwargs):
+        """base_OnMoveLink(wxDC dc, bool moveControlPoints=True)"""
+        return _ogl.PyLineShape_base_OnMoveLink(*args, **kwargs)
+
+    def base_OnSizingDragLeft(*args, **kwargs):
+        """base_OnSizingDragLeft(PyControlPoint pt, bool draw, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyLineShape_base_OnSizingDragLeft(*args, **kwargs)
+
+    def base_OnSizingBeginDragLeft(*args, **kwargs):
+        """base_OnSizingBeginDragLeft(PyControlPoint pt, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyLineShape_base_OnSizingBeginDragLeft(*args, **kwargs)
+
+    def base_OnSizingEndDragLeft(*args, **kwargs):
+        """base_OnSizingEndDragLeft(PyControlPoint pt, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyLineShape_base_OnSizingEndDragLeft(*args, **kwargs)
+
+    def base_OnBeginSize(*args, **kwargs):
+        """base_OnBeginSize(double w, double h)"""
+        return _ogl.PyLineShape_base_OnBeginSize(*args, **kwargs)
+
+    def base_OnEndSize(*args, **kwargs):
+        """base_OnEndSize(double w, double h)"""
+        return _ogl.PyLineShape_base_OnEndSize(*args, **kwargs)
+
+
+class PyLineShapePtr(PyLineShape):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = PyLineShape
+_ogl.PyLineShape_swigregister(PyLineShapePtr)
+
+class PyPolygonShape(PyShape):
+    """"""
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxPyPolygonShape instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__() -> PyPolygonShape"""
+        newobj = _ogl.new_PyPolygonShape(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+        self._setOORandCallbackInfo(PyPolygonShape)
+
+    def _setCallbackInfo(*args, **kwargs):
+        """_setCallbackInfo(PyObject self, PyObject _class)"""
+        return _ogl.PyPolygonShape__setCallbackInfo(*args, **kwargs)
+
+    def Create(*args, **kwargs):
+        """Create(PyObject points) -> PyObject"""
+        return _ogl.PyPolygonShape_Create(*args, **kwargs)
+
+    def AddPolygonPoint(*args, **kwargs):
+        """AddPolygonPoint(int pos=0)"""
+        return _ogl.PyPolygonShape_AddPolygonPoint(*args, **kwargs)
+
+    def CalculatePolygonCentre(*args, **kwargs):
+        """CalculatePolygonCentre()"""
+        return _ogl.PyPolygonShape_CalculatePolygonCentre(*args, **kwargs)
+
+    def DeletePolygonPoint(*args, **kwargs):
+        """DeletePolygonPoint(int pos=0)"""
+        return _ogl.PyPolygonShape_DeletePolygonPoint(*args, **kwargs)
+
+    def GetPoints(*args, **kwargs):
+        """GetPoints() -> PyObject"""
+        return _ogl.PyPolygonShape_GetPoints(*args, **kwargs)
+
+    def UpdateOriginalPoints(*args, **kwargs):
+        """UpdateOriginalPoints()"""
+        return _ogl.PyPolygonShape_UpdateOriginalPoints(*args, **kwargs)
+
+    def base_OnDraw(*args, **kwargs):
+        """base_OnDraw(wxDC dc)"""
+        return _ogl.PyPolygonShape_base_OnDraw(*args, **kwargs)
+
+    def base_OnDrawContents(*args, **kwargs):
+        """base_OnDrawContents(wxDC dc)"""
+        return _ogl.PyPolygonShape_base_OnDrawContents(*args, **kwargs)
+
+    def base_OnDrawBranches(*args, **kwargs):
+        """base_OnDrawBranches(wxDC dc, bool erase=FALSE)"""
+        return _ogl.PyPolygonShape_base_OnDrawBranches(*args, **kwargs)
+
+    def base_OnMoveLinks(*args, **kwargs):
+        """base_OnMoveLinks(wxDC dc)"""
+        return _ogl.PyPolygonShape_base_OnMoveLinks(*args, **kwargs)
+
+    def base_OnErase(*args, **kwargs):
+        """base_OnErase(wxDC dc)"""
+        return _ogl.PyPolygonShape_base_OnErase(*args, **kwargs)
+
+    def base_OnEraseContents(*args, **kwargs):
+        """base_OnEraseContents(wxDC dc)"""
+        return _ogl.PyPolygonShape_base_OnEraseContents(*args, **kwargs)
+
+    def base_OnHighlight(*args, **kwargs):
+        """base_OnHighlight(wxDC dc)"""
+        return _ogl.PyPolygonShape_base_OnHighlight(*args, **kwargs)
+
+    def base_OnLeftClick(*args, **kwargs):
+        """base_OnLeftClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyPolygonShape_base_OnLeftClick(*args, **kwargs)
+
+    def base_OnLeftDoubleClick(*args, **kwargs):
+        """base_OnLeftDoubleClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyPolygonShape_base_OnLeftDoubleClick(*args, **kwargs)
+
+    def base_OnRightClick(*args, **kwargs):
+        """base_OnRightClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyPolygonShape_base_OnRightClick(*args, **kwargs)
+
+    def base_OnSize(*args, **kwargs):
+        """base_OnSize(double x, double y)"""
+        return _ogl.PyPolygonShape_base_OnSize(*args, **kwargs)
+
+    def base_OnMovePre(*args, **kwargs):
+        """base_OnMovePre(wxDC dc, double x, double y, double old_x, double old_y, 
+    bool display=True) -> bool"""
+        return _ogl.PyPolygonShape_base_OnMovePre(*args, **kwargs)
+
+    def base_OnMovePost(*args, **kwargs):
+        """base_OnMovePost(wxDC dc, double x, double y, double old_x, double old_y, 
+    bool display=True)"""
+        return _ogl.PyPolygonShape_base_OnMovePost(*args, **kwargs)
+
+    def base_OnDragLeft(*args, **kwargs):
+        """base_OnDragLeft(bool draw, double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyPolygonShape_base_OnDragLeft(*args, **kwargs)
+
+    def base_OnBeginDragLeft(*args, **kwargs):
+        """base_OnBeginDragLeft(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyPolygonShape_base_OnBeginDragLeft(*args, **kwargs)
+
+    def base_OnEndDragLeft(*args, **kwargs):
+        """base_OnEndDragLeft(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyPolygonShape_base_OnEndDragLeft(*args, **kwargs)
+
+    def base_OnDragRight(*args, **kwargs):
+        """base_OnDragRight(bool draw, double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyPolygonShape_base_OnDragRight(*args, **kwargs)
+
+    def base_OnBeginDragRight(*args, **kwargs):
+        """base_OnBeginDragRight(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyPolygonShape_base_OnBeginDragRight(*args, **kwargs)
+
+    def base_OnEndDragRight(*args, **kwargs):
+        """base_OnEndDragRight(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyPolygonShape_base_OnEndDragRight(*args, **kwargs)
+
+    def base_OnDrawOutline(*args, **kwargs):
+        """base_OnDrawOutline(wxDC dc, double x, double y, double w, double h)"""
+        return _ogl.PyPolygonShape_base_OnDrawOutline(*args, **kwargs)
+
+    def base_OnDrawControlPoints(*args, **kwargs):
+        """base_OnDrawControlPoints(wxDC dc)"""
+        return _ogl.PyPolygonShape_base_OnDrawControlPoints(*args, **kwargs)
+
+    def base_OnEraseControlPoints(*args, **kwargs):
+        """base_OnEraseControlPoints(wxDC dc)"""
+        return _ogl.PyPolygonShape_base_OnEraseControlPoints(*args, **kwargs)
+
+    def base_OnMoveLink(*args, **kwargs):
+        """base_OnMoveLink(wxDC dc, bool moveControlPoints=True)"""
+        return _ogl.PyPolygonShape_base_OnMoveLink(*args, **kwargs)
+
+    def base_OnSizingDragLeft(*args, **kwargs):
+        """base_OnSizingDragLeft(PyControlPoint pt, bool draw, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyPolygonShape_base_OnSizingDragLeft(*args, **kwargs)
+
+    def base_OnSizingBeginDragLeft(*args, **kwargs):
+        """base_OnSizingBeginDragLeft(PyControlPoint pt, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyPolygonShape_base_OnSizingBeginDragLeft(*args, **kwargs)
+
+    def base_OnSizingEndDragLeft(*args, **kwargs):
+        """base_OnSizingEndDragLeft(PyControlPoint pt, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyPolygonShape_base_OnSizingEndDragLeft(*args, **kwargs)
+
+    def base_OnBeginSize(*args, **kwargs):
+        """base_OnBeginSize(double w, double h)"""
+        return _ogl.PyPolygonShape_base_OnBeginSize(*args, **kwargs)
+
+    def base_OnEndSize(*args, **kwargs):
+        """base_OnEndSize(double w, double h)"""
+        return _ogl.PyPolygonShape_base_OnEndSize(*args, **kwargs)
+
+
+class PyPolygonShapePtr(PyPolygonShape):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = PyPolygonShape
+_ogl.PyPolygonShape_swigregister(PyPolygonShapePtr)
+
+class PyTextShape(PyRectangleShape):
+    """"""
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxPyTextShape instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__(double width=0.0, double height=0.0) -> PyTextShape"""
+        newobj = _ogl.new_PyTextShape(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+        self._setOORandCallbackInfo(PyTextShape)
+
+    def _setCallbackInfo(*args, **kwargs):
+        """_setCallbackInfo(PyObject self, PyObject _class)"""
+        return _ogl.PyTextShape__setCallbackInfo(*args, **kwargs)
+
+    def base_OnDelete(*args, **kwargs):
+        """base_OnDelete()"""
+        return _ogl.PyTextShape_base_OnDelete(*args, **kwargs)
+
+    def base_OnDraw(*args, **kwargs):
+        """base_OnDraw(wxDC dc)"""
+        return _ogl.PyTextShape_base_OnDraw(*args, **kwargs)
+
+    def base_OnDrawContents(*args, **kwargs):
+        """base_OnDrawContents(wxDC dc)"""
+        return _ogl.PyTextShape_base_OnDrawContents(*args, **kwargs)
+
+    def base_OnDrawBranches(*args, **kwargs):
+        """base_OnDrawBranches(wxDC dc, bool erase=FALSE)"""
+        return _ogl.PyTextShape_base_OnDrawBranches(*args, **kwargs)
+
+    def base_OnMoveLinks(*args, **kwargs):
+        """base_OnMoveLinks(wxDC dc)"""
+        return _ogl.PyTextShape_base_OnMoveLinks(*args, **kwargs)
+
+    def base_OnErase(*args, **kwargs):
+        """base_OnErase(wxDC dc)"""
+        return _ogl.PyTextShape_base_OnErase(*args, **kwargs)
+
+    def base_OnEraseContents(*args, **kwargs):
+        """base_OnEraseContents(wxDC dc)"""
+        return _ogl.PyTextShape_base_OnEraseContents(*args, **kwargs)
+
+    def base_OnHighlight(*args, **kwargs):
+        """base_OnHighlight(wxDC dc)"""
+        return _ogl.PyTextShape_base_OnHighlight(*args, **kwargs)
+
+    def base_OnLeftClick(*args, **kwargs):
+        """base_OnLeftClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyTextShape_base_OnLeftClick(*args, **kwargs)
+
+    def base_OnLeftDoubleClick(*args, **kwargs):
+        """base_OnLeftDoubleClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyTextShape_base_OnLeftDoubleClick(*args, **kwargs)
+
+    def base_OnRightClick(*args, **kwargs):
+        """base_OnRightClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyTextShape_base_OnRightClick(*args, **kwargs)
+
+    def base_OnSize(*args, **kwargs):
+        """base_OnSize(double x, double y)"""
+        return _ogl.PyTextShape_base_OnSize(*args, **kwargs)
+
+    def base_OnMovePre(*args, **kwargs):
+        """base_OnMovePre(wxDC dc, double x, double y, double old_x, double old_y, 
+    bool display=True) -> bool"""
+        return _ogl.PyTextShape_base_OnMovePre(*args, **kwargs)
+
+    def base_OnMovePost(*args, **kwargs):
+        """base_OnMovePost(wxDC dc, double x, double y, double old_x, double old_y, 
+    bool display=True)"""
+        return _ogl.PyTextShape_base_OnMovePost(*args, **kwargs)
+
+    def base_OnDragLeft(*args, **kwargs):
+        """base_OnDragLeft(bool draw, double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyTextShape_base_OnDragLeft(*args, **kwargs)
+
+    def base_OnBeginDragLeft(*args, **kwargs):
+        """base_OnBeginDragLeft(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyTextShape_base_OnBeginDragLeft(*args, **kwargs)
+
+    def base_OnEndDragLeft(*args, **kwargs):
+        """base_OnEndDragLeft(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyTextShape_base_OnEndDragLeft(*args, **kwargs)
+
+    def base_OnDragRight(*args, **kwargs):
+        """base_OnDragRight(bool draw, double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyTextShape_base_OnDragRight(*args, **kwargs)
+
+    def base_OnBeginDragRight(*args, **kwargs):
+        """base_OnBeginDragRight(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyTextShape_base_OnBeginDragRight(*args, **kwargs)
+
+    def base_OnEndDragRight(*args, **kwargs):
+        """base_OnEndDragRight(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyTextShape_base_OnEndDragRight(*args, **kwargs)
+
+    def base_OnDrawOutline(*args, **kwargs):
+        """base_OnDrawOutline(wxDC dc, double x, double y, double w, double h)"""
+        return _ogl.PyTextShape_base_OnDrawOutline(*args, **kwargs)
+
+    def base_OnDrawControlPoints(*args, **kwargs):
+        """base_OnDrawControlPoints(wxDC dc)"""
+        return _ogl.PyTextShape_base_OnDrawControlPoints(*args, **kwargs)
+
+    def base_OnEraseControlPoints(*args, **kwargs):
+        """base_OnEraseControlPoints(wxDC dc)"""
+        return _ogl.PyTextShape_base_OnEraseControlPoints(*args, **kwargs)
+
+    def base_OnMoveLink(*args, **kwargs):
+        """base_OnMoveLink(wxDC dc, bool moveControlPoints=True)"""
+        return _ogl.PyTextShape_base_OnMoveLink(*args, **kwargs)
+
+    def base_OnSizingDragLeft(*args, **kwargs):
+        """base_OnSizingDragLeft(PyControlPoint pt, bool draw, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyTextShape_base_OnSizingDragLeft(*args, **kwargs)
+
+    def base_OnSizingBeginDragLeft(*args, **kwargs):
+        """base_OnSizingBeginDragLeft(PyControlPoint pt, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyTextShape_base_OnSizingBeginDragLeft(*args, **kwargs)
+
+    def base_OnSizingEndDragLeft(*args, **kwargs):
+        """base_OnSizingEndDragLeft(PyControlPoint pt, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyTextShape_base_OnSizingEndDragLeft(*args, **kwargs)
+
+    def base_OnBeginSize(*args, **kwargs):
+        """base_OnBeginSize(double w, double h)"""
+        return _ogl.PyTextShape_base_OnBeginSize(*args, **kwargs)
+
+    def base_OnEndSize(*args, **kwargs):
+        """base_OnEndSize(double w, double h)"""
+        return _ogl.PyTextShape_base_OnEndSize(*args, **kwargs)
+
+
+class PyTextShapePtr(PyTextShape):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = PyTextShape
+_ogl.PyTextShape_swigregister(PyTextShapePtr)
+
+class Diagram(core.Object):
+    """"""
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxDiagram instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__() -> Diagram"""
+        newobj = _ogl.new_Diagram(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+    def AddShape(*args, **kwargs):
+        """AddShape(PyShape shape, PyShape addAfter=None)"""
+        return _ogl.Diagram_AddShape(*args, **kwargs)
+
+    def Clear(*args, **kwargs):
+        """Clear(wxDC dc)"""
+        return _ogl.Diagram_Clear(*args, **kwargs)
+
+    def DeleteAllShapes(*args, **kwargs):
+        """DeleteAllShapes()"""
+        return _ogl.Diagram_DeleteAllShapes(*args, **kwargs)
+
+    def DrawOutline(*args, **kwargs):
+        """DrawOutline(wxDC dc, double x1, double y1, double x2, double y2)"""
+        return _ogl.Diagram_DrawOutline(*args, **kwargs)
+
+    def FindShape(*args, **kwargs):
+        """FindShape(long id) -> PyShape"""
+        return _ogl.Diagram_FindShape(*args, **kwargs)
+
+    def GetCanvas(*args, **kwargs):
+        """GetCanvas() -> PyShapeCanvas"""
+        return _ogl.Diagram_GetCanvas(*args, **kwargs)
+
+    def GetCount(*args, **kwargs):
+        """GetCount() -> int"""
+        return _ogl.Diagram_GetCount(*args, **kwargs)
+
+    def GetGridSpacing(*args, **kwargs):
+        """GetGridSpacing() -> double"""
+        return _ogl.Diagram_GetGridSpacing(*args, **kwargs)
+
+    def GetMouseTolerance(*args, **kwargs):
+        """GetMouseTolerance() -> int"""
+        return _ogl.Diagram_GetMouseTolerance(*args, **kwargs)
+
+    def GetShapeList(*args, **kwargs):
+        """GetShapeList() -> PyObject"""
+        return _ogl.Diagram_GetShapeList(*args, **kwargs)
+
+    def GetQuickEditMode(*args, **kwargs):
+        """GetQuickEditMode() -> bool"""
+        return _ogl.Diagram_GetQuickEditMode(*args, **kwargs)
+
+    def GetSnapToGrid(*args, **kwargs):
+        """GetSnapToGrid() -> bool"""
+        return _ogl.Diagram_GetSnapToGrid(*args, **kwargs)
+
+    def InsertShape(*args, **kwargs):
+        """InsertShape(PyShape shape)"""
+        return _ogl.Diagram_InsertShape(*args, **kwargs)
+
+    def RecentreAll(*args, **kwargs):
+        """RecentreAll(wxDC dc)"""
+        return _ogl.Diagram_RecentreAll(*args, **kwargs)
+
+    def Redraw(*args, **kwargs):
+        """Redraw(wxDC dc)"""
+        return _ogl.Diagram_Redraw(*args, **kwargs)
+
+    def RemoveAllShapes(*args, **kwargs):
+        """RemoveAllShapes()"""
+        return _ogl.Diagram_RemoveAllShapes(*args, **kwargs)
+
+    def RemoveShape(*args, **kwargs):
+        """RemoveShape(PyShape shape)"""
+        return _ogl.Diagram_RemoveShape(*args, **kwargs)
+
+    def SetCanvas(*args, **kwargs):
+        """SetCanvas(PyShapeCanvas canvas)"""
+        return _ogl.Diagram_SetCanvas(*args, **kwargs)
+
+    def SetGridSpacing(*args, **kwargs):
+        """SetGridSpacing(double spacing)"""
+        return _ogl.Diagram_SetGridSpacing(*args, **kwargs)
+
+    def SetMouseTolerance(*args, **kwargs):
+        """SetMouseTolerance(int tolerance)"""
+        return _ogl.Diagram_SetMouseTolerance(*args, **kwargs)
+
+    def SetQuickEditMode(*args, **kwargs):
+        """SetQuickEditMode(bool mode)"""
+        return _ogl.Diagram_SetQuickEditMode(*args, **kwargs)
+
+    def SetSnapToGrid(*args, **kwargs):
+        """SetSnapToGrid(bool snap)"""
+        return _ogl.Diagram_SetSnapToGrid(*args, **kwargs)
+
+    def ShowAll(*args, **kwargs):
+        """ShowAll(bool show)"""
+        return _ogl.Diagram_ShowAll(*args, **kwargs)
+
+    def Snap(*args, **kwargs):
+        """Snap(double INOUT, double INOUT)"""
+        return _ogl.Diagram_Snap(*args, **kwargs)
+
+
+class DiagramPtr(Diagram):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = Diagram
+_ogl.Diagram_swigregister(DiagramPtr)
+
+class PyShapeCanvas(windows.ScrolledWindow):
+    """"""
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxPyShapeCanvas instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__(Window parent=None, int id=-1, Point pos=DefaultPosition, 
+    Size size=DefaultSize, long style=BORDER, 
+    wxString name=wxPyShapeCanvasNameStr) -> PyShapeCanvas"""
+        newobj = _ogl.new_PyShapeCanvas(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+    def _setCallbackInfo(*args, **kwargs):
+        """_setCallbackInfo(PyObject self, PyObject _class)"""
+        return _ogl.PyShapeCanvas__setCallbackInfo(*args, **kwargs)
+
+    def _setOORandCallbackInfo(self, _class):
+        self._setOORInfo(self)
+        self._setCallbackInfo(self, _class)
+
+    def AddShape(*args, **kwargs):
+        """AddShape(PyShape shape, PyShape addAfter=None)"""
+        return _ogl.PyShapeCanvas_AddShape(*args, **kwargs)
+
+    def FindShape(*args, **kwargs):
+        """FindShape(double x1, double y, int OUTPUT, wxClassInfo info=None, 
+    PyShape notImage=None) -> PyShape"""
+        return _ogl.PyShapeCanvas_FindShape(*args, **kwargs)
+
+    def FindFirstSensitiveShape(*args, **kwargs):
+        """FindFirstSensitiveShape(double x1, double y, int OUTPUT, int op) -> PyShape"""
+        return _ogl.PyShapeCanvas_FindFirstSensitiveShape(*args, **kwargs)
+
+    def GetDiagram(*args, **kwargs):
+        """GetDiagram() -> Diagram"""
+        return _ogl.PyShapeCanvas_GetDiagram(*args, **kwargs)
+
+    def GetQuickEditMode(*args, **kwargs):
+        """GetQuickEditMode() -> bool"""
+        return _ogl.PyShapeCanvas_GetQuickEditMode(*args, **kwargs)
+
+    def InsertShape(*args, **kwargs):
+        """InsertShape(PyShape shape)"""
+        return _ogl.PyShapeCanvas_InsertShape(*args, **kwargs)
+
+    def base_OnBeginDragLeft(*args, **kwargs):
+        """base_OnBeginDragLeft(double x, double y, int keys=0)"""
+        return _ogl.PyShapeCanvas_base_OnBeginDragLeft(*args, **kwargs)
+
+    def base_OnBeginDragRight(*args, **kwargs):
+        """base_OnBeginDragRight(double x, double y, int keys=0)"""
+        return _ogl.PyShapeCanvas_base_OnBeginDragRight(*args, **kwargs)
+
+    def base_OnEndDragLeft(*args, **kwargs):
+        """base_OnEndDragLeft(double x, double y, int keys=0)"""
+        return _ogl.PyShapeCanvas_base_OnEndDragLeft(*args, **kwargs)
+
+    def base_OnEndDragRight(*args, **kwargs):
+        """base_OnEndDragRight(double x, double y, int keys=0)"""
+        return _ogl.PyShapeCanvas_base_OnEndDragRight(*args, **kwargs)
+
+    def base_OnDragLeft(*args, **kwargs):
+        """base_OnDragLeft(bool draw, double x, double y, int keys=0)"""
+        return _ogl.PyShapeCanvas_base_OnDragLeft(*args, **kwargs)
+
+    def base_OnDragRight(*args, **kwargs):
+        """base_OnDragRight(bool draw, double x, double y, int keys=0)"""
+        return _ogl.PyShapeCanvas_base_OnDragRight(*args, **kwargs)
+
+    def base_OnLeftClick(*args, **kwargs):
+        """base_OnLeftClick(double x, double y, int keys=0)"""
+        return _ogl.PyShapeCanvas_base_OnLeftClick(*args, **kwargs)
+
+    def base_OnRightClick(*args, **kwargs):
+        """base_OnRightClick(double x, double y, int keys=0)"""
+        return _ogl.PyShapeCanvas_base_OnRightClick(*args, **kwargs)
+
+    def Redraw(*args, **kwargs):
+        """Redraw(wxDC dc)"""
+        return _ogl.PyShapeCanvas_Redraw(*args, **kwargs)
+
+    def RemoveShape(*args, **kwargs):
+        """RemoveShape(PyShape shape)"""
+        return _ogl.PyShapeCanvas_RemoveShape(*args, **kwargs)
+
+    def SetDiagram(*args, **kwargs):
+        """SetDiagram(Diagram diagram)"""
+        return _ogl.PyShapeCanvas_SetDiagram(*args, **kwargs)
+
+    def Snap(*args, **kwargs):
+        """Snap(double INOUT, double INOUT)"""
+        return _ogl.PyShapeCanvas_Snap(*args, **kwargs)
+
+    def GetShapeList(self):
+        return self.GetDiagram().GetShapeList()
+
+
+class PyShapeCanvasPtr(PyShapeCanvas):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = PyShapeCanvas
+_ogl.PyShapeCanvas_swigregister(PyShapeCanvasPtr)
+
+# Aliases    
+ShapeCanvas =       PyShapeCanvas
+ShapeEvtHandler =   PyShapeEvtHandler
+Shape =             PyShape
+RectangleShape =    PyRectangleShape
+BitmapShape =       PyBitmapShape
+DrawnShape =        PyDrawnShape
+CompositeShape =    PyCompositeShape
+DividedShape =      PyDividedShape
+DivisionShape =     PyDivisionShape
+EllipseShape =      PyEllipseShape
+CircleShape =       PyCircleShape
+LineShape =         PyLineShape
+PolygonShape =      PyPolygonShape
+TextShape =         PyTextShape
+ControlPoint =      PyControlPoint
+
+KEY_SHIFT = _ogl.KEY_SHIFT
+KEY_CTRL = _ogl.KEY_CTRL
+ARROW_NONE = _ogl.ARROW_NONE
+ARROW_END = _ogl.ARROW_END
+ARROW_BOTH = _ogl.ARROW_BOTH
+ARROW_MIDDLE = _ogl.ARROW_MIDDLE
+ARROW_START = _ogl.ARROW_START
+ARROW_HOLLOW_CIRCLE = _ogl.ARROW_HOLLOW_CIRCLE
+ARROW_FILLED_CIRCLE = _ogl.ARROW_FILLED_CIRCLE
+ARROW_ARROW = _ogl.ARROW_ARROW
+ARROW_SINGLE_OBLIQUE = _ogl.ARROW_SINGLE_OBLIQUE
+ARROW_DOUBLE_OBLIQUE = _ogl.ARROW_DOUBLE_OBLIQUE
+ARROW_METAFILE = _ogl.ARROW_METAFILE
+ARROW_POSITION_END = _ogl.ARROW_POSITION_END
+ARROW_POSITION_START = _ogl.ARROW_POSITION_START
+CONTROL_POINT_VERTICAL = _ogl.CONTROL_POINT_VERTICAL
+CONTROL_POINT_HORIZONTAL = _ogl.CONTROL_POINT_HORIZONTAL
+CONTROL_POINT_DIAGONAL = _ogl.CONTROL_POINT_DIAGONAL
+CONTROL_POINT_ENDPOINT_TO = _ogl.CONTROL_POINT_ENDPOINT_TO
+CONTROL_POINT_ENDPOINT_FROM = _ogl.CONTROL_POINT_ENDPOINT_FROM
+CONTROL_POINT_LINE = _ogl.CONTROL_POINT_LINE
+FORMAT_NONE = _ogl.FORMAT_NONE
+FORMAT_CENTRE_HORIZ = _ogl.FORMAT_CENTRE_HORIZ
+FORMAT_CENTRE_VERT = _ogl.FORMAT_CENTRE_VERT
+FORMAT_SIZE_TO_CONTENTS = _ogl.FORMAT_SIZE_TO_CONTENTS
+LINE_ALIGNMENT_HORIZ = _ogl.LINE_ALIGNMENT_HORIZ
+LINE_ALIGNMENT_VERT = _ogl.LINE_ALIGNMENT_VERT
+LINE_ALIGNMENT_TO_NEXT_HANDLE = _ogl.LINE_ALIGNMENT_TO_NEXT_HANDLE
+LINE_ALIGNMENT_NONE = _ogl.LINE_ALIGNMENT_NONE
+SHADOW_NONE = _ogl.SHADOW_NONE
+SHADOW_LEFT = _ogl.SHADOW_LEFT
+SHADOW_RIGHT = _ogl.SHADOW_RIGHT
+OP_CLICK_LEFT = _ogl.OP_CLICK_LEFT
+OP_CLICK_RIGHT = _ogl.OP_CLICK_RIGHT
+OP_DRAG_LEFT = _ogl.OP_DRAG_LEFT
+OP_DRAG_RIGHT = _ogl.OP_DRAG_RIGHT
+OP_ALL = _ogl.OP_ALL
+ATTACHMENT_MODE_NONE = _ogl.ATTACHMENT_MODE_NONE
+ATTACHMENT_MODE_EDGE = _ogl.ATTACHMENT_MODE_EDGE
+ATTACHMENT_MODE_BRANCHING = _ogl.ATTACHMENT_MODE_BRANCHING
+BRANCHING_ATTACHMENT_NORMAL = _ogl.BRANCHING_ATTACHMENT_NORMAL
+BRANCHING_ATTACHMENT_BLOB = _ogl.BRANCHING_ATTACHMENT_BLOB
+gyCONSTRAINT_CENTRED_VERTICALLY = _ogl.gyCONSTRAINT_CENTRED_VERTICALLY
+gyCONSTRAINT_CENTRED_HORIZONTALLY = _ogl.gyCONSTRAINT_CENTRED_HORIZONTALLY
+gyCONSTRAINT_CENTRED_BOTH = _ogl.gyCONSTRAINT_CENTRED_BOTH
+gyCONSTRAINT_LEFT_OF = _ogl.gyCONSTRAINT_LEFT_OF
+gyCONSTRAINT_RIGHT_OF = _ogl.gyCONSTRAINT_RIGHT_OF
+gyCONSTRAINT_ABOVE = _ogl.gyCONSTRAINT_ABOVE
+gyCONSTRAINT_BELOW = _ogl.gyCONSTRAINT_BELOW
+gyCONSTRAINT_ALIGNED_TOP = _ogl.gyCONSTRAINT_ALIGNED_TOP
+gyCONSTRAINT_ALIGNED_BOTTOM = _ogl.gyCONSTRAINT_ALIGNED_BOTTOM
+gyCONSTRAINT_ALIGNED_LEFT = _ogl.gyCONSTRAINT_ALIGNED_LEFT
+gyCONSTRAINT_ALIGNED_RIGHT = _ogl.gyCONSTRAINT_ALIGNED_RIGHT
+gyCONSTRAINT_MIDALIGNED_TOP = _ogl.gyCONSTRAINT_MIDALIGNED_TOP
+gyCONSTRAINT_MIDALIGNED_BOTTOM = _ogl.gyCONSTRAINT_MIDALIGNED_BOTTOM
+gyCONSTRAINT_MIDALIGNED_LEFT = _ogl.gyCONSTRAINT_MIDALIGNED_LEFT
+gyCONSTRAINT_MIDALIGNED_RIGHT = _ogl.gyCONSTRAINT_MIDALIGNED_RIGHT
+DIVISION_SIDE_NONE = _ogl.DIVISION_SIDE_NONE
+DIVISION_SIDE_LEFT = _ogl.DIVISION_SIDE_LEFT
+DIVISION_SIDE_TOP = _ogl.DIVISION_SIDE_TOP
+DIVISION_SIDE_RIGHT = _ogl.DIVISION_SIDE_RIGHT
+DIVISION_SIDE_BOTTOM = _ogl.DIVISION_SIDE_BOTTOM
+
+def OGLInitialize(*args, **kwargs):
+    """OGLInitialize()"""
+    return _ogl.OGLInitialize(*args, **kwargs)
+
+def OGLCleanUp(*args, **kwargs):
+    """OGLCleanUp()"""
+    return _ogl.OGLCleanUp(*args, **kwargs)
+
diff --git a/wxPython/contrib/ogl/gtk/ogl_wrap.cpp b/wxPython/contrib/ogl/gtk/ogl_wrap.cpp
new file mode 100644 (file)
index 0000000..5b40b52
--- /dev/null
@@ -0,0 +1,27764 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.20
+ * 
+ * This file is not intended to be easily readable and contains a number of 
+ * coding conventions designed to improve portability and efficiency. Do not make
+ * changes to this file unless you know what you are doing--modify the SWIG 
+ * interface file instead. 
+ * ----------------------------------------------------------------------------- */
+
+#define SWIGPYTHON
+#define SWIG_NOINCLUDE
+
+#ifdef __cplusplus
+template<class T> class SwigValueWrapper {
+    T *tt;
+public:
+    SwigValueWrapper() : tt(0) { }
+    SwigValueWrapper(const SwigValueWrapper<T>& rhs) : tt(new T(*rhs.tt)) { }
+    SwigValueWrapper(const T& t) : tt(new T(t)) { }
+    ~SwigValueWrapper() { delete tt; } 
+    SwigValueWrapper& operator=(const T& t) { delete tt; tt = new T(t); return *this; }
+    operator T&() const { return *tt; }
+    T *operator&() { return tt; }
+private:
+    SwigValueWrapper& operator=(const SwigValueWrapper<T>& rhs);
+};                                                    
+#endif
+
+
+#include "Python.h"
+
+/*************************************************************** -*- c -*-
+ * python/precommon.swg
+ *
+ * Rename all exported symbols from common.swg, to avoid symbol
+ * clashes if multiple interpreters are included
+ *
+ ************************************************************************/
+
+#define SWIG_TypeRegister    SWIG_Python_TypeRegister
+#define SWIG_TypeCheck       SWIG_Python_TypeCheck
+#define SWIG_TypeCast        SWIG_Python_TypeCast
+#define SWIG_TypeDynamicCast SWIG_Python_TypeDynamicCast
+#define SWIG_TypeName        SWIG_Python_TypeName
+#define SWIG_TypeQuery       SWIG_Python_TypeQuery
+#define SWIG_TypeClientData  SWIG_Python_TypeClientData
+
+
+/***********************************************************************
+ * common.swg for wxPython
+ *
+ * Include only the function prototypes and such from SWIG's common.swg,
+ * but not the runtime functions themselves.  This helps keep the
+ * wrapper files clean of unnecessary stuff that is in the libpy.c file
+ * anyway.
+ *
+ ************************************************************************/
+
+#include <string.h>
+
+#if defined(_WIN32) || defined(__WIN32__)
+#       if defined(_MSC_VER)
+#               if defined(STATIC_LINKED)
+#                       define SWIGEXPORT(a) a
+#                       define SWIGIMPORT(a) extern a
+#               else
+#                       define SWIGEXPORT(a) __declspec(dllexport) a
+#                       define SWIGIMPORT(a) extern a
+#               endif
+#       else
+#               if defined(__BORLANDC__)
+#                       define SWIGEXPORT(a) a _export
+#                       define SWIGIMPORT(a) a _export
+#               else
+#                       define SWIGEXPORT(a) a
+#                       define SWIGIMPORT(a) a
+#               endif
+#       endif
+#else
+#       define SWIGEXPORT(a) a
+#       define SWIGIMPORT(a) a
+#endif
+
+#ifdef SWIG_GLOBAL
+#define SWIGRUNTIME(a) SWIGEXPORT(a)
+#else
+#define SWIGRUNTIME(a) static a
+#endif
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef void *(*swig_converter_func)(void *);
+typedef struct swig_type_info *(*swig_dycast_func)(void **);
+
+typedef struct swig_type_info {
+  const char             *name;                 
+  swig_converter_func     converter;
+  const char             *str;
+  void                   *clientdata;  
+  swig_dycast_func        dcast;
+  struct swig_type_info  *next;
+  struct swig_type_info  *prev;
+} swig_type_info;
+
+
+SWIGIMPORT(swig_type_info *) SWIG_TypeRegister(swig_type_info *);
+SWIGIMPORT(swig_type_info *) SWIG_TypeCheck(char *c, swig_type_info *);
+SWIGIMPORT(void *)           SWIG_TypeCast(swig_type_info *, void *);
+SWIGIMPORT(swig_type_info *) SWIG_TypeDynamicCast(swig_type_info *, void **);
+SWIGIMPORT(const char *)     SWIG_TypeName(const swig_type_info *);
+SWIGIMPORT(swig_type_info *) SWIG_TypeQuery(const char *);
+SWIGIMPORT(void)             SWIG_TypeClientData(swig_type_info *, void *);
+
+
+#ifdef __cplusplus
+}
+
+#endif
+
+/***********************************************************************
+ * pyrun.swg for wxPython
+ *
+ * Include only the function prototypes and such from SWIG's pyrun.swg,
+ * but not the runtime functions themselves.  This helps keep the
+ * wrapper files clean of unnecessary stuff that is in the libpy.c file
+ * anyway.
+ *
+ ************************************************************************/
+
+
+#include "Python.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define SWIG_PY_INT     1
+#define SWIG_PY_FLOAT   2
+#define SWIG_PY_STRING  3
+#define SWIG_PY_POINTER 4
+#define SWIG_PY_BINARY  5
+
+/* Flags for pointer conversion */
+
+#define SWIG_POINTER_EXCEPTION     0x1
+#define SWIG_POINTER_DISOWN        0x2
+
+/* Exception handling in wrappers */
+#define SWIG_fail   goto fail
+
+/* Constant information structure */
+typedef struct swig_const_info {
+    int type;
+    char *name;
+    long lvalue;
+    double dvalue;
+    void   *pvalue;
+    swig_type_info **ptype;
+} swig_const_info;
+
+
+
+/* Common SWIG API */
+#define SWIG_ConvertPtr(obj, pp, type, flags) \
+  SWIG_Python_ConvertPtr(obj, pp, type, flags)
+#define SWIG_NewPointerObj(p, type, flags) \
+  SWIG_Python_NewPointerObj(p, type, flags)
+#define SWIG_MustGetPtr(p, type, argnum, flags) \
+  SWIG_Python_MustGetPtr(p, type, argnum, flags)
+
+/* Python-specific SWIG API */
+#define SWIG_newvarlink() \
+  SWIG_Python_newvarlink()
+#define SWIG_addvarlink(p, name, get_attr, set_attr) \
+  SWIG_Python_addvarlink(p, name, get_attr, set_attr)
+#define SWIG_ConvertPacked(obj, ptr, sz, ty, flags) \
+  SWIG_Python_ConvertPacked(obj, ptr, sz, ty, flags)
+#define SWIG_PackData(c, ptr, sz) \
+  SWIG_Python_PackData(c, ptr, sz)
+#define SWIG_UnpackData(c, ptr, sz) \
+  SWIG_Python_UnpackData(c, ptr, sz)
+#define SWIG_NewPackedObj(ptr, sz, type) \
+  SWIG_Python_NewPackedObj(ptr, sz, type)
+#define SWIG_InstallConstants(d, constants) \
+  SWIG_Python_InstallConstants(d, constants)
+
+
+SWIGEXPORT(int)               SWIG_Python_ConvertPtr(PyObject *, void **, swig_type_info *, int);
+SWIGEXPORT(PyObject *)        SWIG_Python_NewPointerObj(void *, swig_type_info *,int own);
+SWIGEXPORT(void *)           SWIG_Python_MustGetPtr(PyObject *, swig_type_info *, int, int);
+
+SWIGEXPORT(PyObject *)        SWIG_Python_newvarlink(void);
+SWIGEXPORT(void)              SWIG_Python_addvarlink(PyObject *, char *, PyObject *(*)(void), int (*)(PyObject *));
+SWIGEXPORT(int)               SWIG_Python_ConvertPacked(PyObject *, void *, int sz, swig_type_info *, int);
+SWIGEXPORT(char *)            SWIG_Python_PackData(char *c, void *, int);
+SWIGEXPORT(char *)            SWIG_Python_UnpackData(char *c, void *, int);
+SWIGEXPORT(PyObject *)        SWIG_Python_NewPackedObj(void *, int sz, swig_type_info *);
+SWIGEXPORT(void)              SWIG_Python_InstallConstants(PyObject *d, swig_const_info constants[]);
+
+
+/* Contract support */
+
+#define SWIG_contract_assert(expr, msg) if (!(expr)) { PyErr_SetString(PyExc_RuntimeError, (char *) msg ); goto fail; } else
+
+
+#ifdef __cplusplus
+}
+#endif
+
+
+
+/* -------- TYPES TABLE (BEGIN) -------- */
+
+#define  SWIGTYPE_p_wxOGLConstraint swig_types[0] 
+#define  SWIGTYPE_p_wxBrush swig_types[1] 
+#define  SWIGTYPE_p_wxColour swig_types[2] 
+#define  SWIGTYPE_p_wxShapeRegion swig_types[3] 
+#define  SWIGTYPE_p_wxDC swig_types[4] 
+#define  SWIGTYPE_p_wxRealPoint swig_types[5] 
+#define  SWIGTYPE_p_wxPyControlPoint swig_types[6] 
+#define  SWIGTYPE_p_wxArrowHead swig_types[7] 
+#define  SWIGTYPE_p_wxStringList swig_types[8] 
+#define  SWIGTYPE_p_wxPanel swig_types[9] 
+#define  SWIGTYPE_p_bool swig_types[10] 
+#define  SWIGTYPE_p_wxList swig_types[11] 
+#define  SWIGTYPE_p_wxFont swig_types[12] 
+#define  SWIGTYPE_p_wxScrolledWindow swig_types[13] 
+#define  SWIGTYPE_p_wxWindow swig_types[14] 
+#define  SWIGTYPE_p_double swig_types[15] 
+#define  SWIGTYPE_p_wxPyDivisionShape swig_types[16] 
+#define  SWIGTYPE_p_wxPyDrawnShape swig_types[17] 
+#define  SWIGTYPE_p_wxPyPolygonShape swig_types[18] 
+#define  SWIGTYPE_p_wxBitmap swig_types[19] 
+#define  SWIGTYPE_p_wxObject swig_types[20] 
+#define  SWIGTYPE_p_wxPyBitmapShape swig_types[21] 
+#define  SWIGTYPE_p_wxString swig_types[22] 
+#define  SWIGTYPE_p_wxPyShapeEvtHandler swig_types[23] 
+#define  SWIGTYPE_p_wxEvtHandler swig_types[24] 
+#define  SWIGTYPE_p_wxPyEllipseShape swig_types[25] 
+#define  SWIGTYPE_p_wxPyShapeCanvas swig_types[26] 
+#define  SWIGTYPE_p_wxPoint swig_types[27] 
+#define  SWIGTYPE_p_wxDiagram swig_types[28] 
+#define  SWIGTYPE_p_wxPyShape swig_types[29] 
+#define  SWIGTYPE_p_wxClassInfo swig_types[30] 
+#define  SWIGTYPE_p_wxPyLineShape swig_types[31] 
+#define  SWIGTYPE_p_wxPyRectangleShape swig_types[32] 
+#define  SWIGTYPE_p_wxPyCompositeShape swig_types[33] 
+#define  SWIGTYPE_p_wxPyCircleShape swig_types[34] 
+#define  SWIGTYPE_p_wxPen swig_types[35] 
+#define  SWIGTYPE_p_int swig_types[36] 
+#define  SWIGTYPE_p_wxPseudoMetaFile swig_types[37] 
+#define  SWIGTYPE_p_wxPyTextShape swig_types[38] 
+#define  SWIGTYPE_p_wxPyDividedShape swig_types[39] 
+static swig_type_info *swig_types[41];
+
+/* -------- TYPES TABLE (END) -------- */
+
+
+/*-----------------------------------------------
+              @(target):= _ogl.so
+  ------------------------------------------------*/
+#define SWIG_init    init_ogl
+
+#define SWIG_name    "_ogl"
+
+#include "wx/wxPython/wxPython.h"
+#include "wx/wxPython/pyclasses.h"
+#include "oglhelpers.h"
+
+
+    static const wxString wxPyEmptyString(wxT(""));
+
+
+static PyObject* t_output_helper(PyObject* target, PyObject* o) {
+    PyObject*   o2;
+    PyObject*   o3;
+
+    if (!target) {                   
+        target = o;
+    } else if (target == Py_None) {  
+        Py_DECREF(Py_None);
+        target = o;
+    } else {                         
+        if (!PyTuple_Check(target)) {
+            o2 = target;
+            target = PyTuple_New(1);
+            PyTuple_SetItem(target, 0, o2);
+        }
+        o3 = PyTuple_New(1);            
+        PyTuple_SetItem(o3, 0, o);      
+
+        o2 = target;
+        target = PySequence_Concat(o2, o3); 
+        Py_DECREF(o2);                      
+        Py_DECREF(o3);
+    }
+    return target;
+}
+
+
+    WXSHAPE_IMP_CALLBACKS(wxPyShapeEvtHandler,wxShapeEvtHandler);
+
+void wxPyShapeEvtHandler__setOORInfo(wxPyShapeEvtHandler *self,PyObject *_self){
+            self->SetClientObject(new wxPyOORClientData(_self));
+        }
+
+    WXSHAPE_IMP_CALLBACKS(wxPyShape, wxShape);
+
+PyObject *wxPyShape_GetChildren(wxPyShape *self){
+            wxList& list = self->GetChildren();
+            return wxPy_ConvertShapeList(&list);
+        }
+PyObject *wxPyShape_GetLines(wxPyShape *self){
+            wxList& list = self->GetLines();
+            return wxPy_ConvertShapeList(&list);
+        }
+PyObject *wxPyShape_GetRegions(wxPyShape *self){
+            wxList& list = self->GetRegions();
+            return wxPy_ConvertList(&list);
+        }
+void wxPyShape_ApplyAttachmentOrdering(wxPyShape *self,PyObject *linesToSort){
+            wxList* list = wxPy_wxListHelper(linesToSort, wxT("wxPyLineShape"));
+            self->ApplyAttachmentOrdering(*list);
+            delete list;
+        }
+
+// Using this macro can sometimes provoke an Internal Compiler Error in MSVC
+// 6, so instead I'l just expand it out by hand...
+//    WXSHAPE_IMP_CALLBACKS(wxPyRectangleShape, wxRectangleShape);
+
+    IMP_PYCALLBACK__                (wxPyRectangleShape, wxRectangleShape,  OnDelete);
+    IMP_PYCALLBACK__DC              (wxPyRectangleShape, wxRectangleShape,  OnDraw);
+    IMP_PYCALLBACK__DC              (wxPyRectangleShape, wxRectangleShape,  OnDrawContents);
+    IMP_PYCALLBACK__DCBOOL          (wxPyRectangleShape, wxRectangleShape,  OnDrawBranches);
+    IMP_PYCALLBACK__DC              (wxPyRectangleShape, wxRectangleShape,  OnMoveLinks);
+    IMP_PYCALLBACK__DC              (wxPyRectangleShape, wxRectangleShape,  OnErase);
+    IMP_PYCALLBACK__DC              (wxPyRectangleShape, wxRectangleShape,  OnEraseContents);
+    IMP_PYCALLBACK__DC              (wxPyRectangleShape, wxRectangleShape,  OnHighlight);
+    IMP_PYCALLBACK__2DBL2INT        (wxPyRectangleShape, wxRectangleShape,  OnLeftClick);
+    IMP_PYCALLBACK__2DBL2INT        (wxPyRectangleShape, wxRectangleShape,  OnLeftDoubleClick);
+    IMP_PYCALLBACK__2DBL2INT        (wxPyRectangleShape, wxRectangleShape,  OnRightClick);
+    IMP_PYCALLBACK__2DBL            (wxPyRectangleShape, wxRectangleShape,  OnSize);
+    IMP_PYCALLBACK_BOOL_DC4DBLBOOL  (wxPyRectangleShape, wxRectangleShape,  OnMovePre);
+    IMP_PYCALLBACK__DC4DBLBOOL      (wxPyRectangleShape, wxRectangleShape,  OnMovePost);
+    IMP_PYCALLBACK__BOOL2DBL2INT    (wxPyRectangleShape, wxRectangleShape,  OnDragLeft);
+    IMP_PYCALLBACK__2DBL2INT        (wxPyRectangleShape, wxRectangleShape,  OnBeginDragLeft);
+    IMP_PYCALLBACK__2DBL2INT        (wxPyRectangleShape, wxRectangleShape,  OnEndDragLeft);
+    IMP_PYCALLBACK__BOOL2DBL2INT    (wxPyRectangleShape, wxRectangleShape,  OnDragRight);
+    IMP_PYCALLBACK__2DBL2INT        (wxPyRectangleShape, wxRectangleShape,  OnBeginDragRight);
+    IMP_PYCALLBACK__2DBL2INT        (wxPyRectangleShape, wxRectangleShape,  OnEndDragRight);
+    IMP_PYCALLBACK__DC4DBL          (wxPyRectangleShape, wxRectangleShape,  OnDrawOutline);
+    IMP_PYCALLBACK__DC              (wxPyRectangleShape, wxRectangleShape,  OnDrawControlPoints);
+    IMP_PYCALLBACK__DC              (wxPyRectangleShape, wxRectangleShape,  OnEraseControlPoints);
+    IMP_PYCALLBACK__DCBOOL          (wxPyRectangleShape, wxRectangleShape,  OnMoveLink);
+    IMP_PYCALLBACK__WXCPBOOL2DBL2INT(wxPyRectangleShape, wxRectangleShape,  OnSizingDragLeft);
+    IMP_PYCALLBACK__WXCP2DBL2INT    (wxPyRectangleShape, wxRectangleShape,  OnSizingBeginDragLeft);
+    IMP_PYCALLBACK__WXCP2DBL2INT    (wxPyRectangleShape, wxRectangleShape,  OnSizingEndDragLeft);
+    IMP_PYCALLBACK__2DBL            (wxPyRectangleShape, wxRectangleShape,  OnBeginSize);
+    IMP_PYCALLBACK__2DBL            (wxPyRectangleShape, wxRectangleShape,  OnEndSize)
+        
+
+
+    WXSHAPE_IMP_CALLBACKS(wxPyControlPoint, wxControlPoint);
+
+
+    WXSHAPE_IMP_CALLBACKS(wxPyBitmapShape, wxBitmapShape);
+
+
+    WXSHAPE_IMP_CALLBACKS(wxPyDrawnShape, wxDrawnShape);
+
+wxOGLConstraint *new_wxOGLConstraint(int type,wxPyShape *constraining,PyObject *constrained){
+            wxList* list = wxPy_wxListHelper(constrained, wxT("wxPyShape"));
+            wxOGLConstraint* rv = new wxOGLConstraint(type, constraining, *list);
+            delete list;
+            return rv;
+        }
+
+    WXSHAPE_IMP_CALLBACKS(wxPyCompositeShape, wxCompositeShape);
+
+wxOGLConstraint *wxPyCompositeShape_AddConstrainedShapes(wxPyCompositeShape *self,int type,wxPyShape *constraining,PyObject *constrained){
+            wxList* list = wxPy_wxListHelper(constrained, wxT("wxPyShape"));
+            wxOGLConstraint* rv = self->AddConstraint(type, constraining, *list);
+            delete list;
+            return rv;
+        }
+PyObject *wxPyCompositeShape_GetConstraints(wxPyCompositeShape *self){
+            wxList& list = self->GetConstraints();
+            return wxPy_ConvertList(&list);
+        }
+PyObject *wxPyCompositeShape_GetDivisions(wxPyCompositeShape *self){
+            wxList& list = self->GetDivisions();
+            return wxPy_ConvertShapeList(&list);
+        }
+
+    WXSHAPE_IMP_CALLBACKS(wxPyDividedShape, wxDividedShape);
+
+
+    WXSHAPE_IMP_CALLBACKS(wxPyDivisionShape, wxDivisionShape);
+
+
+    WXSHAPE_IMP_CALLBACKS(wxPyEllipseShape, wxEllipseShape);
+
+
+    WXSHAPE_IMP_CALLBACKS(wxPyCircleShape, wxCircleShape);
+
+
+    WXSHAPE_IMP_CALLBACKS(wxPyLineShape, wxLineShape);
+
+void wxPyLineShape_AddArrowOrdered(wxPyLineShape *self,wxArrowHead *arrow,PyObject *referenceList,int end){
+            wxList* list = wxPy_wxListHelper(referenceList, wxT("wxArrowHead"));
+            self->AddArrowOrdered(arrow, *list, end);
+            delete list;
+        }
+PyObject *wxPyLineShape_GetLineControlPoints(wxPyLineShape *self){
+            wxList* list = self->GetLineControlPoints();
+            return wxPy_ConvertShapeList(list);
+        }
+
+    WXSHAPE_IMP_CALLBACKS(wxPyPolygonShape, wxPolygonShape);
+
+PyObject *wxPyPolygonShape_Create(wxPyPolygonShape *self,PyObject *points){
+            wxList* list = wxPy_wxRealPoint_ListHelper(points);
+            if (list) {
+                self->Create(list);
+                Py_INCREF(Py_None);
+                return Py_None;
+            }
+            else return NULL;
+        }
+PyObject *wxPyPolygonShape_GetPoints(wxPyPolygonShape *self){
+            wxList* list = self->GetPoints();
+            PyObject*   pyList;
+            PyObject*   pyObj;
+            wxObject*   wxObj;
+            wxNode*     node = list->GetFirst();
+
+            wxPyBeginBlockThreads();
+            pyList = PyList_New(0);
+            while (node) {
+                wxObj = node->GetData();
+                pyObj = wxPyConstructObject(wxObj, wxT("wxRealPoint"), 0);
+                PyList_Append(pyList, pyObj);
+                node = node->GetNext();
+            }
+            wxPyEndBlockThreads();
+            return pyList;
+        }
+
+    WXSHAPE_IMP_CALLBACKS(wxPyTextShape, wxTextShape);
+
+
+    // Put some wx default wxChar* values into wxStrings.
+    DECLARE_DEF_STRING(ShapeCanvasNameStr);
+
+PyObject *wxDiagram_GetShapeList(wxDiagram *self){
+            wxList* list = self->GetShapeList();
+            return wxPy_ConvertShapeList(list);
+        }
+
+    IMP_PYCALLBACK__2DBLINT(wxPyShapeCanvas, wxShapeCanvas, OnBeginDragLeft);
+    IMP_PYCALLBACK__2DBLINT(wxPyShapeCanvas, wxShapeCanvas, OnBeginDragRight);
+    IMP_PYCALLBACK__2DBLINT(wxPyShapeCanvas, wxShapeCanvas, OnEndDragLeft);
+    IMP_PYCALLBACK__2DBLINT(wxPyShapeCanvas, wxShapeCanvas, OnEndDragRight);
+    IMP_PYCALLBACK__BOOL2DBLINT(wxPyShapeCanvas, wxShapeCanvas, OnDragLeft);
+    IMP_PYCALLBACK__BOOL2DBLINT(wxPyShapeCanvas, wxShapeCanvas, OnDragRight);
+    IMP_PYCALLBACK__2DBLINT(wxPyShapeCanvas, wxShapeCanvas, OnLeftClick);
+    IMP_PYCALLBACK__2DBLINT(wxPyShapeCanvas, wxShapeCanvas, OnRightClick);
+
+
+//---------------------------------------------------------------------------
+
+// Convert from a Python list to a list of className objects.  This one will
+// work for any class for the VERY generic cases, but beyond that the helper
+// needs to know more about the type.
+wxList* wxPy_wxListHelper(PyObject* pyList, const wxChar* className) {
+    wxPyBeginBlockThreads();
+    if (!PyList_Check(pyList)) {
+        PyErr_SetString(PyExc_TypeError, "Expected a list object.");
+        wxPyEndBlockThreads();
+        return NULL;
+    }
+    int count = PyList_Size(pyList);
+    wxList* list = new wxList;
+    if (! list) {
+        PyErr_SetString(PyExc_MemoryError, "Unable to allocate wxList object");
+        wxPyEndBlockThreads();
+        return NULL;
+    }
+    for (int x=0; x<count; x++) {
+        PyObject* pyo = PyList_GetItem(pyList, x);
+        wxObject* wxo = NULL;
+
+        if ( !wxPyConvertSwigPtr(pyo, (void **)&wxo, className) ) {
+            wxString errmsg;
+            errmsg.Printf(wxT("Type error, expected list of %s objects"), className);
+            PyErr_SetString(PyExc_TypeError, errmsg.mb_str());
+            wxPyEndBlockThreads();
+            return NULL;
+        }
+        list->Append(wxo);
+    }
+    wxPyEndBlockThreads();
+    return list;
+}
+
+//---------------------------------------------------------------------------
+
+wxList* wxPy_wxRealPoint_ListHelper(PyObject* pyList) {
+    wxPyBeginBlockThreads();
+    if (!PyList_Check(pyList)) {
+        PyErr_SetString(PyExc_TypeError, "Expected a list object.");
+        wxPyEndBlockThreads();
+        return NULL;
+    }
+    int count = PyList_Size(pyList);
+    wxList* list = new wxList;
+    if (! list) {
+        PyErr_SetString(PyExc_MemoryError, "Unable to allocate wxList object");
+        wxPyEndBlockThreads();
+        return NULL;
+    }
+    for (int x=0; x<count; x++) {
+        PyObject* pyo = PyList_GetItem(pyList, x);
+
+        if (PyTuple_Check(pyo)) {
+            PyObject* o1 = PyNumber_Float(PyTuple_GetItem(pyo, 0));
+            PyObject* o2 = PyNumber_Float(PyTuple_GetItem(pyo, 1));
+
+            double val1 = (o1 ? PyFloat_AsDouble(o1) : 0.0);
+            double val2 = (o2 ? PyFloat_AsDouble(o2) : 0.0);
+
+            list->Append((wxObject*) new wxRealPoint(val1, val2));
+
+        } else {
+            wxRealPoint* wxo = NULL;
+            if (wxPyConvertSwigPtr(pyo, (void **)&wxo, wxT("wxRealPoint"))) {
+                PyErr_SetString(PyExc_TypeError, "Type error, expected list of wxRealPoint objects or 2-tuples");
+                wxPyEndBlockThreads();
+                return NULL;
+            }
+            list->Append((wxObject*) new wxRealPoint(*wxo));
+        }
+    }
+    wxPyEndBlockThreads();
+    return list;
+}
+
+//---------------------------------------------------------------------------
+
+PyObject*  wxPyMake_wxShapeEvtHandler(wxShapeEvtHandler* source) {
+    PyObject* target = NULL;
+
+    if (source && wxIsKindOf(source, wxShapeEvtHandler)) {
+        // If it's derived from wxShapeEvtHandler then there may
+        // already be a pointer to a Python object that we can use
+        // in the OOR data.
+        wxShapeEvtHandler* seh = (wxShapeEvtHandler*)source;
+        wxPyOORClientData* data = (wxPyOORClientData*)seh->GetClientObject();
+        if (data) {
+            target = data->m_obj;
+            Py_INCREF(target);
+        }
+    }
+    if (! target) {
+        target = wxPyMake_wxObject2(source, FALSE);
+        if (target != Py_None)
+            ((wxShapeEvtHandler*)source)->SetClientObject(new wxPyOORClientData(target));
+    }
+    return target;
+}
+
+//---------------------------------------------------------------------------
+
+PyObject* wxPy_ConvertShapeList(wxListBase* listbase) {
+    wxList*     list = (wxList*)listbase;
+    PyObject*   pyList;
+    PyObject*   pyObj;
+    wxObject*   wxObj;
+    wxNode*     node = list->GetFirst();
+
+    wxPyBeginBlockThreads();
+    pyList = PyList_New(0);
+    while (node) {
+        wxObj = node->GetData();
+        pyObj = wxPyMake_wxShapeEvtHandler((wxShapeEvtHandler*)wxObj);
+        PyList_Append(pyList, pyObj);
+        node = node->GetNext();
+    }
+    wxPyEndBlockThreads();
+    return pyList;
+}
+
+
+//---------------------------------------------------------------------------
+
+IMPLEMENT_DYNAMIC_CLASS(wxPyShapeCanvas, wxShapeCanvas);
+IMPLEMENT_DYNAMIC_CLASS(wxPyShapeEvtHandler, wxShapeEvtHandler);
+IMPLEMENT_ABSTRACT_CLASS(wxPyShape, wxShape);
+IMPLEMENT_DYNAMIC_CLASS(wxPyRectangleShape, wxRectangleShape);
+IMPLEMENT_DYNAMIC_CLASS(wxPyControlPoint, wxControlPoint);
+IMPLEMENT_DYNAMIC_CLASS(wxPyBitmapShape, wxBitmapShape);
+IMPLEMENT_DYNAMIC_CLASS(wxPyDrawnShape, wxDrawnShape);
+IMPLEMENT_DYNAMIC_CLASS(wxPyCompositeShape, wxCompositeShape);
+IMPLEMENT_DYNAMIC_CLASS(wxPyDividedShape, wxDividedShape);
+IMPLEMENT_DYNAMIC_CLASS(wxPyDivisionShape, wxDivisionShape);
+IMPLEMENT_DYNAMIC_CLASS(wxPyEllipseShape, wxEllipseShape);
+IMPLEMENT_DYNAMIC_CLASS(wxPyCircleShape, wxCircleShape);
+IMPLEMENT_DYNAMIC_CLASS(wxPyLineShape, wxLineShape);
+IMPLEMENT_DYNAMIC_CLASS(wxPyPolygonShape, wxPolygonShape);
+IMPLEMENT_DYNAMIC_CLASS(wxPyTextShape, wxTextShape);
+
+//---------------------------------------------------------------------------
+
+// extern "C" SWIGEXPORT(void) initoglbasicc();
+// extern "C" SWIGEXPORT(void) initoglshapesc();
+// extern "C" SWIGEXPORT(void) initoglshapes2c();
+// extern "C" SWIGEXPORT(void) initoglcanvasc();
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+static PyObject *_wrap_new_ShapeRegion(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxShapeRegion *result;
+    char *kwnames[] = {
+        NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)":new_ShapeRegion",kwnames)) goto fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxShapeRegion *)new wxShapeRegion();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxShapeRegion, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ShapeRegion_SetText(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxShapeRegion *arg1 = (wxShapeRegion *) 0 ;
+    wxString *arg2 = 0 ;
+    bool temp2 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "s", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:ShapeRegion_SetText",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxShapeRegion,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = wxString_in_helper(obj1);
+        if (arg2 == NULL) SWIG_fail;
+        temp2 = True;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetText((wxString const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_ShapeRegion_SetFont(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxShapeRegion *arg1 = (wxShapeRegion *) 0 ;
+    wxFont *arg2 = (wxFont *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "f", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:ShapeRegion_SetFont",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxShapeRegion,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        wxFont* temp;
+        if (obj1) {
+            if (obj1 == Py_None) {
+                temp = NULL; 
+            }
+            else if (! wxPyConvertSwigPtr(obj1, (void **) &temp, wxT("wxFont"))) {
+                PyErr_SetString(PyExc_TypeError, "Type error, expected wxFont.");
+                return NULL;
+            }
+        }
+        if (temp)
+        arg2 = wxTheFontList->FindOrCreateFont(temp->GetPointSize(),
+        temp->GetFamily(),
+        temp->GetStyle(),
+        temp->GetWeight(),
+        temp->GetUnderlined(),
+        temp->GetFaceName(),
+        temp->GetEncoding());
+        else
+        arg2 = NULL;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetFont(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ShapeRegion_SetMinSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxShapeRegion *arg1 = (wxShapeRegion *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:ShapeRegion_SetMinSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxShapeRegion,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetMinSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ShapeRegion_SetSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxShapeRegion *arg1 = (wxShapeRegion *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:ShapeRegion_SetSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxShapeRegion,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ShapeRegion_SetPosition(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxShapeRegion *arg1 = (wxShapeRegion *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:ShapeRegion_SetPosition",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxShapeRegion,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetPosition(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ShapeRegion_SetProportions(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxShapeRegion *arg1 = (wxShapeRegion *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:ShapeRegion_SetProportions",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxShapeRegion,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetProportions(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ShapeRegion_SetFormatMode(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxShapeRegion *arg1 = (wxShapeRegion *) 0 ;
+    int arg2 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "mode", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:ShapeRegion_SetFormatMode",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxShapeRegion,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetFormatMode(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ShapeRegion_SetName(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxShapeRegion *arg1 = (wxShapeRegion *) 0 ;
+    wxString *arg2 = 0 ;
+    bool temp2 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "s", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:ShapeRegion_SetName",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxShapeRegion,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = wxString_in_helper(obj1);
+        if (arg2 == NULL) SWIG_fail;
+        temp2 = True;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetName((wxString const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_ShapeRegion_SetColour(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxShapeRegion *arg1 = (wxShapeRegion *) 0 ;
+    wxString *arg2 = 0 ;
+    bool temp2 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "col", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:ShapeRegion_SetColour",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxShapeRegion,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = wxString_in_helper(obj1);
+        if (arg2 == NULL) SWIG_fail;
+        temp2 = True;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetColour((wxString const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_ShapeRegion_GetText(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxShapeRegion *arg1 = (wxShapeRegion *) 0 ;
+    wxString result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:ShapeRegion_GetText",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxShapeRegion,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (arg1)->GetText();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+#if wxUSE_UNICODE
+        resultobj = PyUnicode_FromWideChar((&result)->c_str(), (&result)->Len());
+#else
+        resultobj = PyString_FromStringAndSize((&result)->c_str(), (&result)->Len());
+#endif
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ShapeRegion_GetFont(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxShapeRegion *arg1 = (wxShapeRegion *) 0 ;
+    wxFont *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:ShapeRegion_GetFont",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxShapeRegion,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxFont *)(arg1)->GetFont();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxFont, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ShapeRegion_GetMinSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxShapeRegion *arg1 = (wxShapeRegion *) 0 ;
+    double *arg2 = (double *) 0 ;
+    double *arg3 = (double *) 0 ;
+    double temp2 ;
+    double temp3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    arg2 = &temp2;
+    arg3 = &temp3;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:ShapeRegion_GetMinSize",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxShapeRegion,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->GetMinSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        PyObject *o = PyFloat_FromDouble((double) (*arg2));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    {
+        PyObject *o = PyFloat_FromDouble((double) (*arg3));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ShapeRegion_GetProportion(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxShapeRegion *arg1 = (wxShapeRegion *) 0 ;
+    double *arg2 = (double *) 0 ;
+    double *arg3 = (double *) 0 ;
+    double temp2 ;
+    double temp3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    arg2 = &temp2;
+    arg3 = &temp3;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:ShapeRegion_GetProportion",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxShapeRegion,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->GetProportion(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        PyObject *o = PyFloat_FromDouble((double) (*arg2));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    {
+        PyObject *o = PyFloat_FromDouble((double) (*arg3));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ShapeRegion_GetSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxShapeRegion *arg1 = (wxShapeRegion *) 0 ;
+    double *arg2 = (double *) 0 ;
+    double *arg3 = (double *) 0 ;
+    double temp2 ;
+    double temp3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    arg2 = &temp2;
+    arg3 = &temp3;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:ShapeRegion_GetSize",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxShapeRegion,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->GetSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        PyObject *o = PyFloat_FromDouble((double) (*arg2));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    {
+        PyObject *o = PyFloat_FromDouble((double) (*arg3));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ShapeRegion_GetPosition(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxShapeRegion *arg1 = (wxShapeRegion *) 0 ;
+    double *arg2 = (double *) 0 ;
+    double *arg3 = (double *) 0 ;
+    double temp2 ;
+    double temp3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    arg2 = &temp2;
+    arg3 = &temp3;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:ShapeRegion_GetPosition",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxShapeRegion,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->GetPosition(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        PyObject *o = PyFloat_FromDouble((double) (*arg2));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    {
+        PyObject *o = PyFloat_FromDouble((double) (*arg3));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ShapeRegion_GetFormatMode(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxShapeRegion *arg1 = (wxShapeRegion *) 0 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:ShapeRegion_GetFormatMode",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxShapeRegion,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)(arg1)->GetFormatMode();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ShapeRegion_GetName(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxShapeRegion *arg1 = (wxShapeRegion *) 0 ;
+    wxString result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:ShapeRegion_GetName",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxShapeRegion,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (arg1)->GetName();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+#if wxUSE_UNICODE
+        resultobj = PyUnicode_FromWideChar((&result)->c_str(), (&result)->Len());
+#else
+        resultobj = PyString_FromStringAndSize((&result)->c_str(), (&result)->Len());
+#endif
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ShapeRegion_GetColour(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxShapeRegion *arg1 = (wxShapeRegion *) 0 ;
+    wxString result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:ShapeRegion_GetColour",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxShapeRegion,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (arg1)->GetColour();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+#if wxUSE_UNICODE
+        resultobj = PyUnicode_FromWideChar((&result)->c_str(), (&result)->Len());
+#else
+        resultobj = PyString_FromStringAndSize((&result)->c_str(), (&result)->Len());
+#endif
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ShapeRegion_GetActualColourObject(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxShapeRegion *arg1 = (wxShapeRegion *) 0 ;
+    wxColour *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:ShapeRegion_GetActualColourObject",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxShapeRegion,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxColour *)(arg1)->GetActualColourObject();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxColour, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ShapeRegion_GetFormattedText(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxShapeRegion *arg1 = (wxShapeRegion *) 0 ;
+    wxList *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:ShapeRegion_GetFormattedText",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxShapeRegion,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        {
+            wxList &_result_ref = (arg1)->GetFormattedText();
+            result = (wxList *) &_result_ref;
+        }
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxList, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ShapeRegion_GetPenColour(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxShapeRegion *arg1 = (wxShapeRegion *) 0 ;
+    wxString result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:ShapeRegion_GetPenColour",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxShapeRegion,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (arg1)->GetPenColour();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+#if wxUSE_UNICODE
+        resultobj = PyUnicode_FromWideChar((&result)->c_str(), (&result)->Len());
+#else
+        resultobj = PyString_FromStringAndSize((&result)->c_str(), (&result)->Len());
+#endif
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ShapeRegion_GetPenStyle(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxShapeRegion *arg1 = (wxShapeRegion *) 0 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:ShapeRegion_GetPenStyle",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxShapeRegion,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)(arg1)->GetPenStyle();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ShapeRegion_SetPenStyle(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxShapeRegion *arg1 = (wxShapeRegion *) 0 ;
+    int arg2 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "style", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:ShapeRegion_SetPenStyle",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxShapeRegion,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetPenStyle(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ShapeRegion_SetPenColour(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxShapeRegion *arg1 = (wxShapeRegion *) 0 ;
+    wxString *arg2 = 0 ;
+    bool temp2 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "col", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:ShapeRegion_SetPenColour",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxShapeRegion,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = wxString_in_helper(obj1);
+        if (arg2 == NULL) SWIG_fail;
+        temp2 = True;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetPenColour((wxString const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_ShapeRegion_GetActualPen(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxShapeRegion *arg1 = (wxShapeRegion *) 0 ;
+    wxPen *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:ShapeRegion_GetActualPen",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxShapeRegion,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPen *)(arg1)->GetActualPen();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxPen, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ShapeRegion_GetWidth(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxShapeRegion *arg1 = (wxShapeRegion *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:ShapeRegion_GetWidth",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxShapeRegion,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (double)(arg1)->GetWidth();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyFloat_FromDouble(result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ShapeRegion_GetHeight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxShapeRegion *arg1 = (wxShapeRegion *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:ShapeRegion_GetHeight",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxShapeRegion,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (double)(arg1)->GetHeight();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyFloat_FromDouble(result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ShapeRegion_ClearText(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxShapeRegion *arg1 = (wxShapeRegion *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:ShapeRegion_ClearText",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxShapeRegion,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->ClearText();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * ShapeRegion_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_wxShapeRegion, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_PyShapeEvtHandler(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) NULL ;
+    wxPyShape *arg2 = (wxPyShape *) NULL ;
+    wxPyShapeEvtHandler *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "prev",(char *) "shape", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"|OO:new_PyShapeEvtHandler",kwnames,&obj0,&obj1)) goto fail;
+    if (obj0) {
+        if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    }
+    if (obj1) {
+        if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyShapeEvtHandler *)new wxPyShapeEvtHandler(arg1,arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxShapeEvtHandler(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler__setCallbackInfo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    PyObject *arg2 = (PyObject *) 0 ;
+    PyObject *arg3 = (PyObject *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "self",(char *) "_class", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:PyShapeEvtHandler__setCallbackInfo",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = obj1;
+    arg3 = obj2;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->_setCallbackInfo(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler__setOORInfo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    PyObject *arg2 = (PyObject *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "_self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShapeEvtHandler__setOORInfo",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = obj1;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        wxPyShapeEvtHandler__setOORInfo(arg1,arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_SetShape(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    wxPyShape *arg2 = (wxPyShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "sh", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShapeEvtHandler_SetShape",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetShape(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_GetShape(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    wxPyShape *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShapeEvtHandler_GetShape",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyShape *)(arg1)->GetShape();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxShapeEvtHandler(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_SetPreviousHandler(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    wxPyShapeEvtHandler *arg2 = (wxPyShapeEvtHandler *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "handler", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShapeEvtHandler_SetPreviousHandler",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetPreviousHandler(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_GetPreviousHandler(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    wxPyShapeEvtHandler *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShapeEvtHandler_GetPreviousHandler",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyShapeEvtHandler *)(arg1)->GetPreviousHandler();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxShapeEvtHandler(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_CreateNewCopy(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    wxPyShapeEvtHandler *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShapeEvtHandler_CreateNewCopy",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyShapeEvtHandler *)(arg1)->CreateNewCopy();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxShapeEvtHandler(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_base_OnDelete(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShapeEvtHandler_base_OnDelete",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDelete();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_base_OnDraw(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShapeEvtHandler_base_OnDraw",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDraw(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_base_OnDrawContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShapeEvtHandler_base_OnDrawContents",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawContents(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_base_OnDrawBranches(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    wxDC *arg2 = 0 ;
+    bool arg3 = (bool) False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "erase", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyShapeEvtHandler_base_OnDrawBranches",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawBranches(*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_base_OnMoveLinks(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShapeEvtHandler_base_OnMoveLinks",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMoveLinks(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_base_OnErase(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShapeEvtHandler_base_OnErase",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnErase(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_base_OnEraseContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShapeEvtHandler_base_OnEraseContents",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEraseContents(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_base_OnHighlight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShapeEvtHandler_base_OnHighlight",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnHighlight(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_base_OnLeftClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyShapeEvtHandler_base_OnLeftClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnLeftClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_base_OnLeftDoubleClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyShapeEvtHandler_base_OnLeftDoubleClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnLeftDoubleClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_base_OnRightClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyShapeEvtHandler_base_OnRightClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnRightClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_base_OnSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyShapeEvtHandler_base_OnSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_base_OnMovePre(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    bool arg7 = (bool) True ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "old_x",(char *) "old_y",(char *) "display", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd|O:PyShapeEvtHandler_base_OnMovePre",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6,&obj6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj6) {
+        arg7 = PyInt_AsLong(obj6) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->base_OnMovePre(*arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_base_OnMovePost(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    bool arg7 = (bool) True ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "old_x",(char *) "old_y",(char *) "display", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd|O:PyShapeEvtHandler_base_OnMovePost",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6,&obj6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj6) {
+        arg7 = PyInt_AsLong(obj6) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMovePost(*arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_base_OnDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    bool arg2 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyShapeEvtHandler_base_OnDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_base_OnBeginDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyShapeEvtHandler_base_OnBeginDragLeft",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginDragLeft(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_base_OnEndDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyShapeEvtHandler_base_OnEndDragLeft",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndDragLeft(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_base_OnDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    bool arg2 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyShapeEvtHandler_base_OnDragRight",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDragRight(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_base_OnBeginDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyShapeEvtHandler_base_OnBeginDragRight",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginDragRight(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_base_OnEndDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyShapeEvtHandler_base_OnEndDragRight",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndDragRight(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_base_OnDrawOutline(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd:PyShapeEvtHandler_base_OnDrawOutline",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawOutline(*arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_base_OnDrawControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShapeEvtHandler_base_OnDrawControlPoints",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawControlPoints(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_base_OnEraseControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShapeEvtHandler_base_OnEraseControlPoints",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEraseControlPoints(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_base_OnMoveLink(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    wxDC *arg2 = 0 ;
+    bool arg3 = (bool) True ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "moveControlPoints", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyShapeEvtHandler_base_OnMoveLink",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMoveLink(*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_base_OnSizingDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    bool arg3 ;
+    double arg4 ;
+    double arg5 ;
+    int arg6 = (int) 0 ;
+    int arg7 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOOdd|ii:PyShapeEvtHandler_base_OnSizingDragLeft",kwnames,&obj0,&obj1,&obj2,&arg4,&arg5,&arg6,&arg7)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg3 = PyInt_AsLong(obj2) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingDragLeft(arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_base_OnSizingBeginDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyShapeEvtHandler_base_OnSizingBeginDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingBeginDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_base_OnSizingEndDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyShapeEvtHandler_base_OnSizingEndDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingEndDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_base_OnBeginSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyShapeEvtHandler_base_OnBeginSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_base_OnEndSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyShapeEvtHandler_base_OnEndSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * PyShapeEvtHandler_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_wxPyShapeEvtHandler, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_PyShape(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeCanvas *arg1 = (wxPyShapeCanvas *) NULL ;
+    wxPyShape *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "can", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"|O:new_PyShape",kwnames,&obj0)) goto fail;
+    if (obj0) {
+        if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeCanvas,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyShape *)new wxPyShape(arg1);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxShapeEvtHandler(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape__setCallbackInfo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    PyObject *arg2 = (PyObject *) 0 ;
+    PyObject *arg3 = (PyObject *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "self",(char *) "_class", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:PyShape__setCallbackInfo",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = obj1;
+    arg3 = obj2;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->_setCallbackInfo(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetBoundingBoxMax(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    double *arg2 = (double *) 0 ;
+    double *arg3 = (double *) 0 ;
+    double temp2 ;
+    double temp3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    arg2 = &temp2;
+    arg3 = &temp3;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetBoundingBoxMax",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->GetBoundingBoxMax(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        PyObject *o = PyFloat_FromDouble((double) (*arg2));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    {
+        PyObject *o = PyFloat_FromDouble((double) (*arg3));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetBoundingBoxMin(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    double *arg2 = (double *) 0 ;
+    double *arg3 = (double *) 0 ;
+    double temp2 ;
+    double temp3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    arg2 = &temp2;
+    arg3 = &temp3;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetBoundingBoxMin",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->GetBoundingBoxMin(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        PyObject *o = PyFloat_FromDouble((double) (*arg2));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    {
+        PyObject *o = PyFloat_FromDouble((double) (*arg3));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetPerimeterPoint(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double *arg6 = (double *) 0 ;
+    double *arg7 = (double *) 0 ;
+    bool result;
+    double temp6 ;
+    double temp7 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x1",(char *) "y1",(char *) "x2",(char *) "y2", NULL 
+    };
+    
+    arg6 = &temp6;
+    arg7 = &temp7;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odddd:PyShape_GetPerimeterPoint",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->GetPerimeterPoint(arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    {
+        PyObject *o = PyFloat_FromDouble((double) (*arg6));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    {
+        PyObject *o = PyFloat_FromDouble((double) (*arg7));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetCanvas(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxPyShapeCanvas *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetCanvas",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyShapeCanvas *)(arg1)->GetCanvas();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxObject(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_SetCanvas(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxPyShapeCanvas *arg2 = (wxPyShapeCanvas *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "the_canvas", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_SetCanvas",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyShapeCanvas,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetCanvas(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_AddToCanvas(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxPyShapeCanvas *arg2 = (wxPyShapeCanvas *) 0 ;
+    wxPyShape *arg3 = (wxPyShape *) NULL ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "the_canvas",(char *) "addAfter", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyShape_AddToCanvas",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyShapeCanvas,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (obj2) {
+        if ((SWIG_ConvertPtr(obj2,(void **) &arg3, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->AddToCanvas(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_InsertInCanvas(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxPyShapeCanvas *arg2 = (wxPyShapeCanvas *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "the_canvas", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_InsertInCanvas",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyShapeCanvas,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->InsertInCanvas(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_RemoveFromCanvas(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxPyShapeCanvas *arg2 = (wxPyShapeCanvas *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "the_canvas", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_RemoveFromCanvas",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyShapeCanvas,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->RemoveFromCanvas(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetX(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetX",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (double)(arg1)->GetX();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyFloat_FromDouble(result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetY(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetY",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (double)(arg1)->GetY();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyFloat_FromDouble(result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_SetX(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    double arg2 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Od:PyShape_SetX",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetX(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_SetY(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    double arg2 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "y", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Od:PyShape_SetY",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetY(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetParent(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxPyShape *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetParent",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyShape *)(arg1)->GetParent();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxShapeEvtHandler(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_SetParent(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxPyShape *arg2 = (wxPyShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "p", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_SetParent",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetParent(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetTopAncestor(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxPyShape *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetTopAncestor",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyShape *)(arg1)->GetTopAncestor();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxShapeEvtHandler(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetChildren(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    PyObject *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetChildren",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (PyObject *)wxPyShape_GetChildren(arg1);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = result;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_Unlink(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_Unlink",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Unlink();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_SetDrawHandles(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    bool arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "drawH", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_SetDrawHandles",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetDrawHandles(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetDrawHandles(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetDrawHandles",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->GetDrawHandles();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_MakeControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_MakeControlPoints",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->MakeControlPoints();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_DeleteControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxDC *arg2 = (wxDC *) NULL ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O|O:PyShape_DeleteControlPoints",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (obj1) {
+        if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DeleteControlPoints(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_ResetControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_ResetControlPoints",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->ResetControlPoints();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetEventHandler(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxPyShapeEvtHandler *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetEventHandler",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyShapeEvtHandler *)(arg1)->GetEventHandler();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxShapeEvtHandler(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_SetEventHandler(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxPyShapeEvtHandler *arg2 = (wxPyShapeEvtHandler *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "handler", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_SetEventHandler",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetEventHandler(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_MakeMandatoryControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_MakeMandatoryControlPoints",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->MakeMandatoryControlPoints();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_ResetMandatoryControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_ResetMandatoryControlPoints",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->ResetMandatoryControlPoints();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_Recompute(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_Recompute",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->Recompute();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_CalculateSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_CalculateSize",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->CalculateSize();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_Select(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    bool arg2 = (bool) True ;
+    wxDC *arg3 = (wxDC *) NULL ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "select",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O|OO:PyShape_Select",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (obj1) {
+        arg2 = PyInt_AsLong(obj1) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    if (obj2) {
+        if ((SWIG_ConvertPtr(obj2,(void **) &arg3, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Select(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_SetHighlight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    bool arg2 = (bool) True ;
+    bool arg3 = (bool) False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "hi",(char *) "recurse", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O|OO:PyShape_SetHighlight",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (obj1) {
+        arg2 = PyInt_AsLong(obj1) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetHighlight(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_IsHighlighted(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_IsHighlighted",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->IsHighlighted();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_Selected(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_Selected",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->Selected();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_AncestorSelected(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_AncestorSelected",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->AncestorSelected();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_SetSensitivityFilter(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    int arg2 = (int) OP_ALL ;
+    bool arg3 = (bool) False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "sens",(char *) "recursive", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O|iO:PyShape_SetSensitivityFilter",kwnames,&obj0,&arg2,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetSensitivityFilter(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetSensitivityFilter(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetSensitivityFilter",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)(arg1)->GetSensitivityFilter();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_SetDraggable(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    bool arg2 ;
+    bool arg3 = (bool) False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "drag",(char *) "recursive", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyShape_SetDraggable",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetDraggable(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_SetFixedSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    bool arg2 ;
+    bool arg3 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:PyShape_SetFixedSize",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    arg3 = PyInt_AsLong(obj2) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetFixedSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetFixedSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    bool *arg2 = (bool *) 0 ;
+    bool *arg3 = (bool *) 0 ;
+    bool temp2 ;
+    bool temp3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    arg2 = &temp2;
+    arg3 = &temp3;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetFixedSize",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->GetFixedSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        PyObject *o = PyInt_FromLong((long) (*arg2));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    {
+        PyObject *o = PyInt_FromLong((long) (*arg3));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetFixedWidth(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetFixedWidth",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->GetFixedWidth();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetFixedHeight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetFixedHeight",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->GetFixedHeight();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_SetSpaceAttachments(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    bool arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "sp", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_SetSpaceAttachments",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetSpaceAttachments(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetSpaceAttachments(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetSpaceAttachments",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->GetSpaceAttachments();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_SetShadowMode(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    int arg2 ;
+    bool arg3 = (bool) False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "mode",(char *) "redraw", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi|O:PyShape_SetShadowMode",kwnames,&obj0,&arg2,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetShadowMode(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetShadowMode(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetShadowMode",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)(arg1)->GetShadowMode();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_HitTest(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int *arg4 = (int *) 0 ;
+    double *arg5 = (double *) 0 ;
+    bool result;
+    int temp4 ;
+    double temp5 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y", NULL 
+    };
+    
+    arg4 = &temp4;
+    arg5 = &temp5;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyShape_HitTest",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->HitTest(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    {
+        PyObject *o = PyInt_FromLong((long) (*arg4));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    {
+        PyObject *o = PyFloat_FromDouble((double) (*arg5));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_SetCentreResize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    bool arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "cr", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_SetCentreResize",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetCentreResize(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetCentreResize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetCentreResize",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->GetCentreResize();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_SetMaintainAspectRatio(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    bool arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "ar", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_SetMaintainAspectRatio",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetMaintainAspectRatio(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetMaintainAspectRatio(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetMaintainAspectRatio",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->GetMaintainAspectRatio();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetLines(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    PyObject *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetLines",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (PyObject *)wxPyShape_GetLines(arg1);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = result;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_SetDisableLabel(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    bool arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "flag", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_SetDisableLabel",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetDisableLabel(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetDisableLabel(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetDisableLabel",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->GetDisableLabel();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_SetAttachmentMode(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    int arg2 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "mode", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:PyShape_SetAttachmentMode",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetAttachmentMode(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetAttachmentMode(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetAttachmentMode",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)(arg1)->GetAttachmentMode();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_SetId(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    long arg2 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "i", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Ol:PyShape_SetId",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetId(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetId(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    long result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetId",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (long)(arg1)->GetId();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_SetPen(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxPen *arg2 = (wxPen *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pen", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_SetPen",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        wxPen* temp;
+        if (obj1) {
+            if (obj1 == Py_None) {
+                temp = NULL; 
+            }
+            else if (! wxPyConvertSwigPtr(obj1, (void **) &temp, wxT("wxPen"))) {
+                PyErr_SetString(PyExc_TypeError, "Type error, expected wxPen.");
+                return NULL;
+            }
+        }
+        if (temp)
+        arg2 = wxThePenList->FindOrCreatePen(temp->GetColour(),
+        temp->GetWidth(),
+        temp->GetStyle());
+        else
+        arg2 = NULL;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetPen(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_SetBrush(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxBrush *arg2 = (wxBrush *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "brush", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_SetBrush",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        wxBrush* temp;
+        if (obj1) {
+            if (obj1 == Py_None) {
+                temp = NULL; 
+            }
+            else if (! wxPyConvertSwigPtr(obj1, (void **) &temp, wxT("wxBrush"))) {
+                PyErr_SetString(PyExc_TypeError, "Type error, expected wxBrush.");
+                return NULL;
+            }
+        }
+        if (temp)
+        arg2 = wxTheBrushList->FindOrCreateBrush(temp->GetColour(), temp->GetStyle());
+        else
+        arg2 = NULL;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetBrush(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_Show(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    bool arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "show", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_Show",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Show(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_IsShown(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_IsShown",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->IsShown();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_Move(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    bool arg5 = (bool) True ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj4 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x1",(char *) "y1",(char *) "display", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|O:PyShape_Move",kwnames,&obj0,&obj1,&arg3,&arg4,&obj4)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj4) {
+        arg5 = PyInt_AsLong(obj4) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Move(*arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_Erase(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_Erase",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Erase(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_EraseContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_EraseContents",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->EraseContents(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_Draw(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_Draw",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Draw(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_Flash(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_Flash",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Flash();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_MoveLinks(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_MoveLinks",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->MoveLinks(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_DrawContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_DrawContents",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DrawContents(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_SetSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    bool arg4 = (bool) True ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj3 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "recursive", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|O:PyShape_SetSize",kwnames,&obj0,&arg2,&arg3,&obj3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (obj3) {
+        arg4 = PyInt_AsLong(obj3) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetSize(arg2,arg3,arg4);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_SetAttachmentSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyShape_SetAttachmentSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetAttachmentSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_Attach(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxPyShapeCanvas *arg2 = (wxPyShapeCanvas *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "can", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_Attach",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyShapeCanvas,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Attach(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_Detach(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_Detach",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Detach();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_Constrain(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_Constrain",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->Constrain();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_AddLine(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxPyLineShape *arg2 = (wxPyLineShape *) 0 ;
+    wxPyShape *arg3 = (wxPyShape *) 0 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) -1 ;
+    int arg7 = (int) -1 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "line",(char *) "other",(char *) "attachFrom",(char *) "attachTo",(char *) "positionFrom",(char *) "positionTo", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO|iiii:PyShape_AddLine",kwnames,&obj0,&obj1,&obj2,&arg4,&arg5,&arg6,&arg7)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj2,(void **) &arg3, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->AddLine(arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetLinePosition(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxPyLineShape *arg2 = (wxPyLineShape *) 0 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "line", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_GetLinePosition",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)(arg1)->GetLinePosition(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_AddText(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxString *arg2 = 0 ;
+    bool temp2 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "string", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_AddText",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = wxString_in_helper(obj1);
+        if (arg2 == NULL) SWIG_fail;
+        temp2 = True;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->AddText((wxString const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetPen(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxPen *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetPen",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPen *)(arg1)->GetPen();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxPen, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetBrush(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxBrush *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetBrush",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxBrush *)(arg1)->GetBrush();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxBrush, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_SetDefaultRegionSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_SetDefaultRegionSize",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetDefaultRegionSize();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_FormatText(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    wxString *arg3 = 0 ;
+    int arg4 = (int) 0 ;
+    bool temp3 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "s",(char *) "regionId", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO|i:PyShape_FormatText",kwnames,&obj0,&obj1,&obj2,&arg4)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        arg3 = wxString_in_helper(obj2);
+        if (arg3 == NULL) SWIG_fail;
+        temp3 = True;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->FormatText(*arg2,(wxString const &)*arg3,arg4);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        if (temp3)
+        delete arg3;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp3)
+        delete arg3;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_SetFormatMode(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    int arg2 ;
+    int arg3 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "mode",(char *) "regionId", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi|i:PyShape_SetFormatMode",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetFormatMode(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetFormatMode(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    int arg2 = (int) 0 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "regionId", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O|i:PyShape_GetFormatMode",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)(arg1)->GetFormatMode(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_SetFont(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxFont *arg2 = (wxFont *) 0 ;
+    int arg3 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "font",(char *) "regionId", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|i:PyShape_SetFont",kwnames,&obj0,&obj1,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        wxFont* temp;
+        if (obj1) {
+            if (obj1 == Py_None) {
+                temp = NULL; 
+            }
+            else if (! wxPyConvertSwigPtr(obj1, (void **) &temp, wxT("wxFont"))) {
+                PyErr_SetString(PyExc_TypeError, "Type error, expected wxFont.");
+                return NULL;
+            }
+        }
+        if (temp)
+        arg2 = wxTheFontList->FindOrCreateFont(temp->GetPointSize(),
+        temp->GetFamily(),
+        temp->GetStyle(),
+        temp->GetWeight(),
+        temp->GetUnderlined(),
+        temp->GetFaceName(),
+        temp->GetEncoding());
+        else
+        arg2 = NULL;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetFont(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetFont(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    int arg2 = (int) 0 ;
+    wxFont *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "regionId", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O|i:PyShape_GetFont",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxFont *)(arg1)->GetFont(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxFont, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_SetTextColour(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxString *arg2 = 0 ;
+    int arg3 = (int) 0 ;
+    bool temp2 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "colour",(char *) "regionId", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|i:PyShape_SetTextColour",kwnames,&obj0,&obj1,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = wxString_in_helper(obj1);
+        if (arg2 == NULL) SWIG_fail;
+        temp2 = True;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetTextColour((wxString const &)*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetTextColour(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    int arg2 = (int) 0 ;
+    wxString result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "regionId", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O|i:PyShape_GetTextColour",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (arg1)->GetTextColour(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+#if wxUSE_UNICODE
+        resultobj = PyUnicode_FromWideChar((&result)->c_str(), (&result)->Len());
+#else
+        resultobj = PyString_FromStringAndSize((&result)->c_str(), (&result)->Len());
+#endif
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetNumberOfTextRegions(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetNumberOfTextRegions",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)(arg1)->GetNumberOfTextRegions();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_SetRegionName(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxString *arg2 = 0 ;
+    int arg3 = (int) 0 ;
+    bool temp2 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "name",(char *) "regionId", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|i:PyShape_SetRegionName",kwnames,&obj0,&obj1,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = wxString_in_helper(obj1);
+        if (arg2 == NULL) SWIG_fail;
+        temp2 = True;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetRegionName((wxString const &)*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetRegionName(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    int arg2 ;
+    wxString result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "regionId", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:PyShape_GetRegionName",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (arg1)->GetRegionName(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+#if wxUSE_UNICODE
+        resultobj = PyUnicode_FromWideChar((&result)->c_str(), (&result)->Len());
+#else
+        resultobj = PyString_FromStringAndSize((&result)->c_str(), (&result)->Len());
+#endif
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetRegionId(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxString *arg2 = 0 ;
+    int result;
+    bool temp2 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "name", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_GetRegionId",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = wxString_in_helper(obj1);
+        if (arg2 == NULL) SWIG_fail;
+        temp2 = True;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)(arg1)->GetRegionId((wxString const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_NameRegions(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxString const &arg2_defvalue = "" ;
+    wxString *arg2 = (wxString *) &arg2_defvalue ;
+    bool temp2 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "parentName", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O|O:PyShape_NameRegions",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (obj1) {
+        {
+            arg2 = wxString_in_helper(obj1);
+            if (arg2 == NULL) SWIG_fail;
+            temp2 = True;
+        }
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->NameRegions((wxString const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetRegions(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    PyObject *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetRegions",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (PyObject *)wxPyShape_GetRegions(arg1);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = result;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_AddRegion(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxShapeRegion *arg2 = (wxShapeRegion *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "region", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_AddRegion",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxShapeRegion,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->AddRegion(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_ClearRegions(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_ClearRegions",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->ClearRegions();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_AssignNewIds(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_AssignNewIds",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->AssignNewIds();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_FindRegion(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxString *arg2 = 0 ;
+    int *arg3 = (int *) 0 ;
+    wxPyShape *result;
+    bool temp2 = False ;
+    int temp3 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "regionName", NULL 
+    };
+    
+    arg3 = &temp3;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_FindRegion",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = wxString_in_helper(obj1);
+        if (arg2 == NULL) SWIG_fail;
+        temp2 = True;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyShape *)(arg1)->FindRegion((wxString const &)*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxShapeEvtHandler(result); 
+    }
+    {
+        PyObject *o = PyInt_FromLong((long) (*arg3));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_FindRegionNames(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxStringList *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "list", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_FindRegionNames",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxStringList,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->FindRegionNames(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_ClearText(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    int arg2 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "regionId", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O|i:PyShape_ClearText",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->ClearText(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_RemoveLine(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxPyLineShape *arg2 = (wxPyLineShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "line", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_RemoveLine",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->RemoveLine(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetAttachmentPosition(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    int arg2 ;
+    double *arg3 = (double *) 0 ;
+    double *arg4 = (double *) 0 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 1 ;
+    wxPyLineShape *arg7 = (wxPyLineShape *) NULL ;
+    bool result;
+    double temp3 ;
+    double temp4 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj4 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "attachment",(char *) "nth",(char *) "no_arcs",(char *) "line", NULL 
+    };
+    
+    arg3 = &temp3;
+    arg4 = &temp4;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi|iiO:PyShape_GetAttachmentPosition",kwnames,&obj0,&arg2,&arg5,&arg6,&obj4)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (obj4) {
+        if ((SWIG_ConvertPtr(obj4,(void **) &arg7, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->GetAttachmentPosition(arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    {
+        PyObject *o = PyFloat_FromDouble((double) (*arg3));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    {
+        PyObject *o = PyFloat_FromDouble((double) (*arg4));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetNumberOfAttachments(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetNumberOfAttachments",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)(arg1)->GetNumberOfAttachments();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_AttachmentIsValid(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    int arg2 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:PyShape_AttachmentIsValid",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->AttachmentIsValid(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetAttachmentPositionEdge(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    int arg2 ;
+    double *arg3 = (double *) 0 ;
+    double *arg4 = (double *) 0 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 1 ;
+    wxPyLineShape *arg7 = (wxPyLineShape *) NULL ;
+    bool result;
+    double temp3 ;
+    double temp4 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj4 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "attachment",(char *) "nth",(char *) "no_arcs",(char *) "line", NULL 
+    };
+    
+    arg3 = &temp3;
+    arg4 = &temp4;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi|iiO:PyShape_GetAttachmentPositionEdge",kwnames,&obj0,&arg2,&arg5,&arg6,&obj4)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (obj4) {
+        if ((SWIG_ConvertPtr(obj4,(void **) &arg7, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->GetAttachmentPositionEdge(arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    {
+        PyObject *o = PyFloat_FromDouble((double) (*arg3));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    {
+        PyObject *o = PyFloat_FromDouble((double) (*arg4));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_CalcSimpleAttachment(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxRealPoint *arg2 = 0 ;
+    wxRealPoint *arg3 = 0 ;
+    int arg4 ;
+    int arg5 ;
+    wxPyLineShape *arg6 = (wxPyLineShape *) 0 ;
+    wxRealPoint result;
+    wxRealPoint temp2 ;
+    wxRealPoint temp3 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj5 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt1",(char *) "pt2",(char *) "nth",(char *) "noArcs",(char *) "line", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOOiiO:PyShape_CalcSimpleAttachment",kwnames,&obj0,&obj1,&obj2,&arg4,&arg5,&obj5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = &temp2;
+        if ( ! wxRealPoint_helper(obj1, &arg2)) SWIG_fail;
+    }
+    {
+        arg3 = &temp3;
+        if ( ! wxRealPoint_helper(obj2, &arg3)) SWIG_fail;
+    }
+    if ((SWIG_ConvertPtr(obj5,(void **) &arg6, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (arg1)->CalcSimpleAttachment((wxRealPoint const &)*arg2,(wxRealPoint const &)*arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        wxRealPoint * resultptr;
+        resultptr = new wxRealPoint((wxRealPoint &) result);
+        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_wxRealPoint, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_AttachmentSortTest(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    int arg2 ;
+    wxRealPoint *arg3 = 0 ;
+    wxRealPoint *arg4 = 0 ;
+    bool result;
+    wxRealPoint temp3 ;
+    wxRealPoint temp4 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "attachmentPoint",(char *) "pt1",(char *) "pt2", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OiOO:PyShape_AttachmentSortTest",kwnames,&obj0,&arg2,&obj2,&obj3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg3 = &temp3;
+        if ( ! wxRealPoint_helper(obj2, &arg3)) SWIG_fail;
+    }
+    {
+        arg4 = &temp4;
+        if ( ! wxRealPoint_helper(obj3, &arg4)) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->AttachmentSortTest(arg2,(wxRealPoint const &)*arg3,(wxRealPoint const &)*arg4);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_EraseLinks(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    int arg3 = (int) -1 ;
+    bool arg4 = (bool) False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj3 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "attachment",(char *) "recurse", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|iO:PyShape_EraseLinks",kwnames,&obj0,&obj1,&arg3,&obj3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj3) {
+        arg4 = PyInt_AsLong(obj3) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->EraseLinks(*arg2,arg3,arg4);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_DrawLinks(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    int arg3 = (int) -1 ;
+    bool arg4 = (bool) False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj3 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "attachment",(char *) "recurse", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|iO:PyShape_DrawLinks",kwnames,&obj0,&obj1,&arg3,&obj3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj3) {
+        arg4 = PyInt_AsLong(obj3) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DrawLinks(*arg2,arg3,arg4);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_MoveLineToNewAttachment(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    wxPyLineShape *arg3 = (wxPyLineShape *) 0 ;
+    double arg4 ;
+    double arg5 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "to_move",(char *) "x",(char *) "y", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOOdd:PyShape_MoveLineToNewAttachment",kwnames,&obj0,&obj1,&obj2,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if ((SWIG_ConvertPtr(obj2,(void **) &arg3, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->MoveLineToNewAttachment(*arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_ApplyAttachmentOrdering(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    PyObject *arg2 = (PyObject *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "linesToSort", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_ApplyAttachmentOrdering",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = obj1;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        wxPyShape_ApplyAttachmentOrdering(arg1,arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetBranchingAttachmentRoot(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    int arg2 ;
+    wxRealPoint result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:PyShape_GetBranchingAttachmentRoot",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (arg1)->GetBranchingAttachmentRoot(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        wxRealPoint * resultptr;
+        resultptr = new wxRealPoint((wxRealPoint &) result);
+        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_wxRealPoint, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetBranchingAttachmentInfo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    int arg2 ;
+    wxRealPoint *arg3 = 0 ;
+    wxRealPoint *arg4 = 0 ;
+    wxRealPoint *arg5 = 0 ;
+    wxRealPoint *arg6 = 0 ;
+    bool result;
+    wxRealPoint temp3 ;
+    wxRealPoint temp4 ;
+    wxRealPoint temp5 ;
+    wxRealPoint temp6 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    PyObject * obj4 = 0 ;
+    PyObject * obj5 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "attachment",(char *) "root",(char *) "neck",(char *) "shoulder1",(char *) "shoulder2", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OiOOOO:PyShape_GetBranchingAttachmentInfo",kwnames,&obj0,&arg2,&obj2,&obj3,&obj4,&obj5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg3 = &temp3;
+        if ( ! wxRealPoint_helper(obj2, &arg3)) SWIG_fail;
+    }
+    {
+        arg4 = &temp4;
+        if ( ! wxRealPoint_helper(obj3, &arg4)) SWIG_fail;
+    }
+    {
+        arg5 = &temp5;
+        if ( ! wxRealPoint_helper(obj4, &arg5)) SWIG_fail;
+    }
+    {
+        arg6 = &temp6;
+        if ( ! wxRealPoint_helper(obj5, &arg6)) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->GetBranchingAttachmentInfo(arg2,*arg3,*arg4,*arg5,*arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetBranchingAttachmentPoint(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    int arg2 ;
+    int arg3 ;
+    wxRealPoint *arg4 = 0 ;
+    wxRealPoint *arg5 = 0 ;
+    bool result;
+    wxRealPoint temp4 ;
+    wxRealPoint temp5 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj3 = 0 ;
+    PyObject * obj4 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "attachment",(char *) "n",(char *) "attachmentPoint",(char *) "stemPoint", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OiiOO:PyShape_GetBranchingAttachmentPoint",kwnames,&obj0,&arg2,&arg3,&obj3,&obj4)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg4 = &temp4;
+        if ( ! wxRealPoint_helper(obj3, &arg4)) SWIG_fail;
+    }
+    {
+        arg5 = &temp5;
+        if ( ! wxRealPoint_helper(obj4, &arg5)) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->GetBranchingAttachmentPoint(arg2,arg3,*arg4,*arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetAttachmentLineCount(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    int arg2 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:PyShape_GetAttachmentLineCount",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)(arg1)->GetAttachmentLineCount(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_SetBranchNeckLength(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    int arg2 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "len", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:PyShape_SetBranchNeckLength",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetBranchNeckLength(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetBranchNeckLength(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetBranchNeckLength",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)(arg1)->GetBranchNeckLength();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_SetBranchStemLength(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    int arg2 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "len", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:PyShape_SetBranchStemLength",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetBranchStemLength(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetBranchStemLength(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetBranchStemLength",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)(arg1)->GetBranchStemLength();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_SetBranchSpacing(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    int arg2 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "len", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:PyShape_SetBranchSpacing",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetBranchSpacing(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetBranchSpacing(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetBranchSpacing",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)(arg1)->GetBranchSpacing();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_SetBranchStyle(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    long arg2 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "style", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Ol:PyShape_SetBranchStyle",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetBranchStyle(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetBranchStyle(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    long result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetBranchStyle",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (long)(arg1)->GetBranchStyle();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_PhysicalToLogicalAttachment(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    int arg2 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "physicalAttachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:PyShape_PhysicalToLogicalAttachment",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)(arg1)->PhysicalToLogicalAttachment(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_LogicalToPhysicalAttachment(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    int arg2 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "logicalAttachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:PyShape_LogicalToPhysicalAttachment",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)(arg1)->LogicalToPhysicalAttachment(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_Draggable(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_Draggable",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->Draggable();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_HasDescendant(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxPyShape *arg2 = (wxPyShape *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "image", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_HasDescendant",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->HasDescendant(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_CreateNewCopy(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    bool arg2 = (bool) True ;
+    bool arg3 = (bool) True ;
+    wxPyShape *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "resetMapping",(char *) "recompute", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O|OO:PyShape_CreateNewCopy",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (obj1) {
+        arg2 = PyInt_AsLong(obj1) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyShape *)(arg1)->CreateNewCopy(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxShapeEvtHandler(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_Copy(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxPyShape *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "copy", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_Copy",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Copy(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_CopyWithHandler(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxPyShape *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "copy", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_CopyWithHandler",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->CopyWithHandler(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_Rotate(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    double arg4 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "theta", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oddd:PyShape_Rotate",kwnames,&obj0,&arg2,&arg3,&arg4)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Rotate(arg2,arg3,arg4);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetRotation(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetRotation",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (double)(arg1)->GetRotation();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyFloat_FromDouble(result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_ClearAttachments(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_ClearAttachments",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->ClearAttachments();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_Recentre(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_Recentre",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Recentre(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_ClearPointList(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxList *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "list", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_ClearPointList",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxList,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->ClearPointList(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetBackgroundPen(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxPen result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetBackgroundPen",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (arg1)->GetBackgroundPen();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        wxPen * resultptr;
+        resultptr = new wxPen((wxPen &) result);
+        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_wxPen, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetBackgroundBrush(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxBrush result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetBackgroundBrush",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (arg1)->GetBackgroundBrush();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        wxBrush * resultptr;
+        resultptr = new wxBrush((wxBrush &) result);
+        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_wxBrush, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_base_OnDelete(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_base_OnDelete",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDelete();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_base_OnDraw(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_base_OnDraw",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDraw(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_base_OnDrawContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_base_OnDrawContents",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawContents(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_base_OnDrawBranches(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    bool arg3 = (bool) False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "erase", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyShape_base_OnDrawBranches",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawBranches(*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_base_OnMoveLinks(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_base_OnMoveLinks",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMoveLinks(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_base_OnErase(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_base_OnErase",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnErase(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_base_OnEraseContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_base_OnEraseContents",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEraseContents(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_base_OnHighlight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_base_OnHighlight",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnHighlight(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_base_OnLeftClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyShape_base_OnLeftClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnLeftClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_base_OnLeftDoubleClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyShape_base_OnLeftDoubleClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnLeftDoubleClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_base_OnRightClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyShape_base_OnRightClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnRightClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_base_OnSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyShape_base_OnSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_base_OnMovePre(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    bool arg7 = (bool) True ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "old_x",(char *) "old_y",(char *) "display", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd|O:PyShape_base_OnMovePre",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6,&obj6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj6) {
+        arg7 = PyInt_AsLong(obj6) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->base_OnMovePre(*arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_base_OnMovePost(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    bool arg7 = (bool) True ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "old_x",(char *) "old_y",(char *) "display", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd|O:PyShape_base_OnMovePost",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6,&obj6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj6) {
+        arg7 = PyInt_AsLong(obj6) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMovePost(*arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_base_OnDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    bool arg2 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyShape_base_OnDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_base_OnBeginDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyShape_base_OnBeginDragLeft",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginDragLeft(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_base_OnEndDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyShape_base_OnEndDragLeft",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndDragLeft(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_base_OnDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    bool arg2 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyShape_base_OnDragRight",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDragRight(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_base_OnBeginDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyShape_base_OnBeginDragRight",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginDragRight(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_base_OnEndDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyShape_base_OnEndDragRight",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndDragRight(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_base_OnDrawOutline(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd:PyShape_base_OnDrawOutline",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawOutline(*arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_base_OnDrawControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_base_OnDrawControlPoints",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawControlPoints(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_base_OnEraseControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_base_OnEraseControlPoints",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEraseControlPoints(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_base_OnMoveLink(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    bool arg3 = (bool) True ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "moveControlPoints", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyShape_base_OnMoveLink",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMoveLink(*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_base_OnSizingDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    bool arg3 ;
+    double arg4 ;
+    double arg5 ;
+    int arg6 = (int) 0 ;
+    int arg7 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOOdd|ii:PyShape_base_OnSizingDragLeft",kwnames,&obj0,&obj1,&obj2,&arg4,&arg5,&arg6,&arg7)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg3 = PyInt_AsLong(obj2) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingDragLeft(arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_base_OnSizingBeginDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyShape_base_OnSizingBeginDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingBeginDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_base_OnSizingEndDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyShape_base_OnSizingEndDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingEndDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_base_OnBeginSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyShape_base_OnBeginSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_base_OnEndSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyShape_base_OnEndSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * PyShape_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_wxPyShape, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_PseudoMetaFile(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *result;
+    char *kwnames[] = {
+        NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)":new_PseudoMetaFile",kwnames)) goto fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPseudoMetaFile *)new wxPseudoMetaFile();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxObject(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_PseudoMetaFile(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:delete_PseudoMetaFile",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        delete arg1;
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_Draw(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "xoffset",(char *) "yoffset", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd:PseudoMetaFile_Draw",kwnames,&obj0,&obj1,&arg3,&arg4)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Draw(*arg2,arg3,arg4);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_Clear(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PseudoMetaFile_Clear",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Clear();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_Copy(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    wxPseudoMetaFile *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "copy", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PseudoMetaFile_Copy",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Copy(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_Scale(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "sx",(char *) "sy", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PseudoMetaFile_Scale",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Scale(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_ScaleTo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PseudoMetaFile_ScaleTo",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->ScaleTo(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_Translate(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PseudoMetaFile_Translate",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Translate(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_Rotate(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    double arg4 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "theta", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oddd:PseudoMetaFile_Rotate",kwnames,&obj0,&arg2,&arg3,&arg4)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Rotate(arg2,arg3,arg4);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_LoadFromMetaFile(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    wxString *arg2 = 0 ;
+    double *arg3 = (double *) 0 ;
+    double *arg4 = (double *) 0 ;
+    bool result;
+    bool temp2 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "filename",(char *) "width",(char *) "height", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOOO:PseudoMetaFile_LoadFromMetaFile",kwnames,&obj0,&obj1,&obj2,&obj3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = wxString_in_helper(obj1);
+        if (arg2 == NULL) SWIG_fail;
+        temp2 = True;
+    }
+    if ((SWIG_ConvertPtr(obj2,(void **) &arg3, SWIGTYPE_p_double,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj3,(void **) &arg4, SWIGTYPE_p_double,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->LoadFromMetaFile((wxString const &)*arg2,arg3,arg4);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_GetBounds(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    double *arg2 = (double *) 0 ;
+    double *arg3 = (double *) 0 ;
+    double *arg4 = (double *) 0 ;
+    double *arg5 = (double *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    PyObject * obj4 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "minX",(char *) "minY",(char *) "maxX",(char *) "maxY", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOOOO:PseudoMetaFile_GetBounds",kwnames,&obj0,&obj1,&obj2,&obj3,&obj4)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_double,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj2,(void **) &arg3, SWIGTYPE_p_double,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj3,(void **) &arg4, SWIGTYPE_p_double,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj4,(void **) &arg5, SWIGTYPE_p_double,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->GetBounds(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_CalculateSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    wxPyDrawnShape *arg2 = (wxPyDrawnShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "shape", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PseudoMetaFile_CalculateSize",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->CalculateSize(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_SetRotateable(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    bool arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "rot", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PseudoMetaFile_SetRotateable",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetRotateable(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_GetRotateable(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PseudoMetaFile_GetRotateable",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->GetRotateable();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_SetSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PseudoMetaFile_SetSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_SetFillBrush(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    wxBrush *arg2 = (wxBrush *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "brush", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PseudoMetaFile_SetFillBrush",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        wxBrush* temp;
+        if (obj1) {
+            if (obj1 == Py_None) {
+                temp = NULL; 
+            }
+            else if (! wxPyConvertSwigPtr(obj1, (void **) &temp, wxT("wxBrush"))) {
+                PyErr_SetString(PyExc_TypeError, "Type error, expected wxBrush.");
+                return NULL;
+            }
+        }
+        if (temp)
+        arg2 = wxTheBrushList->FindOrCreateBrush(temp->GetColour(), temp->GetStyle());
+        else
+        arg2 = NULL;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetFillBrush(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_GetFillBrush(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    wxBrush *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PseudoMetaFile_GetFillBrush",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxBrush *)(arg1)->GetFillBrush();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxBrush, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_SetOutlinePen(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    wxPen *arg2 = (wxPen *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pen", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PseudoMetaFile_SetOutlinePen",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        wxPen* temp;
+        if (obj1) {
+            if (obj1 == Py_None) {
+                temp = NULL; 
+            }
+            else if (! wxPyConvertSwigPtr(obj1, (void **) &temp, wxT("wxPen"))) {
+                PyErr_SetString(PyExc_TypeError, "Type error, expected wxPen.");
+                return NULL;
+            }
+        }
+        if (temp)
+        arg2 = wxThePenList->FindOrCreatePen(temp->GetColour(),
+        temp->GetWidth(),
+        temp->GetStyle());
+        else
+        arg2 = NULL;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetOutlinePen(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_GetOutlinePen(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    wxPen *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PseudoMetaFile_GetOutlinePen",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPen *)(arg1)->GetOutlinePen();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxPen, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_SetOutlineOp(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    int arg2 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "op", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:PseudoMetaFile_SetOutlineOp",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetOutlineOp(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_GetOutlineOp(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PseudoMetaFile_GetOutlineOp",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)(arg1)->GetOutlineOp();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_IsValid(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PseudoMetaFile_IsValid",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->IsValid();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_DrawLine(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    wxPoint *arg2 = 0 ;
+    wxPoint *arg3 = 0 ;
+    wxPoint temp2 ;
+    wxPoint temp3 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt1",(char *) "pt2", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:PseudoMetaFile_DrawLine",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = &temp2;
+        if ( ! wxPoint_helper(obj1, &arg2)) SWIG_fail;
+    }
+    {
+        arg3 = &temp3;
+        if ( ! wxPoint_helper(obj2, &arg3)) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DrawLine((wxPoint const &)*arg2,(wxPoint const &)*arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_DrawRectangle(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    wxRect *arg2 = 0 ;
+    wxRect temp2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "rect", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PseudoMetaFile_DrawRectangle",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = &temp2;
+        if ( ! wxRect_helper(obj1, &arg2)) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DrawRectangle((wxRect const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_DrawRoundedRectangle(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    wxRect *arg2 = 0 ;
+    double arg3 ;
+    wxRect temp2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "rect",(char *) "radius", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOd:PseudoMetaFile_DrawRoundedRectangle",kwnames,&obj0,&obj1,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = &temp2;
+        if ( ! wxRect_helper(obj1, &arg2)) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DrawRoundedRectangle((wxRect const &)*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_DrawArc(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    wxPoint *arg2 = 0 ;
+    wxPoint *arg3 = 0 ;
+    wxPoint *arg4 = 0 ;
+    wxPoint temp2 ;
+    wxPoint temp3 ;
+    wxPoint temp4 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "centrePt",(char *) "startPt",(char *) "endPt", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOOO:PseudoMetaFile_DrawArc",kwnames,&obj0,&obj1,&obj2,&obj3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = &temp2;
+        if ( ! wxPoint_helper(obj1, &arg2)) SWIG_fail;
+    }
+    {
+        arg3 = &temp3;
+        if ( ! wxPoint_helper(obj2, &arg3)) SWIG_fail;
+    }
+    {
+        arg4 = &temp4;
+        if ( ! wxPoint_helper(obj3, &arg4)) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DrawArc((wxPoint const &)*arg2,(wxPoint const &)*arg3,(wxPoint const &)*arg4);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_DrawEllipticArc(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    wxRect *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    wxRect temp2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "rect",(char *) "startAngle",(char *) "endAngle", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd:PseudoMetaFile_DrawEllipticArc",kwnames,&obj0,&obj1,&arg3,&arg4)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = &temp2;
+        if ( ! wxRect_helper(obj1, &arg2)) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DrawEllipticArc((wxRect const &)*arg2,arg3,arg4);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_DrawEllipse(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    wxRect *arg2 = 0 ;
+    wxRect temp2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "rect", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PseudoMetaFile_DrawEllipse",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = &temp2;
+        if ( ! wxRect_helper(obj1, &arg2)) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DrawEllipse((wxRect const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_DrawPoint(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    wxPoint *arg2 = 0 ;
+    wxPoint temp2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PseudoMetaFile_DrawPoint",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = &temp2;
+        if ( ! wxPoint_helper(obj1, &arg2)) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DrawPoint((wxPoint const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_DrawText(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    wxString *arg2 = 0 ;
+    wxPoint *arg3 = 0 ;
+    bool temp2 = False ;
+    wxPoint temp3 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "text",(char *) "pt", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:PseudoMetaFile_DrawText",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = wxString_in_helper(obj1);
+        if (arg2 == NULL) SWIG_fail;
+        temp2 = True;
+    }
+    {
+        arg3 = &temp3;
+        if ( ! wxPoint_helper(obj2, &arg3)) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DrawText((wxString const &)*arg2,(wxPoint const &)*arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_DrawLines(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    int arg2 ;
+    wxPoint *arg3 = (wxPoint *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "PCOUNT",(char *) "points", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OiO:PseudoMetaFile_DrawLines",kwnames,&obj0,&arg2,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj2,(void **) &arg3, SWIGTYPE_p_wxPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DrawLines(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_DrawPolygon(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    int arg2 ;
+    wxPoint *arg3 = (wxPoint *) 0 ;
+    int arg4 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "PCOUNT",(char *) "points",(char *) "flags", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OiO|i:PseudoMetaFile_DrawPolygon",kwnames,&obj0,&arg2,&obj2,&arg4)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj2,(void **) &arg3, SWIGTYPE_p_wxPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DrawPolygon(arg2,arg3,arg4);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_DrawSpline(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    int arg2 ;
+    wxPoint *arg3 = (wxPoint *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "PCOUNT",(char *) "points", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OiO:PseudoMetaFile_DrawSpline",kwnames,&obj0,&arg2,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj2,(void **) &arg3, SWIGTYPE_p_wxPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DrawSpline(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_SetClippingRect(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    wxRect *arg2 = 0 ;
+    wxRect temp2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "rect", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PseudoMetaFile_SetClippingRect",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = &temp2;
+        if ( ! wxRect_helper(obj1, &arg2)) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetClippingRect((wxRect const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_DestroyClippingRect(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PseudoMetaFile_DestroyClippingRect",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DestroyClippingRect();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_SetPen(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    wxPen *arg2 = (wxPen *) 0 ;
+    bool arg3 = (bool) FALSE ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pen",(char *) "isOutline", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PseudoMetaFile_SetPen",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        wxPen* temp;
+        if (obj1) {
+            if (obj1 == Py_None) {
+                temp = NULL; 
+            }
+            else if (! wxPyConvertSwigPtr(obj1, (void **) &temp, wxT("wxPen"))) {
+                PyErr_SetString(PyExc_TypeError, "Type error, expected wxPen.");
+                return NULL;
+            }
+        }
+        if (temp)
+        arg2 = wxThePenList->FindOrCreatePen(temp->GetColour(),
+        temp->GetWidth(),
+        temp->GetStyle());
+        else
+        arg2 = NULL;
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetPen(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_SetBrush(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    wxBrush *arg2 = (wxBrush *) 0 ;
+    bool arg3 = (bool) FALSE ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "brush",(char *) "isFill", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PseudoMetaFile_SetBrush",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        wxBrush* temp;
+        if (obj1) {
+            if (obj1 == Py_None) {
+                temp = NULL; 
+            }
+            else if (! wxPyConvertSwigPtr(obj1, (void **) &temp, wxT("wxBrush"))) {
+                PyErr_SetString(PyExc_TypeError, "Type error, expected wxBrush.");
+                return NULL;
+            }
+        }
+        if (temp)
+        arg2 = wxTheBrushList->FindOrCreateBrush(temp->GetColour(), temp->GetStyle());
+        else
+        arg2 = NULL;
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetBrush(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_SetFont(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    wxFont *arg2 = (wxFont *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "font", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PseudoMetaFile_SetFont",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        wxFont* temp;
+        if (obj1) {
+            if (obj1 == Py_None) {
+                temp = NULL; 
+            }
+            else if (! wxPyConvertSwigPtr(obj1, (void **) &temp, wxT("wxFont"))) {
+                PyErr_SetString(PyExc_TypeError, "Type error, expected wxFont.");
+                return NULL;
+            }
+        }
+        if (temp)
+        arg2 = wxTheFontList->FindOrCreateFont(temp->GetPointSize(),
+        temp->GetFamily(),
+        temp->GetStyle(),
+        temp->GetWeight(),
+        temp->GetUnderlined(),
+        temp->GetFaceName(),
+        temp->GetEncoding());
+        else
+        arg2 = NULL;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetFont(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_SetTextColour(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    wxColour *arg2 = 0 ;
+    wxColour temp2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "colour", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PseudoMetaFile_SetTextColour",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = &temp2;
+        if ( ! wxColour_helper(obj1, &arg2)) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetTextColour((wxColour const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_SetBackgroundColour(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    wxColour *arg2 = 0 ;
+    wxColour temp2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "colour", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PseudoMetaFile_SetBackgroundColour",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = &temp2;
+        if ( ! wxColour_helper(obj1, &arg2)) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetBackgroundColour((wxColour const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_SetBackgroundMode(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    int arg2 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "mode", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:PseudoMetaFile_SetBackgroundMode",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetBackgroundMode(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * PseudoMetaFile_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_wxPseudoMetaFile, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_PyRectangleShape(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    double arg1 = (double) 0.0 ;
+    double arg2 = (double) 0.0 ;
+    wxPyRectangleShape *result;
+    char *kwnames[] = {
+        (char *) "width",(char *) "height", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"|dd:new_PyRectangleShape",kwnames,&arg1,&arg2)) goto fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyRectangleShape *)new wxPyRectangleShape(arg1,arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxPyRectangleShape, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyRectangleShape__setCallbackInfo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyRectangleShape *arg1 = (wxPyRectangleShape *) 0 ;
+    PyObject *arg2 = (PyObject *) 0 ;
+    PyObject *arg3 = (PyObject *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "self",(char *) "_class", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:PyRectangleShape__setCallbackInfo",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyRectangleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = obj1;
+    arg3 = obj2;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->_setCallbackInfo(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyRectangleShape_SetCornerRadius(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyRectangleShape *arg1 = (wxPyRectangleShape *) 0 ;
+    double arg2 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "radius", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Od:PyRectangleShape_SetCornerRadius",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyRectangleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetCornerRadius(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyRectangleShape_base_OnDelete(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyRectangleShape *arg1 = (wxPyRectangleShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyRectangleShape_base_OnDelete",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyRectangleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDelete();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyRectangleShape_base_OnDraw(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyRectangleShape *arg1 = (wxPyRectangleShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyRectangleShape_base_OnDraw",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyRectangleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDraw(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyRectangleShape_base_OnDrawContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyRectangleShape *arg1 = (wxPyRectangleShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyRectangleShape_base_OnDrawContents",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyRectangleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawContents(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyRectangleShape_base_OnDrawBranches(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyRectangleShape *arg1 = (wxPyRectangleShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    bool arg3 = (bool) FALSE ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "erase", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyRectangleShape_base_OnDrawBranches",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyRectangleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawBranches(*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyRectangleShape_base_OnMoveLinks(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyRectangleShape *arg1 = (wxPyRectangleShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyRectangleShape_base_OnMoveLinks",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyRectangleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMoveLinks(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyRectangleShape_base_OnErase(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyRectangleShape *arg1 = (wxPyRectangleShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyRectangleShape_base_OnErase",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyRectangleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnErase(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyRectangleShape_base_OnEraseContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyRectangleShape *arg1 = (wxPyRectangleShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyRectangleShape_base_OnEraseContents",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyRectangleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEraseContents(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyRectangleShape_base_OnHighlight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyRectangleShape *arg1 = (wxPyRectangleShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyRectangleShape_base_OnHighlight",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyRectangleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnHighlight(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyRectangleShape_base_OnLeftClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyRectangleShape *arg1 = (wxPyRectangleShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyRectangleShape_base_OnLeftClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyRectangleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnLeftClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyRectangleShape_base_OnLeftDoubleClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyRectangleShape *arg1 = (wxPyRectangleShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyRectangleShape_base_OnLeftDoubleClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyRectangleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnLeftDoubleClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyRectangleShape_base_OnRightClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyRectangleShape *arg1 = (wxPyRectangleShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyRectangleShape_base_OnRightClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyRectangleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnRightClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyRectangleShape_base_OnSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyRectangleShape *arg1 = (wxPyRectangleShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyRectangleShape_base_OnSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyRectangleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyRectangleShape_base_OnMovePre(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyRectangleShape *arg1 = (wxPyRectangleShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    bool arg7 = (bool) True ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "old_x",(char *) "old_y",(char *) "display", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd|O:PyRectangleShape_base_OnMovePre",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6,&obj6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyRectangleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj6) {
+        arg7 = PyInt_AsLong(obj6) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->base_OnMovePre(*arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyRectangleShape_base_OnMovePost(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyRectangleShape *arg1 = (wxPyRectangleShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    bool arg7 = (bool) True ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "old_x",(char *) "old_y",(char *) "display", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd|O:PyRectangleShape_base_OnMovePost",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6,&obj6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyRectangleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj6) {
+        arg7 = PyInt_AsLong(obj6) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMovePost(*arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyRectangleShape_base_OnDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyRectangleShape *arg1 = (wxPyRectangleShape *) 0 ;
+    bool arg2 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyRectangleShape_base_OnDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyRectangleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyRectangleShape_base_OnBeginDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyRectangleShape *arg1 = (wxPyRectangleShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyRectangleShape_base_OnBeginDragLeft",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyRectangleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginDragLeft(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyRectangleShape_base_OnEndDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyRectangleShape *arg1 = (wxPyRectangleShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyRectangleShape_base_OnEndDragLeft",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyRectangleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndDragLeft(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyRectangleShape_base_OnDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyRectangleShape *arg1 = (wxPyRectangleShape *) 0 ;
+    bool arg2 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyRectangleShape_base_OnDragRight",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyRectangleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDragRight(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyRectangleShape_base_OnBeginDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyRectangleShape *arg1 = (wxPyRectangleShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyRectangleShape_base_OnBeginDragRight",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyRectangleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginDragRight(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyRectangleShape_base_OnEndDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyRectangleShape *arg1 = (wxPyRectangleShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyRectangleShape_base_OnEndDragRight",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyRectangleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndDragRight(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyRectangleShape_base_OnDrawOutline(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyRectangleShape *arg1 = (wxPyRectangleShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd:PyRectangleShape_base_OnDrawOutline",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyRectangleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawOutline(*arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyRectangleShape_base_OnDrawControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyRectangleShape *arg1 = (wxPyRectangleShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyRectangleShape_base_OnDrawControlPoints",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyRectangleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawControlPoints(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyRectangleShape_base_OnEraseControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyRectangleShape *arg1 = (wxPyRectangleShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyRectangleShape_base_OnEraseControlPoints",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyRectangleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEraseControlPoints(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyRectangleShape_base_OnMoveLink(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyRectangleShape *arg1 = (wxPyRectangleShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    bool arg3 = (bool) True ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "moveControlPoints", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyRectangleShape_base_OnMoveLink",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyRectangleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMoveLink(*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyRectangleShape_base_OnSizingDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyRectangleShape *arg1 = (wxPyRectangleShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    bool arg3 ;
+    double arg4 ;
+    double arg5 ;
+    int arg6 = (int) 0 ;
+    int arg7 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOOdd|ii:PyRectangleShape_base_OnSizingDragLeft",kwnames,&obj0,&obj1,&obj2,&arg4,&arg5,&arg6,&arg7)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyRectangleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg3 = PyInt_AsLong(obj2) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingDragLeft(arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyRectangleShape_base_OnSizingBeginDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyRectangleShape *arg1 = (wxPyRectangleShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyRectangleShape_base_OnSizingBeginDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyRectangleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingBeginDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyRectangleShape_base_OnSizingEndDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyRectangleShape *arg1 = (wxPyRectangleShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyRectangleShape_base_OnSizingEndDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyRectangleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingEndDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyRectangleShape_base_OnBeginSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyRectangleShape *arg1 = (wxPyRectangleShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyRectangleShape_base_OnBeginSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyRectangleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyRectangleShape_base_OnEndSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyRectangleShape *arg1 = (wxPyRectangleShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyRectangleShape_base_OnEndSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyRectangleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * PyRectangleShape_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_wxPyRectangleShape, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_PyControlPoint(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeCanvas *arg1 = (wxPyShapeCanvas *) NULL ;
+    wxPyShape *arg2 = (wxPyShape *) NULL ;
+    double arg3 = (double) 0.0 ;
+    double arg4 = (double) 0.0 ;
+    double arg5 = (double) 0.0 ;
+    int arg6 = (int) 0 ;
+    wxPyControlPoint *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "the_canvas",(char *) "object",(char *) "size",(char *) "the_xoffset",(char *) "the_yoffset",(char *) "the_type", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"|OOdddi:new_PyControlPoint",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if (obj0) {
+        if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeCanvas,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    }
+    if (obj1) {
+        if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyControlPoint *)new wxPyControlPoint(arg1,arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxPyControlPoint, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyControlPoint__setCallbackInfo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyControlPoint *arg1 = (wxPyControlPoint *) 0 ;
+    PyObject *arg2 = (PyObject *) 0 ;
+    PyObject *arg3 = (PyObject *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "self",(char *) "_class", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:PyControlPoint__setCallbackInfo",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = obj1;
+    arg3 = obj2;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->_setCallbackInfo(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyControlPoint_SetCornerRadius(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyControlPoint *arg1 = (wxPyControlPoint *) 0 ;
+    double arg2 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "radius", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Od:PyControlPoint_SetCornerRadius",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetCornerRadius(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyControlPoint_base_OnDelete(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyControlPoint *arg1 = (wxPyControlPoint *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyControlPoint_base_OnDelete",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDelete();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyControlPoint_base_OnDraw(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyControlPoint *arg1 = (wxPyControlPoint *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyControlPoint_base_OnDraw",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDraw(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyControlPoint_base_OnDrawContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyControlPoint *arg1 = (wxPyControlPoint *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyControlPoint_base_OnDrawContents",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawContents(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyControlPoint_base_OnDrawBranches(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyControlPoint *arg1 = (wxPyControlPoint *) 0 ;
+    wxDC *arg2 = 0 ;
+    bool arg3 = (bool) FALSE ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "erase", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyControlPoint_base_OnDrawBranches",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawBranches(*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyControlPoint_base_OnMoveLinks(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyControlPoint *arg1 = (wxPyControlPoint *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyControlPoint_base_OnMoveLinks",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMoveLinks(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyControlPoint_base_OnErase(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyControlPoint *arg1 = (wxPyControlPoint *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyControlPoint_base_OnErase",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnErase(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyControlPoint_base_OnEraseContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyControlPoint *arg1 = (wxPyControlPoint *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyControlPoint_base_OnEraseContents",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEraseContents(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyControlPoint_base_OnHighlight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyControlPoint *arg1 = (wxPyControlPoint *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyControlPoint_base_OnHighlight",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnHighlight(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyControlPoint_base_OnLeftClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyControlPoint *arg1 = (wxPyControlPoint *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyControlPoint_base_OnLeftClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnLeftClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyControlPoint_base_OnLeftDoubleClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyControlPoint *arg1 = (wxPyControlPoint *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyControlPoint_base_OnLeftDoubleClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnLeftDoubleClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyControlPoint_base_OnRightClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyControlPoint *arg1 = (wxPyControlPoint *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyControlPoint_base_OnRightClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnRightClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyControlPoint_base_OnSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyControlPoint *arg1 = (wxPyControlPoint *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyControlPoint_base_OnSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyControlPoint_base_OnMovePre(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyControlPoint *arg1 = (wxPyControlPoint *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    bool arg7 = (bool) True ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "old_x",(char *) "old_y",(char *) "display", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd|O:PyControlPoint_base_OnMovePre",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6,&obj6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj6) {
+        arg7 = PyInt_AsLong(obj6) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->base_OnMovePre(*arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyControlPoint_base_OnMovePost(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyControlPoint *arg1 = (wxPyControlPoint *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    bool arg7 = (bool) True ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "old_x",(char *) "old_y",(char *) "display", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd|O:PyControlPoint_base_OnMovePost",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6,&obj6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj6) {
+        arg7 = PyInt_AsLong(obj6) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMovePost(*arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyControlPoint_base_OnDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyControlPoint *arg1 = (wxPyControlPoint *) 0 ;
+    bool arg2 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyControlPoint_base_OnDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyControlPoint_base_OnBeginDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyControlPoint *arg1 = (wxPyControlPoint *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyControlPoint_base_OnBeginDragLeft",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginDragLeft(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyControlPoint_base_OnEndDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyControlPoint *arg1 = (wxPyControlPoint *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyControlPoint_base_OnEndDragLeft",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndDragLeft(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyControlPoint_base_OnDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyControlPoint *arg1 = (wxPyControlPoint *) 0 ;
+    bool arg2 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyControlPoint_base_OnDragRight",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDragRight(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyControlPoint_base_OnBeginDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyControlPoint *arg1 = (wxPyControlPoint *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyControlPoint_base_OnBeginDragRight",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginDragRight(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyControlPoint_base_OnEndDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyControlPoint *arg1 = (wxPyControlPoint *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyControlPoint_base_OnEndDragRight",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndDragRight(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyControlPoint_base_OnDrawOutline(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyControlPoint *arg1 = (wxPyControlPoint *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd:PyControlPoint_base_OnDrawOutline",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawOutline(*arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyControlPoint_base_OnDrawControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyControlPoint *arg1 = (wxPyControlPoint *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyControlPoint_base_OnDrawControlPoints",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawControlPoints(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyControlPoint_base_OnEraseControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyControlPoint *arg1 = (wxPyControlPoint *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyControlPoint_base_OnEraseControlPoints",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEraseControlPoints(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyControlPoint_base_OnMoveLink(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyControlPoint *arg1 = (wxPyControlPoint *) 0 ;
+    wxDC *arg2 = 0 ;
+    bool arg3 = (bool) True ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "moveControlPoints", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyControlPoint_base_OnMoveLink",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMoveLink(*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyControlPoint_base_OnSizingDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyControlPoint *arg1 = (wxPyControlPoint *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    bool arg3 ;
+    double arg4 ;
+    double arg5 ;
+    int arg6 = (int) 0 ;
+    int arg7 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOOdd|ii:PyControlPoint_base_OnSizingDragLeft",kwnames,&obj0,&obj1,&obj2,&arg4,&arg5,&arg6,&arg7)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg3 = PyInt_AsLong(obj2) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingDragLeft(arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyControlPoint_base_OnSizingBeginDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyControlPoint *arg1 = (wxPyControlPoint *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyControlPoint_base_OnSizingBeginDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingBeginDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyControlPoint_base_OnSizingEndDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyControlPoint *arg1 = (wxPyControlPoint *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyControlPoint_base_OnSizingEndDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingEndDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyControlPoint_base_OnBeginSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyControlPoint *arg1 = (wxPyControlPoint *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyControlPoint_base_OnBeginSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyControlPoint_base_OnEndSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyControlPoint *arg1 = (wxPyControlPoint *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyControlPoint_base_OnEndSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * PyControlPoint_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_wxPyControlPoint, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_PyBitmapShape(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *result;
+    char *kwnames[] = {
+        NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)":new_PyBitmapShape",kwnames)) goto fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyBitmapShape *)new wxPyBitmapShape();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxPyBitmapShape, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape__setCallbackInfo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    PyObject *arg2 = (PyObject *) 0 ;
+    PyObject *arg3 = (PyObject *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "self",(char *) "_class", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:PyBitmapShape__setCallbackInfo",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = obj1;
+    arg3 = obj2;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->_setCallbackInfo(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape_GetBitmap(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    wxBitmap *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyBitmapShape_GetBitmap",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        {
+            wxBitmap &_result_ref = (arg1)->GetBitmap();
+            result = (wxBitmap *) &_result_ref;
+        }
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxBitmap, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape_GetFilename(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    wxString result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyBitmapShape_GetFilename",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (arg1)->GetFilename();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+#if wxUSE_UNICODE
+        resultobj = PyUnicode_FromWideChar((&result)->c_str(), (&result)->Len());
+#else
+        resultobj = PyString_FromStringAndSize((&result)->c_str(), (&result)->Len());
+#endif
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape_SetBitmap(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    wxBitmap *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "bitmap", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyBitmapShape_SetBitmap",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxBitmap,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetBitmap((wxBitmap const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape_SetFilename(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    wxString *arg2 = 0 ;
+    bool temp2 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "filename", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyBitmapShape_SetFilename",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = wxString_in_helper(obj1);
+        if (arg2 == NULL) SWIG_fail;
+        temp2 = True;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetFilename((wxString const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape_base_OnDelete(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyBitmapShape_base_OnDelete",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDelete();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape_base_OnDraw(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyBitmapShape_base_OnDraw",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDraw(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape_base_OnDrawContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyBitmapShape_base_OnDrawContents",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawContents(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape_base_OnDrawBranches(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    bool arg3 = (bool) FALSE ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "erase", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyBitmapShape_base_OnDrawBranches",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawBranches(*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape_base_OnMoveLinks(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyBitmapShape_base_OnMoveLinks",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMoveLinks(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape_base_OnErase(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyBitmapShape_base_OnErase",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnErase(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape_base_OnEraseContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyBitmapShape_base_OnEraseContents",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEraseContents(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape_base_OnHighlight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyBitmapShape_base_OnHighlight",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnHighlight(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape_base_OnLeftClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyBitmapShape_base_OnLeftClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnLeftClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape_base_OnLeftDoubleClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyBitmapShape_base_OnLeftDoubleClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnLeftDoubleClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape_base_OnRightClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyBitmapShape_base_OnRightClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnRightClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape_base_OnSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyBitmapShape_base_OnSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape_base_OnMovePre(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    bool arg7 = (bool) True ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "old_x",(char *) "old_y",(char *) "display", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd|O:PyBitmapShape_base_OnMovePre",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6,&obj6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj6) {
+        arg7 = PyInt_AsLong(obj6) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->base_OnMovePre(*arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape_base_OnMovePost(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    bool arg7 = (bool) True ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "old_x",(char *) "old_y",(char *) "display", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd|O:PyBitmapShape_base_OnMovePost",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6,&obj6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj6) {
+        arg7 = PyInt_AsLong(obj6) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMovePost(*arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape_base_OnDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    bool arg2 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyBitmapShape_base_OnDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape_base_OnBeginDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyBitmapShape_base_OnBeginDragLeft",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginDragLeft(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape_base_OnEndDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyBitmapShape_base_OnEndDragLeft",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndDragLeft(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape_base_OnDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    bool arg2 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyBitmapShape_base_OnDragRight",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDragRight(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape_base_OnBeginDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyBitmapShape_base_OnBeginDragRight",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginDragRight(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape_base_OnEndDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyBitmapShape_base_OnEndDragRight",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndDragRight(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape_base_OnDrawOutline(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd:PyBitmapShape_base_OnDrawOutline",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawOutline(*arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape_base_OnDrawControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyBitmapShape_base_OnDrawControlPoints",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawControlPoints(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape_base_OnEraseControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyBitmapShape_base_OnEraseControlPoints",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEraseControlPoints(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape_base_OnMoveLink(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    bool arg3 = (bool) True ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "moveControlPoints", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyBitmapShape_base_OnMoveLink",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMoveLink(*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape_base_OnSizingDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    bool arg3 ;
+    double arg4 ;
+    double arg5 ;
+    int arg6 = (int) 0 ;
+    int arg7 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOOdd|ii:PyBitmapShape_base_OnSizingDragLeft",kwnames,&obj0,&obj1,&obj2,&arg4,&arg5,&arg6,&arg7)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg3 = PyInt_AsLong(obj2) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingDragLeft(arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape_base_OnSizingBeginDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyBitmapShape_base_OnSizingBeginDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingBeginDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape_base_OnSizingEndDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyBitmapShape_base_OnSizingEndDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingEndDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape_base_OnBeginSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyBitmapShape_base_OnBeginSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape_base_OnEndSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyBitmapShape_base_OnEndSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * PyBitmapShape_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_wxPyBitmapShape, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_PyDrawnShape(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *result;
+    char *kwnames[] = {
+        NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)":new_PyDrawnShape",kwnames)) goto fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyDrawnShape *)new wxPyDrawnShape();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxPyDrawnShape, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape__setCallbackInfo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    PyObject *arg2 = (PyObject *) 0 ;
+    PyObject *arg3 = (PyObject *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "self",(char *) "_class", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:PyDrawnShape__setCallbackInfo",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = obj1;
+    arg3 = obj2;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->_setCallbackInfo(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_CalculateSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyDrawnShape_CalculateSize",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->CalculateSize();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_DestroyClippingRect(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyDrawnShape_DestroyClippingRect",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DestroyClippingRect();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_DrawArc(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    wxPoint *arg2 = 0 ;
+    wxPoint *arg3 = 0 ;
+    wxPoint *arg4 = 0 ;
+    wxPoint temp2 ;
+    wxPoint temp3 ;
+    wxPoint temp4 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "centrePoint",(char *) "startPoint",(char *) "endPoint", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOOO:PyDrawnShape_DrawArc",kwnames,&obj0,&obj1,&obj2,&obj3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = &temp2;
+        if ( ! wxPoint_helper(obj1, &arg2)) SWIG_fail;
+    }
+    {
+        arg3 = &temp3;
+        if ( ! wxPoint_helper(obj2, &arg3)) SWIG_fail;
+    }
+    {
+        arg4 = &temp4;
+        if ( ! wxPoint_helper(obj3, &arg4)) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DrawArc((wxPoint const &)*arg2,(wxPoint const &)*arg3,(wxPoint const &)*arg4);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_DrawAtAngle(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    int arg2 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "angle", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:PyDrawnShape_DrawAtAngle",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DrawAtAngle(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_DrawEllipticArc(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    wxRect *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    wxRect temp2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "rect",(char *) "startAngle",(char *) "endAngle", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd:PyDrawnShape_DrawEllipticArc",kwnames,&obj0,&obj1,&arg3,&arg4)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = &temp2;
+        if ( ! wxRect_helper(obj1, &arg2)) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DrawEllipticArc((wxRect const &)*arg2,arg3,arg4);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_DrawLine(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    wxPoint *arg2 = 0 ;
+    wxPoint *arg3 = 0 ;
+    wxPoint temp2 ;
+    wxPoint temp3 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "point1",(char *) "point2", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:PyDrawnShape_DrawLine",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = &temp2;
+        if ( ! wxPoint_helper(obj1, &arg2)) SWIG_fail;
+    }
+    {
+        arg3 = &temp3;
+        if ( ! wxPoint_helper(obj2, &arg3)) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DrawLine((wxPoint const &)*arg2,(wxPoint const &)*arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_DrawLines(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    int arg2 ;
+    wxPoint *arg3 = (wxPoint *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "PCOUNT",(char *) "points", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OiO:PyDrawnShape_DrawLines",kwnames,&obj0,&arg2,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj2,(void **) &arg3, SWIGTYPE_p_wxPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DrawLines(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_DrawPoint(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    wxPoint *arg2 = 0 ;
+    wxPoint temp2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "point", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDrawnShape_DrawPoint",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = &temp2;
+        if ( ! wxPoint_helper(obj1, &arg2)) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DrawPoint((wxPoint const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_DrawPolygon(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    int arg2 ;
+    wxPoint *arg3 = (wxPoint *) 0 ;
+    int arg4 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "PCOUNT",(char *) "points",(char *) "flags", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OiO|i:PyDrawnShape_DrawPolygon",kwnames,&obj0,&arg2,&obj2,&arg4)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj2,(void **) &arg3, SWIGTYPE_p_wxPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DrawPolygon(arg2,arg3,arg4);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_DrawRectangle(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    wxRect *arg2 = 0 ;
+    wxRect temp2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "rect", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDrawnShape_DrawRectangle",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = &temp2;
+        if ( ! wxRect_helper(obj1, &arg2)) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DrawRectangle((wxRect const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_DrawRoundedRectangle(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    wxRect *arg2 = 0 ;
+    double arg3 ;
+    wxRect temp2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "rect",(char *) "radius", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOd:PyDrawnShape_DrawRoundedRectangle",kwnames,&obj0,&obj1,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = &temp2;
+        if ( ! wxRect_helper(obj1, &arg2)) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DrawRoundedRectangle((wxRect const &)*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_DrawSpline(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    int arg2 ;
+    wxPoint *arg3 = (wxPoint *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "PCOUNT",(char *) "points", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OiO:PyDrawnShape_DrawSpline",kwnames,&obj0,&arg2,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj2,(void **) &arg3, SWIGTYPE_p_wxPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DrawSpline(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_DrawText(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    wxString *arg2 = 0 ;
+    wxPoint *arg3 = 0 ;
+    bool temp2 = False ;
+    wxPoint temp3 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "text",(char *) "point", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:PyDrawnShape_DrawText",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = wxString_in_helper(obj1);
+        if (arg2 == NULL) SWIG_fail;
+        temp2 = True;
+    }
+    {
+        arg3 = &temp3;
+        if ( ! wxPoint_helper(obj2, &arg3)) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DrawText((wxString const &)*arg2,(wxPoint const &)*arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_GetAngle(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyDrawnShape_GetAngle",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)(arg1)->GetAngle();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_GetMetaFile(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    wxPseudoMetaFile *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyDrawnShape_GetMetaFile",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        {
+            wxPseudoMetaFile &_result_ref = (arg1)->GetMetaFile();
+            result = (wxPseudoMetaFile *) &_result_ref;
+        }
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxPseudoMetaFile, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_GetRotation(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyDrawnShape_GetRotation",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (double)(arg1)->GetRotation();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyFloat_FromDouble(result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_LoadFromMetaFile(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    wxString *arg2 = 0 ;
+    bool result;
+    bool temp2 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "filename", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDrawnShape_LoadFromMetaFile",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = wxString_in_helper(obj1);
+        if (arg2 == NULL) SWIG_fail;
+        temp2 = True;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->LoadFromMetaFile((wxString const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_Rotate(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    double arg4 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "theta", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oddd:PyDrawnShape_Rotate",kwnames,&obj0,&arg2,&arg3,&arg4)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Rotate(arg2,arg3,arg4);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_SetClippingRect(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    wxRect *arg2 = 0 ;
+    wxRect temp2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "rect", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDrawnShape_SetClippingRect",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = &temp2;
+        if ( ! wxRect_helper(obj1, &arg2)) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetClippingRect((wxRect const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_SetDrawnBackgroundColour(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    wxColour *arg2 = 0 ;
+    wxColour temp2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "colour", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDrawnShape_SetDrawnBackgroundColour",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = &temp2;
+        if ( ! wxColour_helper(obj1, &arg2)) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetDrawnBackgroundColour((wxColour const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_SetDrawnBackgroundMode(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    int arg2 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "mode", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:PyDrawnShape_SetDrawnBackgroundMode",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetDrawnBackgroundMode(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_SetDrawnBrush(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    wxBrush *arg2 = (wxBrush *) 0 ;
+    bool arg3 = (bool) FALSE ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pen",(char *) "isOutline", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyDrawnShape_SetDrawnBrush",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        wxBrush* temp;
+        if (obj1) {
+            if (obj1 == Py_None) {
+                temp = NULL; 
+            }
+            else if (! wxPyConvertSwigPtr(obj1, (void **) &temp, wxT("wxBrush"))) {
+                PyErr_SetString(PyExc_TypeError, "Type error, expected wxBrush.");
+                return NULL;
+            }
+        }
+        if (temp)
+        arg2 = wxTheBrushList->FindOrCreateBrush(temp->GetColour(), temp->GetStyle());
+        else
+        arg2 = NULL;
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetDrawnBrush(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_SetDrawnFont(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    wxFont *arg2 = (wxFont *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "font", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDrawnShape_SetDrawnFont",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        wxFont* temp;
+        if (obj1) {
+            if (obj1 == Py_None) {
+                temp = NULL; 
+            }
+            else if (! wxPyConvertSwigPtr(obj1, (void **) &temp, wxT("wxFont"))) {
+                PyErr_SetString(PyExc_TypeError, "Type error, expected wxFont.");
+                return NULL;
+            }
+        }
+        if (temp)
+        arg2 = wxTheFontList->FindOrCreateFont(temp->GetPointSize(),
+        temp->GetFamily(),
+        temp->GetStyle(),
+        temp->GetWeight(),
+        temp->GetUnderlined(),
+        temp->GetFaceName(),
+        temp->GetEncoding());
+        else
+        arg2 = NULL;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetDrawnFont(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_SetDrawnPen(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    wxPen *arg2 = (wxPen *) 0 ;
+    bool arg3 = (bool) FALSE ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pen",(char *) "isOutline", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyDrawnShape_SetDrawnPen",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        wxPen* temp;
+        if (obj1) {
+            if (obj1 == Py_None) {
+                temp = NULL; 
+            }
+            else if (! wxPyConvertSwigPtr(obj1, (void **) &temp, wxT("wxPen"))) {
+                PyErr_SetString(PyExc_TypeError, "Type error, expected wxPen.");
+                return NULL;
+            }
+        }
+        if (temp)
+        arg2 = wxThePenList->FindOrCreatePen(temp->GetColour(),
+        temp->GetWidth(),
+        temp->GetStyle());
+        else
+        arg2 = NULL;
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetDrawnPen(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_SetDrawnTextColour(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    wxColour *arg2 = 0 ;
+    wxColour temp2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "colour", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDrawnShape_SetDrawnTextColour",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = &temp2;
+        if ( ! wxColour_helper(obj1, &arg2)) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetDrawnTextColour((wxColour const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_Scale(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "sx",(char *) "sy", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyDrawnShape_Scale",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Scale(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_SetSaveToFile(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    bool arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "save", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDrawnShape_SetSaveToFile",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetSaveToFile(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_Translate(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyDrawnShape_Translate",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Translate(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_base_OnDelete(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyDrawnShape_base_OnDelete",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDelete();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_base_OnDraw(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDrawnShape_base_OnDraw",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDraw(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_base_OnDrawContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDrawnShape_base_OnDrawContents",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawContents(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_base_OnDrawBranches(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    bool arg3 = (bool) FALSE ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "erase", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyDrawnShape_base_OnDrawBranches",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawBranches(*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_base_OnMoveLinks(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDrawnShape_base_OnMoveLinks",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMoveLinks(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_base_OnErase(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDrawnShape_base_OnErase",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnErase(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_base_OnEraseContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDrawnShape_base_OnEraseContents",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEraseContents(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_base_OnHighlight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDrawnShape_base_OnHighlight",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnHighlight(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_base_OnLeftClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyDrawnShape_base_OnLeftClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnLeftClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_base_OnLeftDoubleClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyDrawnShape_base_OnLeftDoubleClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnLeftDoubleClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_base_OnRightClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyDrawnShape_base_OnRightClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnRightClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_base_OnSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyDrawnShape_base_OnSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_base_OnMovePre(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    bool arg7 = (bool) True ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "old_x",(char *) "old_y",(char *) "display", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd|O:PyDrawnShape_base_OnMovePre",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6,&obj6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj6) {
+        arg7 = PyInt_AsLong(obj6) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->base_OnMovePre(*arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_base_OnMovePost(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    bool arg7 = (bool) True ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "old_x",(char *) "old_y",(char *) "display", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd|O:PyDrawnShape_base_OnMovePost",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6,&obj6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj6) {
+        arg7 = PyInt_AsLong(obj6) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMovePost(*arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_base_OnDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    bool arg2 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyDrawnShape_base_OnDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_base_OnBeginDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyDrawnShape_base_OnBeginDragLeft",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginDragLeft(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_base_OnEndDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyDrawnShape_base_OnEndDragLeft",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndDragLeft(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_base_OnDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    bool arg2 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyDrawnShape_base_OnDragRight",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDragRight(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_base_OnBeginDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyDrawnShape_base_OnBeginDragRight",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginDragRight(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_base_OnEndDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyDrawnShape_base_OnEndDragRight",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndDragRight(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_base_OnDrawOutline(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd:PyDrawnShape_base_OnDrawOutline",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawOutline(*arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_base_OnDrawControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDrawnShape_base_OnDrawControlPoints",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawControlPoints(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_base_OnEraseControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDrawnShape_base_OnEraseControlPoints",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEraseControlPoints(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_base_OnMoveLink(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    bool arg3 = (bool) True ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "moveControlPoints", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyDrawnShape_base_OnMoveLink",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMoveLink(*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_base_OnSizingDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    bool arg3 ;
+    double arg4 ;
+    double arg5 ;
+    int arg6 = (int) 0 ;
+    int arg7 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOOdd|ii:PyDrawnShape_base_OnSizingDragLeft",kwnames,&obj0,&obj1,&obj2,&arg4,&arg5,&arg6,&arg7)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg3 = PyInt_AsLong(obj2) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingDragLeft(arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_base_OnSizingBeginDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyDrawnShape_base_OnSizingBeginDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingBeginDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_base_OnSizingEndDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyDrawnShape_base_OnSizingEndDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingEndDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_base_OnBeginSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyDrawnShape_base_OnBeginSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_base_OnEndSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyDrawnShape_base_OnEndSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * PyDrawnShape_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_wxPyDrawnShape, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_OGLConstraint(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    int arg1 ;
+    wxPyShape *arg2 = (wxPyShape *) 0 ;
+    PyObject *arg3 = (PyObject *) 0 ;
+    wxOGLConstraint *result;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "type",(char *) "constraining",(char *) "constrained", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"iOO:new_OGLConstraint",kwnames,&arg1,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg3 = obj2;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxOGLConstraint *)new_wxOGLConstraint(arg1,arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxObject(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_OGLConstraint_Evaluate(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxOGLConstraint *arg1 = (wxOGLConstraint *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:OGLConstraint_Evaluate",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxOGLConstraint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->Evaluate();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_OGLConstraint_SetSpacing(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxOGLConstraint *arg1 = (wxOGLConstraint *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:OGLConstraint_SetSpacing",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxOGLConstraint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetSpacing(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_OGLConstraint_Equals(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxOGLConstraint *arg1 = (wxOGLConstraint *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "a",(char *) "b", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:OGLConstraint_Equals",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxOGLConstraint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->Equals(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * OGLConstraint_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_wxOGLConstraint, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_PyCompositeShape(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *result;
+    char *kwnames[] = {
+        NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)":new_PyCompositeShape",kwnames)) goto fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyCompositeShape *)new wxPyCompositeShape();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxPyCompositeShape, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape__setCallbackInfo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    PyObject *arg2 = (PyObject *) 0 ;
+    PyObject *arg3 = (PyObject *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "self",(char *) "_class", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:PyCompositeShape__setCallbackInfo",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = obj1;
+    arg3 = obj2;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->_setCallbackInfo(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_AddChild(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    wxPyShape *arg2 = (wxPyShape *) 0 ;
+    wxPyShape *arg3 = (wxPyShape *) NULL ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "child",(char *) "addAfter", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyCompositeShape_AddChild",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (obj2) {
+        if ((SWIG_ConvertPtr(obj2,(void **) &arg3, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->AddChild(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_AddConstraint(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    wxOGLConstraint *arg2 = (wxOGLConstraint *) 0 ;
+    wxOGLConstraint *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "constraint", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyCompositeShape_AddConstraint",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxOGLConstraint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxOGLConstraint *)(arg1)->AddConstraint(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxObject(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_AddConstrainedShapes(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    int arg2 ;
+    wxPyShape *arg3 = (wxPyShape *) 0 ;
+    PyObject *arg4 = (PyObject *) 0 ;
+    wxOGLConstraint *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "type",(char *) "constraining",(char *) "constrained", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OiOO:PyCompositeShape_AddConstrainedShapes",kwnames,&obj0,&arg2,&obj2,&obj3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj2,(void **) &arg3, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg4 = obj3;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxOGLConstraint *)wxPyCompositeShape_AddConstrainedShapes(arg1,arg2,arg3,arg4);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxObject(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_AddSimpleConstraint(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    int arg2 ;
+    wxPyShape *arg3 = (wxPyShape *) 0 ;
+    wxPyShape *arg4 = (wxPyShape *) 0 ;
+    wxOGLConstraint *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "type",(char *) "constraining",(char *) "constrained", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OiOO:PyCompositeShape_AddSimpleConstraint",kwnames,&obj0,&arg2,&obj2,&obj3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj2,(void **) &arg3, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj3,(void **) &arg4, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxOGLConstraint *)(arg1)->AddConstraint(arg2,arg3,arg4);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxObject(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_CalculateSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyCompositeShape_CalculateSize",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->CalculateSize();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_ContainsDivision(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    wxPyDivisionShape *arg2 = (wxPyDivisionShape *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "division", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyCompositeShape_ContainsDivision",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->ContainsDivision(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_DeleteConstraint(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    wxOGLConstraint *arg2 = (wxOGLConstraint *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "constraint", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyCompositeShape_DeleteConstraint",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxOGLConstraint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DeleteConstraint(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_DeleteConstraintsInvolvingChild(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    wxPyShape *arg2 = (wxPyShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "child", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyCompositeShape_DeleteConstraintsInvolvingChild",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DeleteConstraintsInvolvingChild(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_FindContainerImage(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    wxPyShape *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyCompositeShape_FindContainerImage",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyShape *)(arg1)->FindContainerImage();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxShapeEvtHandler(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_GetConstraints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    PyObject *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyCompositeShape_GetConstraints",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (PyObject *)wxPyCompositeShape_GetConstraints(arg1);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = result;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_GetDivisions(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    PyObject *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyCompositeShape_GetDivisions",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (PyObject *)wxPyCompositeShape_GetDivisions(arg1);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = result;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_MakeContainer(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyCompositeShape_MakeContainer",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->MakeContainer();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_Recompute(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyCompositeShape_Recompute",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->Recompute();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_RemoveChild(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    wxPyShape *arg2 = (wxPyShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "child", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyCompositeShape_RemoveChild",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->RemoveChild(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_base_OnDelete(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyCompositeShape_base_OnDelete",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDelete();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_base_OnDraw(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyCompositeShape_base_OnDraw",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDraw(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_base_OnDrawContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyCompositeShape_base_OnDrawContents",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawContents(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_base_OnDrawBranches(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    bool arg3 = (bool) FALSE ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "erase", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyCompositeShape_base_OnDrawBranches",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawBranches(*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_base_OnMoveLinks(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyCompositeShape_base_OnMoveLinks",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMoveLinks(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_base_OnErase(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyCompositeShape_base_OnErase",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnErase(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_base_OnEraseContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyCompositeShape_base_OnEraseContents",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEraseContents(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_base_OnHighlight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyCompositeShape_base_OnHighlight",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnHighlight(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_base_OnLeftClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyCompositeShape_base_OnLeftClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnLeftClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_base_OnLeftDoubleClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyCompositeShape_base_OnLeftDoubleClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnLeftDoubleClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_base_OnRightClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyCompositeShape_base_OnRightClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnRightClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_base_OnSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyCompositeShape_base_OnSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_base_OnMovePre(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    bool arg7 = (bool) True ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "old_x",(char *) "old_y",(char *) "display", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd|O:PyCompositeShape_base_OnMovePre",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6,&obj6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj6) {
+        arg7 = PyInt_AsLong(obj6) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->base_OnMovePre(*arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_base_OnMovePost(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    bool arg7 = (bool) True ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "old_x",(char *) "old_y",(char *) "display", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd|O:PyCompositeShape_base_OnMovePost",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6,&obj6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj6) {
+        arg7 = PyInt_AsLong(obj6) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMovePost(*arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_base_OnDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    bool arg2 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyCompositeShape_base_OnDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_base_OnBeginDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyCompositeShape_base_OnBeginDragLeft",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginDragLeft(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_base_OnEndDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyCompositeShape_base_OnEndDragLeft",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndDragLeft(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_base_OnDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    bool arg2 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyCompositeShape_base_OnDragRight",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDragRight(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_base_OnBeginDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyCompositeShape_base_OnBeginDragRight",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginDragRight(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_base_OnEndDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyCompositeShape_base_OnEndDragRight",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndDragRight(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_base_OnDrawOutline(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd:PyCompositeShape_base_OnDrawOutline",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawOutline(*arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_base_OnDrawControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyCompositeShape_base_OnDrawControlPoints",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawControlPoints(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_base_OnEraseControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyCompositeShape_base_OnEraseControlPoints",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEraseControlPoints(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_base_OnMoveLink(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    bool arg3 = (bool) True ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "moveControlPoints", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyCompositeShape_base_OnMoveLink",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMoveLink(*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_base_OnSizingDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    bool arg3 ;
+    double arg4 ;
+    double arg5 ;
+    int arg6 = (int) 0 ;
+    int arg7 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOOdd|ii:PyCompositeShape_base_OnSizingDragLeft",kwnames,&obj0,&obj1,&obj2,&arg4,&arg5,&arg6,&arg7)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg3 = PyInt_AsLong(obj2) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingDragLeft(arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_base_OnSizingBeginDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyCompositeShape_base_OnSizingBeginDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingBeginDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_base_OnSizingEndDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyCompositeShape_base_OnSizingEndDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingEndDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_base_OnBeginSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyCompositeShape_base_OnBeginSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_base_OnEndSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyCompositeShape_base_OnEndSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * PyCompositeShape_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_wxPyCompositeShape, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_PyDividedShape(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    double arg1 = (double) 0.0 ;
+    double arg2 = (double) 0.0 ;
+    wxPyDividedShape *result;
+    char *kwnames[] = {
+        (char *) "width",(char *) "height", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"|dd:new_PyDividedShape",kwnames,&arg1,&arg2)) goto fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyDividedShape *)new wxPyDividedShape(arg1,arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxPyDividedShape, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDividedShape__setCallbackInfo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDividedShape *arg1 = (wxPyDividedShape *) 0 ;
+    PyObject *arg2 = (PyObject *) 0 ;
+    PyObject *arg3 = (PyObject *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "self",(char *) "_class", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:PyDividedShape__setCallbackInfo",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDividedShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = obj1;
+    arg3 = obj2;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->_setCallbackInfo(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDividedShape_EditRegions(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDividedShape *arg1 = (wxPyDividedShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyDividedShape_EditRegions",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDividedShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->EditRegions();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDividedShape_SetRegionSizes(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDividedShape *arg1 = (wxPyDividedShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyDividedShape_SetRegionSizes",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDividedShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetRegionSizes();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDividedShape_base_OnDelete(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDividedShape *arg1 = (wxPyDividedShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyDividedShape_base_OnDelete",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDividedShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDelete();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDividedShape_base_OnDraw(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDividedShape *arg1 = (wxPyDividedShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDividedShape_base_OnDraw",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDividedShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDraw(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDividedShape_base_OnDrawContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDividedShape *arg1 = (wxPyDividedShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDividedShape_base_OnDrawContents",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDividedShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawContents(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDividedShape_base_OnDrawBranches(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDividedShape *arg1 = (wxPyDividedShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    bool arg3 = (bool) FALSE ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "erase", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyDividedShape_base_OnDrawBranches",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDividedShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawBranches(*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDividedShape_base_OnMoveLinks(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDividedShape *arg1 = (wxPyDividedShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDividedShape_base_OnMoveLinks",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDividedShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMoveLinks(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDividedShape_base_OnErase(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDividedShape *arg1 = (wxPyDividedShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDividedShape_base_OnErase",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDividedShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnErase(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDividedShape_base_OnEraseContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDividedShape *arg1 = (wxPyDividedShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDividedShape_base_OnEraseContents",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDividedShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEraseContents(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDividedShape_base_OnHighlight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDividedShape *arg1 = (wxPyDividedShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDividedShape_base_OnHighlight",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDividedShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnHighlight(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDividedShape_base_OnLeftClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDividedShape *arg1 = (wxPyDividedShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyDividedShape_base_OnLeftClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDividedShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnLeftClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDividedShape_base_OnLeftDoubleClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDividedShape *arg1 = (wxPyDividedShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyDividedShape_base_OnLeftDoubleClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDividedShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnLeftDoubleClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDividedShape_base_OnRightClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDividedShape *arg1 = (wxPyDividedShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyDividedShape_base_OnRightClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDividedShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnRightClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDividedShape_base_OnSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDividedShape *arg1 = (wxPyDividedShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyDividedShape_base_OnSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDividedShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDividedShape_base_OnMovePre(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDividedShape *arg1 = (wxPyDividedShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    bool arg7 = (bool) True ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "old_x",(char *) "old_y",(char *) "display", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd|O:PyDividedShape_base_OnMovePre",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6,&obj6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDividedShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj6) {
+        arg7 = PyInt_AsLong(obj6) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->base_OnMovePre(*arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDividedShape_base_OnMovePost(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDividedShape *arg1 = (wxPyDividedShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    bool arg7 = (bool) True ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "old_x",(char *) "old_y",(char *) "display", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd|O:PyDividedShape_base_OnMovePost",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6,&obj6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDividedShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj6) {
+        arg7 = PyInt_AsLong(obj6) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMovePost(*arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDividedShape_base_OnDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDividedShape *arg1 = (wxPyDividedShape *) 0 ;
+    bool arg2 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyDividedShape_base_OnDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDividedShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDividedShape_base_OnBeginDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDividedShape *arg1 = (wxPyDividedShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyDividedShape_base_OnBeginDragLeft",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDividedShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginDragLeft(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDividedShape_base_OnEndDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDividedShape *arg1 = (wxPyDividedShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyDividedShape_base_OnEndDragLeft",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDividedShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndDragLeft(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDividedShape_base_OnDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDividedShape *arg1 = (wxPyDividedShape *) 0 ;
+    bool arg2 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyDividedShape_base_OnDragRight",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDividedShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDragRight(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDividedShape_base_OnBeginDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDividedShape *arg1 = (wxPyDividedShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyDividedShape_base_OnBeginDragRight",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDividedShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginDragRight(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDividedShape_base_OnEndDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDividedShape *arg1 = (wxPyDividedShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyDividedShape_base_OnEndDragRight",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDividedShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndDragRight(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDividedShape_base_OnDrawOutline(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDividedShape *arg1 = (wxPyDividedShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd:PyDividedShape_base_OnDrawOutline",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDividedShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawOutline(*arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDividedShape_base_OnDrawControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDividedShape *arg1 = (wxPyDividedShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDividedShape_base_OnDrawControlPoints",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDividedShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawControlPoints(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDividedShape_base_OnEraseControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDividedShape *arg1 = (wxPyDividedShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDividedShape_base_OnEraseControlPoints",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDividedShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEraseControlPoints(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDividedShape_base_OnMoveLink(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDividedShape *arg1 = (wxPyDividedShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    bool arg3 = (bool) True ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "moveControlPoints", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyDividedShape_base_OnMoveLink",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDividedShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMoveLink(*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDividedShape_base_OnSizingDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDividedShape *arg1 = (wxPyDividedShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    bool arg3 ;
+    double arg4 ;
+    double arg5 ;
+    int arg6 = (int) 0 ;
+    int arg7 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOOdd|ii:PyDividedShape_base_OnSizingDragLeft",kwnames,&obj0,&obj1,&obj2,&arg4,&arg5,&arg6,&arg7)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDividedShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg3 = PyInt_AsLong(obj2) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingDragLeft(arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDividedShape_base_OnSizingBeginDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDividedShape *arg1 = (wxPyDividedShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyDividedShape_base_OnSizingBeginDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDividedShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingBeginDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDividedShape_base_OnSizingEndDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDividedShape *arg1 = (wxPyDividedShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyDividedShape_base_OnSizingEndDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDividedShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingEndDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDividedShape_base_OnBeginSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDividedShape *arg1 = (wxPyDividedShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyDividedShape_base_OnBeginSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDividedShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDividedShape_base_OnEndSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDividedShape *arg1 = (wxPyDividedShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyDividedShape_base_OnEndSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDividedShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * PyDividedShape_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_wxPyDividedShape, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_PyDivisionShape(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *result;
+    char *kwnames[] = {
+        NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)":new_PyDivisionShape",kwnames)) goto fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyDivisionShape *)new wxPyDivisionShape();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxShapeEvtHandler(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape__setCallbackInfo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    PyObject *arg2 = (PyObject *) 0 ;
+    PyObject *arg3 = (PyObject *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "self",(char *) "_class", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:PyDivisionShape__setCallbackInfo",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = obj1;
+    arg3 = obj2;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->_setCallbackInfo(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_AdjustBottom(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    double arg2 ;
+    bool arg3 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "bottom",(char *) "test", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OdO:PyDivisionShape_AdjustBottom",kwnames,&obj0,&arg2,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg3 = PyInt_AsLong(obj2) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->AdjustBottom(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_AdjustLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    double arg2 ;
+    bool arg3 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "left",(char *) "test", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OdO:PyDivisionShape_AdjustLeft",kwnames,&obj0,&arg2,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg3 = PyInt_AsLong(obj2) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->AdjustLeft(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_AdjustRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    double arg2 ;
+    bool arg3 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "right",(char *) "test", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OdO:PyDivisionShape_AdjustRight",kwnames,&obj0,&arg2,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg3 = PyInt_AsLong(obj2) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->AdjustRight(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_AdjustTop(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    double arg2 ;
+    bool arg3 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "top",(char *) "test", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OdO:PyDivisionShape_AdjustTop",kwnames,&obj0,&arg2,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg3 = PyInt_AsLong(obj2) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->AdjustTop(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_Divide(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    int arg2 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "direction", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:PyDivisionShape_Divide",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Divide(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_EditEdge(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    int arg2 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "side", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:PyDivisionShape_EditEdge",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->EditEdge(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_GetBottomSide(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    wxPyDivisionShape *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyDivisionShape_GetBottomSide",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyDivisionShape *)(arg1)->GetBottomSide();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxShapeEvtHandler(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_GetHandleSide(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyDivisionShape_GetHandleSide",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)(arg1)->GetHandleSide();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_GetLeftSide(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    wxPyDivisionShape *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyDivisionShape_GetLeftSide",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyDivisionShape *)(arg1)->GetLeftSide();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxShapeEvtHandler(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_GetLeftSideColour(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    wxString result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyDivisionShape_GetLeftSideColour",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (arg1)->GetLeftSideColour();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+#if wxUSE_UNICODE
+        resultobj = PyUnicode_FromWideChar((&result)->c_str(), (&result)->Len());
+#else
+        resultobj = PyString_FromStringAndSize((&result)->c_str(), (&result)->Len());
+#endif
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_GetLeftSidePen(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    wxPen *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyDivisionShape_GetLeftSidePen",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPen *)(arg1)->GetLeftSidePen();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxPen, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_GetRightSide(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    wxPyDivisionShape *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyDivisionShape_GetRightSide",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyDivisionShape *)(arg1)->GetRightSide();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxShapeEvtHandler(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_GetTopSide(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    wxPyDivisionShape *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyDivisionShape_GetTopSide",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyDivisionShape *)(arg1)->GetTopSide();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxShapeEvtHandler(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_GetTopSidePen(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    wxPen *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyDivisionShape_GetTopSidePen",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPen *)(arg1)->GetTopSidePen();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxPen, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_ResizeAdjoining(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    int arg2 ;
+    double arg3 ;
+    bool arg4 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj3 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "side",(char *) "newPos",(char *) "test", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OidO:PyDivisionShape_ResizeAdjoining",kwnames,&obj0,&arg2,&arg3,&obj3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg4 = PyInt_AsLong(obj3) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->ResizeAdjoining(arg2,arg3,arg4);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_PopupMenu(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyDivisionShape_PopupMenu",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->PopupMenu(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_SetBottomSide(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    wxPyDivisionShape *arg2 = (wxPyDivisionShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "shape", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDivisionShape_SetBottomSide",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetBottomSide(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_SetHandleSide(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    int arg2 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "side", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:PyDivisionShape_SetHandleSide",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetHandleSide(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_SetLeftSide(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    wxPyDivisionShape *arg2 = (wxPyDivisionShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "shape", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDivisionShape_SetLeftSide",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetLeftSide(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_SetLeftSideColour(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    wxString *arg2 = 0 ;
+    bool temp2 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "colour", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDivisionShape_SetLeftSideColour",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = wxString_in_helper(obj1);
+        if (arg2 == NULL) SWIG_fail;
+        temp2 = True;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetLeftSideColour((wxString const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_SetLeftSidePen(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    wxPen *arg2 = (wxPen *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pen", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDivisionShape_SetLeftSidePen",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        wxPen* temp;
+        if (obj1) {
+            if (obj1 == Py_None) {
+                temp = NULL; 
+            }
+            else if (! wxPyConvertSwigPtr(obj1, (void **) &temp, wxT("wxPen"))) {
+                PyErr_SetString(PyExc_TypeError, "Type error, expected wxPen.");
+                return NULL;
+            }
+        }
+        if (temp)
+        arg2 = wxThePenList->FindOrCreatePen(temp->GetColour(),
+        temp->GetWidth(),
+        temp->GetStyle());
+        else
+        arg2 = NULL;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetLeftSidePen(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_SetRightSide(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    wxPyDivisionShape *arg2 = (wxPyDivisionShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "shape", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDivisionShape_SetRightSide",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetRightSide(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_SetTopSide(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    wxPyDivisionShape *arg2 = (wxPyDivisionShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "shape", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDivisionShape_SetTopSide",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetTopSide(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_SetTopSideColour(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    wxString *arg2 = 0 ;
+    bool temp2 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "colour", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDivisionShape_SetTopSideColour",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = wxString_in_helper(obj1);
+        if (arg2 == NULL) SWIG_fail;
+        temp2 = True;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetTopSideColour((wxString const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_SetTopSidePen(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    wxPen *arg2 = (wxPen *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pen", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDivisionShape_SetTopSidePen",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        wxPen* temp;
+        if (obj1) {
+            if (obj1 == Py_None) {
+                temp = NULL; 
+            }
+            else if (! wxPyConvertSwigPtr(obj1, (void **) &temp, wxT("wxPen"))) {
+                PyErr_SetString(PyExc_TypeError, "Type error, expected wxPen.");
+                return NULL;
+            }
+        }
+        if (temp)
+        arg2 = wxThePenList->FindOrCreatePen(temp->GetColour(),
+        temp->GetWidth(),
+        temp->GetStyle());
+        else
+        arg2 = NULL;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetTopSidePen(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_base_OnDelete(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyDivisionShape_base_OnDelete",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDelete();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_base_OnDraw(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDivisionShape_base_OnDraw",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDraw(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_base_OnDrawContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDivisionShape_base_OnDrawContents",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawContents(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_base_OnDrawBranches(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    bool arg3 = (bool) FALSE ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "erase", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyDivisionShape_base_OnDrawBranches",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawBranches(*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_base_OnMoveLinks(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDivisionShape_base_OnMoveLinks",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMoveLinks(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_base_OnErase(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDivisionShape_base_OnErase",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnErase(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_base_OnEraseContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDivisionShape_base_OnEraseContents",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEraseContents(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_base_OnHighlight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDivisionShape_base_OnHighlight",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnHighlight(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_base_OnLeftClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyDivisionShape_base_OnLeftClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnLeftClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_base_OnLeftDoubleClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyDivisionShape_base_OnLeftDoubleClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnLeftDoubleClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_base_OnRightClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyDivisionShape_base_OnRightClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnRightClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_base_OnSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyDivisionShape_base_OnSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_base_OnMovePre(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    bool arg7 = (bool) True ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "old_x",(char *) "old_y",(char *) "display", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd|O:PyDivisionShape_base_OnMovePre",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6,&obj6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj6) {
+        arg7 = PyInt_AsLong(obj6) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->base_OnMovePre(*arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_base_OnMovePost(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    bool arg7 = (bool) True ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "old_x",(char *) "old_y",(char *) "display", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd|O:PyDivisionShape_base_OnMovePost",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6,&obj6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj6) {
+        arg7 = PyInt_AsLong(obj6) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMovePost(*arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_base_OnDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    bool arg2 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyDivisionShape_base_OnDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_base_OnBeginDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyDivisionShape_base_OnBeginDragLeft",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginDragLeft(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_base_OnEndDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyDivisionShape_base_OnEndDragLeft",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndDragLeft(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_base_OnDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    bool arg2 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyDivisionShape_base_OnDragRight",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDragRight(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_base_OnBeginDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyDivisionShape_base_OnBeginDragRight",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginDragRight(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_base_OnEndDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyDivisionShape_base_OnEndDragRight",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndDragRight(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_base_OnDrawOutline(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd:PyDivisionShape_base_OnDrawOutline",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawOutline(*arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_base_OnDrawControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDivisionShape_base_OnDrawControlPoints",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawControlPoints(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_base_OnEraseControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDivisionShape_base_OnEraseControlPoints",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEraseControlPoints(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_base_OnMoveLink(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    bool arg3 = (bool) True ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "moveControlPoints", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyDivisionShape_base_OnMoveLink",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMoveLink(*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_base_OnSizingDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    bool arg3 ;
+    double arg4 ;
+    double arg5 ;
+    int arg6 = (int) 0 ;
+    int arg7 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOOdd|ii:PyDivisionShape_base_OnSizingDragLeft",kwnames,&obj0,&obj1,&obj2,&arg4,&arg5,&arg6,&arg7)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg3 = PyInt_AsLong(obj2) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingDragLeft(arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_base_OnSizingBeginDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyDivisionShape_base_OnSizingBeginDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingBeginDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_base_OnSizingEndDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyDivisionShape_base_OnSizingEndDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingEndDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_base_OnBeginSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyDivisionShape_base_OnBeginSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_base_OnEndSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyDivisionShape_base_OnEndSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * PyDivisionShape_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_wxPyDivisionShape, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_PyEllipseShape(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    double arg1 = (double) 0.0 ;
+    double arg2 = (double) 0.0 ;
+    wxPyEllipseShape *result;
+    char *kwnames[] = {
+        (char *) "width",(char *) "height", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"|dd:new_PyEllipseShape",kwnames,&arg1,&arg2)) goto fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyEllipseShape *)new wxPyEllipseShape(arg1,arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxPyEllipseShape, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyEllipseShape__setCallbackInfo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyEllipseShape *arg1 = (wxPyEllipseShape *) 0 ;
+    PyObject *arg2 = (PyObject *) 0 ;
+    PyObject *arg3 = (PyObject *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "self",(char *) "_class", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:PyEllipseShape__setCallbackInfo",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyEllipseShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = obj1;
+    arg3 = obj2;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->_setCallbackInfo(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyEllipseShape_base_OnDraw(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyEllipseShape *arg1 = (wxPyEllipseShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyEllipseShape_base_OnDraw",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyEllipseShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDraw(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyEllipseShape_base_OnDrawContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyEllipseShape *arg1 = (wxPyEllipseShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyEllipseShape_base_OnDrawContents",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyEllipseShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawContents(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyEllipseShape_base_OnDrawBranches(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyEllipseShape *arg1 = (wxPyEllipseShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    bool arg3 = (bool) FALSE ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "erase", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyEllipseShape_base_OnDrawBranches",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyEllipseShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawBranches(*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyEllipseShape_base_OnMoveLinks(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyEllipseShape *arg1 = (wxPyEllipseShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyEllipseShape_base_OnMoveLinks",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyEllipseShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMoveLinks(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyEllipseShape_base_OnErase(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyEllipseShape *arg1 = (wxPyEllipseShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyEllipseShape_base_OnErase",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyEllipseShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnErase(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyEllipseShape_base_OnEraseContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyEllipseShape *arg1 = (wxPyEllipseShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyEllipseShape_base_OnEraseContents",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyEllipseShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEraseContents(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyEllipseShape_base_OnHighlight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyEllipseShape *arg1 = (wxPyEllipseShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyEllipseShape_base_OnHighlight",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyEllipseShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnHighlight(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyEllipseShape_base_OnLeftClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyEllipseShape *arg1 = (wxPyEllipseShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyEllipseShape_base_OnLeftClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyEllipseShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnLeftClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyEllipseShape_base_OnLeftDoubleClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyEllipseShape *arg1 = (wxPyEllipseShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyEllipseShape_base_OnLeftDoubleClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyEllipseShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnLeftDoubleClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyEllipseShape_base_OnRightClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyEllipseShape *arg1 = (wxPyEllipseShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyEllipseShape_base_OnRightClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyEllipseShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnRightClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyEllipseShape_base_OnSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyEllipseShape *arg1 = (wxPyEllipseShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyEllipseShape_base_OnSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyEllipseShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyEllipseShape_base_OnMovePre(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyEllipseShape *arg1 = (wxPyEllipseShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    bool arg7 = (bool) True ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "old_x",(char *) "old_y",(char *) "display", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd|O:PyEllipseShape_base_OnMovePre",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6,&obj6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyEllipseShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj6) {
+        arg7 = PyInt_AsLong(obj6) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->base_OnMovePre(*arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyEllipseShape_base_OnMovePost(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyEllipseShape *arg1 = (wxPyEllipseShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    bool arg7 = (bool) True ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "old_x",(char *) "old_y",(char *) "display", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd|O:PyEllipseShape_base_OnMovePost",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6,&obj6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyEllipseShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj6) {
+        arg7 = PyInt_AsLong(obj6) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMovePost(*arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyEllipseShape_base_OnDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyEllipseShape *arg1 = (wxPyEllipseShape *) 0 ;
+    bool arg2 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyEllipseShape_base_OnDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyEllipseShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyEllipseShape_base_OnBeginDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyEllipseShape *arg1 = (wxPyEllipseShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyEllipseShape_base_OnBeginDragLeft",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyEllipseShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginDragLeft(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyEllipseShape_base_OnEndDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyEllipseShape *arg1 = (wxPyEllipseShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyEllipseShape_base_OnEndDragLeft",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyEllipseShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndDragLeft(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyEllipseShape_base_OnDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyEllipseShape *arg1 = (wxPyEllipseShape *) 0 ;
+    bool arg2 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyEllipseShape_base_OnDragRight",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyEllipseShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDragRight(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyEllipseShape_base_OnBeginDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyEllipseShape *arg1 = (wxPyEllipseShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyEllipseShape_base_OnBeginDragRight",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyEllipseShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginDragRight(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyEllipseShape_base_OnEndDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyEllipseShape *arg1 = (wxPyEllipseShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyEllipseShape_base_OnEndDragRight",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyEllipseShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndDragRight(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyEllipseShape_base_OnDrawOutline(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyEllipseShape *arg1 = (wxPyEllipseShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd:PyEllipseShape_base_OnDrawOutline",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyEllipseShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawOutline(*arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyEllipseShape_base_OnDrawControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyEllipseShape *arg1 = (wxPyEllipseShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyEllipseShape_base_OnDrawControlPoints",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyEllipseShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawControlPoints(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyEllipseShape_base_OnEraseControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyEllipseShape *arg1 = (wxPyEllipseShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyEllipseShape_base_OnEraseControlPoints",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyEllipseShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEraseControlPoints(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyEllipseShape_base_OnMoveLink(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyEllipseShape *arg1 = (wxPyEllipseShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    bool arg3 = (bool) True ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "moveControlPoints", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyEllipseShape_base_OnMoveLink",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyEllipseShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMoveLink(*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyEllipseShape_base_OnSizingDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyEllipseShape *arg1 = (wxPyEllipseShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    bool arg3 ;
+    double arg4 ;
+    double arg5 ;
+    int arg6 = (int) 0 ;
+    int arg7 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOOdd|ii:PyEllipseShape_base_OnSizingDragLeft",kwnames,&obj0,&obj1,&obj2,&arg4,&arg5,&arg6,&arg7)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyEllipseShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg3 = PyInt_AsLong(obj2) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingDragLeft(arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyEllipseShape_base_OnSizingBeginDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyEllipseShape *arg1 = (wxPyEllipseShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyEllipseShape_base_OnSizingBeginDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyEllipseShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingBeginDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyEllipseShape_base_OnSizingEndDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyEllipseShape *arg1 = (wxPyEllipseShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyEllipseShape_base_OnSizingEndDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyEllipseShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingEndDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyEllipseShape_base_OnBeginSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyEllipseShape *arg1 = (wxPyEllipseShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyEllipseShape_base_OnBeginSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyEllipseShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyEllipseShape_base_OnEndSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyEllipseShape *arg1 = (wxPyEllipseShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyEllipseShape_base_OnEndSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyEllipseShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * PyEllipseShape_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_wxPyEllipseShape, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_PyCircleShape(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    double arg1 = (double) 0.0 ;
+    wxPyCircleShape *result;
+    char *kwnames[] = {
+        (char *) "width", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"|d:new_PyCircleShape",kwnames,&arg1)) goto fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyCircleShape *)new wxPyCircleShape(arg1);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxPyCircleShape, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCircleShape__setCallbackInfo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCircleShape *arg1 = (wxPyCircleShape *) 0 ;
+    PyObject *arg2 = (PyObject *) 0 ;
+    PyObject *arg3 = (PyObject *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "self",(char *) "_class", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:PyCircleShape__setCallbackInfo",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCircleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = obj1;
+    arg3 = obj2;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->_setCallbackInfo(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCircleShape_base_OnDraw(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCircleShape *arg1 = (wxPyCircleShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyCircleShape_base_OnDraw",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCircleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDraw(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCircleShape_base_OnDrawContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCircleShape *arg1 = (wxPyCircleShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyCircleShape_base_OnDrawContents",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCircleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawContents(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCircleShape_base_OnDrawBranches(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCircleShape *arg1 = (wxPyCircleShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    bool arg3 = (bool) FALSE ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "erase", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyCircleShape_base_OnDrawBranches",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCircleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawBranches(*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCircleShape_base_OnMoveLinks(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCircleShape *arg1 = (wxPyCircleShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyCircleShape_base_OnMoveLinks",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCircleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMoveLinks(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCircleShape_base_OnErase(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCircleShape *arg1 = (wxPyCircleShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyCircleShape_base_OnErase",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCircleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnErase(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCircleShape_base_OnEraseContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCircleShape *arg1 = (wxPyCircleShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyCircleShape_base_OnEraseContents",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCircleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEraseContents(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCircleShape_base_OnHighlight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCircleShape *arg1 = (wxPyCircleShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyCircleShape_base_OnHighlight",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCircleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnHighlight(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCircleShape_base_OnLeftClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCircleShape *arg1 = (wxPyCircleShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyCircleShape_base_OnLeftClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCircleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnLeftClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCircleShape_base_OnLeftDoubleClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCircleShape *arg1 = (wxPyCircleShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyCircleShape_base_OnLeftDoubleClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCircleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnLeftDoubleClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCircleShape_base_OnRightClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCircleShape *arg1 = (wxPyCircleShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyCircleShape_base_OnRightClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCircleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnRightClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCircleShape_base_OnSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCircleShape *arg1 = (wxPyCircleShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyCircleShape_base_OnSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCircleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCircleShape_base_OnMovePre(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCircleShape *arg1 = (wxPyCircleShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    bool arg7 = (bool) True ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "old_x",(char *) "old_y",(char *) "display", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd|O:PyCircleShape_base_OnMovePre",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6,&obj6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCircleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj6) {
+        arg7 = PyInt_AsLong(obj6) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->base_OnMovePre(*arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCircleShape_base_OnMovePost(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCircleShape *arg1 = (wxPyCircleShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    bool arg7 = (bool) True ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "old_x",(char *) "old_y",(char *) "display", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd|O:PyCircleShape_base_OnMovePost",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6,&obj6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCircleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj6) {
+        arg7 = PyInt_AsLong(obj6) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMovePost(*arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCircleShape_base_OnDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCircleShape *arg1 = (wxPyCircleShape *) 0 ;
+    bool arg2 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyCircleShape_base_OnDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCircleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCircleShape_base_OnBeginDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCircleShape *arg1 = (wxPyCircleShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyCircleShape_base_OnBeginDragLeft",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCircleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginDragLeft(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCircleShape_base_OnEndDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCircleShape *arg1 = (wxPyCircleShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyCircleShape_base_OnEndDragLeft",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCircleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndDragLeft(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCircleShape_base_OnDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCircleShape *arg1 = (wxPyCircleShape *) 0 ;
+    bool arg2 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyCircleShape_base_OnDragRight",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCircleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDragRight(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCircleShape_base_OnBeginDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCircleShape *arg1 = (wxPyCircleShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyCircleShape_base_OnBeginDragRight",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCircleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginDragRight(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCircleShape_base_OnEndDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCircleShape *arg1 = (wxPyCircleShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyCircleShape_base_OnEndDragRight",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCircleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndDragRight(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCircleShape_base_OnDrawOutline(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCircleShape *arg1 = (wxPyCircleShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd:PyCircleShape_base_OnDrawOutline",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCircleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawOutline(*arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCircleShape_base_OnDrawControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCircleShape *arg1 = (wxPyCircleShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyCircleShape_base_OnDrawControlPoints",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCircleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawControlPoints(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCircleShape_base_OnEraseControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCircleShape *arg1 = (wxPyCircleShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyCircleShape_base_OnEraseControlPoints",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCircleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEraseControlPoints(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCircleShape_base_OnMoveLink(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCircleShape *arg1 = (wxPyCircleShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    bool arg3 = (bool) True ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "moveControlPoints", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyCircleShape_base_OnMoveLink",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCircleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMoveLink(*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCircleShape_base_OnSizingDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCircleShape *arg1 = (wxPyCircleShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    bool arg3 ;
+    double arg4 ;
+    double arg5 ;
+    int arg6 = (int) 0 ;
+    int arg7 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOOdd|ii:PyCircleShape_base_OnSizingDragLeft",kwnames,&obj0,&obj1,&obj2,&arg4,&arg5,&arg6,&arg7)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCircleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg3 = PyInt_AsLong(obj2) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingDragLeft(arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCircleShape_base_OnSizingBeginDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCircleShape *arg1 = (wxPyCircleShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyCircleShape_base_OnSizingBeginDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCircleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingBeginDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCircleShape_base_OnSizingEndDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCircleShape *arg1 = (wxPyCircleShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyCircleShape_base_OnSizingEndDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCircleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingEndDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCircleShape_base_OnBeginSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCircleShape *arg1 = (wxPyCircleShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyCircleShape_base_OnBeginSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCircleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCircleShape_base_OnEndSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCircleShape *arg1 = (wxPyCircleShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyCircleShape_base_OnEndSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCircleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * PyCircleShape_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_wxPyCircleShape, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_ArrowHead(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    int arg1 = (int) 0 ;
+    int arg2 = (int) 0 ;
+    double arg3 = (double) 0.0 ;
+    double arg4 = (double) 0.0 ;
+    wxString const &arg5_defvalue = wxPyEmptyString ;
+    wxString *arg5 = (wxString *) &arg5_defvalue ;
+    wxPseudoMetaFile *arg6 = (wxPseudoMetaFile *) NULL ;
+    long arg7 = (long) -1 ;
+    wxArrowHead *result;
+    bool temp5 = False ;
+    PyObject * obj4 = 0 ;
+    PyObject * obj5 = 0 ;
+    char *kwnames[] = {
+        (char *) "type",(char *) "end",(char *) "size",(char *) "dist",(char *) "name",(char *) "mf",(char *) "arrowId", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"|iiddOOl:new_ArrowHead",kwnames,&arg1,&arg2,&arg3,&arg4,&obj4,&obj5,&arg7)) goto fail;
+    if (obj4) {
+        {
+            arg5 = wxString_in_helper(obj4);
+            if (arg5 == NULL) SWIG_fail;
+            temp5 = True;
+        }
+    }
+    if (obj5) {
+        if ((SWIG_ConvertPtr(obj5,(void **) &arg6, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxArrowHead *)new wxArrowHead(arg1,arg2,arg3,arg4,(wxString const &)*arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxObject(result); 
+    }
+    {
+        if (temp5)
+        delete arg5;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp5)
+        delete arg5;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_ArrowHead(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxArrowHead *arg1 = (wxArrowHead *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:delete_ArrowHead",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxArrowHead,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        delete arg1;
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ArrowHead__GetType(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxArrowHead *arg1 = (wxArrowHead *) 0 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:ArrowHead__GetType",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxArrowHead,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)(arg1)->_GetType();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ArrowHead_GetPosition(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxArrowHead *arg1 = (wxArrowHead *) 0 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:ArrowHead_GetPosition",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxArrowHead,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)(arg1)->GetPosition();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ArrowHead_SetPosition(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxArrowHead *arg1 = (wxArrowHead *) 0 ;
+    int arg2 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pos", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:ArrowHead_SetPosition",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxArrowHead,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetPosition(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ArrowHead_GetXOffset(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxArrowHead *arg1 = (wxArrowHead *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:ArrowHead_GetXOffset",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxArrowHead,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (double)(arg1)->GetXOffset();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyFloat_FromDouble(result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ArrowHead_GetYOffset(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxArrowHead *arg1 = (wxArrowHead *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:ArrowHead_GetYOffset",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxArrowHead,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (double)(arg1)->GetYOffset();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyFloat_FromDouble(result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ArrowHead_GetSpacing(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxArrowHead *arg1 = (wxArrowHead *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:ArrowHead_GetSpacing",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxArrowHead,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (double)(arg1)->GetSpacing();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyFloat_FromDouble(result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ArrowHead_GetSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxArrowHead *arg1 = (wxArrowHead *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:ArrowHead_GetSize",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxArrowHead,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (double)(arg1)->GetSize();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyFloat_FromDouble(result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ArrowHead_GetName(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxArrowHead *arg1 = (wxArrowHead *) 0 ;
+    wxString result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:ArrowHead_GetName",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxArrowHead,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (arg1)->GetName();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+#if wxUSE_UNICODE
+        resultobj = PyUnicode_FromWideChar((&result)->c_str(), (&result)->Len());
+#else
+        resultobj = PyString_FromStringAndSize((&result)->c_str(), (&result)->Len());
+#endif
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ArrowHead_SetXOffset(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxArrowHead *arg1 = (wxArrowHead *) 0 ;
+    double arg2 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Od:ArrowHead_SetXOffset",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxArrowHead,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetXOffset(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ArrowHead_SetYOffset(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxArrowHead *arg1 = (wxArrowHead *) 0 ;
+    double arg2 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "y", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Od:ArrowHead_SetYOffset",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxArrowHead,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetYOffset(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ArrowHead_GetMetaFile(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxArrowHead *arg1 = (wxArrowHead *) 0 ;
+    wxPseudoMetaFile *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:ArrowHead_GetMetaFile",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxArrowHead,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPseudoMetaFile *)(arg1)->GetMetaFile();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxObject(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ArrowHead_GetId(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxArrowHead *arg1 = (wxArrowHead *) 0 ;
+    long result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:ArrowHead_GetId",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxArrowHead,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (long)(arg1)->GetId();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ArrowHead_GetArrowEnd(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxArrowHead *arg1 = (wxArrowHead *) 0 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:ArrowHead_GetArrowEnd",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxArrowHead,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)(arg1)->GetArrowEnd();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ArrowHead_GetArrowSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxArrowHead *arg1 = (wxArrowHead *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:ArrowHead_GetArrowSize",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxArrowHead,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (double)(arg1)->GetArrowSize();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyFloat_FromDouble(result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ArrowHead_SetSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxArrowHead *arg1 = (wxArrowHead *) 0 ;
+    double arg2 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "size", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Od:ArrowHead_SetSize",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxArrowHead,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetSize(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ArrowHead_SetSpacing(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxArrowHead *arg1 = (wxArrowHead *) 0 ;
+    double arg2 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "sp", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Od:ArrowHead_SetSpacing",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxArrowHead,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetSpacing(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * ArrowHead_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_wxArrowHead, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_PyLineShape(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *result;
+    char *kwnames[] = {
+        NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)":new_PyLineShape",kwnames)) goto fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyLineShape *)new wxPyLineShape();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxPyLineShape, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape__setCallbackInfo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    PyObject *arg2 = (PyObject *) 0 ;
+    PyObject *arg3 = (PyObject *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "self",(char *) "_class", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:PyLineShape__setCallbackInfo",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = obj1;
+    arg3 = obj2;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->_setCallbackInfo(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_AddArrow(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    int arg2 ;
+    int arg3 = (int) ARROW_POSITION_END ;
+    double arg4 = (double) 10.0 ;
+    double arg5 = (double) 0.0 ;
+    wxString const &arg6_defvalue = wxPyEmptyString ;
+    wxString *arg6 = (wxString *) &arg6_defvalue ;
+    wxPseudoMetaFile *arg7 = (wxPseudoMetaFile *) NULL ;
+    long arg8 = (long) -1 ;
+    bool temp6 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj5 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "type",(char *) "end",(char *) "arrowSize",(char *) "xOffset",(char *) "name",(char *) "mf",(char *) "arrowId", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi|iddOOl:PyLineShape_AddArrow",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5,&obj5,&obj6,&arg8)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (obj5) {
+        {
+            arg6 = wxString_in_helper(obj5);
+            if (arg6 == NULL) SWIG_fail;
+            temp6 = True;
+        }
+    }
+    if (obj6) {
+        if ((SWIG_ConvertPtr(obj6,(void **) &arg7, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->AddArrow(arg2,arg3,arg4,arg5,(wxString const &)*arg6,arg7,arg8);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        if (temp6)
+        delete arg6;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp6)
+        delete arg6;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_AddArrowOrdered(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    wxArrowHead *arg2 = (wxArrowHead *) 0 ;
+    PyObject *arg3 = (PyObject *) 0 ;
+    int arg4 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "arrow",(char *) "referenceList",(char *) "end", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOOi:PyLineShape_AddArrowOrdered",kwnames,&obj0,&obj1,&obj2,&arg4)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxArrowHead,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg3 = obj2;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        wxPyLineShape_AddArrowOrdered(arg1,arg2,arg3,arg4);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_ClearArrow(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    wxString *arg2 = 0 ;
+    bool result;
+    bool temp2 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "name", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyLineShape_ClearArrow",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = wxString_in_helper(obj1);
+        if (arg2 == NULL) SWIG_fail;
+        temp2 = True;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->ClearArrow((wxString const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_ClearArrowsAtPosition(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    int arg2 = (int) -1 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "position", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O|i:PyLineShape_ClearArrowsAtPosition",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->ClearArrowsAtPosition(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_DrawArrow(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    wxArrowHead *arg3 = (wxArrowHead *) 0 ;
+    double arg4 ;
+    bool arg5 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj4 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "arrow",(char *) "xOffset",(char *) "proportionalOffset", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOOdO:PyLineShape_DrawArrow",kwnames,&obj0,&obj1,&obj2,&arg4,&obj4)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if ((SWIG_ConvertPtr(obj2,(void **) &arg3, SWIGTYPE_p_wxArrowHead,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg5 = PyInt_AsLong(obj4) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DrawArrow(*arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_DeleteArrowHeadId(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    long arg2 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "arrowId", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Ol:PyLineShape_DeleteArrowHeadId",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->DeleteArrowHead(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_DeleteArrowHead(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    int arg2 ;
+    wxString *arg3 = 0 ;
+    bool result;
+    bool temp3 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "position",(char *) "name", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OiO:PyLineShape_DeleteArrowHead",kwnames,&obj0,&arg2,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg3 = wxString_in_helper(obj2);
+        if (arg3 == NULL) SWIG_fail;
+        temp3 = True;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->DeleteArrowHead(arg2,(wxString const &)*arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    {
+        if (temp3)
+        delete arg3;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp3)
+        delete arg3;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_DeleteLineControlPoint(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyLineShape_DeleteLineControlPoint",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->DeleteLineControlPoint();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_DrawArrows(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyLineShape_DrawArrows",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DrawArrows(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_DrawRegion(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    wxShapeRegion *arg3 = (wxShapeRegion *) 0 ;
+    double arg4 ;
+    double arg5 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "region",(char *) "x",(char *) "y", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOOdd:PyLineShape_DrawRegion",kwnames,&obj0,&obj1,&obj2,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if ((SWIG_ConvertPtr(obj2,(void **) &arg3, SWIGTYPE_p_wxShapeRegion,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DrawRegion(*arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_EraseRegion(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    wxShapeRegion *arg3 = (wxShapeRegion *) 0 ;
+    double arg4 ;
+    double arg5 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "region",(char *) "x",(char *) "y", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOOdd:PyLineShape_EraseRegion",kwnames,&obj0,&obj1,&obj2,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if ((SWIG_ConvertPtr(obj2,(void **) &arg3, SWIGTYPE_p_wxShapeRegion,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->EraseRegion(*arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_FindArrowHeadId(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    long arg2 ;
+    wxArrowHead *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "arrowId", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Ol:PyLineShape_FindArrowHeadId",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxArrowHead *)(arg1)->FindArrowHead(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxObject(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_FindArrowHead(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    int arg2 ;
+    wxString *arg3 = 0 ;
+    wxArrowHead *result;
+    bool temp3 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "position",(char *) "name", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OiO:PyLineShape_FindArrowHead",kwnames,&obj0,&arg2,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg3 = wxString_in_helper(obj2);
+        if (arg3 == NULL) SWIG_fail;
+        temp3 = True;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxArrowHead *)(arg1)->FindArrowHead(arg2,(wxString const &)*arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxObject(result); 
+    }
+    {
+        if (temp3)
+        delete arg3;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp3)
+        delete arg3;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_FindLineEndPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    double *arg2 = (double *) 0 ;
+    double *arg3 = (double *) 0 ;
+    double *arg4 = (double *) 0 ;
+    double *arg5 = (double *) 0 ;
+    double temp2 ;
+    double temp3 ;
+    double temp4 ;
+    double temp5 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    arg2 = &temp2;
+    arg3 = &temp3;
+    arg4 = &temp4;
+    arg5 = &temp5;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyLineShape_FindLineEndPoints",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->FindLineEndPoints(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        PyObject *o = PyFloat_FromDouble((double) (*arg2));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    {
+        PyObject *o = PyFloat_FromDouble((double) (*arg3));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    {
+        PyObject *o = PyFloat_FromDouble((double) (*arg4));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    {
+        PyObject *o = PyFloat_FromDouble((double) (*arg5));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_FindLinePosition(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyLineShape_FindLinePosition",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)(arg1)->FindLinePosition(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_FindMinimumWidth(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyLineShape_FindMinimumWidth",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (double)(arg1)->FindMinimumWidth();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyFloat_FromDouble(result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_FindNth(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    wxPyShape *arg2 = (wxPyShape *) 0 ;
+    int *arg3 = (int *) 0 ;
+    int *arg4 = (int *) 0 ;
+    bool arg5 ;
+    int temp3 ;
+    int temp4 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "image",(char *) "incoming", NULL 
+    };
+    
+    arg3 = &temp3;
+    arg4 = &temp4;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:PyLineShape_FindNth",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg5 = PyInt_AsLong(obj2) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->FindNth(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        PyObject *o = PyInt_FromLong((long) (*arg3));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    {
+        PyObject *o = PyInt_FromLong((long) (*arg4));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_GetAttachmentFrom(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyLineShape_GetAttachmentFrom",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)(arg1)->GetAttachmentFrom();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_GetAttachmentTo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyLineShape_GetAttachmentTo",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)(arg1)->GetAttachmentTo();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_GetEnds(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    double *arg2 = (double *) 0 ;
+    double *arg3 = (double *) 0 ;
+    double *arg4 = (double *) 0 ;
+    double *arg5 = (double *) 0 ;
+    double temp2 ;
+    double temp3 ;
+    double temp4 ;
+    double temp5 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    arg2 = &temp2;
+    arg3 = &temp3;
+    arg4 = &temp4;
+    arg5 = &temp5;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyLineShape_GetEnds",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->GetEnds(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        PyObject *o = PyFloat_FromDouble((double) (*arg2));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    {
+        PyObject *o = PyFloat_FromDouble((double) (*arg3));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    {
+        PyObject *o = PyFloat_FromDouble((double) (*arg4));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    {
+        PyObject *o = PyFloat_FromDouble((double) (*arg5));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_GetFrom(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    wxPyShape *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyLineShape_GetFrom",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyShape *)(arg1)->GetFrom();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxShapeEvtHandler(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_GetLabelPosition(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    int arg2 ;
+    double *arg3 = (double *) 0 ;
+    double *arg4 = (double *) 0 ;
+    double temp3 ;
+    double temp4 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "position", NULL 
+    };
+    
+    arg3 = &temp3;
+    arg4 = &temp4;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:PyLineShape_GetLabelPosition",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->GetLabelPosition(arg2,arg3,arg4);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        PyObject *o = PyFloat_FromDouble((double) (*arg3));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    {
+        PyObject *o = PyFloat_FromDouble((double) (*arg4));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_GetNextControlPoint(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    wxPyShape *arg2 = (wxPyShape *) 0 ;
+    wxRealPoint *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "shape", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyLineShape_GetNextControlPoint",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxRealPoint *)(arg1)->GetNextControlPoint(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxRealPoint, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_GetTo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    wxPyShape *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyLineShape_GetTo",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyShape *)(arg1)->GetTo();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxShapeEvtHandler(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_Initialise(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyLineShape_Initialise",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Initialise();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_InsertLineControlPoint(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    wxDC *arg2 = (wxDC *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyLineShape_InsertLineControlPoint",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->InsertLineControlPoint(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_IsEnd(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    wxPyShape *arg2 = (wxPyShape *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "shape", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyLineShape_IsEnd",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->IsEnd(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_IsSpline(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyLineShape_IsSpline",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->IsSpline();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_MakeLineControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    int arg2 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "n", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:PyLineShape_MakeLineControlPoints",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->MakeLineControlPoints(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_GetLineControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    PyObject *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyLineShape_GetLineControlPoints",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (PyObject *)wxPyLineShape_GetLineControlPoints(arg1);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = result;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_SetAttachmentFrom(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    int arg2 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "fromAttach", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:PyLineShape_SetAttachmentFrom",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetAttachmentFrom(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_SetAttachments(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    int arg2 ;
+    int arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "fromAttach",(char *) "toAttach", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oii:PyLineShape_SetAttachments",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetAttachments(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_SetAttachmentTo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    int arg2 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "toAttach", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:PyLineShape_SetAttachmentTo",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetAttachmentTo(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_SetEnds(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x1",(char *) "y1",(char *) "x2",(char *) "y2", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odddd:PyLineShape_SetEnds",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetEnds(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_SetFrom(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    wxPyShape *arg2 = (wxPyShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "object", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyLineShape_SetFrom",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetFrom(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_SetIgnoreOffsets(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    bool arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "ignore", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyLineShape_SetIgnoreOffsets",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetIgnoreOffsets(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_SetSpline(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    bool arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "spline", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyLineShape_SetSpline",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetSpline(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_SetTo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    wxPyShape *arg2 = (wxPyShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "object", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyLineShape_SetTo",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetTo(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_Straighten(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    wxDC *arg2 = (wxDC *) NULL ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O|O:PyLineShape_Straighten",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (obj1) {
+        if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Straighten(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_Unlink(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyLineShape_Unlink",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Unlink();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_base_OnDraw(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyLineShape_base_OnDraw",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDraw(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_base_OnDrawContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyLineShape_base_OnDrawContents",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawContents(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_base_OnDrawBranches(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    bool arg3 = (bool) FALSE ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "erase", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyLineShape_base_OnDrawBranches",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawBranches(*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_base_OnMoveLinks(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyLineShape_base_OnMoveLinks",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMoveLinks(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_base_OnErase(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyLineShape_base_OnErase",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnErase(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_base_OnEraseContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyLineShape_base_OnEraseContents",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEraseContents(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_base_OnHighlight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyLineShape_base_OnHighlight",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnHighlight(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_base_OnLeftClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyLineShape_base_OnLeftClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnLeftClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_base_OnLeftDoubleClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyLineShape_base_OnLeftDoubleClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnLeftDoubleClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_base_OnRightClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyLineShape_base_OnRightClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnRightClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_base_OnSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyLineShape_base_OnSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_base_OnMovePre(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    bool arg7 = (bool) True ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "old_x",(char *) "old_y",(char *) "display", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd|O:PyLineShape_base_OnMovePre",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6,&obj6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj6) {
+        arg7 = PyInt_AsLong(obj6) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->base_OnMovePre(*arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_base_OnMovePost(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    bool arg7 = (bool) True ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "old_x",(char *) "old_y",(char *) "display", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd|O:PyLineShape_base_OnMovePost",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6,&obj6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj6) {
+        arg7 = PyInt_AsLong(obj6) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMovePost(*arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_base_OnDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    bool arg2 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyLineShape_base_OnDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_base_OnBeginDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyLineShape_base_OnBeginDragLeft",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginDragLeft(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_base_OnEndDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyLineShape_base_OnEndDragLeft",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndDragLeft(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_base_OnDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    bool arg2 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyLineShape_base_OnDragRight",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDragRight(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_base_OnBeginDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyLineShape_base_OnBeginDragRight",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginDragRight(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_base_OnEndDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyLineShape_base_OnEndDragRight",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndDragRight(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_base_OnDrawOutline(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd:PyLineShape_base_OnDrawOutline",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawOutline(*arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_base_OnDrawControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyLineShape_base_OnDrawControlPoints",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawControlPoints(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_base_OnEraseControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyLineShape_base_OnEraseControlPoints",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEraseControlPoints(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_base_OnMoveLink(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    bool arg3 = (bool) True ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "moveControlPoints", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyLineShape_base_OnMoveLink",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMoveLink(*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_base_OnSizingDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    bool arg3 ;
+    double arg4 ;
+    double arg5 ;
+    int arg6 = (int) 0 ;
+    int arg7 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOOdd|ii:PyLineShape_base_OnSizingDragLeft",kwnames,&obj0,&obj1,&obj2,&arg4,&arg5,&arg6,&arg7)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg3 = PyInt_AsLong(obj2) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingDragLeft(arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_base_OnSizingBeginDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyLineShape_base_OnSizingBeginDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingBeginDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_base_OnSizingEndDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyLineShape_base_OnSizingEndDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingEndDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_base_OnBeginSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyLineShape_base_OnBeginSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_base_OnEndSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyLineShape_base_OnEndSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * PyLineShape_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_wxPyLineShape, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_PyPolygonShape(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *result;
+    char *kwnames[] = {
+        NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)":new_PyPolygonShape",kwnames)) goto fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyPolygonShape *)new wxPyPolygonShape();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxPyPolygonShape, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape__setCallbackInfo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    PyObject *arg2 = (PyObject *) 0 ;
+    PyObject *arg3 = (PyObject *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "self",(char *) "_class", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:PyPolygonShape__setCallbackInfo",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = obj1;
+    arg3 = obj2;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->_setCallbackInfo(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_Create(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    PyObject *arg2 = (PyObject *) 0 ;
+    PyObject *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "points", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyPolygonShape_Create",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = obj1;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (PyObject *)wxPyPolygonShape_Create(arg1,arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = result;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_AddPolygonPoint(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    int arg2 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pos", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O|i:PyPolygonShape_AddPolygonPoint",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->AddPolygonPoint(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_CalculatePolygonCentre(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyPolygonShape_CalculatePolygonCentre",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->CalculatePolygonCentre();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_DeletePolygonPoint(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    int arg2 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pos", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O|i:PyPolygonShape_DeletePolygonPoint",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DeletePolygonPoint(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_GetPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    PyObject *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyPolygonShape_GetPoints",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (PyObject *)wxPyPolygonShape_GetPoints(arg1);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = result;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_UpdateOriginalPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyPolygonShape_UpdateOriginalPoints",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->UpdateOriginalPoints();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_base_OnDraw(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyPolygonShape_base_OnDraw",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDraw(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_base_OnDrawContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyPolygonShape_base_OnDrawContents",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawContents(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_base_OnDrawBranches(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    bool arg3 = (bool) FALSE ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "erase", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyPolygonShape_base_OnDrawBranches",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawBranches(*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_base_OnMoveLinks(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyPolygonShape_base_OnMoveLinks",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMoveLinks(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_base_OnErase(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyPolygonShape_base_OnErase",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnErase(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_base_OnEraseContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyPolygonShape_base_OnEraseContents",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEraseContents(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_base_OnHighlight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyPolygonShape_base_OnHighlight",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnHighlight(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_base_OnLeftClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyPolygonShape_base_OnLeftClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnLeftClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_base_OnLeftDoubleClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyPolygonShape_base_OnLeftDoubleClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnLeftDoubleClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_base_OnRightClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyPolygonShape_base_OnRightClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnRightClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_base_OnSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyPolygonShape_base_OnSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_base_OnMovePre(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    bool arg7 = (bool) True ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "old_x",(char *) "old_y",(char *) "display", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd|O:PyPolygonShape_base_OnMovePre",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6,&obj6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj6) {
+        arg7 = PyInt_AsLong(obj6) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->base_OnMovePre(*arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_base_OnMovePost(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    bool arg7 = (bool) True ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "old_x",(char *) "old_y",(char *) "display", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd|O:PyPolygonShape_base_OnMovePost",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6,&obj6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj6) {
+        arg7 = PyInt_AsLong(obj6) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMovePost(*arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_base_OnDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    bool arg2 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyPolygonShape_base_OnDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_base_OnBeginDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyPolygonShape_base_OnBeginDragLeft",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginDragLeft(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_base_OnEndDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyPolygonShape_base_OnEndDragLeft",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndDragLeft(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_base_OnDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    bool arg2 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyPolygonShape_base_OnDragRight",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDragRight(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_base_OnBeginDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyPolygonShape_base_OnBeginDragRight",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginDragRight(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_base_OnEndDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyPolygonShape_base_OnEndDragRight",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndDragRight(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_base_OnDrawOutline(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd:PyPolygonShape_base_OnDrawOutline",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawOutline(*arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_base_OnDrawControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyPolygonShape_base_OnDrawControlPoints",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawControlPoints(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_base_OnEraseControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyPolygonShape_base_OnEraseControlPoints",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEraseControlPoints(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_base_OnMoveLink(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    bool arg3 = (bool) True ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "moveControlPoints", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyPolygonShape_base_OnMoveLink",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMoveLink(*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_base_OnSizingDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    bool arg3 ;
+    double arg4 ;
+    double arg5 ;
+    int arg6 = (int) 0 ;
+    int arg7 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOOdd|ii:PyPolygonShape_base_OnSizingDragLeft",kwnames,&obj0,&obj1,&obj2,&arg4,&arg5,&arg6,&arg7)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg3 = PyInt_AsLong(obj2) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingDragLeft(arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_base_OnSizingBeginDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyPolygonShape_base_OnSizingBeginDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingBeginDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_base_OnSizingEndDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyPolygonShape_base_OnSizingEndDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingEndDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_base_OnBeginSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyPolygonShape_base_OnBeginSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_base_OnEndSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyPolygonShape_base_OnEndSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * PyPolygonShape_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_wxPyPolygonShape, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_PyTextShape(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    double arg1 = (double) 0.0 ;
+    double arg2 = (double) 0.0 ;
+    wxPyTextShape *result;
+    char *kwnames[] = {
+        (char *) "width",(char *) "height", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"|dd:new_PyTextShape",kwnames,&arg1,&arg2)) goto fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyTextShape *)new wxPyTextShape(arg1,arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxPyTextShape, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyTextShape__setCallbackInfo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTextShape *arg1 = (wxPyTextShape *) 0 ;
+    PyObject *arg2 = (PyObject *) 0 ;
+    PyObject *arg3 = (PyObject *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "self",(char *) "_class", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:PyTextShape__setCallbackInfo",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTextShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = obj1;
+    arg3 = obj2;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->_setCallbackInfo(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyTextShape_base_OnDelete(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTextShape *arg1 = (wxPyTextShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyTextShape_base_OnDelete",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTextShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDelete();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyTextShape_base_OnDraw(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTextShape *arg1 = (wxPyTextShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyTextShape_base_OnDraw",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTextShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDraw(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyTextShape_base_OnDrawContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTextShape *arg1 = (wxPyTextShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyTextShape_base_OnDrawContents",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTextShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawContents(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyTextShape_base_OnDrawBranches(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTextShape *arg1 = (wxPyTextShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    bool arg3 = (bool) FALSE ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "erase", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyTextShape_base_OnDrawBranches",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTextShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawBranches(*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyTextShape_base_OnMoveLinks(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTextShape *arg1 = (wxPyTextShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyTextShape_base_OnMoveLinks",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTextShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMoveLinks(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyTextShape_base_OnErase(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTextShape *arg1 = (wxPyTextShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyTextShape_base_OnErase",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTextShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnErase(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyTextShape_base_OnEraseContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTextShape *arg1 = (wxPyTextShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyTextShape_base_OnEraseContents",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTextShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEraseContents(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyTextShape_base_OnHighlight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTextShape *arg1 = (wxPyTextShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyTextShape_base_OnHighlight",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTextShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnHighlight(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyTextShape_base_OnLeftClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTextShape *arg1 = (wxPyTextShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyTextShape_base_OnLeftClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTextShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnLeftClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyTextShape_base_OnLeftDoubleClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTextShape *arg1 = (wxPyTextShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyTextShape_base_OnLeftDoubleClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTextShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnLeftDoubleClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyTextShape_base_OnRightClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTextShape *arg1 = (wxPyTextShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyTextShape_base_OnRightClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTextShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnRightClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyTextShape_base_OnSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTextShape *arg1 = (wxPyTextShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyTextShape_base_OnSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTextShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyTextShape_base_OnMovePre(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTextShape *arg1 = (wxPyTextShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    bool arg7 = (bool) True ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "old_x",(char *) "old_y",(char *) "display", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd|O:PyTextShape_base_OnMovePre",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6,&obj6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTextShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj6) {
+        arg7 = PyInt_AsLong(obj6) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->base_OnMovePre(*arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyTextShape_base_OnMovePost(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTextShape *arg1 = (wxPyTextShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    bool arg7 = (bool) True ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "old_x",(char *) "old_y",(char *) "display", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd|O:PyTextShape_base_OnMovePost",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6,&obj6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTextShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj6) {
+        arg7 = PyInt_AsLong(obj6) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMovePost(*arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyTextShape_base_OnDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTextShape *arg1 = (wxPyTextShape *) 0 ;
+    bool arg2 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyTextShape_base_OnDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTextShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyTextShape_base_OnBeginDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTextShape *arg1 = (wxPyTextShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyTextShape_base_OnBeginDragLeft",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTextShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginDragLeft(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyTextShape_base_OnEndDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTextShape *arg1 = (wxPyTextShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyTextShape_base_OnEndDragLeft",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTextShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndDragLeft(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyTextShape_base_OnDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTextShape *arg1 = (wxPyTextShape *) 0 ;
+    bool arg2 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyTextShape_base_OnDragRight",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTextShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDragRight(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyTextShape_base_OnBeginDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTextShape *arg1 = (wxPyTextShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyTextShape_base_OnBeginDragRight",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTextShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginDragRight(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyTextShape_base_OnEndDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTextShape *arg1 = (wxPyTextShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyTextShape_base_OnEndDragRight",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTextShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndDragRight(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyTextShape_base_OnDrawOutline(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTextShape *arg1 = (wxPyTextShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd:PyTextShape_base_OnDrawOutline",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTextShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawOutline(*arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyTextShape_base_OnDrawControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTextShape *arg1 = (wxPyTextShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyTextShape_base_OnDrawControlPoints",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTextShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawControlPoints(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyTextShape_base_OnEraseControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTextShape *arg1 = (wxPyTextShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyTextShape_base_OnEraseControlPoints",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTextShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEraseControlPoints(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyTextShape_base_OnMoveLink(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTextShape *arg1 = (wxPyTextShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    bool arg3 = (bool) True ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "moveControlPoints", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyTextShape_base_OnMoveLink",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTextShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMoveLink(*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyTextShape_base_OnSizingDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTextShape *arg1 = (wxPyTextShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    bool arg3 ;
+    double arg4 ;
+    double arg5 ;
+    int arg6 = (int) 0 ;
+    int arg7 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOOdd|ii:PyTextShape_base_OnSizingDragLeft",kwnames,&obj0,&obj1,&obj2,&arg4,&arg5,&arg6,&arg7)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTextShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg3 = PyInt_AsLong(obj2) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingDragLeft(arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyTextShape_base_OnSizingBeginDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTextShape *arg1 = (wxPyTextShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyTextShape_base_OnSizingBeginDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTextShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingBeginDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyTextShape_base_OnSizingEndDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTextShape *arg1 = (wxPyTextShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyTextShape_base_OnSizingEndDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTextShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingEndDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyTextShape_base_OnBeginSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTextShape *arg1 = (wxPyTextShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyTextShape_base_OnBeginSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTextShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyTextShape_base_OnEndSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTextShape *arg1 = (wxPyTextShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyTextShape_base_OnEndSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTextShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * PyTextShape_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_wxPyTextShape, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_Diagram(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxDiagram *result;
+    char *kwnames[] = {
+        NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)":new_Diagram",kwnames)) goto fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxDiagram *)new wxDiagram();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxObject(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Diagram_AddShape(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxDiagram *arg1 = (wxDiagram *) 0 ;
+    wxPyShape *arg2 = (wxPyShape *) 0 ;
+    wxPyShape *arg3 = (wxPyShape *) NULL ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "shape",(char *) "addAfter", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:Diagram_AddShape",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDiagram,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (obj2) {
+        if ((SWIG_ConvertPtr(obj2,(void **) &arg3, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->AddShape(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Diagram_Clear(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxDiagram *arg1 = (wxDiagram *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:Diagram_Clear",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDiagram,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Clear(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Diagram_DeleteAllShapes(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxDiagram *arg1 = (wxDiagram *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:Diagram_DeleteAllShapes",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDiagram,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DeleteAllShapes();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Diagram_DrawOutline(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxDiagram *arg1 = (wxDiagram *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x1",(char *) "y1",(char *) "x2",(char *) "y2", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd:Diagram_DrawOutline",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDiagram,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DrawOutline(*arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Diagram_FindShape(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxDiagram *arg1 = (wxDiagram *) 0 ;
+    long arg2 ;
+    wxPyShape *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "id", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Ol:Diagram_FindShape",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDiagram,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyShape *)(arg1)->FindShape(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxShapeEvtHandler(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Diagram_GetCanvas(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxDiagram *arg1 = (wxDiagram *) 0 ;
+    wxPyShapeCanvas *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:Diagram_GetCanvas",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDiagram,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyShapeCanvas *)(arg1)->GetCanvas();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxObject(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Diagram_GetCount(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxDiagram *arg1 = (wxDiagram *) 0 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:Diagram_GetCount",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDiagram,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)(arg1)->GetCount();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Diagram_GetGridSpacing(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxDiagram *arg1 = (wxDiagram *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:Diagram_GetGridSpacing",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDiagram,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (double)(arg1)->GetGridSpacing();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyFloat_FromDouble(result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Diagram_GetMouseTolerance(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxDiagram *arg1 = (wxDiagram *) 0 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:Diagram_GetMouseTolerance",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDiagram,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)(arg1)->GetMouseTolerance();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Diagram_GetShapeList(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxDiagram *arg1 = (wxDiagram *) 0 ;
+    PyObject *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:Diagram_GetShapeList",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDiagram,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (PyObject *)wxDiagram_GetShapeList(arg1);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = result;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Diagram_GetQuickEditMode(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxDiagram *arg1 = (wxDiagram *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:Diagram_GetQuickEditMode",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDiagram,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->GetQuickEditMode();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Diagram_GetSnapToGrid(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxDiagram *arg1 = (wxDiagram *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:Diagram_GetSnapToGrid",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDiagram,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->GetSnapToGrid();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Diagram_InsertShape(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxDiagram *arg1 = (wxDiagram *) 0 ;
+    wxPyShape *arg2 = (wxPyShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "shape", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:Diagram_InsertShape",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDiagram,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->InsertShape(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Diagram_RecentreAll(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxDiagram *arg1 = (wxDiagram *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:Diagram_RecentreAll",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDiagram,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->RecentreAll(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Diagram_Redraw(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxDiagram *arg1 = (wxDiagram *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:Diagram_Redraw",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDiagram,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Redraw(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Diagram_RemoveAllShapes(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxDiagram *arg1 = (wxDiagram *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:Diagram_RemoveAllShapes",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDiagram,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->RemoveAllShapes();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Diagram_RemoveShape(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxDiagram *arg1 = (wxDiagram *) 0 ;
+    wxPyShape *arg2 = (wxPyShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "shape", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:Diagram_RemoveShape",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDiagram,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->RemoveShape(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Diagram_SetCanvas(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxDiagram *arg1 = (wxDiagram *) 0 ;
+    wxPyShapeCanvas *arg2 = (wxPyShapeCanvas *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "canvas", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:Diagram_SetCanvas",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDiagram,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyShapeCanvas,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetCanvas(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Diagram_SetGridSpacing(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxDiagram *arg1 = (wxDiagram *) 0 ;
+    double arg2 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "spacing", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Od:Diagram_SetGridSpacing",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDiagram,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetGridSpacing(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Diagram_SetMouseTolerance(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxDiagram *arg1 = (wxDiagram *) 0 ;
+    int arg2 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "tolerance", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:Diagram_SetMouseTolerance",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDiagram,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetMouseTolerance(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Diagram_SetQuickEditMode(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxDiagram *arg1 = (wxDiagram *) 0 ;
+    bool arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "mode", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:Diagram_SetQuickEditMode",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDiagram,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetQuickEditMode(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Diagram_SetSnapToGrid(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxDiagram *arg1 = (wxDiagram *) 0 ;
+    bool arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "snap", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:Diagram_SetSnapToGrid",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDiagram,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetSnapToGrid(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Diagram_ShowAll(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxDiagram *arg1 = (wxDiagram *) 0 ;
+    bool arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "show", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:Diagram_ShowAll",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDiagram,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->ShowAll(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Diagram_Snap(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxDiagram *arg1 = (wxDiagram *) 0 ;
+    double *arg2 = (double *) 0 ;
+    double *arg3 = (double *) 0 ;
+    double temp2 ;
+    double temp3 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "INOUT",(char *) "INOUT", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:Diagram_Snap",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDiagram,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        temp2 = PyFloat_AsDouble(obj1);
+        if (PyErr_Occurred()) SWIG_fail;
+        arg2 = &temp2;
+    }
+    {
+        temp3 = PyFloat_AsDouble(obj2);
+        if (PyErr_Occurred()) SWIG_fail;
+        arg3 = &temp3;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Snap(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        PyObject *o = PyFloat_FromDouble((double) (*arg2));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    {
+        PyObject *o = PyFloat_FromDouble((double) (*arg3));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * Diagram_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_wxDiagram, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_PyShapeCanvas(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxWindow *arg1 = (wxWindow *) NULL ;
+    int arg2 = (int) -1 ;
+    wxPoint const &arg3_defvalue = wxDefaultPosition ;
+    wxPoint *arg3 = (wxPoint *) &arg3_defvalue ;
+    wxSize const &arg4_defvalue = wxDefaultSize ;
+    wxSize *arg4 = (wxSize *) &arg4_defvalue ;
+    long arg5 = (long) wxBORDER ;
+    wxString const &arg6_defvalue = wxPyShapeCanvasNameStr ;
+    wxString *arg6 = (wxString *) &arg6_defvalue ;
+    wxPyShapeCanvas *result;
+    wxPoint temp3 ;
+    wxSize temp4 ;
+    bool temp6 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    PyObject * obj5 = 0 ;
+    char *kwnames[] = {
+        (char *) "parent",(char *) "id",(char *) "pos",(char *) "size",(char *) "style",(char *) "name", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"|OiOOlO:new_PyShapeCanvas",kwnames,&obj0,&arg2,&obj2,&obj3,&arg5,&obj5)) goto fail;
+    if (obj0) {
+        if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxWindow,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    }
+    if (obj2) {
+        {
+            arg3 = &temp3;
+            if ( ! wxPoint_helper(obj2, &arg3)) SWIG_fail;
+        }
+    }
+    if (obj3) {
+        {
+            arg4 = &temp4;
+            if ( ! wxSize_helper(obj3, &arg4)) SWIG_fail;
+        }
+    }
+    if (obj5) {
+        {
+            arg6 = wxString_in_helper(obj5);
+            if (arg6 == NULL) SWIG_fail;
+            temp6 = True;
+        }
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyShapeCanvas *)new wxPyShapeCanvas(arg1,arg2,(wxPoint const &)*arg3,(wxSize const &)*arg4,arg5,(wxString const &)*arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxObject(result); 
+    }
+    {
+        if (temp6)
+        delete arg6;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp6)
+        delete arg6;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeCanvas__setCallbackInfo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeCanvas *arg1 = (wxPyShapeCanvas *) 0 ;
+    PyObject *arg2 = (PyObject *) 0 ;
+    PyObject *arg3 = (PyObject *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "self",(char *) "_class", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:PyShapeCanvas__setCallbackInfo",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeCanvas,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = obj1;
+    arg3 = obj2;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->_setCallbackInfo(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeCanvas_AddShape(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeCanvas *arg1 = (wxPyShapeCanvas *) 0 ;
+    wxPyShape *arg2 = (wxPyShape *) 0 ;
+    wxPyShape *arg3 = (wxPyShape *) NULL ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "shape",(char *) "addAfter", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyShapeCanvas_AddShape",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeCanvas,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (obj2) {
+        if ((SWIG_ConvertPtr(obj2,(void **) &arg3, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->AddShape(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeCanvas_FindShape(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeCanvas *arg1 = (wxPyShapeCanvas *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int *arg4 = (int *) 0 ;
+    wxClassInfo *arg5 = (wxClassInfo *) NULL ;
+    wxPyShape *arg6 = (wxPyShape *) NULL ;
+    wxPyShape *result;
+    int temp4 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj3 = 0 ;
+    PyObject * obj4 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x1",(char *) "y",(char *) "info",(char *) "notImage", NULL 
+    };
+    
+    arg4 = &temp4;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|OO:PyShapeCanvas_FindShape",kwnames,&obj0,&arg2,&arg3,&obj3,&obj4)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeCanvas,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (obj3) {
+        if ((SWIG_ConvertPtr(obj3,(void **) &arg5, SWIGTYPE_p_wxClassInfo,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    }
+    if (obj4) {
+        if ((SWIG_ConvertPtr(obj4,(void **) &arg6, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyShape *)(arg1)->FindShape(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxShapeEvtHandler(result); 
+    }
+    {
+        PyObject *o = PyInt_FromLong((long) (*arg4));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeCanvas_FindFirstSensitiveShape(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeCanvas *arg1 = (wxPyShapeCanvas *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int *arg4 = (int *) 0 ;
+    int arg5 ;
+    wxPyShape *result;
+    int temp4 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x1",(char *) "y",(char *) "op", NULL 
+    };
+    
+    arg4 = &temp4;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oddi:PyShapeCanvas_FindFirstSensitiveShape",kwnames,&obj0,&arg2,&arg3,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeCanvas,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyShape *)(arg1)->FindFirstSensitiveShape(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxShapeEvtHandler(result); 
+    }
+    {
+        PyObject *o = PyInt_FromLong((long) (*arg4));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeCanvas_GetDiagram(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeCanvas *arg1 = (wxPyShapeCanvas *) 0 ;
+    wxDiagram *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShapeCanvas_GetDiagram",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeCanvas,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxDiagram *)(arg1)->GetDiagram();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxObject(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeCanvas_GetQuickEditMode(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeCanvas *arg1 = (wxPyShapeCanvas *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShapeCanvas_GetQuickEditMode",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeCanvas,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->GetQuickEditMode();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeCanvas_InsertShape(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeCanvas *arg1 = (wxPyShapeCanvas *) 0 ;
+    wxPyShape *arg2 = (wxPyShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "shape", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShapeCanvas_InsertShape",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeCanvas,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->InsertShape(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeCanvas_base_OnBeginDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeCanvas *arg1 = (wxPyShapeCanvas *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|i:PyShapeCanvas_base_OnBeginDragLeft",kwnames,&obj0,&arg2,&arg3,&arg4)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeCanvas,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginDragLeft(arg2,arg3,arg4);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeCanvas_base_OnBeginDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeCanvas *arg1 = (wxPyShapeCanvas *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|i:PyShapeCanvas_base_OnBeginDragRight",kwnames,&obj0,&arg2,&arg3,&arg4)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeCanvas,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginDragRight(arg2,arg3,arg4);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeCanvas_base_OnEndDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeCanvas *arg1 = (wxPyShapeCanvas *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|i:PyShapeCanvas_base_OnEndDragLeft",kwnames,&obj0,&arg2,&arg3,&arg4)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeCanvas,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndDragLeft(arg2,arg3,arg4);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeCanvas_base_OnEndDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeCanvas *arg1 = (wxPyShapeCanvas *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|i:PyShapeCanvas_base_OnEndDragRight",kwnames,&obj0,&arg2,&arg3,&arg4)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeCanvas,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndDragRight(arg2,arg3,arg4);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeCanvas_base_OnDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeCanvas *arg1 = (wxPyShapeCanvas *) 0 ;
+    bool arg2 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|i:PyShapeCanvas_base_OnDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeCanvas,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDragLeft(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeCanvas_base_OnDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeCanvas *arg1 = (wxPyShapeCanvas *) 0 ;
+    bool arg2 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|i:PyShapeCanvas_base_OnDragRight",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeCanvas,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDragRight(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeCanvas_base_OnLeftClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeCanvas *arg1 = (wxPyShapeCanvas *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|i:PyShapeCanvas_base_OnLeftClick",kwnames,&obj0,&arg2,&arg3,&arg4)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeCanvas,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnLeftClick(arg2,arg3,arg4);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeCanvas_base_OnRightClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeCanvas *arg1 = (wxPyShapeCanvas *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|i:PyShapeCanvas_base_OnRightClick",kwnames,&obj0,&arg2,&arg3,&arg4)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeCanvas,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnRightClick(arg2,arg3,arg4);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeCanvas_Redraw(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeCanvas *arg1 = (wxPyShapeCanvas *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShapeCanvas_Redraw",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeCanvas,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Redraw(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeCanvas_RemoveShape(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeCanvas *arg1 = (wxPyShapeCanvas *) 0 ;
+    wxPyShape *arg2 = (wxPyShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "shape", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShapeCanvas_RemoveShape",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeCanvas,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->RemoveShape(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeCanvas_SetDiagram(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeCanvas *arg1 = (wxPyShapeCanvas *) 0 ;
+    wxDiagram *arg2 = (wxDiagram *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "diagram", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShapeCanvas_SetDiagram",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeCanvas,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDiagram,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetDiagram(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeCanvas_Snap(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeCanvas *arg1 = (wxPyShapeCanvas *) 0 ;
+    double *arg2 = (double *) 0 ;
+    double *arg3 = (double *) 0 ;
+    double temp2 ;
+    double temp3 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "INOUT",(char *) "INOUT", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:PyShapeCanvas_Snap",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeCanvas,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        temp2 = PyFloat_AsDouble(obj1);
+        if (PyErr_Occurred()) SWIG_fail;
+        arg2 = &temp2;
+    }
+    {
+        temp3 = PyFloat_AsDouble(obj2);
+        if (PyErr_Occurred()) SWIG_fail;
+        arg3 = &temp3;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Snap(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        PyObject *o = PyFloat_FromDouble((double) (*arg2));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    {
+        PyObject *o = PyFloat_FromDouble((double) (*arg3));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * PyShapeCanvas_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_wxPyShapeCanvas, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_OGLInitialize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    char *kwnames[] = {
+        NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)":OGLInitialize",kwnames)) goto fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        wxOGLInitialize();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_OGLCleanUp(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    char *kwnames[] = {
+        NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)":OGLCleanUp",kwnames)) goto fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        wxOGLCleanUp();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyMethodDef SwigMethods[] = {
+        { (char *)"new_ShapeRegion", (PyCFunction) _wrap_new_ShapeRegion, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ShapeRegion_SetText", (PyCFunction) _wrap_ShapeRegion_SetText, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ShapeRegion_SetFont", (PyCFunction) _wrap_ShapeRegion_SetFont, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ShapeRegion_SetMinSize", (PyCFunction) _wrap_ShapeRegion_SetMinSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ShapeRegion_SetSize", (PyCFunction) _wrap_ShapeRegion_SetSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ShapeRegion_SetPosition", (PyCFunction) _wrap_ShapeRegion_SetPosition, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ShapeRegion_SetProportions", (PyCFunction) _wrap_ShapeRegion_SetProportions, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ShapeRegion_SetFormatMode", (PyCFunction) _wrap_ShapeRegion_SetFormatMode, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ShapeRegion_SetName", (PyCFunction) _wrap_ShapeRegion_SetName, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ShapeRegion_SetColour", (PyCFunction) _wrap_ShapeRegion_SetColour, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ShapeRegion_GetText", (PyCFunction) _wrap_ShapeRegion_GetText, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ShapeRegion_GetFont", (PyCFunction) _wrap_ShapeRegion_GetFont, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ShapeRegion_GetMinSize", (PyCFunction) _wrap_ShapeRegion_GetMinSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ShapeRegion_GetProportion", (PyCFunction) _wrap_ShapeRegion_GetProportion, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ShapeRegion_GetSize", (PyCFunction) _wrap_ShapeRegion_GetSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ShapeRegion_GetPosition", (PyCFunction) _wrap_ShapeRegion_GetPosition, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ShapeRegion_GetFormatMode", (PyCFunction) _wrap_ShapeRegion_GetFormatMode, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ShapeRegion_GetName", (PyCFunction) _wrap_ShapeRegion_GetName, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ShapeRegion_GetColour", (PyCFunction) _wrap_ShapeRegion_GetColour, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ShapeRegion_GetActualColourObject", (PyCFunction) _wrap_ShapeRegion_GetActualColourObject, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ShapeRegion_GetFormattedText", (PyCFunction) _wrap_ShapeRegion_GetFormattedText, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ShapeRegion_GetPenColour", (PyCFunction) _wrap_ShapeRegion_GetPenColour, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ShapeRegion_GetPenStyle", (PyCFunction) _wrap_ShapeRegion_GetPenStyle, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ShapeRegion_SetPenStyle", (PyCFunction) _wrap_ShapeRegion_SetPenStyle, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ShapeRegion_SetPenColour", (PyCFunction) _wrap_ShapeRegion_SetPenColour, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ShapeRegion_GetActualPen", (PyCFunction) _wrap_ShapeRegion_GetActualPen, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ShapeRegion_GetWidth", (PyCFunction) _wrap_ShapeRegion_GetWidth, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ShapeRegion_GetHeight", (PyCFunction) _wrap_ShapeRegion_GetHeight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ShapeRegion_ClearText", (PyCFunction) _wrap_ShapeRegion_ClearText, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ShapeRegion_swigregister", ShapeRegion_swigregister, METH_VARARGS },
+        { (char *)"new_PyShapeEvtHandler", (PyCFunction) _wrap_new_PyShapeEvtHandler, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler__setCallbackInfo", (PyCFunction) _wrap_PyShapeEvtHandler__setCallbackInfo, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler__setOORInfo", (PyCFunction) _wrap_PyShapeEvtHandler__setOORInfo, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_SetShape", (PyCFunction) _wrap_PyShapeEvtHandler_SetShape, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_GetShape", (PyCFunction) _wrap_PyShapeEvtHandler_GetShape, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_SetPreviousHandler", (PyCFunction) _wrap_PyShapeEvtHandler_SetPreviousHandler, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_GetPreviousHandler", (PyCFunction) _wrap_PyShapeEvtHandler_GetPreviousHandler, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_CreateNewCopy", (PyCFunction) _wrap_PyShapeEvtHandler_CreateNewCopy, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_base_OnDelete", (PyCFunction) _wrap_PyShapeEvtHandler_base_OnDelete, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_base_OnDraw", (PyCFunction) _wrap_PyShapeEvtHandler_base_OnDraw, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_base_OnDrawContents", (PyCFunction) _wrap_PyShapeEvtHandler_base_OnDrawContents, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_base_OnDrawBranches", (PyCFunction) _wrap_PyShapeEvtHandler_base_OnDrawBranches, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_base_OnMoveLinks", (PyCFunction) _wrap_PyShapeEvtHandler_base_OnMoveLinks, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_base_OnErase", (PyCFunction) _wrap_PyShapeEvtHandler_base_OnErase, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_base_OnEraseContents", (PyCFunction) _wrap_PyShapeEvtHandler_base_OnEraseContents, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_base_OnHighlight", (PyCFunction) _wrap_PyShapeEvtHandler_base_OnHighlight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_base_OnLeftClick", (PyCFunction) _wrap_PyShapeEvtHandler_base_OnLeftClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_base_OnLeftDoubleClick", (PyCFunction) _wrap_PyShapeEvtHandler_base_OnLeftDoubleClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_base_OnRightClick", (PyCFunction) _wrap_PyShapeEvtHandler_base_OnRightClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_base_OnSize", (PyCFunction) _wrap_PyShapeEvtHandler_base_OnSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_base_OnMovePre", (PyCFunction) _wrap_PyShapeEvtHandler_base_OnMovePre, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_base_OnMovePost", (PyCFunction) _wrap_PyShapeEvtHandler_base_OnMovePost, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_base_OnDragLeft", (PyCFunction) _wrap_PyShapeEvtHandler_base_OnDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_base_OnBeginDragLeft", (PyCFunction) _wrap_PyShapeEvtHandler_base_OnBeginDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_base_OnEndDragLeft", (PyCFunction) _wrap_PyShapeEvtHandler_base_OnEndDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_base_OnDragRight", (PyCFunction) _wrap_PyShapeEvtHandler_base_OnDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_base_OnBeginDragRight", (PyCFunction) _wrap_PyShapeEvtHandler_base_OnBeginDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_base_OnEndDragRight", (PyCFunction) _wrap_PyShapeEvtHandler_base_OnEndDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_base_OnDrawOutline", (PyCFunction) _wrap_PyShapeEvtHandler_base_OnDrawOutline, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_base_OnDrawControlPoints", (PyCFunction) _wrap_PyShapeEvtHandler_base_OnDrawControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_base_OnEraseControlPoints", (PyCFunction) _wrap_PyShapeEvtHandler_base_OnEraseControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_base_OnMoveLink", (PyCFunction) _wrap_PyShapeEvtHandler_base_OnMoveLink, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_base_OnSizingDragLeft", (PyCFunction) _wrap_PyShapeEvtHandler_base_OnSizingDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_base_OnSizingBeginDragLeft", (PyCFunction) _wrap_PyShapeEvtHandler_base_OnSizingBeginDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_base_OnSizingEndDragLeft", (PyCFunction) _wrap_PyShapeEvtHandler_base_OnSizingEndDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_base_OnBeginSize", (PyCFunction) _wrap_PyShapeEvtHandler_base_OnBeginSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_base_OnEndSize", (PyCFunction) _wrap_PyShapeEvtHandler_base_OnEndSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_swigregister", PyShapeEvtHandler_swigregister, METH_VARARGS },
+        { (char *)"new_PyShape", (PyCFunction) _wrap_new_PyShape, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape__setCallbackInfo", (PyCFunction) _wrap_PyShape__setCallbackInfo, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetBoundingBoxMax", (PyCFunction) _wrap_PyShape_GetBoundingBoxMax, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetBoundingBoxMin", (PyCFunction) _wrap_PyShape_GetBoundingBoxMin, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetPerimeterPoint", (PyCFunction) _wrap_PyShape_GetPerimeterPoint, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetCanvas", (PyCFunction) _wrap_PyShape_GetCanvas, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_SetCanvas", (PyCFunction) _wrap_PyShape_SetCanvas, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_AddToCanvas", (PyCFunction) _wrap_PyShape_AddToCanvas, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_InsertInCanvas", (PyCFunction) _wrap_PyShape_InsertInCanvas, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_RemoveFromCanvas", (PyCFunction) _wrap_PyShape_RemoveFromCanvas, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetX", (PyCFunction) _wrap_PyShape_GetX, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetY", (PyCFunction) _wrap_PyShape_GetY, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_SetX", (PyCFunction) _wrap_PyShape_SetX, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_SetY", (PyCFunction) _wrap_PyShape_SetY, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetParent", (PyCFunction) _wrap_PyShape_GetParent, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_SetParent", (PyCFunction) _wrap_PyShape_SetParent, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetTopAncestor", (PyCFunction) _wrap_PyShape_GetTopAncestor, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetChildren", (PyCFunction) _wrap_PyShape_GetChildren, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_Unlink", (PyCFunction) _wrap_PyShape_Unlink, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_SetDrawHandles", (PyCFunction) _wrap_PyShape_SetDrawHandles, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetDrawHandles", (PyCFunction) _wrap_PyShape_GetDrawHandles, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_MakeControlPoints", (PyCFunction) _wrap_PyShape_MakeControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_DeleteControlPoints", (PyCFunction) _wrap_PyShape_DeleteControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_ResetControlPoints", (PyCFunction) _wrap_PyShape_ResetControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetEventHandler", (PyCFunction) _wrap_PyShape_GetEventHandler, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_SetEventHandler", (PyCFunction) _wrap_PyShape_SetEventHandler, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_MakeMandatoryControlPoints", (PyCFunction) _wrap_PyShape_MakeMandatoryControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_ResetMandatoryControlPoints", (PyCFunction) _wrap_PyShape_ResetMandatoryControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_Recompute", (PyCFunction) _wrap_PyShape_Recompute, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_CalculateSize", (PyCFunction) _wrap_PyShape_CalculateSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_Select", (PyCFunction) _wrap_PyShape_Select, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_SetHighlight", (PyCFunction) _wrap_PyShape_SetHighlight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_IsHighlighted", (PyCFunction) _wrap_PyShape_IsHighlighted, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_Selected", (PyCFunction) _wrap_PyShape_Selected, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_AncestorSelected", (PyCFunction) _wrap_PyShape_AncestorSelected, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_SetSensitivityFilter", (PyCFunction) _wrap_PyShape_SetSensitivityFilter, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetSensitivityFilter", (PyCFunction) _wrap_PyShape_GetSensitivityFilter, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_SetDraggable", (PyCFunction) _wrap_PyShape_SetDraggable, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_SetFixedSize", (PyCFunction) _wrap_PyShape_SetFixedSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetFixedSize", (PyCFunction) _wrap_PyShape_GetFixedSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetFixedWidth", (PyCFunction) _wrap_PyShape_GetFixedWidth, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetFixedHeight", (PyCFunction) _wrap_PyShape_GetFixedHeight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_SetSpaceAttachments", (PyCFunction) _wrap_PyShape_SetSpaceAttachments, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetSpaceAttachments", (PyCFunction) _wrap_PyShape_GetSpaceAttachments, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_SetShadowMode", (PyCFunction) _wrap_PyShape_SetShadowMode, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetShadowMode", (PyCFunction) _wrap_PyShape_GetShadowMode, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_HitTest", (PyCFunction) _wrap_PyShape_HitTest, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_SetCentreResize", (PyCFunction) _wrap_PyShape_SetCentreResize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetCentreResize", (PyCFunction) _wrap_PyShape_GetCentreResize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_SetMaintainAspectRatio", (PyCFunction) _wrap_PyShape_SetMaintainAspectRatio, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetMaintainAspectRatio", (PyCFunction) _wrap_PyShape_GetMaintainAspectRatio, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetLines", (PyCFunction) _wrap_PyShape_GetLines, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_SetDisableLabel", (PyCFunction) _wrap_PyShape_SetDisableLabel, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetDisableLabel", (PyCFunction) _wrap_PyShape_GetDisableLabel, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_SetAttachmentMode", (PyCFunction) _wrap_PyShape_SetAttachmentMode, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetAttachmentMode", (PyCFunction) _wrap_PyShape_GetAttachmentMode, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_SetId", (PyCFunction) _wrap_PyShape_SetId, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetId", (PyCFunction) _wrap_PyShape_GetId, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_SetPen", (PyCFunction) _wrap_PyShape_SetPen, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_SetBrush", (PyCFunction) _wrap_PyShape_SetBrush, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_Show", (PyCFunction) _wrap_PyShape_Show, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_IsShown", (PyCFunction) _wrap_PyShape_IsShown, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_Move", (PyCFunction) _wrap_PyShape_Move, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_Erase", (PyCFunction) _wrap_PyShape_Erase, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_EraseContents", (PyCFunction) _wrap_PyShape_EraseContents, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_Draw", (PyCFunction) _wrap_PyShape_Draw, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_Flash", (PyCFunction) _wrap_PyShape_Flash, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_MoveLinks", (PyCFunction) _wrap_PyShape_MoveLinks, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_DrawContents", (PyCFunction) _wrap_PyShape_DrawContents, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_SetSize", (PyCFunction) _wrap_PyShape_SetSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_SetAttachmentSize", (PyCFunction) _wrap_PyShape_SetAttachmentSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_Attach", (PyCFunction) _wrap_PyShape_Attach, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_Detach", (PyCFunction) _wrap_PyShape_Detach, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_Constrain", (PyCFunction) _wrap_PyShape_Constrain, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_AddLine", (PyCFunction) _wrap_PyShape_AddLine, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetLinePosition", (PyCFunction) _wrap_PyShape_GetLinePosition, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_AddText", (PyCFunction) _wrap_PyShape_AddText, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetPen", (PyCFunction) _wrap_PyShape_GetPen, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetBrush", (PyCFunction) _wrap_PyShape_GetBrush, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_SetDefaultRegionSize", (PyCFunction) _wrap_PyShape_SetDefaultRegionSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_FormatText", (PyCFunction) _wrap_PyShape_FormatText, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_SetFormatMode", (PyCFunction) _wrap_PyShape_SetFormatMode, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetFormatMode", (PyCFunction) _wrap_PyShape_GetFormatMode, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_SetFont", (PyCFunction) _wrap_PyShape_SetFont, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetFont", (PyCFunction) _wrap_PyShape_GetFont, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_SetTextColour", (PyCFunction) _wrap_PyShape_SetTextColour, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetTextColour", (PyCFunction) _wrap_PyShape_GetTextColour, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetNumberOfTextRegions", (PyCFunction) _wrap_PyShape_GetNumberOfTextRegions, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_SetRegionName", (PyCFunction) _wrap_PyShape_SetRegionName, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetRegionName", (PyCFunction) _wrap_PyShape_GetRegionName, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetRegionId", (PyCFunction) _wrap_PyShape_GetRegionId, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_NameRegions", (PyCFunction) _wrap_PyShape_NameRegions, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetRegions", (PyCFunction) _wrap_PyShape_GetRegions, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_AddRegion", (PyCFunction) _wrap_PyShape_AddRegion, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_ClearRegions", (PyCFunction) _wrap_PyShape_ClearRegions, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_AssignNewIds", (PyCFunction) _wrap_PyShape_AssignNewIds, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_FindRegion", (PyCFunction) _wrap_PyShape_FindRegion, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_FindRegionNames", (PyCFunction) _wrap_PyShape_FindRegionNames, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_ClearText", (PyCFunction) _wrap_PyShape_ClearText, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_RemoveLine", (PyCFunction) _wrap_PyShape_RemoveLine, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetAttachmentPosition", (PyCFunction) _wrap_PyShape_GetAttachmentPosition, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetNumberOfAttachments", (PyCFunction) _wrap_PyShape_GetNumberOfAttachments, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_AttachmentIsValid", (PyCFunction) _wrap_PyShape_AttachmentIsValid, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetAttachmentPositionEdge", (PyCFunction) _wrap_PyShape_GetAttachmentPositionEdge, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_CalcSimpleAttachment", (PyCFunction) _wrap_PyShape_CalcSimpleAttachment, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_AttachmentSortTest", (PyCFunction) _wrap_PyShape_AttachmentSortTest, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_EraseLinks", (PyCFunction) _wrap_PyShape_EraseLinks, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_DrawLinks", (PyCFunction) _wrap_PyShape_DrawLinks, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_MoveLineToNewAttachment", (PyCFunction) _wrap_PyShape_MoveLineToNewAttachment, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_ApplyAttachmentOrdering", (PyCFunction) _wrap_PyShape_ApplyAttachmentOrdering, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetBranchingAttachmentRoot", (PyCFunction) _wrap_PyShape_GetBranchingAttachmentRoot, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetBranchingAttachmentInfo", (PyCFunction) _wrap_PyShape_GetBranchingAttachmentInfo, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetBranchingAttachmentPoint", (PyCFunction) _wrap_PyShape_GetBranchingAttachmentPoint, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetAttachmentLineCount", (PyCFunction) _wrap_PyShape_GetAttachmentLineCount, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_SetBranchNeckLength", (PyCFunction) _wrap_PyShape_SetBranchNeckLength, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetBranchNeckLength", (PyCFunction) _wrap_PyShape_GetBranchNeckLength, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_SetBranchStemLength", (PyCFunction) _wrap_PyShape_SetBranchStemLength, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetBranchStemLength", (PyCFunction) _wrap_PyShape_GetBranchStemLength, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_SetBranchSpacing", (PyCFunction) _wrap_PyShape_SetBranchSpacing, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetBranchSpacing", (PyCFunction) _wrap_PyShape_GetBranchSpacing, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_SetBranchStyle", (PyCFunction) _wrap_PyShape_SetBranchStyle, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetBranchStyle", (PyCFunction) _wrap_PyShape_GetBranchStyle, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_PhysicalToLogicalAttachment", (PyCFunction) _wrap_PyShape_PhysicalToLogicalAttachment, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_LogicalToPhysicalAttachment", (PyCFunction) _wrap_PyShape_LogicalToPhysicalAttachment, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_Draggable", (PyCFunction) _wrap_PyShape_Draggable, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_HasDescendant", (PyCFunction) _wrap_PyShape_HasDescendant, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_CreateNewCopy", (PyCFunction) _wrap_PyShape_CreateNewCopy, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_Copy", (PyCFunction) _wrap_PyShape_Copy, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_CopyWithHandler", (PyCFunction) _wrap_PyShape_CopyWithHandler, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_Rotate", (PyCFunction) _wrap_PyShape_Rotate, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetRotation", (PyCFunction) _wrap_PyShape_GetRotation, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_ClearAttachments", (PyCFunction) _wrap_PyShape_ClearAttachments, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_Recentre", (PyCFunction) _wrap_PyShape_Recentre, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_ClearPointList", (PyCFunction) _wrap_PyShape_ClearPointList, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetBackgroundPen", (PyCFunction) _wrap_PyShape_GetBackgroundPen, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetBackgroundBrush", (PyCFunction) _wrap_PyShape_GetBackgroundBrush, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_base_OnDelete", (PyCFunction) _wrap_PyShape_base_OnDelete, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_base_OnDraw", (PyCFunction) _wrap_PyShape_base_OnDraw, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_base_OnDrawContents", (PyCFunction) _wrap_PyShape_base_OnDrawContents, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_base_OnDrawBranches", (PyCFunction) _wrap_PyShape_base_OnDrawBranches, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_base_OnMoveLinks", (PyCFunction) _wrap_PyShape_base_OnMoveLinks, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_base_OnErase", (PyCFunction) _wrap_PyShape_base_OnErase, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_base_OnEraseContents", (PyCFunction) _wrap_PyShape_base_OnEraseContents, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_base_OnHighlight", (PyCFunction) _wrap_PyShape_base_OnHighlight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_base_OnLeftClick", (PyCFunction) _wrap_PyShape_base_OnLeftClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_base_OnLeftDoubleClick", (PyCFunction) _wrap_PyShape_base_OnLeftDoubleClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_base_OnRightClick", (PyCFunction) _wrap_PyShape_base_OnRightClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_base_OnSize", (PyCFunction) _wrap_PyShape_base_OnSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_base_OnMovePre", (PyCFunction) _wrap_PyShape_base_OnMovePre, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_base_OnMovePost", (PyCFunction) _wrap_PyShape_base_OnMovePost, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_base_OnDragLeft", (PyCFunction) _wrap_PyShape_base_OnDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_base_OnBeginDragLeft", (PyCFunction) _wrap_PyShape_base_OnBeginDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_base_OnEndDragLeft", (PyCFunction) _wrap_PyShape_base_OnEndDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_base_OnDragRight", (PyCFunction) _wrap_PyShape_base_OnDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_base_OnBeginDragRight", (PyCFunction) _wrap_PyShape_base_OnBeginDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_base_OnEndDragRight", (PyCFunction) _wrap_PyShape_base_OnEndDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_base_OnDrawOutline", (PyCFunction) _wrap_PyShape_base_OnDrawOutline, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_base_OnDrawControlPoints", (PyCFunction) _wrap_PyShape_base_OnDrawControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_base_OnEraseControlPoints", (PyCFunction) _wrap_PyShape_base_OnEraseControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_base_OnMoveLink", (PyCFunction) _wrap_PyShape_base_OnMoveLink, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_base_OnSizingDragLeft", (PyCFunction) _wrap_PyShape_base_OnSizingDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_base_OnSizingBeginDragLeft", (PyCFunction) _wrap_PyShape_base_OnSizingBeginDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_base_OnSizingEndDragLeft", (PyCFunction) _wrap_PyShape_base_OnSizingEndDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_base_OnBeginSize", (PyCFunction) _wrap_PyShape_base_OnBeginSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_base_OnEndSize", (PyCFunction) _wrap_PyShape_base_OnEndSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_swigregister", PyShape_swigregister, METH_VARARGS },
+        { (char *)"new_PseudoMetaFile", (PyCFunction) _wrap_new_PseudoMetaFile, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"delete_PseudoMetaFile", (PyCFunction) _wrap_delete_PseudoMetaFile, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_Draw", (PyCFunction) _wrap_PseudoMetaFile_Draw, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_Clear", (PyCFunction) _wrap_PseudoMetaFile_Clear, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_Copy", (PyCFunction) _wrap_PseudoMetaFile_Copy, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_Scale", (PyCFunction) _wrap_PseudoMetaFile_Scale, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_ScaleTo", (PyCFunction) _wrap_PseudoMetaFile_ScaleTo, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_Translate", (PyCFunction) _wrap_PseudoMetaFile_Translate, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_Rotate", (PyCFunction) _wrap_PseudoMetaFile_Rotate, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_LoadFromMetaFile", (PyCFunction) _wrap_PseudoMetaFile_LoadFromMetaFile, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_GetBounds", (PyCFunction) _wrap_PseudoMetaFile_GetBounds, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_CalculateSize", (PyCFunction) _wrap_PseudoMetaFile_CalculateSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_SetRotateable", (PyCFunction) _wrap_PseudoMetaFile_SetRotateable, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_GetRotateable", (PyCFunction) _wrap_PseudoMetaFile_GetRotateable, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_SetSize", (PyCFunction) _wrap_PseudoMetaFile_SetSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_SetFillBrush", (PyCFunction) _wrap_PseudoMetaFile_SetFillBrush, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_GetFillBrush", (PyCFunction) _wrap_PseudoMetaFile_GetFillBrush, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_SetOutlinePen", (PyCFunction) _wrap_PseudoMetaFile_SetOutlinePen, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_GetOutlinePen", (PyCFunction) _wrap_PseudoMetaFile_GetOutlinePen, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_SetOutlineOp", (PyCFunction) _wrap_PseudoMetaFile_SetOutlineOp, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_GetOutlineOp", (PyCFunction) _wrap_PseudoMetaFile_GetOutlineOp, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_IsValid", (PyCFunction) _wrap_PseudoMetaFile_IsValid, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_DrawLine", (PyCFunction) _wrap_PseudoMetaFile_DrawLine, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_DrawRectangle", (PyCFunction) _wrap_PseudoMetaFile_DrawRectangle, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_DrawRoundedRectangle", (PyCFunction) _wrap_PseudoMetaFile_DrawRoundedRectangle, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_DrawArc", (PyCFunction) _wrap_PseudoMetaFile_DrawArc, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_DrawEllipticArc", (PyCFunction) _wrap_PseudoMetaFile_DrawEllipticArc, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_DrawEllipse", (PyCFunction) _wrap_PseudoMetaFile_DrawEllipse, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_DrawPoint", (PyCFunction) _wrap_PseudoMetaFile_DrawPoint, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_DrawText", (PyCFunction) _wrap_PseudoMetaFile_DrawText, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_DrawLines", (PyCFunction) _wrap_PseudoMetaFile_DrawLines, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_DrawPolygon", (PyCFunction) _wrap_PseudoMetaFile_DrawPolygon, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_DrawSpline", (PyCFunction) _wrap_PseudoMetaFile_DrawSpline, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_SetClippingRect", (PyCFunction) _wrap_PseudoMetaFile_SetClippingRect, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_DestroyClippingRect", (PyCFunction) _wrap_PseudoMetaFile_DestroyClippingRect, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_SetPen", (PyCFunction) _wrap_PseudoMetaFile_SetPen, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_SetBrush", (PyCFunction) _wrap_PseudoMetaFile_SetBrush, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_SetFont", (PyCFunction) _wrap_PseudoMetaFile_SetFont, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_SetTextColour", (PyCFunction) _wrap_PseudoMetaFile_SetTextColour, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_SetBackgroundColour", (PyCFunction) _wrap_PseudoMetaFile_SetBackgroundColour, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_SetBackgroundMode", (PyCFunction) _wrap_PseudoMetaFile_SetBackgroundMode, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_swigregister", PseudoMetaFile_swigregister, METH_VARARGS },
+        { (char *)"new_PyRectangleShape", (PyCFunction) _wrap_new_PyRectangleShape, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyRectangleShape__setCallbackInfo", (PyCFunction) _wrap_PyRectangleShape__setCallbackInfo, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyRectangleShape_SetCornerRadius", (PyCFunction) _wrap_PyRectangleShape_SetCornerRadius, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyRectangleShape_base_OnDelete", (PyCFunction) _wrap_PyRectangleShape_base_OnDelete, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyRectangleShape_base_OnDraw", (PyCFunction) _wrap_PyRectangleShape_base_OnDraw, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyRectangleShape_base_OnDrawContents", (PyCFunction) _wrap_PyRectangleShape_base_OnDrawContents, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyRectangleShape_base_OnDrawBranches", (PyCFunction) _wrap_PyRectangleShape_base_OnDrawBranches, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyRectangleShape_base_OnMoveLinks", (PyCFunction) _wrap_PyRectangleShape_base_OnMoveLinks, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyRectangleShape_base_OnErase", (PyCFunction) _wrap_PyRectangleShape_base_OnErase, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyRectangleShape_base_OnEraseContents", (PyCFunction) _wrap_PyRectangleShape_base_OnEraseContents, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyRectangleShape_base_OnHighlight", (PyCFunction) _wrap_PyRectangleShape_base_OnHighlight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyRectangleShape_base_OnLeftClick", (PyCFunction) _wrap_PyRectangleShape_base_OnLeftClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyRectangleShape_base_OnLeftDoubleClick", (PyCFunction) _wrap_PyRectangleShape_base_OnLeftDoubleClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyRectangleShape_base_OnRightClick", (PyCFunction) _wrap_PyRectangleShape_base_OnRightClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyRectangleShape_base_OnSize", (PyCFunction) _wrap_PyRectangleShape_base_OnSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyRectangleShape_base_OnMovePre", (PyCFunction) _wrap_PyRectangleShape_base_OnMovePre, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyRectangleShape_base_OnMovePost", (PyCFunction) _wrap_PyRectangleShape_base_OnMovePost, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyRectangleShape_base_OnDragLeft", (PyCFunction) _wrap_PyRectangleShape_base_OnDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyRectangleShape_base_OnBeginDragLeft", (PyCFunction) _wrap_PyRectangleShape_base_OnBeginDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyRectangleShape_base_OnEndDragLeft", (PyCFunction) _wrap_PyRectangleShape_base_OnEndDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyRectangleShape_base_OnDragRight", (PyCFunction) _wrap_PyRectangleShape_base_OnDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyRectangleShape_base_OnBeginDragRight", (PyCFunction) _wrap_PyRectangleShape_base_OnBeginDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyRectangleShape_base_OnEndDragRight", (PyCFunction) _wrap_PyRectangleShape_base_OnEndDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyRectangleShape_base_OnDrawOutline", (PyCFunction) _wrap_PyRectangleShape_base_OnDrawOutline, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyRectangleShape_base_OnDrawControlPoints", (PyCFunction) _wrap_PyRectangleShape_base_OnDrawControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyRectangleShape_base_OnEraseControlPoints", (PyCFunction) _wrap_PyRectangleShape_base_OnEraseControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyRectangleShape_base_OnMoveLink", (PyCFunction) _wrap_PyRectangleShape_base_OnMoveLink, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyRectangleShape_base_OnSizingDragLeft", (PyCFunction) _wrap_PyRectangleShape_base_OnSizingDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyRectangleShape_base_OnSizingBeginDragLeft", (PyCFunction) _wrap_PyRectangleShape_base_OnSizingBeginDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyRectangleShape_base_OnSizingEndDragLeft", (PyCFunction) _wrap_PyRectangleShape_base_OnSizingEndDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyRectangleShape_base_OnBeginSize", (PyCFunction) _wrap_PyRectangleShape_base_OnBeginSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyRectangleShape_base_OnEndSize", (PyCFunction) _wrap_PyRectangleShape_base_OnEndSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyRectangleShape_swigregister", PyRectangleShape_swigregister, METH_VARARGS },
+        { (char *)"new_PyControlPoint", (PyCFunction) _wrap_new_PyControlPoint, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyControlPoint__setCallbackInfo", (PyCFunction) _wrap_PyControlPoint__setCallbackInfo, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyControlPoint_SetCornerRadius", (PyCFunction) _wrap_PyControlPoint_SetCornerRadius, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyControlPoint_base_OnDelete", (PyCFunction) _wrap_PyControlPoint_base_OnDelete, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyControlPoint_base_OnDraw", (PyCFunction) _wrap_PyControlPoint_base_OnDraw, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyControlPoint_base_OnDrawContents", (PyCFunction) _wrap_PyControlPoint_base_OnDrawContents, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyControlPoint_base_OnDrawBranches", (PyCFunction) _wrap_PyControlPoint_base_OnDrawBranches, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyControlPoint_base_OnMoveLinks", (PyCFunction) _wrap_PyControlPoint_base_OnMoveLinks, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyControlPoint_base_OnErase", (PyCFunction) _wrap_PyControlPoint_base_OnErase, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyControlPoint_base_OnEraseContents", (PyCFunction) _wrap_PyControlPoint_base_OnEraseContents, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyControlPoint_base_OnHighlight", (PyCFunction) _wrap_PyControlPoint_base_OnHighlight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyControlPoint_base_OnLeftClick", (PyCFunction) _wrap_PyControlPoint_base_OnLeftClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyControlPoint_base_OnLeftDoubleClick", (PyCFunction) _wrap_PyControlPoint_base_OnLeftDoubleClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyControlPoint_base_OnRightClick", (PyCFunction) _wrap_PyControlPoint_base_OnRightClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyControlPoint_base_OnSize", (PyCFunction) _wrap_PyControlPoint_base_OnSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyControlPoint_base_OnMovePre", (PyCFunction) _wrap_PyControlPoint_base_OnMovePre, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyControlPoint_base_OnMovePost", (PyCFunction) _wrap_PyControlPoint_base_OnMovePost, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyControlPoint_base_OnDragLeft", (PyCFunction) _wrap_PyControlPoint_base_OnDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyControlPoint_base_OnBeginDragLeft", (PyCFunction) _wrap_PyControlPoint_base_OnBeginDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyControlPoint_base_OnEndDragLeft", (PyCFunction) _wrap_PyControlPoint_base_OnEndDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyControlPoint_base_OnDragRight", (PyCFunction) _wrap_PyControlPoint_base_OnDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyControlPoint_base_OnBeginDragRight", (PyCFunction) _wrap_PyControlPoint_base_OnBeginDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyControlPoint_base_OnEndDragRight", (PyCFunction) _wrap_PyControlPoint_base_OnEndDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyControlPoint_base_OnDrawOutline", (PyCFunction) _wrap_PyControlPoint_base_OnDrawOutline, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyControlPoint_base_OnDrawControlPoints", (PyCFunction) _wrap_PyControlPoint_base_OnDrawControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyControlPoint_base_OnEraseControlPoints", (PyCFunction) _wrap_PyControlPoint_base_OnEraseControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyControlPoint_base_OnMoveLink", (PyCFunction) _wrap_PyControlPoint_base_OnMoveLink, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyControlPoint_base_OnSizingDragLeft", (PyCFunction) _wrap_PyControlPoint_base_OnSizingDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyControlPoint_base_OnSizingBeginDragLeft", (PyCFunction) _wrap_PyControlPoint_base_OnSizingBeginDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyControlPoint_base_OnSizingEndDragLeft", (PyCFunction) _wrap_PyControlPoint_base_OnSizingEndDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyControlPoint_base_OnBeginSize", (PyCFunction) _wrap_PyControlPoint_base_OnBeginSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyControlPoint_base_OnEndSize", (PyCFunction) _wrap_PyControlPoint_base_OnEndSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyControlPoint_swigregister", PyControlPoint_swigregister, METH_VARARGS },
+        { (char *)"new_PyBitmapShape", (PyCFunction) _wrap_new_PyBitmapShape, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape__setCallbackInfo", (PyCFunction) _wrap_PyBitmapShape__setCallbackInfo, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_GetBitmap", (PyCFunction) _wrap_PyBitmapShape_GetBitmap, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_GetFilename", (PyCFunction) _wrap_PyBitmapShape_GetFilename, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_SetBitmap", (PyCFunction) _wrap_PyBitmapShape_SetBitmap, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_SetFilename", (PyCFunction) _wrap_PyBitmapShape_SetFilename, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_base_OnDelete", (PyCFunction) _wrap_PyBitmapShape_base_OnDelete, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_base_OnDraw", (PyCFunction) _wrap_PyBitmapShape_base_OnDraw, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_base_OnDrawContents", (PyCFunction) _wrap_PyBitmapShape_base_OnDrawContents, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_base_OnDrawBranches", (PyCFunction) _wrap_PyBitmapShape_base_OnDrawBranches, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_base_OnMoveLinks", (PyCFunction) _wrap_PyBitmapShape_base_OnMoveLinks, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_base_OnErase", (PyCFunction) _wrap_PyBitmapShape_base_OnErase, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_base_OnEraseContents", (PyCFunction) _wrap_PyBitmapShape_base_OnEraseContents, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_base_OnHighlight", (PyCFunction) _wrap_PyBitmapShape_base_OnHighlight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_base_OnLeftClick", (PyCFunction) _wrap_PyBitmapShape_base_OnLeftClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_base_OnLeftDoubleClick", (PyCFunction) _wrap_PyBitmapShape_base_OnLeftDoubleClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_base_OnRightClick", (PyCFunction) _wrap_PyBitmapShape_base_OnRightClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_base_OnSize", (PyCFunction) _wrap_PyBitmapShape_base_OnSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_base_OnMovePre", (PyCFunction) _wrap_PyBitmapShape_base_OnMovePre, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_base_OnMovePost", (PyCFunction) _wrap_PyBitmapShape_base_OnMovePost, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_base_OnDragLeft", (PyCFunction) _wrap_PyBitmapShape_base_OnDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_base_OnBeginDragLeft", (PyCFunction) _wrap_PyBitmapShape_base_OnBeginDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_base_OnEndDragLeft", (PyCFunction) _wrap_PyBitmapShape_base_OnEndDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_base_OnDragRight", (PyCFunction) _wrap_PyBitmapShape_base_OnDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_base_OnBeginDragRight", (PyCFunction) _wrap_PyBitmapShape_base_OnBeginDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_base_OnEndDragRight", (PyCFunction) _wrap_PyBitmapShape_base_OnEndDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_base_OnDrawOutline", (PyCFunction) _wrap_PyBitmapShape_base_OnDrawOutline, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_base_OnDrawControlPoints", (PyCFunction) _wrap_PyBitmapShape_base_OnDrawControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_base_OnEraseControlPoints", (PyCFunction) _wrap_PyBitmapShape_base_OnEraseControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_base_OnMoveLink", (PyCFunction) _wrap_PyBitmapShape_base_OnMoveLink, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_base_OnSizingDragLeft", (PyCFunction) _wrap_PyBitmapShape_base_OnSizingDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_base_OnSizingBeginDragLeft", (PyCFunction) _wrap_PyBitmapShape_base_OnSizingBeginDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_base_OnSizingEndDragLeft", (PyCFunction) _wrap_PyBitmapShape_base_OnSizingEndDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_base_OnBeginSize", (PyCFunction) _wrap_PyBitmapShape_base_OnBeginSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_base_OnEndSize", (PyCFunction) _wrap_PyBitmapShape_base_OnEndSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_swigregister", PyBitmapShape_swigregister, METH_VARARGS },
+        { (char *)"new_PyDrawnShape", (PyCFunction) _wrap_new_PyDrawnShape, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape__setCallbackInfo", (PyCFunction) _wrap_PyDrawnShape__setCallbackInfo, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_CalculateSize", (PyCFunction) _wrap_PyDrawnShape_CalculateSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_DestroyClippingRect", (PyCFunction) _wrap_PyDrawnShape_DestroyClippingRect, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_DrawArc", (PyCFunction) _wrap_PyDrawnShape_DrawArc, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_DrawAtAngle", (PyCFunction) _wrap_PyDrawnShape_DrawAtAngle, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_DrawEllipticArc", (PyCFunction) _wrap_PyDrawnShape_DrawEllipticArc, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_DrawLine", (PyCFunction) _wrap_PyDrawnShape_DrawLine, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_DrawLines", (PyCFunction) _wrap_PyDrawnShape_DrawLines, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_DrawPoint", (PyCFunction) _wrap_PyDrawnShape_DrawPoint, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_DrawPolygon", (PyCFunction) _wrap_PyDrawnShape_DrawPolygon, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_DrawRectangle", (PyCFunction) _wrap_PyDrawnShape_DrawRectangle, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_DrawRoundedRectangle", (PyCFunction) _wrap_PyDrawnShape_DrawRoundedRectangle, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_DrawSpline", (PyCFunction) _wrap_PyDrawnShape_DrawSpline, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_DrawText", (PyCFunction) _wrap_PyDrawnShape_DrawText, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_GetAngle", (PyCFunction) _wrap_PyDrawnShape_GetAngle, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_GetMetaFile", (PyCFunction) _wrap_PyDrawnShape_GetMetaFile, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_GetRotation", (PyCFunction) _wrap_PyDrawnShape_GetRotation, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_LoadFromMetaFile", (PyCFunction) _wrap_PyDrawnShape_LoadFromMetaFile, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_Rotate", (PyCFunction) _wrap_PyDrawnShape_Rotate, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_SetClippingRect", (PyCFunction) _wrap_PyDrawnShape_SetClippingRect, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_SetDrawnBackgroundColour", (PyCFunction) _wrap_PyDrawnShape_SetDrawnBackgroundColour, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_SetDrawnBackgroundMode", (PyCFunction) _wrap_PyDrawnShape_SetDrawnBackgroundMode, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_SetDrawnBrush", (PyCFunction) _wrap_PyDrawnShape_SetDrawnBrush, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_SetDrawnFont", (PyCFunction) _wrap_PyDrawnShape_SetDrawnFont, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_SetDrawnPen", (PyCFunction) _wrap_PyDrawnShape_SetDrawnPen, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_SetDrawnTextColour", (PyCFunction) _wrap_PyDrawnShape_SetDrawnTextColour, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_Scale", (PyCFunction) _wrap_PyDrawnShape_Scale, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_SetSaveToFile", (PyCFunction) _wrap_PyDrawnShape_SetSaveToFile, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_Translate", (PyCFunction) _wrap_PyDrawnShape_Translate, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_base_OnDelete", (PyCFunction) _wrap_PyDrawnShape_base_OnDelete, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_base_OnDraw", (PyCFunction) _wrap_PyDrawnShape_base_OnDraw, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_base_OnDrawContents", (PyCFunction) _wrap_PyDrawnShape_base_OnDrawContents, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_base_OnDrawBranches", (PyCFunction) _wrap_PyDrawnShape_base_OnDrawBranches, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_base_OnMoveLinks", (PyCFunction) _wrap_PyDrawnShape_base_OnMoveLinks, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_base_OnErase", (PyCFunction) _wrap_PyDrawnShape_base_OnErase, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_base_OnEraseContents", (PyCFunction) _wrap_PyDrawnShape_base_OnEraseContents, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_base_OnHighlight", (PyCFunction) _wrap_PyDrawnShape_base_OnHighlight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_base_OnLeftClick", (PyCFunction) _wrap_PyDrawnShape_base_OnLeftClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_base_OnLeftDoubleClick", (PyCFunction) _wrap_PyDrawnShape_base_OnLeftDoubleClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_base_OnRightClick", (PyCFunction) _wrap_PyDrawnShape_base_OnRightClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_base_OnSize", (PyCFunction) _wrap_PyDrawnShape_base_OnSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_base_OnMovePre", (PyCFunction) _wrap_PyDrawnShape_base_OnMovePre, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_base_OnMovePost", (PyCFunction) _wrap_PyDrawnShape_base_OnMovePost, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_base_OnDragLeft", (PyCFunction) _wrap_PyDrawnShape_base_OnDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_base_OnBeginDragLeft", (PyCFunction) _wrap_PyDrawnShape_base_OnBeginDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_base_OnEndDragLeft", (PyCFunction) _wrap_PyDrawnShape_base_OnEndDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_base_OnDragRight", (PyCFunction) _wrap_PyDrawnShape_base_OnDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_base_OnBeginDragRight", (PyCFunction) _wrap_PyDrawnShape_base_OnBeginDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_base_OnEndDragRight", (PyCFunction) _wrap_PyDrawnShape_base_OnEndDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_base_OnDrawOutline", (PyCFunction) _wrap_PyDrawnShape_base_OnDrawOutline, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_base_OnDrawControlPoints", (PyCFunction) _wrap_PyDrawnShape_base_OnDrawControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_base_OnEraseControlPoints", (PyCFunction) _wrap_PyDrawnShape_base_OnEraseControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_base_OnMoveLink", (PyCFunction) _wrap_PyDrawnShape_base_OnMoveLink, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_base_OnSizingDragLeft", (PyCFunction) _wrap_PyDrawnShape_base_OnSizingDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_base_OnSizingBeginDragLeft", (PyCFunction) _wrap_PyDrawnShape_base_OnSizingBeginDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_base_OnSizingEndDragLeft", (PyCFunction) _wrap_PyDrawnShape_base_OnSizingEndDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_base_OnBeginSize", (PyCFunction) _wrap_PyDrawnShape_base_OnBeginSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_base_OnEndSize", (PyCFunction) _wrap_PyDrawnShape_base_OnEndSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_swigregister", PyDrawnShape_swigregister, METH_VARARGS },
+        { (char *)"new_OGLConstraint", (PyCFunction) _wrap_new_OGLConstraint, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"OGLConstraint_Evaluate", (PyCFunction) _wrap_OGLConstraint_Evaluate, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"OGLConstraint_SetSpacing", (PyCFunction) _wrap_OGLConstraint_SetSpacing, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"OGLConstraint_Equals", (PyCFunction) _wrap_OGLConstraint_Equals, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"OGLConstraint_swigregister", OGLConstraint_swigregister, METH_VARARGS },
+        { (char *)"new_PyCompositeShape", (PyCFunction) _wrap_new_PyCompositeShape, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape__setCallbackInfo", (PyCFunction) _wrap_PyCompositeShape__setCallbackInfo, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_AddChild", (PyCFunction) _wrap_PyCompositeShape_AddChild, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_AddConstraint", (PyCFunction) _wrap_PyCompositeShape_AddConstraint, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_AddConstrainedShapes", (PyCFunction) _wrap_PyCompositeShape_AddConstrainedShapes, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_AddSimpleConstraint", (PyCFunction) _wrap_PyCompositeShape_AddSimpleConstraint, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_CalculateSize", (PyCFunction) _wrap_PyCompositeShape_CalculateSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_ContainsDivision", (PyCFunction) _wrap_PyCompositeShape_ContainsDivision, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_DeleteConstraint", (PyCFunction) _wrap_PyCompositeShape_DeleteConstraint, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_DeleteConstraintsInvolvingChild", (PyCFunction) _wrap_PyCompositeShape_DeleteConstraintsInvolvingChild, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_FindContainerImage", (PyCFunction) _wrap_PyCompositeShape_FindContainerImage, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_GetConstraints", (PyCFunction) _wrap_PyCompositeShape_GetConstraints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_GetDivisions", (PyCFunction) _wrap_PyCompositeShape_GetDivisions, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_MakeContainer", (PyCFunction) _wrap_PyCompositeShape_MakeContainer, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_Recompute", (PyCFunction) _wrap_PyCompositeShape_Recompute, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_RemoveChild", (PyCFunction) _wrap_PyCompositeShape_RemoveChild, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_base_OnDelete", (PyCFunction) _wrap_PyCompositeShape_base_OnDelete, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_base_OnDraw", (PyCFunction) _wrap_PyCompositeShape_base_OnDraw, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_base_OnDrawContents", (PyCFunction) _wrap_PyCompositeShape_base_OnDrawContents, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_base_OnDrawBranches", (PyCFunction) _wrap_PyCompositeShape_base_OnDrawBranches, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_base_OnMoveLinks", (PyCFunction) _wrap_PyCompositeShape_base_OnMoveLinks, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_base_OnErase", (PyCFunction) _wrap_PyCompositeShape_base_OnErase, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_base_OnEraseContents", (PyCFunction) _wrap_PyCompositeShape_base_OnEraseContents, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_base_OnHighlight", (PyCFunction) _wrap_PyCompositeShape_base_OnHighlight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_base_OnLeftClick", (PyCFunction) _wrap_PyCompositeShape_base_OnLeftClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_base_OnLeftDoubleClick", (PyCFunction) _wrap_PyCompositeShape_base_OnLeftDoubleClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_base_OnRightClick", (PyCFunction) _wrap_PyCompositeShape_base_OnRightClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_base_OnSize", (PyCFunction) _wrap_PyCompositeShape_base_OnSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_base_OnMovePre", (PyCFunction) _wrap_PyCompositeShape_base_OnMovePre, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_base_OnMovePost", (PyCFunction) _wrap_PyCompositeShape_base_OnMovePost, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_base_OnDragLeft", (PyCFunction) _wrap_PyCompositeShape_base_OnDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_base_OnBeginDragLeft", (PyCFunction) _wrap_PyCompositeShape_base_OnBeginDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_base_OnEndDragLeft", (PyCFunction) _wrap_PyCompositeShape_base_OnEndDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_base_OnDragRight", (PyCFunction) _wrap_PyCompositeShape_base_OnDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_base_OnBeginDragRight", (PyCFunction) _wrap_PyCompositeShape_base_OnBeginDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_base_OnEndDragRight", (PyCFunction) _wrap_PyCompositeShape_base_OnEndDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_base_OnDrawOutline", (PyCFunction) _wrap_PyCompositeShape_base_OnDrawOutline, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_base_OnDrawControlPoints", (PyCFunction) _wrap_PyCompositeShape_base_OnDrawControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_base_OnEraseControlPoints", (PyCFunction) _wrap_PyCompositeShape_base_OnEraseControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_base_OnMoveLink", (PyCFunction) _wrap_PyCompositeShape_base_OnMoveLink, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_base_OnSizingDragLeft", (PyCFunction) _wrap_PyCompositeShape_base_OnSizingDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_base_OnSizingBeginDragLeft", (PyCFunction) _wrap_PyCompositeShape_base_OnSizingBeginDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_base_OnSizingEndDragLeft", (PyCFunction) _wrap_PyCompositeShape_base_OnSizingEndDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_base_OnBeginSize", (PyCFunction) _wrap_PyCompositeShape_base_OnBeginSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_base_OnEndSize", (PyCFunction) _wrap_PyCompositeShape_base_OnEndSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_swigregister", PyCompositeShape_swigregister, METH_VARARGS },
+        { (char *)"new_PyDividedShape", (PyCFunction) _wrap_new_PyDividedShape, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDividedShape__setCallbackInfo", (PyCFunction) _wrap_PyDividedShape__setCallbackInfo, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDividedShape_EditRegions", (PyCFunction) _wrap_PyDividedShape_EditRegions, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDividedShape_SetRegionSizes", (PyCFunction) _wrap_PyDividedShape_SetRegionSizes, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDividedShape_base_OnDelete", (PyCFunction) _wrap_PyDividedShape_base_OnDelete, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDividedShape_base_OnDraw", (PyCFunction) _wrap_PyDividedShape_base_OnDraw, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDividedShape_base_OnDrawContents", (PyCFunction) _wrap_PyDividedShape_base_OnDrawContents, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDividedShape_base_OnDrawBranches", (PyCFunction) _wrap_PyDividedShape_base_OnDrawBranches, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDividedShape_base_OnMoveLinks", (PyCFunction) _wrap_PyDividedShape_base_OnMoveLinks, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDividedShape_base_OnErase", (PyCFunction) _wrap_PyDividedShape_base_OnErase, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDividedShape_base_OnEraseContents", (PyCFunction) _wrap_PyDividedShape_base_OnEraseContents, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDividedShape_base_OnHighlight", (PyCFunction) _wrap_PyDividedShape_base_OnHighlight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDividedShape_base_OnLeftClick", (PyCFunction) _wrap_PyDividedShape_base_OnLeftClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDividedShape_base_OnLeftDoubleClick", (PyCFunction) _wrap_PyDividedShape_base_OnLeftDoubleClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDividedShape_base_OnRightClick", (PyCFunction) _wrap_PyDividedShape_base_OnRightClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDividedShape_base_OnSize", (PyCFunction) _wrap_PyDividedShape_base_OnSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDividedShape_base_OnMovePre", (PyCFunction) _wrap_PyDividedShape_base_OnMovePre, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDividedShape_base_OnMovePost", (PyCFunction) _wrap_PyDividedShape_base_OnMovePost, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDividedShape_base_OnDragLeft", (PyCFunction) _wrap_PyDividedShape_base_OnDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDividedShape_base_OnBeginDragLeft", (PyCFunction) _wrap_PyDividedShape_base_OnBeginDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDividedShape_base_OnEndDragLeft", (PyCFunction) _wrap_PyDividedShape_base_OnEndDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDividedShape_base_OnDragRight", (PyCFunction) _wrap_PyDividedShape_base_OnDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDividedShape_base_OnBeginDragRight", (PyCFunction) _wrap_PyDividedShape_base_OnBeginDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDividedShape_base_OnEndDragRight", (PyCFunction) _wrap_PyDividedShape_base_OnEndDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDividedShape_base_OnDrawOutline", (PyCFunction) _wrap_PyDividedShape_base_OnDrawOutline, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDividedShape_base_OnDrawControlPoints", (PyCFunction) _wrap_PyDividedShape_base_OnDrawControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDividedShape_base_OnEraseControlPoints", (PyCFunction) _wrap_PyDividedShape_base_OnEraseControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDividedShape_base_OnMoveLink", (PyCFunction) _wrap_PyDividedShape_base_OnMoveLink, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDividedShape_base_OnSizingDragLeft", (PyCFunction) _wrap_PyDividedShape_base_OnSizingDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDividedShape_base_OnSizingBeginDragLeft", (PyCFunction) _wrap_PyDividedShape_base_OnSizingBeginDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDividedShape_base_OnSizingEndDragLeft", (PyCFunction) _wrap_PyDividedShape_base_OnSizingEndDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDividedShape_base_OnBeginSize", (PyCFunction) _wrap_PyDividedShape_base_OnBeginSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDividedShape_base_OnEndSize", (PyCFunction) _wrap_PyDividedShape_base_OnEndSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDividedShape_swigregister", PyDividedShape_swigregister, METH_VARARGS },
+        { (char *)"new_PyDivisionShape", (PyCFunction) _wrap_new_PyDivisionShape, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape__setCallbackInfo", (PyCFunction) _wrap_PyDivisionShape__setCallbackInfo, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_AdjustBottom", (PyCFunction) _wrap_PyDivisionShape_AdjustBottom, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_AdjustLeft", (PyCFunction) _wrap_PyDivisionShape_AdjustLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_AdjustRight", (PyCFunction) _wrap_PyDivisionShape_AdjustRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_AdjustTop", (PyCFunction) _wrap_PyDivisionShape_AdjustTop, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_Divide", (PyCFunction) _wrap_PyDivisionShape_Divide, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_EditEdge", (PyCFunction) _wrap_PyDivisionShape_EditEdge, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_GetBottomSide", (PyCFunction) _wrap_PyDivisionShape_GetBottomSide, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_GetHandleSide", (PyCFunction) _wrap_PyDivisionShape_GetHandleSide, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_GetLeftSide", (PyCFunction) _wrap_PyDivisionShape_GetLeftSide, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_GetLeftSideColour", (PyCFunction) _wrap_PyDivisionShape_GetLeftSideColour, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_GetLeftSidePen", (PyCFunction) _wrap_PyDivisionShape_GetLeftSidePen, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_GetRightSide", (PyCFunction) _wrap_PyDivisionShape_GetRightSide, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_GetTopSide", (PyCFunction) _wrap_PyDivisionShape_GetTopSide, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_GetTopSidePen", (PyCFunction) _wrap_PyDivisionShape_GetTopSidePen, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_ResizeAdjoining", (PyCFunction) _wrap_PyDivisionShape_ResizeAdjoining, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_PopupMenu", (PyCFunction) _wrap_PyDivisionShape_PopupMenu, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_SetBottomSide", (PyCFunction) _wrap_PyDivisionShape_SetBottomSide, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_SetHandleSide", (PyCFunction) _wrap_PyDivisionShape_SetHandleSide, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_SetLeftSide", (PyCFunction) _wrap_PyDivisionShape_SetLeftSide, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_SetLeftSideColour", (PyCFunction) _wrap_PyDivisionShape_SetLeftSideColour, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_SetLeftSidePen", (PyCFunction) _wrap_PyDivisionShape_SetLeftSidePen, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_SetRightSide", (PyCFunction) _wrap_PyDivisionShape_SetRightSide, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_SetTopSide", (PyCFunction) _wrap_PyDivisionShape_SetTopSide, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_SetTopSideColour", (PyCFunction) _wrap_PyDivisionShape_SetTopSideColour, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_SetTopSidePen", (PyCFunction) _wrap_PyDivisionShape_SetTopSidePen, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_base_OnDelete", (PyCFunction) _wrap_PyDivisionShape_base_OnDelete, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_base_OnDraw", (PyCFunction) _wrap_PyDivisionShape_base_OnDraw, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_base_OnDrawContents", (PyCFunction) _wrap_PyDivisionShape_base_OnDrawContents, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_base_OnDrawBranches", (PyCFunction) _wrap_PyDivisionShape_base_OnDrawBranches, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_base_OnMoveLinks", (PyCFunction) _wrap_PyDivisionShape_base_OnMoveLinks, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_base_OnErase", (PyCFunction) _wrap_PyDivisionShape_base_OnErase, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_base_OnEraseContents", (PyCFunction) _wrap_PyDivisionShape_base_OnEraseContents, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_base_OnHighlight", (PyCFunction) _wrap_PyDivisionShape_base_OnHighlight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_base_OnLeftClick", (PyCFunction) _wrap_PyDivisionShape_base_OnLeftClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_base_OnLeftDoubleClick", (PyCFunction) _wrap_PyDivisionShape_base_OnLeftDoubleClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_base_OnRightClick", (PyCFunction) _wrap_PyDivisionShape_base_OnRightClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_base_OnSize", (PyCFunction) _wrap_PyDivisionShape_base_OnSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_base_OnMovePre", (PyCFunction) _wrap_PyDivisionShape_base_OnMovePre, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_base_OnMovePost", (PyCFunction) _wrap_PyDivisionShape_base_OnMovePost, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_base_OnDragLeft", (PyCFunction) _wrap_PyDivisionShape_base_OnDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_base_OnBeginDragLeft", (PyCFunction) _wrap_PyDivisionShape_base_OnBeginDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_base_OnEndDragLeft", (PyCFunction) _wrap_PyDivisionShape_base_OnEndDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_base_OnDragRight", (PyCFunction) _wrap_PyDivisionShape_base_OnDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_base_OnBeginDragRight", (PyCFunction) _wrap_PyDivisionShape_base_OnBeginDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_base_OnEndDragRight", (PyCFunction) _wrap_PyDivisionShape_base_OnEndDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_base_OnDrawOutline", (PyCFunction) _wrap_PyDivisionShape_base_OnDrawOutline, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_base_OnDrawControlPoints", (PyCFunction) _wrap_PyDivisionShape_base_OnDrawControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_base_OnEraseControlPoints", (PyCFunction) _wrap_PyDivisionShape_base_OnEraseControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_base_OnMoveLink", (PyCFunction) _wrap_PyDivisionShape_base_OnMoveLink, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_base_OnSizingDragLeft", (PyCFunction) _wrap_PyDivisionShape_base_OnSizingDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_base_OnSizingBeginDragLeft", (PyCFunction) _wrap_PyDivisionShape_base_OnSizingBeginDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_base_OnSizingEndDragLeft", (PyCFunction) _wrap_PyDivisionShape_base_OnSizingEndDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_base_OnBeginSize", (PyCFunction) _wrap_PyDivisionShape_base_OnBeginSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_base_OnEndSize", (PyCFunction) _wrap_PyDivisionShape_base_OnEndSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_swigregister", PyDivisionShape_swigregister, METH_VARARGS },
+        { (char *)"new_PyEllipseShape", (PyCFunction) _wrap_new_PyEllipseShape, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyEllipseShape__setCallbackInfo", (PyCFunction) _wrap_PyEllipseShape__setCallbackInfo, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyEllipseShape_base_OnDraw", (PyCFunction) _wrap_PyEllipseShape_base_OnDraw, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyEllipseShape_base_OnDrawContents", (PyCFunction) _wrap_PyEllipseShape_base_OnDrawContents, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyEllipseShape_base_OnDrawBranches", (PyCFunction) _wrap_PyEllipseShape_base_OnDrawBranches, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyEllipseShape_base_OnMoveLinks", (PyCFunction) _wrap_PyEllipseShape_base_OnMoveLinks, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyEllipseShape_base_OnErase", (PyCFunction) _wrap_PyEllipseShape_base_OnErase, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyEllipseShape_base_OnEraseContents", (PyCFunction) _wrap_PyEllipseShape_base_OnEraseContents, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyEllipseShape_base_OnHighlight", (PyCFunction) _wrap_PyEllipseShape_base_OnHighlight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyEllipseShape_base_OnLeftClick", (PyCFunction) _wrap_PyEllipseShape_base_OnLeftClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyEllipseShape_base_OnLeftDoubleClick", (PyCFunction) _wrap_PyEllipseShape_base_OnLeftDoubleClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyEllipseShape_base_OnRightClick", (PyCFunction) _wrap_PyEllipseShape_base_OnRightClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyEllipseShape_base_OnSize", (PyCFunction) _wrap_PyEllipseShape_base_OnSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyEllipseShape_base_OnMovePre", (PyCFunction) _wrap_PyEllipseShape_base_OnMovePre, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyEllipseShape_base_OnMovePost", (PyCFunction) _wrap_PyEllipseShape_base_OnMovePost, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyEllipseShape_base_OnDragLeft", (PyCFunction) _wrap_PyEllipseShape_base_OnDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyEllipseShape_base_OnBeginDragLeft", (PyCFunction) _wrap_PyEllipseShape_base_OnBeginDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyEllipseShape_base_OnEndDragLeft", (PyCFunction) _wrap_PyEllipseShape_base_OnEndDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyEllipseShape_base_OnDragRight", (PyCFunction) _wrap_PyEllipseShape_base_OnDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyEllipseShape_base_OnBeginDragRight", (PyCFunction) _wrap_PyEllipseShape_base_OnBeginDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyEllipseShape_base_OnEndDragRight", (PyCFunction) _wrap_PyEllipseShape_base_OnEndDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyEllipseShape_base_OnDrawOutline", (PyCFunction) _wrap_PyEllipseShape_base_OnDrawOutline, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyEllipseShape_base_OnDrawControlPoints", (PyCFunction) _wrap_PyEllipseShape_base_OnDrawControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyEllipseShape_base_OnEraseControlPoints", (PyCFunction) _wrap_PyEllipseShape_base_OnEraseControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyEllipseShape_base_OnMoveLink", (PyCFunction) _wrap_PyEllipseShape_base_OnMoveLink, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyEllipseShape_base_OnSizingDragLeft", (PyCFunction) _wrap_PyEllipseShape_base_OnSizingDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyEllipseShape_base_OnSizingBeginDragLeft", (PyCFunction) _wrap_PyEllipseShape_base_OnSizingBeginDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyEllipseShape_base_OnSizingEndDragLeft", (PyCFunction) _wrap_PyEllipseShape_base_OnSizingEndDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyEllipseShape_base_OnBeginSize", (PyCFunction) _wrap_PyEllipseShape_base_OnBeginSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyEllipseShape_base_OnEndSize", (PyCFunction) _wrap_PyEllipseShape_base_OnEndSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyEllipseShape_swigregister", PyEllipseShape_swigregister, METH_VARARGS },
+        { (char *)"new_PyCircleShape", (PyCFunction) _wrap_new_PyCircleShape, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCircleShape__setCallbackInfo", (PyCFunction) _wrap_PyCircleShape__setCallbackInfo, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCircleShape_base_OnDraw", (PyCFunction) _wrap_PyCircleShape_base_OnDraw, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCircleShape_base_OnDrawContents", (PyCFunction) _wrap_PyCircleShape_base_OnDrawContents, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCircleShape_base_OnDrawBranches", (PyCFunction) _wrap_PyCircleShape_base_OnDrawBranches, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCircleShape_base_OnMoveLinks", (PyCFunction) _wrap_PyCircleShape_base_OnMoveLinks, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCircleShape_base_OnErase", (PyCFunction) _wrap_PyCircleShape_base_OnErase, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCircleShape_base_OnEraseContents", (PyCFunction) _wrap_PyCircleShape_base_OnEraseContents, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCircleShape_base_OnHighlight", (PyCFunction) _wrap_PyCircleShape_base_OnHighlight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCircleShape_base_OnLeftClick", (PyCFunction) _wrap_PyCircleShape_base_OnLeftClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCircleShape_base_OnLeftDoubleClick", (PyCFunction) _wrap_PyCircleShape_base_OnLeftDoubleClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCircleShape_base_OnRightClick", (PyCFunction) _wrap_PyCircleShape_base_OnRightClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCircleShape_base_OnSize", (PyCFunction) _wrap_PyCircleShape_base_OnSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCircleShape_base_OnMovePre", (PyCFunction) _wrap_PyCircleShape_base_OnMovePre, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCircleShape_base_OnMovePost", (PyCFunction) _wrap_PyCircleShape_base_OnMovePost, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCircleShape_base_OnDragLeft", (PyCFunction) _wrap_PyCircleShape_base_OnDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCircleShape_base_OnBeginDragLeft", (PyCFunction) _wrap_PyCircleShape_base_OnBeginDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCircleShape_base_OnEndDragLeft", (PyCFunction) _wrap_PyCircleShape_base_OnEndDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCircleShape_base_OnDragRight", (PyCFunction) _wrap_PyCircleShape_base_OnDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCircleShape_base_OnBeginDragRight", (PyCFunction) _wrap_PyCircleShape_base_OnBeginDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCircleShape_base_OnEndDragRight", (PyCFunction) _wrap_PyCircleShape_base_OnEndDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCircleShape_base_OnDrawOutline", (PyCFunction) _wrap_PyCircleShape_base_OnDrawOutline, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCircleShape_base_OnDrawControlPoints", (PyCFunction) _wrap_PyCircleShape_base_OnDrawControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCircleShape_base_OnEraseControlPoints", (PyCFunction) _wrap_PyCircleShape_base_OnEraseControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCircleShape_base_OnMoveLink", (PyCFunction) _wrap_PyCircleShape_base_OnMoveLink, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCircleShape_base_OnSizingDragLeft", (PyCFunction) _wrap_PyCircleShape_base_OnSizingDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCircleShape_base_OnSizingBeginDragLeft", (PyCFunction) _wrap_PyCircleShape_base_OnSizingBeginDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCircleShape_base_OnSizingEndDragLeft", (PyCFunction) _wrap_PyCircleShape_base_OnSizingEndDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCircleShape_base_OnBeginSize", (PyCFunction) _wrap_PyCircleShape_base_OnBeginSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCircleShape_base_OnEndSize", (PyCFunction) _wrap_PyCircleShape_base_OnEndSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCircleShape_swigregister", PyCircleShape_swigregister, METH_VARARGS },
+        { (char *)"new_ArrowHead", (PyCFunction) _wrap_new_ArrowHead, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"delete_ArrowHead", (PyCFunction) _wrap_delete_ArrowHead, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ArrowHead__GetType", (PyCFunction) _wrap_ArrowHead__GetType, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ArrowHead_GetPosition", (PyCFunction) _wrap_ArrowHead_GetPosition, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ArrowHead_SetPosition", (PyCFunction) _wrap_ArrowHead_SetPosition, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ArrowHead_GetXOffset", (PyCFunction) _wrap_ArrowHead_GetXOffset, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ArrowHead_GetYOffset", (PyCFunction) _wrap_ArrowHead_GetYOffset, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ArrowHead_GetSpacing", (PyCFunction) _wrap_ArrowHead_GetSpacing, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ArrowHead_GetSize", (PyCFunction) _wrap_ArrowHead_GetSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ArrowHead_GetName", (PyCFunction) _wrap_ArrowHead_GetName, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ArrowHead_SetXOffset", (PyCFunction) _wrap_ArrowHead_SetXOffset, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ArrowHead_SetYOffset", (PyCFunction) _wrap_ArrowHead_SetYOffset, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ArrowHead_GetMetaFile", (PyCFunction) _wrap_ArrowHead_GetMetaFile, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ArrowHead_GetId", (PyCFunction) _wrap_ArrowHead_GetId, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ArrowHead_GetArrowEnd", (PyCFunction) _wrap_ArrowHead_GetArrowEnd, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ArrowHead_GetArrowSize", (PyCFunction) _wrap_ArrowHead_GetArrowSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ArrowHead_SetSize", (PyCFunction) _wrap_ArrowHead_SetSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ArrowHead_SetSpacing", (PyCFunction) _wrap_ArrowHead_SetSpacing, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ArrowHead_swigregister", ArrowHead_swigregister, METH_VARARGS },
+        { (char *)"new_PyLineShape", (PyCFunction) _wrap_new_PyLineShape, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape__setCallbackInfo", (PyCFunction) _wrap_PyLineShape__setCallbackInfo, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_AddArrow", (PyCFunction) _wrap_PyLineShape_AddArrow, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_AddArrowOrdered", (PyCFunction) _wrap_PyLineShape_AddArrowOrdered, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_ClearArrow", (PyCFunction) _wrap_PyLineShape_ClearArrow, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_ClearArrowsAtPosition", (PyCFunction) _wrap_PyLineShape_ClearArrowsAtPosition, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_DrawArrow", (PyCFunction) _wrap_PyLineShape_DrawArrow, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_DeleteArrowHeadId", (PyCFunction) _wrap_PyLineShape_DeleteArrowHeadId, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_DeleteArrowHead", (PyCFunction) _wrap_PyLineShape_DeleteArrowHead, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_DeleteLineControlPoint", (PyCFunction) _wrap_PyLineShape_DeleteLineControlPoint, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_DrawArrows", (PyCFunction) _wrap_PyLineShape_DrawArrows, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_DrawRegion", (PyCFunction) _wrap_PyLineShape_DrawRegion, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_EraseRegion", (PyCFunction) _wrap_PyLineShape_EraseRegion, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_FindArrowHeadId", (PyCFunction) _wrap_PyLineShape_FindArrowHeadId, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_FindArrowHead", (PyCFunction) _wrap_PyLineShape_FindArrowHead, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_FindLineEndPoints", (PyCFunction) _wrap_PyLineShape_FindLineEndPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_FindLinePosition", (PyCFunction) _wrap_PyLineShape_FindLinePosition, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_FindMinimumWidth", (PyCFunction) _wrap_PyLineShape_FindMinimumWidth, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_FindNth", (PyCFunction) _wrap_PyLineShape_FindNth, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_GetAttachmentFrom", (PyCFunction) _wrap_PyLineShape_GetAttachmentFrom, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_GetAttachmentTo", (PyCFunction) _wrap_PyLineShape_GetAttachmentTo, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_GetEnds", (PyCFunction) _wrap_PyLineShape_GetEnds, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_GetFrom", (PyCFunction) _wrap_PyLineShape_GetFrom, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_GetLabelPosition", (PyCFunction) _wrap_PyLineShape_GetLabelPosition, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_GetNextControlPoint", (PyCFunction) _wrap_PyLineShape_GetNextControlPoint, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_GetTo", (PyCFunction) _wrap_PyLineShape_GetTo, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_Initialise", (PyCFunction) _wrap_PyLineShape_Initialise, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_InsertLineControlPoint", (PyCFunction) _wrap_PyLineShape_InsertLineControlPoint, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_IsEnd", (PyCFunction) _wrap_PyLineShape_IsEnd, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_IsSpline", (PyCFunction) _wrap_PyLineShape_IsSpline, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_MakeLineControlPoints", (PyCFunction) _wrap_PyLineShape_MakeLineControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_GetLineControlPoints", (PyCFunction) _wrap_PyLineShape_GetLineControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_SetAttachmentFrom", (PyCFunction) _wrap_PyLineShape_SetAttachmentFrom, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_SetAttachments", (PyCFunction) _wrap_PyLineShape_SetAttachments, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_SetAttachmentTo", (PyCFunction) _wrap_PyLineShape_SetAttachmentTo, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_SetEnds", (PyCFunction) _wrap_PyLineShape_SetEnds, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_SetFrom", (PyCFunction) _wrap_PyLineShape_SetFrom, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_SetIgnoreOffsets", (PyCFunction) _wrap_PyLineShape_SetIgnoreOffsets, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_SetSpline", (PyCFunction) _wrap_PyLineShape_SetSpline, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_SetTo", (PyCFunction) _wrap_PyLineShape_SetTo, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_Straighten", (PyCFunction) _wrap_PyLineShape_Straighten, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_Unlink", (PyCFunction) _wrap_PyLineShape_Unlink, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_base_OnDraw", (PyCFunction) _wrap_PyLineShape_base_OnDraw, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_base_OnDrawContents", (PyCFunction) _wrap_PyLineShape_base_OnDrawContents, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_base_OnDrawBranches", (PyCFunction) _wrap_PyLineShape_base_OnDrawBranches, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_base_OnMoveLinks", (PyCFunction) _wrap_PyLineShape_base_OnMoveLinks, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_base_OnErase", (PyCFunction) _wrap_PyLineShape_base_OnErase, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_base_OnEraseContents", (PyCFunction) _wrap_PyLineShape_base_OnEraseContents, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_base_OnHighlight", (PyCFunction) _wrap_PyLineShape_base_OnHighlight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_base_OnLeftClick", (PyCFunction) _wrap_PyLineShape_base_OnLeftClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_base_OnLeftDoubleClick", (PyCFunction) _wrap_PyLineShape_base_OnLeftDoubleClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_base_OnRightClick", (PyCFunction) _wrap_PyLineShape_base_OnRightClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_base_OnSize", (PyCFunction) _wrap_PyLineShape_base_OnSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_base_OnMovePre", (PyCFunction) _wrap_PyLineShape_base_OnMovePre, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_base_OnMovePost", (PyCFunction) _wrap_PyLineShape_base_OnMovePost, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_base_OnDragLeft", (PyCFunction) _wrap_PyLineShape_base_OnDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_base_OnBeginDragLeft", (PyCFunction) _wrap_PyLineShape_base_OnBeginDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_base_OnEndDragLeft", (PyCFunction) _wrap_PyLineShape_base_OnEndDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_base_OnDragRight", (PyCFunction) _wrap_PyLineShape_base_OnDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_base_OnBeginDragRight", (PyCFunction) _wrap_PyLineShape_base_OnBeginDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_base_OnEndDragRight", (PyCFunction) _wrap_PyLineShape_base_OnEndDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_base_OnDrawOutline", (PyCFunction) _wrap_PyLineShape_base_OnDrawOutline, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_base_OnDrawControlPoints", (PyCFunction) _wrap_PyLineShape_base_OnDrawControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_base_OnEraseControlPoints", (PyCFunction) _wrap_PyLineShape_base_OnEraseControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_base_OnMoveLink", (PyCFunction) _wrap_PyLineShape_base_OnMoveLink, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_base_OnSizingDragLeft", (PyCFunction) _wrap_PyLineShape_base_OnSizingDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_base_OnSizingBeginDragLeft", (PyCFunction) _wrap_PyLineShape_base_OnSizingBeginDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_base_OnSizingEndDragLeft", (PyCFunction) _wrap_PyLineShape_base_OnSizingEndDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_base_OnBeginSize", (PyCFunction) _wrap_PyLineShape_base_OnBeginSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_base_OnEndSize", (PyCFunction) _wrap_PyLineShape_base_OnEndSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_swigregister", PyLineShape_swigregister, METH_VARARGS },
+        { (char *)"new_PyPolygonShape", (PyCFunction) _wrap_new_PyPolygonShape, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape__setCallbackInfo", (PyCFunction) _wrap_PyPolygonShape__setCallbackInfo, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_Create", (PyCFunction) _wrap_PyPolygonShape_Create, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_AddPolygonPoint", (PyCFunction) _wrap_PyPolygonShape_AddPolygonPoint, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_CalculatePolygonCentre", (PyCFunction) _wrap_PyPolygonShape_CalculatePolygonCentre, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_DeletePolygonPoint", (PyCFunction) _wrap_PyPolygonShape_DeletePolygonPoint, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_GetPoints", (PyCFunction) _wrap_PyPolygonShape_GetPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_UpdateOriginalPoints", (PyCFunction) _wrap_PyPolygonShape_UpdateOriginalPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_base_OnDraw", (PyCFunction) _wrap_PyPolygonShape_base_OnDraw, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_base_OnDrawContents", (PyCFunction) _wrap_PyPolygonShape_base_OnDrawContents, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_base_OnDrawBranches", (PyCFunction) _wrap_PyPolygonShape_base_OnDrawBranches, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_base_OnMoveLinks", (PyCFunction) _wrap_PyPolygonShape_base_OnMoveLinks, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_base_OnErase", (PyCFunction) _wrap_PyPolygonShape_base_OnErase, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_base_OnEraseContents", (PyCFunction) _wrap_PyPolygonShape_base_OnEraseContents, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_base_OnHighlight", (PyCFunction) _wrap_PyPolygonShape_base_OnHighlight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_base_OnLeftClick", (PyCFunction) _wrap_PyPolygonShape_base_OnLeftClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_base_OnLeftDoubleClick", (PyCFunction) _wrap_PyPolygonShape_base_OnLeftDoubleClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_base_OnRightClick", (PyCFunction) _wrap_PyPolygonShape_base_OnRightClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_base_OnSize", (PyCFunction) _wrap_PyPolygonShape_base_OnSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_base_OnMovePre", (PyCFunction) _wrap_PyPolygonShape_base_OnMovePre, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_base_OnMovePost", (PyCFunction) _wrap_PyPolygonShape_base_OnMovePost, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_base_OnDragLeft", (PyCFunction) _wrap_PyPolygonShape_base_OnDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_base_OnBeginDragLeft", (PyCFunction) _wrap_PyPolygonShape_base_OnBeginDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_base_OnEndDragLeft", (PyCFunction) _wrap_PyPolygonShape_base_OnEndDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_base_OnDragRight", (PyCFunction) _wrap_PyPolygonShape_base_OnDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_base_OnBeginDragRight", (PyCFunction) _wrap_PyPolygonShape_base_OnBeginDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_base_OnEndDragRight", (PyCFunction) _wrap_PyPolygonShape_base_OnEndDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_base_OnDrawOutline", (PyCFunction) _wrap_PyPolygonShape_base_OnDrawOutline, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_base_OnDrawControlPoints", (PyCFunction) _wrap_PyPolygonShape_base_OnDrawControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_base_OnEraseControlPoints", (PyCFunction) _wrap_PyPolygonShape_base_OnEraseControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_base_OnMoveLink", (PyCFunction) _wrap_PyPolygonShape_base_OnMoveLink, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_base_OnSizingDragLeft", (PyCFunction) _wrap_PyPolygonShape_base_OnSizingDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_base_OnSizingBeginDragLeft", (PyCFunction) _wrap_PyPolygonShape_base_OnSizingBeginDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_base_OnSizingEndDragLeft", (PyCFunction) _wrap_PyPolygonShape_base_OnSizingEndDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_base_OnBeginSize", (PyCFunction) _wrap_PyPolygonShape_base_OnBeginSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_base_OnEndSize", (PyCFunction) _wrap_PyPolygonShape_base_OnEndSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_swigregister", PyPolygonShape_swigregister, METH_VARARGS },
+        { (char *)"new_PyTextShape", (PyCFunction) _wrap_new_PyTextShape, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyTextShape__setCallbackInfo", (PyCFunction) _wrap_PyTextShape__setCallbackInfo, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyTextShape_base_OnDelete", (PyCFunction) _wrap_PyTextShape_base_OnDelete, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyTextShape_base_OnDraw", (PyCFunction) _wrap_PyTextShape_base_OnDraw, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyTextShape_base_OnDrawContents", (PyCFunction) _wrap_PyTextShape_base_OnDrawContents, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyTextShape_base_OnDrawBranches", (PyCFunction) _wrap_PyTextShape_base_OnDrawBranches, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyTextShape_base_OnMoveLinks", (PyCFunction) _wrap_PyTextShape_base_OnMoveLinks, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyTextShape_base_OnErase", (PyCFunction) _wrap_PyTextShape_base_OnErase, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyTextShape_base_OnEraseContents", (PyCFunction) _wrap_PyTextShape_base_OnEraseContents, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyTextShape_base_OnHighlight", (PyCFunction) _wrap_PyTextShape_base_OnHighlight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyTextShape_base_OnLeftClick", (PyCFunction) _wrap_PyTextShape_base_OnLeftClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyTextShape_base_OnLeftDoubleClick", (PyCFunction) _wrap_PyTextShape_base_OnLeftDoubleClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyTextShape_base_OnRightClick", (PyCFunction) _wrap_PyTextShape_base_OnRightClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyTextShape_base_OnSize", (PyCFunction) _wrap_PyTextShape_base_OnSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyTextShape_base_OnMovePre", (PyCFunction) _wrap_PyTextShape_base_OnMovePre, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyTextShape_base_OnMovePost", (PyCFunction) _wrap_PyTextShape_base_OnMovePost, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyTextShape_base_OnDragLeft", (PyCFunction) _wrap_PyTextShape_base_OnDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyTextShape_base_OnBeginDragLeft", (PyCFunction) _wrap_PyTextShape_base_OnBeginDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyTextShape_base_OnEndDragLeft", (PyCFunction) _wrap_PyTextShape_base_OnEndDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyTextShape_base_OnDragRight", (PyCFunction) _wrap_PyTextShape_base_OnDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyTextShape_base_OnBeginDragRight", (PyCFunction) _wrap_PyTextShape_base_OnBeginDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyTextShape_base_OnEndDragRight", (PyCFunction) _wrap_PyTextShape_base_OnEndDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyTextShape_base_OnDrawOutline", (PyCFunction) _wrap_PyTextShape_base_OnDrawOutline, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyTextShape_base_OnDrawControlPoints", (PyCFunction) _wrap_PyTextShape_base_OnDrawControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyTextShape_base_OnEraseControlPoints", (PyCFunction) _wrap_PyTextShape_base_OnEraseControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyTextShape_base_OnMoveLink", (PyCFunction) _wrap_PyTextShape_base_OnMoveLink, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyTextShape_base_OnSizingDragLeft", (PyCFunction) _wrap_PyTextShape_base_OnSizingDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyTextShape_base_OnSizingBeginDragLeft", (PyCFunction) _wrap_PyTextShape_base_OnSizingBeginDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyTextShape_base_OnSizingEndDragLeft", (PyCFunction) _wrap_PyTextShape_base_OnSizingEndDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyTextShape_base_OnBeginSize", (PyCFunction) _wrap_PyTextShape_base_OnBeginSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyTextShape_base_OnEndSize", (PyCFunction) _wrap_PyTextShape_base_OnEndSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyTextShape_swigregister", PyTextShape_swigregister, METH_VARARGS },
+        { (char *)"new_Diagram", (PyCFunction) _wrap_new_Diagram, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"Diagram_AddShape", (PyCFunction) _wrap_Diagram_AddShape, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"Diagram_Clear", (PyCFunction) _wrap_Diagram_Clear, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"Diagram_DeleteAllShapes", (PyCFunction) _wrap_Diagram_DeleteAllShapes, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"Diagram_DrawOutline", (PyCFunction) _wrap_Diagram_DrawOutline, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"Diagram_FindShape", (PyCFunction) _wrap_Diagram_FindShape, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"Diagram_GetCanvas", (PyCFunction) _wrap_Diagram_GetCanvas, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"Diagram_GetCount", (PyCFunction) _wrap_Diagram_GetCount, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"Diagram_GetGridSpacing", (PyCFunction) _wrap_Diagram_GetGridSpacing, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"Diagram_GetMouseTolerance", (PyCFunction) _wrap_Diagram_GetMouseTolerance, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"Diagram_GetShapeList", (PyCFunction) _wrap_Diagram_GetShapeList, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"Diagram_GetQuickEditMode", (PyCFunction) _wrap_Diagram_GetQuickEditMode, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"Diagram_GetSnapToGrid", (PyCFunction) _wrap_Diagram_GetSnapToGrid, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"Diagram_InsertShape", (PyCFunction) _wrap_Diagram_InsertShape, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"Diagram_RecentreAll", (PyCFunction) _wrap_Diagram_RecentreAll, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"Diagram_Redraw", (PyCFunction) _wrap_Diagram_Redraw, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"Diagram_RemoveAllShapes", (PyCFunction) _wrap_Diagram_RemoveAllShapes, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"Diagram_RemoveShape", (PyCFunction) _wrap_Diagram_RemoveShape, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"Diagram_SetCanvas", (PyCFunction) _wrap_Diagram_SetCanvas, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"Diagram_SetGridSpacing", (PyCFunction) _wrap_Diagram_SetGridSpacing, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"Diagram_SetMouseTolerance", (PyCFunction) _wrap_Diagram_SetMouseTolerance, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"Diagram_SetQuickEditMode", (PyCFunction) _wrap_Diagram_SetQuickEditMode, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"Diagram_SetSnapToGrid", (PyCFunction) _wrap_Diagram_SetSnapToGrid, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"Diagram_ShowAll", (PyCFunction) _wrap_Diagram_ShowAll, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"Diagram_Snap", (PyCFunction) _wrap_Diagram_Snap, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"Diagram_swigregister", Diagram_swigregister, METH_VARARGS },
+        { (char *)"new_PyShapeCanvas", (PyCFunction) _wrap_new_PyShapeCanvas, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeCanvas__setCallbackInfo", (PyCFunction) _wrap_PyShapeCanvas__setCallbackInfo, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeCanvas_AddShape", (PyCFunction) _wrap_PyShapeCanvas_AddShape, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeCanvas_FindShape", (PyCFunction) _wrap_PyShapeCanvas_FindShape, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeCanvas_FindFirstSensitiveShape", (PyCFunction) _wrap_PyShapeCanvas_FindFirstSensitiveShape, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeCanvas_GetDiagram", (PyCFunction) _wrap_PyShapeCanvas_GetDiagram, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeCanvas_GetQuickEditMode", (PyCFunction) _wrap_PyShapeCanvas_GetQuickEditMode, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeCanvas_InsertShape", (PyCFunction) _wrap_PyShapeCanvas_InsertShape, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeCanvas_base_OnBeginDragLeft", (PyCFunction) _wrap_PyShapeCanvas_base_OnBeginDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeCanvas_base_OnBeginDragRight", (PyCFunction) _wrap_PyShapeCanvas_base_OnBeginDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeCanvas_base_OnEndDragLeft", (PyCFunction) _wrap_PyShapeCanvas_base_OnEndDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeCanvas_base_OnEndDragRight", (PyCFunction) _wrap_PyShapeCanvas_base_OnEndDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeCanvas_base_OnDragLeft", (PyCFunction) _wrap_PyShapeCanvas_base_OnDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeCanvas_base_OnDragRight", (PyCFunction) _wrap_PyShapeCanvas_base_OnDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeCanvas_base_OnLeftClick", (PyCFunction) _wrap_PyShapeCanvas_base_OnLeftClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeCanvas_base_OnRightClick", (PyCFunction) _wrap_PyShapeCanvas_base_OnRightClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeCanvas_Redraw", (PyCFunction) _wrap_PyShapeCanvas_Redraw, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeCanvas_RemoveShape", (PyCFunction) _wrap_PyShapeCanvas_RemoveShape, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeCanvas_SetDiagram", (PyCFunction) _wrap_PyShapeCanvas_SetDiagram, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeCanvas_Snap", (PyCFunction) _wrap_PyShapeCanvas_Snap, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeCanvas_swigregister", PyShapeCanvas_swigregister, METH_VARARGS },
+        { (char *)"OGLInitialize", (PyCFunction) _wrap_OGLInitialize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"OGLCleanUp", (PyCFunction) _wrap_OGLCleanUp, METH_VARARGS | METH_KEYWORDS },
+        { NULL, NULL }
+};
+
+
+/* -------- TYPE CONVERSION AND EQUIVALENCE RULES (BEGIN) -------- */
+
+static void *_p_wxScrolledWindowTo_p_wxPanel(void *x) {
+    return (void *)((wxPanel *)  ((wxScrolledWindow *) x));
+}
+static void *_p_wxPyVScrolledWindowTo_p_wxPanel(void *x) {
+    return (void *)((wxPanel *)  ((wxPyVScrolledWindow *) x));
+}
+static void *_p_wxPyVListBoxTo_p_wxPanel(void *x) {
+    return (void *)((wxPanel *) (wxPyVScrolledWindow *) ((wxPyVListBox *) x));
+}
+static void *_p_wxPyHtmlListBoxTo_p_wxPanel(void *x) {
+    return (void *)((wxPanel *) (wxPyVScrolledWindow *)(wxPyVListBox *) ((wxPyHtmlListBox *) x));
+}
+static void *_p_wxPyPanelTo_p_wxPanel(void *x) {
+    return (void *)((wxPanel *)  ((wxPyPanel *) x));
+}
+static void *_p_wxPreviewCanvasTo_p_wxPanel(void *x) {
+    return (void *)((wxPanel *) (wxScrolledWindow *) ((wxPreviewCanvas *) x));
+}
+static void *_p_wxPreviewControlBarTo_p_wxPanel(void *x) {
+    return (void *)((wxPanel *)  ((wxPreviewControlBar *) x));
+}
+static void *_p_wxPyPreviewControlBarTo_p_wxPanel(void *x) {
+    return (void *)((wxPanel *) (wxPreviewControlBar *) ((wxPyPreviewControlBar *) x));
+}
+static void *_p_wxPyShapeCanvasTo_p_wxPanel(void *x) {
+    return (void *)((wxPanel *) (wxScrolledWindow *) ((wxPyShapeCanvas *) x));
+}
+static void *_p_wxPreviewCanvasTo_p_wxScrolledWindow(void *x) {
+    return (void *)((wxScrolledWindow *)  ((wxPreviewCanvas *) x));
+}
+static void *_p_wxPyShapeCanvasTo_p_wxScrolledWindow(void *x) {
+    return (void *)((wxScrolledWindow *)  ((wxPyShapeCanvas *) x));
+}
+static void *_p_wxSplashScreenTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxFrame *) ((wxSplashScreen *) x));
+}
+static void *_p_wxMiniFrameTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxFrame *) ((wxMiniFrame *) x));
+}
+static void *_p_wxPyPanelTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxPanel *) ((wxPyPanel *) x));
+}
+static void *_p_wxMenuBarTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *)  ((wxMenuBar *) x));
+}
+static void *_p_wxFindReplaceDialogTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxDialog *) ((wxFindReplaceDialog *) x));
+}
+static void *_p_wxProgressDialogTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxFrame *) ((wxProgressDialog *) x));
+}
+static void *_p_wxMessageDialogTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxDialog *) ((wxMessageDialog *) x));
+}
+static void *_p_wxTextEntryDialogTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxDialog *) ((wxTextEntryDialog *) x));
+}
+static void *_p_wxSingleChoiceDialogTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxDialog *) ((wxSingleChoiceDialog *) x));
+}
+static void *_p_wxMultiChoiceDialogTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxDialog *) ((wxMultiChoiceDialog *) x));
+}
+static void *_p_wxFileDialogTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxDialog *) ((wxFileDialog *) x));
+}
+static void *_p_wxPanelTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *)  ((wxPanel *) x));
+}
+static void *_p_wxStatusBarTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *)  ((wxStatusBar *) x));
+}
+static void *_p_wxMDIClientWindowTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *)  ((wxMDIClientWindow *) x));
+}
+static void *_p_wxPyVScrolledWindowTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxPanel *) ((wxPyVScrolledWindow *) x));
+}
+static void *_p_wxTipWindowTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxPopupWindow *)(wxPyPopupTransientWindow *) ((wxTipWindow *) x));
+}
+static void *_p_wxPyPopupTransientWindowTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxPopupWindow *) ((wxPyPopupTransientWindow *) x));
+}
+static void *_p_wxPopupWindowTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *)  ((wxPopupWindow *) x));
+}
+static void *_p_wxSashLayoutWindowTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxSashWindow *) ((wxSashLayoutWindow *) x));
+}
+static void *_p_wxScrolledWindowTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxPanel *) ((wxScrolledWindow *) x));
+}
+static void *_p_wxTopLevelWindowTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *)  ((wxTopLevelWindow *) x));
+}
+static void *_p_wxSplashScreenWindowTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *)  ((wxSplashScreenWindow *) x));
+}
+static void *_p_wxSplitterWindowTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *)  ((wxSplitterWindow *) x));
+}
+static void *_p_wxSashWindowTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *)  ((wxSashWindow *) x));
+}
+static void *_p_wxControlTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *)  ((wxControl *) x));
+}
+static void *_p_wxPreviewFrameTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxFrame *) ((wxPreviewFrame *) x));
+}
+static void *_p_wxPyPreviewFrameTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxFrame *)(wxPreviewFrame *) ((wxPyPreviewFrame *) x));
+}
+static void *_p_wxMDIChildFrameTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxFrame *) ((wxMDIChildFrame *) x));
+}
+static void *_p_wxControlWithItemsTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *) ((wxControlWithItems *) x));
+}
+static void *_p_wxPyWindowTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *)  ((wxPyWindow *) x));
+}
+static void *_p_wxPreviewCanvasTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxPanel *)(wxScrolledWindow *) ((wxPreviewCanvas *) x));
+}
+static void *_p_wxPyShapeCanvasTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxPanel *)(wxScrolledWindow *) ((wxPyShapeCanvas *) x));
+}
+static void *_p_wxPyHtmlListBoxTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxPanel *)(wxPyVScrolledWindow *)(wxPyVListBox *) ((wxPyHtmlListBox *) x));
+}
+static void *_p_wxPyVListBoxTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxPanel *)(wxPyVScrolledWindow *) ((wxPyVListBox *) x));
+}
+static void *_p_wxPreviewControlBarTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxPanel *) ((wxPreviewControlBar *) x));
+}
+static void *_p_wxPyPreviewControlBarTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxPanel *)(wxPreviewControlBar *) ((wxPyPreviewControlBar *) x));
+}
+static void *_p_wxFrameTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *) ((wxFrame *) x));
+}
+static void *_p_wxFontDialogTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxDialog *) ((wxFontDialog *) x));
+}
+static void *_p_wxDirDialogTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxDialog *) ((wxDirDialog *) x));
+}
+static void *_p_wxColourDialogTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxDialog *) ((wxColourDialog *) x));
+}
+static void *_p_wxDialogTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *) ((wxDialog *) x));
+}
+static void *_p_wxPageSetupDialogTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxDialog *) ((wxPageSetupDialog *) x));
+}
+static void *_p_wxPrintDialogTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxDialog *) ((wxPrintDialog *) x));
+}
+static void *_p_wxMDIParentFrameTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxFrame *) ((wxMDIParentFrame *) x));
+}
+static void *_p_wxLayoutConstraintsTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxLayoutConstraints *) x));
+}
+static void *_p_wxQueryLayoutInfoEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxQueryLayoutInfoEvent *) x));
+}
+static void *_p_wxPyControlPointTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxPyShapeEvtHandler *)(wxPyShape *)(wxPyRectangleShape *) ((wxPyControlPoint *) x));
+}
+static void *_p_wxPreviewFrameTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxFrame *) ((wxPreviewFrame *) x));
+}
+static void *_p_wxPyPreviewFrameTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxFrame *)(wxPreviewFrame *) ((wxPyPreviewFrame *) x));
+}
+static void *_p_wxGBSizerItemTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxSizerItem *) ((wxGBSizerItem *) x));
+}
+static void *_p_wxSizerItemTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxSizerItem *) x));
+}
+static void *_p_wxScrollEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxScrollEvent *) x));
+}
+static void *_p_wxIndividualLayoutConstraintTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxIndividualLayoutConstraint *) x));
+}
+static void *_p_wxOGLConstraintTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxOGLConstraint *) x));
+}
+static void *_p_wxStaticBoxSizerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxSizer *)(wxBoxSizer *) ((wxStaticBoxSizer *) x));
+}
+static void *_p_wxBoxSizerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxSizer *) ((wxBoxSizer *) x));
+}
+static void *_p_wxSizerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxSizer *) x));
+}
+static void *_p_wxPyDrawnShapeTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxPyShapeEvtHandler *)(wxPyShape *)(wxPyRectangleShape *) ((wxPyDrawnShape *) x));
+}
+static void *_p_wxPyDivisionShapeTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxPyShapeEvtHandler *)(wxPyShape *)(wxPyRectangleShape *)(wxPyCompositeShape *) ((wxPyDivisionShape *) x));
+}
+static void *_p_wxPyPolygonShapeTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxPyShapeEvtHandler *)(wxPyShape *) ((wxPyPolygonShape *) x));
+}
+static void *_p_wxGridBagSizerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxSizer *)(wxGridSizer *)(wxFlexGridSizer *) ((wxGridBagSizer *) x));
+}
+static void *_p_wxUpdateUIEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxUpdateUIEvent *) x));
+}
+static void *_p_wxArrowHeadTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxArrowHead *) x));
+}
+static void *_p_wxPyPanelTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxPanel *) ((wxPyPanel *) x));
+}
+static void *_p_wxEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxEvent *) x));
+}
+static void *_p_wxFontDataTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxFontData *) x));
+}
+static void *_p_wxPrintDataTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxPrintData *) x));
+}
+static void *_p_wxFlexGridSizerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxSizer *)(wxGridSizer *) ((wxFlexGridSizer *) x));
+}
+static void *_p_wxGridSizerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxSizer *) ((wxGridSizer *) x));
+}
+static void *_p_wxInitDialogEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxInitDialogEvent *) x));
+}
+static void *_p_wxLayoutAlgorithmTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxLayoutAlgorithm *) x));
+}
+static void *_p_wxTaskBarIconTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *) ((wxTaskBarIcon *) x));
+}
+static void *_p_wxFindDialogEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxFindDialogEvent *) x));
+}
+static void *_p_wxPaintEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxPaintEvent *) x));
+}
+static void *_p_wxNcPaintEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxNcPaintEvent *) x));
+}
+static void *_p_wxPaletteChangedEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxPaletteChangedEvent *) x));
+}
+static void *_p_wxDisplayChangedEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxDisplayChangedEvent *) x));
+}
+static void *_p_wxMouseCaptureChangedEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxMouseCaptureChangedEvent *) x));
+}
+static void *_p_wxSysColourChangedEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxSysColourChangedEvent *) x));
+}
+static void *_p_wxPreviewCanvasTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxPanel *)(wxScrolledWindow *) ((wxPreviewCanvas *) x));
+}
+static void *_p_wxPyShapeCanvasTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxPanel *)(wxScrolledWindow *) ((wxPyShapeCanvas *) x));
+}
+static void *_p_wxControlTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *) ((wxControl *) x));
+}
+static void *_p_wxPyEllipseShapeTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxPyShapeEvtHandler *)(wxPyShape *) ((wxPyEllipseShape *) x));
+}
+static void *_p_wxSetCursorEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxSetCursorEvent *) x));
+}
+static void *_p_wxSplitterEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *)(wxNotifyEvent *) ((wxSplitterEvent *) x));
+}
+static void *_p_wxFSFileTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxFSFile *) x));
+}
+static void *_p_wxFindReplaceDataTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxFindReplaceData *) x));
+}
+static void *_p_wxPyBitmapShapeTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxPyShapeEvtHandler *)(wxPyShape *)(wxPyRectangleShape *) ((wxPyBitmapShape *) x));
+}
+static void *_p_wxPySizerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxSizer *) ((wxPySizer *) x));
+}
+static void *_p_wxMDIChildFrameTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxFrame *) ((wxMDIChildFrame *) x));
+}
+static void *_p_wxColourDataTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxColourData *) x));
+}
+static void *_p_wxPyEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxPyEvent *) x));
+}
+static void *_p_wxNotifyEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxNotifyEvent *) x));
+}
+static void *_p_wxPyWindowTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *) ((wxPyWindow *) x));
+}
+static void *_p_wxSplashScreenTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxFrame *) ((wxSplashScreen *) x));
+}
+static void *_p_wxFileDialogTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxFileDialog *) x));
+}
+static void *_p_wxMultiChoiceDialogTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxMultiChoiceDialog *) x));
+}
+static void *_p_wxSingleChoiceDialogTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxSingleChoiceDialog *) x));
+}
+static void *_p_wxTextEntryDialogTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxTextEntryDialog *) x));
+}
+static void *_p_wxMessageDialogTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxMessageDialog *) x));
+}
+static void *_p_wxProgressDialogTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxFrame *) ((wxProgressDialog *) x));
+}
+static void *_p_wxFindReplaceDialogTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxFindReplaceDialog *) x));
+}
+static void *_p_wxShowEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxShowEvent *) x));
+}
+static void *_p_wxPrinterTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxPrinter *) x));
+}
+static void *_p_wxMenuItemTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxMenuItem *) x));
+}
+static void *_p_wxIdleEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxIdleEvent *) x));
+}
+static void *_p_wxWindowCreateEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxWindowCreateEvent *) x));
+}
+static void *_p_wxQueryNewPaletteEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxQueryNewPaletteEvent *) x));
+}
+static void *_p_wxMaximizeEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxMaximizeEvent *) x));
+}
+static void *_p_wxIconizeEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxIconizeEvent *) x));
+}
+static void *_p_wxSizeEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxSizeEvent *) x));
+}
+static void *_p_wxMoveEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxMoveEvent *) x));
+}
+static void *_p_wxActivateEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxActivateEvent *) x));
+}
+static void *_p_wxXPMHandlerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxImageHandler *) ((wxXPMHandler *) x));
+}
+static void *_p_wxPNMHandlerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxImageHandler *) ((wxPNMHandler *) x));
+}
+static void *_p_wxJPEGHandlerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxImageHandler *) ((wxJPEGHandler *) x));
+}
+static void *_p_wxPCXHandlerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxImageHandler *) ((wxPCXHandler *) x));
+}
+static void *_p_wxGIFHandlerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxImageHandler *) ((wxGIFHandler *) x));
+}
+static void *_p_wxPNGHandlerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxImageHandler *) ((wxPNGHandler *) x));
+}
+static void *_p_wxANIHandlerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxImageHandler *)(wxBMPHandler *)(wxICOHandler *)(wxCURHandler *) ((wxANIHandler *) x));
+}
+static void *_p_wxCURHandlerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxImageHandler *)(wxBMPHandler *)(wxICOHandler *) ((wxCURHandler *) x));
+}
+static void *_p_wxICOHandlerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxImageHandler *)(wxBMPHandler *) ((wxICOHandler *) x));
+}
+static void *_p_wxBMPHandlerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxImageHandler *) ((wxBMPHandler *) x));
+}
+static void *_p_wxImageHandlerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxImageHandler *) x));
+}
+static void *_p_wxTIFFHandlerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxImageHandler *) ((wxTIFFHandler *) x));
+}
+static void *_p_wxEvtHandlerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxEvtHandler *) x));
+}
+static void *_p_wxCalculateLayoutEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxCalculateLayoutEvent *) x));
+}
+static void *_p_wxPyShapeEvtHandlerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxPyShapeEvtHandler *) x));
+}
+static void *_p_wxPyVListBoxTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxPanel *)(wxPyVScrolledWindow *) ((wxPyVListBox *) x));
+}
+static void *_p_wxPyHtmlListBoxTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxPanel *)(wxPyVScrolledWindow *)(wxPyVListBox *) ((wxPyHtmlListBox *) x));
+}
+static void *_p_wxPyTextShapeTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxPyShapeEvtHandler *)(wxPyShape *)(wxPyRectangleShape *) ((wxPyTextShape *) x));
+}
+static void *_p_wxAcceleratorTableTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxAcceleratorTable *) x));
+}
+static void *_p_wxPyDividedShapeTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxPyShapeEvtHandler *)(wxPyShape *)(wxPyRectangleShape *) ((wxPyDividedShape *) x));
+}
+static void *_p_wxMiniFrameTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxFrame *) ((wxMiniFrame *) x));
+}
+static void *_p_wxImageTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxImage *) x));
+}
+static void *_p_wxFrameTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *) ((wxFrame *) x));
+}
+static void *_p_wxPyPrintoutTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxPyPrintout *) x));
+}
+static void *_p_wxScrollWinEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxScrollWinEvent *) x));
+}
+static void *_p_wxTaskBarIconEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxTaskBarIconEvent *) x));
+}
+static void *_p_wxDiagramTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxDiagram *) x));
+}
+static void *_p_wxStatusBarTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *) ((wxStatusBar *) x));
+}
+static void *_p_wxMDIParentFrameTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxFrame *) ((wxMDIParentFrame *) x));
+}
+static void *_p_wxWindowDestroyEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxWindowDestroyEvent *) x));
+}
+static void *_p_wxNavigationKeyEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxNavigationKeyEvent *) x));
+}
+static void *_p_wxKeyEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxKeyEvent *) x));
+}
+static void *_p_wxScrolledWindowTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxPanel *) ((wxScrolledWindow *) x));
+}
+static void *_p_wxWindowTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *) ((wxWindow *) x));
+}
+static void *_p_wxMenuTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *) ((wxMenu *) x));
+}
+static void *_p_wxMenuBarTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *) ((wxMenuBar *) x));
+}
+static void *_p_wxTopLevelWindowTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *) ((wxTopLevelWindow *) x));
+}
+static void *_p_wxSplashScreenWindowTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *) ((wxSplashScreenWindow *) x));
+}
+static void *_p_wxSplitterWindowTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *) ((wxSplitterWindow *) x));
+}
+static void *_p_wxSashWindowTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *) ((wxSashWindow *) x));
+}
+static void *_p_wxSashLayoutWindowTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxSashWindow *) ((wxSashLayoutWindow *) x));
+}
+static void *_p_wxPopupWindowTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *) ((wxPopupWindow *) x));
+}
+static void *_p_wxPyPopupTransientWindowTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxPopupWindow *) ((wxPyPopupTransientWindow *) x));
+}
+static void *_p_wxTipWindowTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxPopupWindow *)(wxPyPopupTransientWindow *) ((wxTipWindow *) x));
+}
+static void *_p_wxPyVScrolledWindowTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxPanel *) ((wxPyVScrolledWindow *) x));
+}
+static void *_p_wxMDIClientWindowTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *) ((wxMDIClientWindow *) x));
+}
+static void *_p_wxSashEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxSashEvent *) x));
+}
+static void *_p_wxPrintPreviewTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxPrintPreview *) x));
+}
+static void *_p_wxPyPrintPreviewTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxPrintPreview *) ((wxPyPrintPreview *) x));
+}
+static void *_p_wxPanelTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *) ((wxPanel *) x));
+}
+static void *_p_wxDialogTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *) ((wxDialog *) x));
+}
+static void *_p_wxColourDialogTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxColourDialog *) x));
+}
+static void *_p_wxDirDialogTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxDirDialog *) x));
+}
+static void *_p_wxFontDialogTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxFontDialog *) x));
+}
+static void *_p_wxPageSetupDialogTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxPageSetupDialog *) x));
+}
+static void *_p_wxPrintDialogTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxPrintDialog *) x));
+}
+static void *_p_wxPyShapeTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxPyShapeEvtHandler *) ((wxPyShape *) x));
+}
+static void *_p_wxFileSystemTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxFileSystem *) x));
+}
+static void *_p_wxContextMenuEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxContextMenuEvent *) x));
+}
+static void *_p_wxMenuEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxMenuEvent *) x));
+}
+static void *_p_wxPyAppTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *) ((wxPyApp *) x));
+}
+static void *_p_wxCloseEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxCloseEvent *) x));
+}
+static void *_p_wxMouseEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxMouseEvent *) x));
+}
+static void *_p_wxEraseEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxEraseEvent *) x));
+}
+static void *_p_wxPyCommandEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxPyCommandEvent *) x));
+}
+static void *_p_wxCommandEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxCommandEvent *) x));
+}
+static void *_p_wxPreviewControlBarTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxPanel *) ((wxPreviewControlBar *) x));
+}
+static void *_p_wxPyPreviewControlBarTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxPanel *)(wxPreviewControlBar *) ((wxPyPreviewControlBar *) x));
+}
+static void *_p_wxDropFilesEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxDropFilesEvent *) x));
+}
+static void *_p_wxFocusEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxFocusEvent *) x));
+}
+static void *_p_wxChildFocusEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxChildFocusEvent *) x));
+}
+static void *_p_wxPyRectangleShapeTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxPyShapeEvtHandler *)(wxPyShape *) ((wxPyRectangleShape *) x));
+}
+static void *_p_wxPyCompositeShapeTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxPyShapeEvtHandler *)(wxPyShape *)(wxPyRectangleShape *) ((wxPyCompositeShape *) x));
+}
+static void *_p_wxPyCircleShapeTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxPyShapeEvtHandler *)(wxPyShape *)(wxPyEllipseShape *) ((wxPyCircleShape *) x));
+}
+static void *_p_wxPyLineShapeTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxPyShapeEvtHandler *)(wxPyShape *) ((wxPyLineShape *) x));
+}
+static void *_p_wxPseudoMetaFileTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxPseudoMetaFile *) x));
+}
+static void *_p_wxControlWithItemsTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *) ((wxControlWithItems *) x));
+}
+static void *_p_wxPageSetupDialogDataTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxPageSetupDialogData *) x));
+}
+static void *_p_wxPrintDialogDataTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxPrintDialogData *) x));
+}
+static void *_p_wxPyValidatorTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxValidator *) ((wxPyValidator *) x));
+}
+static void *_p_wxValidatorTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *) ((wxValidator *) x));
+}
+static void *_p_wxShapeRegionTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxShapeRegion *) x));
+}
+static void *_p_wxPyRectangleShapeTo_p_wxPyShapeEvtHandler(void *x) {
+    return (void *)((wxPyShapeEvtHandler *) (wxPyShape *) ((wxPyRectangleShape *) x));
+}
+static void *_p_wxPyBitmapShapeTo_p_wxPyShapeEvtHandler(void *x) {
+    return (void *)((wxPyShapeEvtHandler *) (wxPyShape *)(wxPyRectangleShape *) ((wxPyBitmapShape *) x));
+}
+static void *_p_wxPyCompositeShapeTo_p_wxPyShapeEvtHandler(void *x) {
+    return (void *)((wxPyShapeEvtHandler *) (wxPyShape *)(wxPyRectangleShape *) ((wxPyCompositeShape *) x));
+}
+static void *_p_wxPyCircleShapeTo_p_wxPyShapeEvtHandler(void *x) {
+    return (void *)((wxPyShapeEvtHandler *) (wxPyShape *)(wxPyEllipseShape *) ((wxPyCircleShape *) x));
+}
+static void *_p_wxPyLineShapeTo_p_wxPyShapeEvtHandler(void *x) {
+    return (void *)((wxPyShapeEvtHandler *) (wxPyShape *) ((wxPyLineShape *) x));
+}
+static void *_p_wxPyTextShapeTo_p_wxPyShapeEvtHandler(void *x) {
+    return (void *)((wxPyShapeEvtHandler *) (wxPyShape *)(wxPyRectangleShape *) ((wxPyTextShape *) x));
+}
+static void *_p_wxPyControlPointTo_p_wxPyShapeEvtHandler(void *x) {
+    return (void *)((wxPyShapeEvtHandler *) (wxPyShape *)(wxPyRectangleShape *) ((wxPyControlPoint *) x));
+}
+static void *_p_wxPyDrawnShapeTo_p_wxPyShapeEvtHandler(void *x) {
+    return (void *)((wxPyShapeEvtHandler *) (wxPyShape *)(wxPyRectangleShape *) ((wxPyDrawnShape *) x));
+}
+static void *_p_wxPyDivisionShapeTo_p_wxPyShapeEvtHandler(void *x) {
+    return (void *)((wxPyShapeEvtHandler *) (wxPyShape *)(wxPyRectangleShape *)(wxPyCompositeShape *) ((wxPyDivisionShape *) x));
+}
+static void *_p_wxPyPolygonShapeTo_p_wxPyShapeEvtHandler(void *x) {
+    return (void *)((wxPyShapeEvtHandler *) (wxPyShape *) ((wxPyPolygonShape *) x));
+}
+static void *_p_wxPyDividedShapeTo_p_wxPyShapeEvtHandler(void *x) {
+    return (void *)((wxPyShapeEvtHandler *) (wxPyShape *)(wxPyRectangleShape *) ((wxPyDividedShape *) x));
+}
+static void *_p_wxPyShapeTo_p_wxPyShapeEvtHandler(void *x) {
+    return (void *)((wxPyShapeEvtHandler *)  ((wxPyShape *) x));
+}
+static void *_p_wxPyEllipseShapeTo_p_wxPyShapeEvtHandler(void *x) {
+    return (void *)((wxPyShapeEvtHandler *) (wxPyShape *) ((wxPyEllipseShape *) x));
+}
+static void *_p_wxSplashScreenTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxFrame *) ((wxSplashScreen *) x));
+}
+static void *_p_wxMiniFrameTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxFrame *) ((wxMiniFrame *) x));
+}
+static void *_p_wxPyPanelTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxPanel *) ((wxPyPanel *) x));
+}
+static void *_p_wxMenuBarTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *) ((wxMenuBar *) x));
+}
+static void *_p_wxValidatorTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *)  ((wxValidator *) x));
+}
+static void *_p_wxPyValidatorTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxValidator *) ((wxPyValidator *) x));
+}
+static void *_p_wxMenuTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *)  ((wxMenu *) x));
+}
+static void *_p_wxTextEntryDialogTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxTextEntryDialog *) x));
+}
+static void *_p_wxSingleChoiceDialogTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxSingleChoiceDialog *) x));
+}
+static void *_p_wxMultiChoiceDialogTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxMultiChoiceDialog *) x));
+}
+static void *_p_wxFileDialogTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxFileDialog *) x));
+}
+static void *_p_wxMessageDialogTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxMessageDialog *) x));
+}
+static void *_p_wxProgressDialogTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxFrame *) ((wxProgressDialog *) x));
+}
+static void *_p_wxFindReplaceDialogTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxFindReplaceDialog *) x));
+}
+static void *_p_wxPanelTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *) ((wxPanel *) x));
+}
+static void *_p_wxStatusBarTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *) ((wxStatusBar *) x));
+}
+static void *_p_wxPyVScrolledWindowTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxPanel *) ((wxPyVScrolledWindow *) x));
+}
+static void *_p_wxTipWindowTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxPopupWindow *)(wxPyPopupTransientWindow *) ((wxTipWindow *) x));
+}
+static void *_p_wxPyPopupTransientWindowTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxPopupWindow *) ((wxPyPopupTransientWindow *) x));
+}
+static void *_p_wxPopupWindowTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *) ((wxPopupWindow *) x));
+}
+static void *_p_wxSashLayoutWindowTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxSashWindow *) ((wxSashLayoutWindow *) x));
+}
+static void *_p_wxSashWindowTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *) ((wxSashWindow *) x));
+}
+static void *_p_wxSplitterWindowTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *) ((wxSplitterWindow *) x));
+}
+static void *_p_wxSplashScreenWindowTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *) ((wxSplashScreenWindow *) x));
+}
+static void *_p_wxWindowTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *)  ((wxWindow *) x));
+}
+static void *_p_wxScrolledWindowTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxPanel *) ((wxScrolledWindow *) x));
+}
+static void *_p_wxTopLevelWindowTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *) ((wxTopLevelWindow *) x));
+}
+static void *_p_wxMDIClientWindowTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *) ((wxMDIClientWindow *) x));
+}
+static void *_p_wxControlTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *) ((wxControl *) x));
+}
+static void *_p_wxPreviewFrameTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxFrame *) ((wxPreviewFrame *) x));
+}
+static void *_p_wxPyPreviewFrameTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxFrame *)(wxPreviewFrame *) ((wxPyPreviewFrame *) x));
+}
+static void *_p_wxMDIChildFrameTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxFrame *) ((wxMDIChildFrame *) x));
+}
+static void *_p_wxPyAppTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *)  ((wxPyApp *) x));
+}
+static void *_p_wxControlWithItemsTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *) ((wxControlWithItems *) x));
+}
+static void *_p_wxPyWindowTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *) ((wxPyWindow *) x));
+}
+static void *_p_wxPreviewCanvasTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxPanel *)(wxScrolledWindow *) ((wxPreviewCanvas *) x));
+}
+static void *_p_wxPyShapeCanvasTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxPanel *)(wxScrolledWindow *) ((wxPyShapeCanvas *) x));
+}
+static void *_p_wxPyHtmlListBoxTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxPanel *)(wxPyVScrolledWindow *)(wxPyVListBox *) ((wxPyHtmlListBox *) x));
+}
+static void *_p_wxPyVListBoxTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxPanel *)(wxPyVScrolledWindow *) ((wxPyVListBox *) x));
+}
+static void *_p_wxPreviewControlBarTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxPanel *) ((wxPreviewControlBar *) x));
+}
+static void *_p_wxPyPreviewControlBarTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxPanel *)(wxPreviewControlBar *) ((wxPyPreviewControlBar *) x));
+}
+static void *_p_wxTaskBarIconTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *)  ((wxTaskBarIcon *) x));
+}
+static void *_p_wxFrameTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *) ((wxFrame *) x));
+}
+static void *_p_wxFontDialogTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxFontDialog *) x));
+}
+static void *_p_wxDirDialogTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxDirDialog *) x));
+}
+static void *_p_wxColourDialogTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxColourDialog *) x));
+}
+static void *_p_wxDialogTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *) ((wxDialog *) x));
+}
+static void *_p_wxPageSetupDialogTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxPageSetupDialog *) x));
+}
+static void *_p_wxPrintDialogTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxPrintDialog *) x));
+}
+static void *_p_wxMDIParentFrameTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxFrame *) ((wxMDIParentFrame *) x));
+}
+static void *_p_wxPyCircleShapeTo_p_wxPyEllipseShape(void *x) {
+    return (void *)((wxPyEllipseShape *)  ((wxPyCircleShape *) x));
+}
+static void *_p_wxPyRectangleShapeTo_p_wxPyShape(void *x) {
+    return (void *)((wxPyShape *)  ((wxPyRectangleShape *) x));
+}
+static void *_p_wxPyBitmapShapeTo_p_wxPyShape(void *x) {
+    return (void *)((wxPyShape *) (wxPyRectangleShape *) ((wxPyBitmapShape *) x));
+}
+static void *_p_wxPyCompositeShapeTo_p_wxPyShape(void *x) {
+    return (void *)((wxPyShape *) (wxPyRectangleShape *) ((wxPyCompositeShape *) x));
+}
+static void *_p_wxPyCircleShapeTo_p_wxPyShape(void *x) {
+    return (void *)((wxPyShape *) (wxPyEllipseShape *) ((wxPyCircleShape *) x));
+}
+static void *_p_wxPyLineShapeTo_p_wxPyShape(void *x) {
+    return (void *)((wxPyShape *)  ((wxPyLineShape *) x));
+}
+static void *_p_wxPyTextShapeTo_p_wxPyShape(void *x) {
+    return (void *)((wxPyShape *) (wxPyRectangleShape *) ((wxPyTextShape *) x));
+}
+static void *_p_wxPyControlPointTo_p_wxPyShape(void *x) {
+    return (void *)((wxPyShape *) (wxPyRectangleShape *) ((wxPyControlPoint *) x));
+}
+static void *_p_wxPyDrawnShapeTo_p_wxPyShape(void *x) {
+    return (void *)((wxPyShape *) (wxPyRectangleShape *) ((wxPyDrawnShape *) x));
+}
+static void *_p_wxPyDivisionShapeTo_p_wxPyShape(void *x) {
+    return (void *)((wxPyShape *) (wxPyRectangleShape *)(wxPyCompositeShape *) ((wxPyDivisionShape *) x));
+}
+static void *_p_wxPyPolygonShapeTo_p_wxPyShape(void *x) {
+    return (void *)((wxPyShape *)  ((wxPyPolygonShape *) x));
+}
+static void *_p_wxPyDividedShapeTo_p_wxPyShape(void *x) {
+    return (void *)((wxPyShape *) (wxPyRectangleShape *) ((wxPyDividedShape *) x));
+}
+static void *_p_wxPyEllipseShapeTo_p_wxPyShape(void *x) {
+    return (void *)((wxPyShape *)  ((wxPyEllipseShape *) x));
+}
+static void *_p_wxPyBitmapShapeTo_p_wxPyRectangleShape(void *x) {
+    return (void *)((wxPyRectangleShape *)  ((wxPyBitmapShape *) x));
+}
+static void *_p_wxPyCompositeShapeTo_p_wxPyRectangleShape(void *x) {
+    return (void *)((wxPyRectangleShape *)  ((wxPyCompositeShape *) x));
+}
+static void *_p_wxPyTextShapeTo_p_wxPyRectangleShape(void *x) {
+    return (void *)((wxPyRectangleShape *)  ((wxPyTextShape *) x));
+}
+static void *_p_wxPyControlPointTo_p_wxPyRectangleShape(void *x) {
+    return (void *)((wxPyRectangleShape *)  ((wxPyControlPoint *) x));
+}
+static void *_p_wxPyDrawnShapeTo_p_wxPyRectangleShape(void *x) {
+    return (void *)((wxPyRectangleShape *)  ((wxPyDrawnShape *) x));
+}
+static void *_p_wxPyDivisionShapeTo_p_wxPyRectangleShape(void *x) {
+    return (void *)((wxPyRectangleShape *) (wxPyCompositeShape *) ((wxPyDivisionShape *) x));
+}
+static void *_p_wxPyDividedShapeTo_p_wxPyRectangleShape(void *x) {
+    return (void *)((wxPyRectangleShape *)  ((wxPyDividedShape *) x));
+}
+static void *_p_wxPyDivisionShapeTo_p_wxPyCompositeShape(void *x) {
+    return (void *)((wxPyCompositeShape *)  ((wxPyDivisionShape *) x));
+}
+static swig_type_info _swigt__p_wxOGLConstraint[] = {{"_p_wxOGLConstraint", 0, "wxOGLConstraint *", 0},{"_p_wxOGLConstraint"},{0}};
+static swig_type_info _swigt__p_wxBrush[] = {{"_p_wxBrush", 0, "wxBrush *", 0},{"_p_wxBrush"},{0}};
+static swig_type_info _swigt__p_wxColour[] = {{"_p_wxColour", 0, "wxColour *", 0},{"_p_wxColour"},{0}};
+static swig_type_info _swigt__p_wxShapeRegion[] = {{"_p_wxShapeRegion", 0, "wxShapeRegion *", 0},{"_p_wxShapeRegion"},{0}};
+static swig_type_info _swigt__p_wxDC[] = {{"_p_wxDC", 0, "wxDC *", 0},{"_p_wxDC"},{0}};
+static swig_type_info _swigt__p_wxRealPoint[] = {{"_p_wxRealPoint", 0, "wxRealPoint *", 0},{"_p_wxRealPoint"},{0}};
+static swig_type_info _swigt__p_wxPyControlPoint[] = {{"_p_wxPyControlPoint", 0, "wxPyControlPoint *", 0},{"_p_wxPyControlPoint"},{0}};
+static swig_type_info _swigt__p_wxArrowHead[] = {{"_p_wxArrowHead", 0, "wxArrowHead *", 0},{"_p_wxArrowHead"},{0}};
+static swig_type_info _swigt__p_wxStringList[] = {{"_p_wxStringList", 0, "wxStringList *", 0},{"_p_wxStringList"},{0}};
+static swig_type_info _swigt__p_wxPanel[] = {{"_p_wxPanel", 0, "wxPanel *", 0},{"_p_wxPanel"},{"_p_wxScrolledWindow", _p_wxScrolledWindowTo_p_wxPanel},{"_p_wxPyVScrolledWindow", _p_wxPyVScrolledWindowTo_p_wxPanel},{"_p_wxPyVListBox", _p_wxPyVListBoxTo_p_wxPanel},{"_p_wxPyHtmlListBox", _p_wxPyHtmlListBoxTo_p_wxPanel},{"_p_wxPyPanel", _p_wxPyPanelTo_p_wxPanel},{"_p_wxPreviewCanvas", _p_wxPreviewCanvasTo_p_wxPanel},{"_p_wxPyShapeCanvas", _p_wxPyShapeCanvasTo_p_wxPanel},{"_p_wxPreviewControlBar", _p_wxPreviewControlBarTo_p_wxPanel},{"_p_wxPyPreviewControlBar", _p_wxPyPreviewControlBarTo_p_wxPanel},{0}};
+static swig_type_info _swigt__p_bool[] = {{"_p_bool", 0, "bool *", 0},{"_p_bool"},{0}};
+static swig_type_info _swigt__p_wxList[] = {{"_p_wxList", 0, "wxList *", 0},{"_p_wxList"},{0}};
+static swig_type_info _swigt__p_wxFont[] = {{"_p_wxFont", 0, "wxFont *", 0},{"_p_wxFont"},{0}};
+static swig_type_info _swigt__p_wxScrolledWindow[] = {{"_p_wxScrolledWindow", 0, "wxScrolledWindow *", 0},{"_p_wxScrolledWindow"},{"_p_wxPreviewCanvas", _p_wxPreviewCanvasTo_p_wxScrolledWindow},{"_p_wxPyShapeCanvas", _p_wxPyShapeCanvasTo_p_wxScrolledWindow},{0}};
+static swig_type_info _swigt__p_wxWindow[] = {{"_p_wxWindow", 0, "wxWindow *", 0},{"_p_wxSplashScreen", _p_wxSplashScreenTo_p_wxWindow},{"_p_wxMiniFrame", _p_wxMiniFrameTo_p_wxWindow},{"_p_wxPyPanel", _p_wxPyPanelTo_p_wxWindow},{"_p_wxMenuBar", _p_wxMenuBarTo_p_wxWindow},{"_p_wxFindReplaceDialog", _p_wxFindReplaceDialogTo_p_wxWindow},{"_p_wxProgressDialog", _p_wxProgressDialogTo_p_wxWindow},{"_p_wxMessageDialog", _p_wxMessageDialogTo_p_wxWindow},{"_p_wxTextEntryDialog", _p_wxTextEntryDialogTo_p_wxWindow},{"_p_wxSingleChoiceDialog", _p_wxSingleChoiceDialogTo_p_wxWindow},{"_p_wxMultiChoiceDialog", _p_wxMultiChoiceDialogTo_p_wxWindow},{"_p_wxFileDialog", _p_wxFileDialogTo_p_wxWindow},{"_p_wxPanel", _p_wxPanelTo_p_wxWindow},{"_p_wxStatusBar", _p_wxStatusBarTo_p_wxWindow},{"_p_wxMDIClientWindow", _p_wxMDIClientWindowTo_p_wxWindow},{"_p_wxTipWindow", _p_wxTipWindowTo_p_wxWindow},{"_p_wxPyPopupTransientWindow", _p_wxPyPopupTransientWindowTo_p_wxWindow},{"_p_wxPopupWindow", _p_wxPopupWindowTo_p_wxWindow},{"_p_wxSashLayoutWindow", _p_wxSashLayoutWindowTo_p_wxWindow},{"_p_wxTopLevelWindow", _p_wxTopLevelWindowTo_p_wxWindow},{"_p_wxSplashScreenWindow", _p_wxSplashScreenWindowTo_p_wxWindow},{"_p_wxSplitterWindow", _p_wxSplitterWindowTo_p_wxWindow},{"_p_wxSashWindow", _p_wxSashWindowTo_p_wxWindow},{"_p_wxPyVScrolledWindow", _p_wxPyVScrolledWindowTo_p_wxWindow},{"_p_wxWindow"},{"_p_wxScrolledWindow", _p_wxScrolledWindowTo_p_wxWindow},{"_p_wxPreviewFrame", _p_wxPreviewFrameTo_p_wxWindow},{"_p_wxPyPreviewFrame", _p_wxPyPreviewFrameTo_p_wxWindow},{"_p_wxControl", _p_wxControlTo_p_wxWindow},{"_p_wxMDIChildFrame", _p_wxMDIChildFrameTo_p_wxWindow},{"_p_wxControlWithItems", _p_wxControlWithItemsTo_p_wxWindow},{"_p_wxPyShapeCanvas", _p_wxPyShapeCanvasTo_p_wxWindow},{"_p_wxPreviewCanvas", _p_wxPreviewCanvasTo_p_wxWindow},{"_p_wxPyWindow", _p_wxPyWindowTo_p_wxWindow},{"_p_wxPyHtmlListBox", _p_wxPyHtmlListBoxTo_p_wxWindow},{"_p_wxPyVListBox", _p_wxPyVListBoxTo_p_wxWindow},{"_p_wxPyPreviewControlBar", _p_wxPyPreviewControlBarTo_p_wxWindow},{"_p_wxPreviewControlBar", _p_wxPreviewControlBarTo_p_wxWindow},{"_p_wxFrame", _p_wxFrameTo_p_wxWindow},{"_p_wxFontDialog", _p_wxFontDialogTo_p_wxWindow},{"_p_wxDirDialog", _p_wxDirDialogTo_p_wxWindow},{"_p_wxColourDialog", _p_wxColourDialogTo_p_wxWindow},{"_p_wxDialog", _p_wxDialogTo_p_wxWindow},{"_p_wxPageSetupDialog", _p_wxPageSetupDialogTo_p_wxWindow},{"_p_wxPrintDialog", _p_wxPrintDialogTo_p_wxWindow},{"_p_wxMDIParentFrame", _p_wxMDIParentFrameTo_p_wxWindow},{0}};
+static swig_type_info _swigt__p_double[] = {{"_p_double", 0, "double *", 0},{"_p_double"},{0}};
+static swig_type_info _swigt__p_wxPyDivisionShape[] = {{"_p_wxPyDivisionShape", 0, "wxPyDivisionShape *", 0},{"_p_wxPyDivisionShape"},{0}};
+static swig_type_info _swigt__p_wxPyDrawnShape[] = {{"_p_wxPyDrawnShape", 0, "wxPyDrawnShape *", 0},{"_p_wxPyDrawnShape"},{0}};
+static swig_type_info _swigt__p_wxPyPolygonShape[] = {{"_p_wxPyPolygonShape", 0, "wxPyPolygonShape *", 0},{"_p_wxPyPolygonShape"},{0}};
+static swig_type_info _swigt__p_wxBitmap[] = {{"_p_wxBitmap", 0, "wxBitmap *", 0},{"_p_wxBitmap"},{0}};
+static swig_type_info _swigt__p_wxObject[] = {{"_p_wxObject", 0, "wxObject *", 0},{"_p_wxQueryLayoutInfoEvent", _p_wxQueryLayoutInfoEventTo_p_wxObject},{"_p_wxLayoutConstraints", _p_wxLayoutConstraintsTo_p_wxObject},{"_p_wxPyControlPoint", _p_wxPyControlPointTo_p_wxObject},{"_p_wxPreviewFrame", _p_wxPreviewFrameTo_p_wxObject},{"_p_wxPyPreviewFrame", _p_wxPyPreviewFrameTo_p_wxObject},{"_p_wxGBSizerItem", _p_wxGBSizerItemTo_p_wxObject},{"_p_wxSizerItem", _p_wxSizerItemTo_p_wxObject},{"_p_wxScrollEvent", _p_wxScrollEventTo_p_wxObject},{"_p_wxIndividualLayoutConstraint", _p_wxIndividualLayoutConstraintTo_p_wxObject},{"_p_wxOGLConstraint", _p_wxOGLConstraintTo_p_wxObject},{"_p_wxPyPolygonShape", _p_wxPyPolygonShapeTo_p_wxObject},{"_p_wxPyDivisionShape", _p_wxPyDivisionShapeTo_p_wxObject},{"_p_wxPyDrawnShape", _p_wxPyDrawnShapeTo_p_wxObject},{"_p_wxSizer", _p_wxSizerTo_p_wxObject},{"_p_wxBoxSizer", _p_wxBoxSizerTo_p_wxObject},{"_p_wxStaticBoxSizer", _p_wxStaticBoxSizerTo_p_wxObject},{"_p_wxGridBagSizer", _p_wxGridBagSizerTo_p_wxObject},{"_p_wxUpdateUIEvent", _p_wxUpdateUIEventTo_p_wxObject},{"_p_wxArrowHead", _p_wxArrowHeadTo_p_wxObject},{"_p_wxPyPanel", _p_wxPyPanelTo_p_wxObject},{"_p_wxMenu", _p_wxMenuTo_p_wxObject},{"_p_wxFontData", _p_wxFontDataTo_p_wxObject},{"_p_wxPrintData", _p_wxPrintDataTo_p_wxObject},{"_p_wxEvent", _p_wxEventTo_p_wxObject},{"_p_wxFlexGridSizer", _p_wxFlexGridSizerTo_p_wxObject},{"_p_wxGridSizer", _p_wxGridSizerTo_p_wxObject},{"_p_wxTaskBarIcon", _p_wxTaskBarIconTo_p_wxObject},{"_p_wxLayoutAlgorithm", _p_wxLayoutAlgorithmTo_p_wxObject},{"_p_wxInitDialogEvent", _p_wxInitDialogEventTo_p_wxObject},{"_p_wxFindDialogEvent", _p_wxFindDialogEventTo_p_wxObject},{"_p_wxPaintEvent", _p_wxPaintEventTo_p_wxObject},{"_p_wxNcPaintEvent", _p_wxNcPaintEventTo_p_wxObject},{"_p_wxDisplayChangedEvent", _p_wxDisplayChangedEventTo_p_wxObject},{"_p_wxPaletteChangedEvent", _p_wxPaletteChangedEventTo_p_wxObject},{"_p_wxMouseCaptureChangedEvent", _p_wxMouseCaptureChangedEventTo_p_wxObject},{"_p_wxSysColourChangedEvent", _p_wxSysColourChangedEventTo_p_wxObject},{"_p_wxPreviewCanvas", _p_wxPreviewCanvasTo_p_wxObject},{"_p_wxPyShapeCanvas", _p_wxPyShapeCanvasTo_p_wxObject},{"_p_wxControl", _p_wxControlTo_p_wxObject},{"_p_wxPyEllipseShape", _p_wxPyEllipseShapeTo_p_wxObject},{"_p_wxSetCursorEvent", _p_wxSetCursorEventTo_p_wxObject},{"_p_wxSplitterEvent", _p_wxSplitterEventTo_p_wxObject},{"_p_wxFSFile", _p_wxFSFileTo_p_wxObject},{"_p_wxFindReplaceData", _p_wxFindReplaceDataTo_p_wxObject},{"_p_wxPyBitmapShape", _p_wxPyBitmapShapeTo_p_wxObject},{"_p_wxPySizer", _p_wxPySizerTo_p_wxObject},{"_p_wxMDIChildFrame", _p_wxMDIChildFrameTo_p_wxObject},{"_p_wxColourData", _p_wxColourDataTo_p_wxObject},{"_p_wxPyEvent", _p_wxPyEventTo_p_wxObject},{"_p_wxNotifyEvent", _p_wxNotifyEventTo_p_wxObject},{"_p_wxPyWindow", _p_wxPyWindowTo_p_wxObject},{"_p_wxSplashScreen", _p_wxSplashScreenTo_p_wxObject},{"_p_wxFileDialog", _p_wxFileDialogTo_p_wxObject},{"_p_wxMultiChoiceDialog", _p_wxMultiChoiceDialogTo_p_wxObject},{"_p_wxSingleChoiceDialog", _p_wxSingleChoiceDialogTo_p_wxObject},{"_p_wxTextEntryDialog", _p_wxTextEntryDialogTo_p_wxObject},{"_p_wxMessageDialog", _p_wxMessageDialogTo_p_wxObject},{"_p_wxProgressDialog", _p_wxProgressDialogTo_p_wxObject},{"_p_wxFindReplaceDialog", _p_wxFindReplaceDialogTo_p_wxObject},{"_p_wxShowEvent", _p_wxShowEventTo_p_wxObject},{"_p_wxPrinter", _p_wxPrinterTo_p_wxObject},{"_p_wxMenuItem", _p_wxMenuItemTo_p_wxObject},{"_p_wxIdleEvent", _p_wxIdleEventTo_p_wxObject},{"_p_wxWindowCreateEvent", _p_wxWindowCreateEventTo_p_wxObject},{"_p_wxQueryNewPaletteEvent", _p_wxQueryNewPaletteEventTo_p_wxObject},{"_p_wxMaximizeEvent", _p_wxMaximizeEventTo_p_wxObject},{"_p_wxIconizeEvent", _p_wxIconizeEventTo_p_wxObject},{"_p_wxSizeEvent", _p_wxSizeEventTo_p_wxObject},{"_p_wxMoveEvent", _p_wxMoveEventTo_p_wxObject},{"_p_wxActivateEvent", _p_wxActivateEventTo_p_wxObject},{"_p_wxJPEGHandler", _p_wxJPEGHandlerTo_p_wxObject},{"_p_wxPCXHandler", _p_wxPCXHandlerTo_p_wxObject},{"_p_wxPNMHandler", _p_wxPNMHandlerTo_p_wxObject},{"_p_wxXPMHandler", _p_wxXPMHandlerTo_p_wxObject},{"_p_wxGIFHandler", _p_wxGIFHandlerTo_p_wxObject},{"_p_wxPNGHandler", _p_wxPNGHandlerTo_p_wxObject},{"_p_wxANIHandler", _p_wxANIHandlerTo_p_wxObject},{"_p_wxCURHandler", _p_wxCURHandlerTo_p_wxObject},{"_p_wxICOHandler", _p_wxICOHandlerTo_p_wxObject},{"_p_wxBMPHandler", _p_wxBMPHandlerTo_p_wxObject},{"_p_wxImageHandler", _p_wxImageHandlerTo_p_wxObject},{"_p_wxTIFFHandler", _p_wxTIFFHandlerTo_p_wxObject},{"_p_wxEvtHandler", _p_wxEvtHandlerTo_p_wxObject},{"_p_wxCalculateLayoutEvent", _p_wxCalculateLayoutEventTo_p_wxObject},{"_p_wxPyShapeEvtHandler", _p_wxPyShapeEvtHandlerTo_p_wxObject},{"_p_wxPyVListBox", _p_wxPyVListBoxTo_p_wxObject},{"_p_wxPyHtmlListBox", _p_wxPyHtmlListBoxTo_p_wxObject},{"_p_wxPyTextShape", _p_wxPyTextShapeTo_p_wxObject},{"_p_wxPyDividedShape", _p_wxPyDividedShapeTo_p_wxObject},{"_p_wxAcceleratorTable", _p_wxAcceleratorTableTo_p_wxObject},{"_p_wxMiniFrame", _p_wxMiniFrameTo_p_wxObject},{"_p_wxImage", _p_wxImageTo_p_wxObject},{"_p_wxFrame", _p_wxFrameTo_p_wxObject},{"_p_wxPyPrintout", _p_wxPyPrintoutTo_p_wxObject},{"_p_wxScrollWinEvent", _p_wxScrollWinEventTo_p_wxObject},{"_p_wxTaskBarIconEvent", _p_wxTaskBarIconEventTo_p_wxObject},{"_p_wxDiagram", _p_wxDiagramTo_p_wxObject},{"_p_wxStatusBar", _p_wxStatusBarTo_p_wxObject},{"_p_wxMDIParentFrame", _p_wxMDIParentFrameTo_p_wxObject},{"_p_wxObject"},{"_p_wxWindowDestroyEvent", _p_wxWindowDestroyEventTo_p_wxObject},{"_p_wxNavigationKeyEvent", _p_wxNavigationKeyEventTo_p_wxObject},{"_p_wxKeyEvent", _p_wxKeyEventTo_p_wxObject},{"_p_wxMenuBar", _p_wxMenuBarTo_p_wxObject},{"_p_wxScrolledWindow", _p_wxScrolledWindowTo_p_wxObject},{"_p_wxPyVScrolledWindow", _p_wxPyVScrolledWindowTo_p_wxObject},{"_p_wxMDIClientWindow", _p_wxMDIClientWindowTo_p_wxObject},{"_p_wxTopLevelWindow", _p_wxTopLevelWindowTo_p_wxObject},{"_p_wxWindow", _p_wxWindowTo_p_wxObject},{"_p_wxSashWindow", _p_wxSashWindowTo_p_wxObject},{"_p_wxSplitterWindow", _p_wxSplitterWindowTo_p_wxObject},{"_p_wxSplashScreenWindow", _p_wxSplashScreenWindowTo_p_wxObject},{"_p_wxSashLayoutWindow", _p_wxSashLayoutWindowTo_p_wxObject},{"_p_wxPopupWindow", _p_wxPopupWindowTo_p_wxObject},{"_p_wxPyPopupTransientWindow", _p_wxPyPopupTransientWindowTo_p_wxObject},{"_p_wxTipWindow", _p_wxTipWindowTo_p_wxObject},{"_p_wxSashEvent", _p_wxSashEventTo_p_wxObject},{"_p_wxPrintPreview", _p_wxPrintPreviewTo_p_wxObject},{"_p_wxPyPrintPreview", _p_wxPyPrintPreviewTo_p_wxObject},{"_p_wxPanel", _p_wxPanelTo_p_wxObject},{"_p_wxFontDialog", _p_wxFontDialogTo_p_wxObject},{"_p_wxDirDialog", _p_wxDirDialogTo_p_wxObject},{"_p_wxColourDialog", _p_wxColourDialogTo_p_wxObject},{"_p_wxDialog", _p_wxDialogTo_p_wxObject},{"_p_wxPageSetupDialog", _p_wxPageSetupDialogTo_p_wxObject},{"_p_wxPrintDialog", _p_wxPrintDialogTo_p_wxObject},{"_p_wxPyShape", _p_wxPyShapeTo_p_wxObject},{"_p_wxFileSystem", _p_wxFileSystemTo_p_wxObject},{"_p_wxContextMenuEvent", _p_wxContextMenuEventTo_p_wxObject},{"_p_wxMenuEvent", _p_wxMenuEventTo_p_wxObject},{"_p_wxPyApp", _p_wxPyAppTo_p_wxObject},{"_p_wxCloseEvent", _p_wxCloseEventTo_p_wxObject},{"_p_wxMouseEvent", _p_wxMouseEventTo_p_wxObject},{"_p_wxEraseEvent", _p_wxEraseEventTo_p_wxObject},{"_p_wxPyCommandEvent", _p_wxPyCommandEventTo_p_wxObject},{"_p_wxCommandEvent", _p_wxCommandEventTo_p_wxObject},{"_p_wxPreviewControlBar", _p_wxPreviewControlBarTo_p_wxObject},{"_p_wxPyPreviewControlBar", _p_wxPyPreviewControlBarTo_p_wxObject},{"_p_wxPyCircleShape", _p_wxPyCircleShapeTo_p_wxObject},{"_p_wxPyLineShape", _p_wxPyLineShapeTo_p_wxObject},{"_p_wxPyCompositeShape", _p_wxPyCompositeShapeTo_p_wxObject},{"_p_wxPyRectangleShape", _p_wxPyRectangleShapeTo_p_wxObject},{"_p_wxDropFilesEvent", _p_wxDropFilesEventTo_p_wxObject},{"_p_wxFocusEvent", _p_wxFocusEventTo_p_wxObject},{"_p_wxChildFocusEvent", _p_wxChildFocusEventTo_p_wxObject},{"_p_wxPseudoMetaFile", _p_wxPseudoMetaFileTo_p_wxObject},{"_p_wxControlWithItems", _p_wxControlWithItemsTo_p_wxObject},{"_p_wxPageSetupDialogData", _p_wxPageSetupDialogDataTo_p_wxObject},{"_p_wxPrintDialogData", _p_wxPrintDialogDataTo_p_wxObject},{"_p_wxValidator", _p_wxValidatorTo_p_wxObject},{"_p_wxPyValidator", _p_wxPyValidatorTo_p_wxObject},{"_p_wxShapeRegion", _p_wxShapeRegionTo_p_wxObject},{0}};
+static swig_type_info _swigt__p_wxPyBitmapShape[] = {{"_p_wxPyBitmapShape", 0, "wxPyBitmapShape *", 0},{"_p_wxPyBitmapShape"},{0}};
+static swig_type_info _swigt__p_wxString[] = {{"_p_wxString", 0, "wxString *", 0},{"_p_wxString"},{0}};
+static swig_type_info _swigt__p_wxPyShapeEvtHandler[] = {{"_p_wxPyShapeEvtHandler", 0, "wxPyShapeEvtHandler *", 0},{"_p_wxPyControlPoint", _p_wxPyControlPointTo_p_wxPyShapeEvtHandler},{"_p_wxPyRectangleShape", _p_wxPyRectangleShapeTo_p_wxPyShapeEvtHandler},{"_p_wxPyCompositeShape", _p_wxPyCompositeShapeTo_p_wxPyShapeEvtHandler},{"_p_wxPyCircleShape", _p_wxPyCircleShapeTo_p_wxPyShapeEvtHandler},{"_p_wxPyLineShape", _p_wxPyLineShapeTo_p_wxPyShapeEvtHandler},{"_p_wxPyDividedShape", _p_wxPyDividedShapeTo_p_wxPyShapeEvtHandler},{"_p_wxPyEllipseShape", _p_wxPyEllipseShapeTo_p_wxPyShapeEvtHandler},{"_p_wxPyPolygonShape", _p_wxPyPolygonShapeTo_p_wxPyShapeEvtHandler},{"_p_wxPyDrawnShape", _p_wxPyDrawnShapeTo_p_wxPyShapeEvtHandler},{"_p_wxPyDivisionShape", _p_wxPyDivisionShapeTo_p_wxPyShapeEvtHandler},{"_p_wxPyShape", _p_wxPyShapeTo_p_wxPyShapeEvtHandler},{"_p_wxPyShapeEvtHandler"},{"_p_wxPyBitmapShape", _p_wxPyBitmapShapeTo_p_wxPyShapeEvtHandler},{"_p_wxPyTextShape", _p_wxPyTextShapeTo_p_wxPyShapeEvtHandler},{0}};
+static swig_type_info _swigt__p_wxEvtHandler[] = {{"_p_wxEvtHandler", 0, "wxEvtHandler *", 0},{"_p_wxSplashScreen", _p_wxSplashScreenTo_p_wxEvtHandler},{"_p_wxMiniFrame", _p_wxMiniFrameTo_p_wxEvtHandler},{"_p_wxPyPanel", _p_wxPyPanelTo_p_wxEvtHandler},{"_p_wxMenuBar", _p_wxMenuBarTo_p_wxEvtHandler},{"_p_wxValidator", _p_wxValidatorTo_p_wxEvtHandler},{"_p_wxPyValidator", _p_wxPyValidatorTo_p_wxEvtHandler},{"_p_wxFindReplaceDialog", _p_wxFindReplaceDialogTo_p_wxEvtHandler},{"_p_wxTextEntryDialog", _p_wxTextEntryDialogTo_p_wxEvtHandler},{"_p_wxSingleChoiceDialog", _p_wxSingleChoiceDialogTo_p_wxEvtHandler},{"_p_wxMultiChoiceDialog", _p_wxMultiChoiceDialogTo_p_wxEvtHandler},{"_p_wxFileDialog", _p_wxFileDialogTo_p_wxEvtHandler},{"_p_wxMessageDialog", _p_wxMessageDialogTo_p_wxEvtHandler},{"_p_wxProgressDialog", _p_wxProgressDialogTo_p_wxEvtHandler},{"_p_wxPanel", _p_wxPanelTo_p_wxEvtHandler},{"_p_wxStatusBar", _p_wxStatusBarTo_p_wxEvtHandler},{"_p_wxTipWindow", _p_wxTipWindowTo_p_wxEvtHandler},{"_p_wxPyPopupTransientWindow", _p_wxPyPopupTransientWindowTo_p_wxEvtHandler},{"_p_wxPopupWindow", _p_wxPopupWindowTo_p_wxEvtHandler},{"_p_wxSashLayoutWindow", _p_wxSashLayoutWindowTo_p_wxEvtHandler},{"_p_wxSplashScreenWindow", _p_wxSplashScreenWindowTo_p_wxEvtHandler},{"_p_wxSplitterWindow", _p_wxSplitterWindowTo_p_wxEvtHandler},{"_p_wxSashWindow", _p_wxSashWindowTo_p_wxEvtHandler},{"_p_wxWindow", _p_wxWindowTo_p_wxEvtHandler},{"_p_wxTopLevelWindow", _p_wxTopLevelWindowTo_p_wxEvtHandler},{"_p_wxMDIClientWindow", _p_wxMDIClientWindowTo_p_wxEvtHandler},{"_p_wxPyVScrolledWindow", _p_wxPyVScrolledWindowTo_p_wxEvtHandler},{"_p_wxScrolledWindow", _p_wxScrolledWindowTo_p_wxEvtHandler},{"_p_wxPyPreviewFrame", _p_wxPyPreviewFrameTo_p_wxEvtHandler},{"_p_wxPreviewFrame", _p_wxPreviewFrameTo_p_wxEvtHandler},{"_p_wxControl", _p_wxControlTo_p_wxEvtHandler},{"_p_wxMDIChildFrame", _p_wxMDIChildFrameTo_p_wxEvtHandler},{"_p_wxPyApp", _p_wxPyAppTo_p_wxEvtHandler},{"_p_wxControlWithItems", _p_wxControlWithItemsTo_p_wxEvtHandler},{"_p_wxEvtHandler"},{"_p_wxPyShapeCanvas", _p_wxPyShapeCanvasTo_p_wxEvtHandler},{"_p_wxPreviewCanvas", _p_wxPreviewCanvasTo_p_wxEvtHandler},{"_p_wxPyWindow", _p_wxPyWindowTo_p_wxEvtHandler},{"_p_wxPyHtmlListBox", _p_wxPyHtmlListBoxTo_p_wxEvtHandler},{"_p_wxPyVListBox", _p_wxPyVListBoxTo_p_wxEvtHandler},{"_p_wxPyPreviewControlBar", _p_wxPyPreviewControlBarTo_p_wxEvtHandler},{"_p_wxPreviewControlBar", _p_wxPreviewControlBarTo_p_wxEvtHandler},{"_p_wxTaskBarIcon", _p_wxTaskBarIconTo_p_wxEvtHandler},{"_p_wxFrame", _p_wxFrameTo_p_wxEvtHandler},{"_p_wxFontDialog", _p_wxFontDialogTo_p_wxEvtHandler},{"_p_wxDirDialog", _p_wxDirDialogTo_p_wxEvtHandler},{"_p_wxColourDialog", _p_wxColourDialogTo_p_wxEvtHandler},{"_p_wxDialog", _p_wxDialogTo_p_wxEvtHandler},{"_p_wxPageSetupDialog", _p_wxPageSetupDialogTo_p_wxEvtHandler},{"_p_wxPrintDialog", _p_wxPrintDialogTo_p_wxEvtHandler},{"_p_wxMenu", _p_wxMenuTo_p_wxEvtHandler},{"_p_wxMDIParentFrame", _p_wxMDIParentFrameTo_p_wxEvtHandler},{0}};
+static swig_type_info _swigt__p_wxPyEllipseShape[] = {{"_p_wxPyEllipseShape", 0, "wxPyEllipseShape *", 0},{"_p_wxPyCircleShape", _p_wxPyCircleShapeTo_p_wxPyEllipseShape},{"_p_wxPyEllipseShape"},{0}};
+static swig_type_info _swigt__p_wxPyShapeCanvas[] = {{"_p_wxPyShapeCanvas", 0, "wxPyShapeCanvas *", 0},{"_p_wxPyShapeCanvas"},{0}};
+static swig_type_info _swigt__p_wxPoint[] = {{"_p_wxPoint", 0, "wxPoint *", 0},{"_p_wxPoint"},{0}};
+static swig_type_info _swigt__p_wxDiagram[] = {{"_p_wxDiagram", 0, "wxDiagram *", 0},{"_p_wxDiagram"},{0}};
+static swig_type_info _swigt__p_wxPyShape[] = {{"_p_wxPyShape", 0, "wxPyShape *", 0},{"_p_wxPyRectangleShape", _p_wxPyRectangleShapeTo_p_wxPyShape},{"_p_wxPyBitmapShape", _p_wxPyBitmapShapeTo_p_wxPyShape},{"_p_wxPyCompositeShape", _p_wxPyCompositeShapeTo_p_wxPyShape},{"_p_wxPyCircleShape", _p_wxPyCircleShapeTo_p_wxPyShape},{"_p_wxPyLineShape", _p_wxPyLineShapeTo_p_wxPyShape},{"_p_wxPyTextShape", _p_wxPyTextShapeTo_p_wxPyShape},{"_p_wxPyDivisionShape", _p_wxPyDivisionShapeTo_p_wxPyShape},{"_p_wxPyControlPoint", _p_wxPyControlPointTo_p_wxPyShape},{"_p_wxPyDrawnShape", _p_wxPyDrawnShapeTo_p_wxPyShape},{"_p_wxPyPolygonShape", _p_wxPyPolygonShapeTo_p_wxPyShape},{"_p_wxPyDividedShape", _p_wxPyDividedShapeTo_p_wxPyShape},{"_p_wxPyShape"},{"_p_wxPyEllipseShape", _p_wxPyEllipseShapeTo_p_wxPyShape},{0}};
+static swig_type_info _swigt__p_wxClassInfo[] = {{"_p_wxClassInfo", 0, "wxClassInfo *", 0},{"_p_wxClassInfo"},{0}};
+static swig_type_info _swigt__p_wxPyLineShape[] = {{"_p_wxPyLineShape", 0, "wxPyLineShape *", 0},{"_p_wxPyLineShape"},{0}};
+static swig_type_info _swigt__p_wxPyRectangleShape[] = {{"_p_wxPyRectangleShape", 0, "wxPyRectangleShape *", 0},{"_p_wxPyRectangleShape"},{"_p_wxPyBitmapShape", _p_wxPyBitmapShapeTo_p_wxPyRectangleShape},{"_p_wxPyCompositeShape", _p_wxPyCompositeShapeTo_p_wxPyRectangleShape},{"_p_wxPyTextShape", _p_wxPyTextShapeTo_p_wxPyRectangleShape},{"_p_wxPyDivisionShape", _p_wxPyDivisionShapeTo_p_wxPyRectangleShape},{"_p_wxPyControlPoint", _p_wxPyControlPointTo_p_wxPyRectangleShape},{"_p_wxPyDrawnShape", _p_wxPyDrawnShapeTo_p_wxPyRectangleShape},{"_p_wxPyDividedShape", _p_wxPyDividedShapeTo_p_wxPyRectangleShape},{0}};
+static swig_type_info _swigt__p_wxPyCompositeShape[] = {{"_p_wxPyCompositeShape", 0, "wxPyCompositeShape *", 0},{"_p_wxPyCompositeShape"},{"_p_wxPyDivisionShape", _p_wxPyDivisionShapeTo_p_wxPyCompositeShape},{0}};
+static swig_type_info _swigt__p_wxPyCircleShape[] = {{"_p_wxPyCircleShape", 0, "wxPyCircleShape *", 0},{"_p_wxPyCircleShape"},{0}};
+static swig_type_info _swigt__p_wxPen[] = {{"_p_wxPen", 0, "wxPen *", 0},{"_p_wxPen"},{0}};
+static swig_type_info _swigt__p_int[] = {{"_p_int", 0, "int *", 0},{"_p_int"},{0}};
+static swig_type_info _swigt__p_wxPseudoMetaFile[] = {{"_p_wxPseudoMetaFile", 0, "wxPseudoMetaFile *", 0},{"_p_wxPseudoMetaFile"},{0}};
+static swig_type_info _swigt__p_wxPyTextShape[] = {{"_p_wxPyTextShape", 0, "wxPyTextShape *", 0},{"_p_wxPyTextShape"},{0}};
+static swig_type_info _swigt__p_wxPyDividedShape[] = {{"_p_wxPyDividedShape", 0, "wxPyDividedShape *", 0},{"_p_wxPyDividedShape"},{0}};
+
+static swig_type_info *swig_types_initial[] = {
+_swigt__p_wxOGLConstraint, 
+_swigt__p_wxBrush, 
+_swigt__p_wxColour, 
+_swigt__p_wxShapeRegion, 
+_swigt__p_wxDC, 
+_swigt__p_wxRealPoint, 
+_swigt__p_wxPyControlPoint, 
+_swigt__p_wxArrowHead, 
+_swigt__p_wxStringList, 
+_swigt__p_wxPanel, 
+_swigt__p_bool, 
+_swigt__p_wxList, 
+_swigt__p_wxFont, 
+_swigt__p_wxScrolledWindow, 
+_swigt__p_wxWindow, 
+_swigt__p_double, 
+_swigt__p_wxPyDivisionShape, 
+_swigt__p_wxPyDrawnShape, 
+_swigt__p_wxPyPolygonShape, 
+_swigt__p_wxBitmap, 
+_swigt__p_wxObject, 
+_swigt__p_wxPyBitmapShape, 
+_swigt__p_wxString, 
+_swigt__p_wxPyShapeEvtHandler, 
+_swigt__p_wxEvtHandler, 
+_swigt__p_wxPyEllipseShape, 
+_swigt__p_wxPyShapeCanvas, 
+_swigt__p_wxPoint, 
+_swigt__p_wxDiagram, 
+_swigt__p_wxPyShape, 
+_swigt__p_wxClassInfo, 
+_swigt__p_wxPyLineShape, 
+_swigt__p_wxPyRectangleShape, 
+_swigt__p_wxPyCompositeShape, 
+_swigt__p_wxPyCircleShape, 
+_swigt__p_wxPen, 
+_swigt__p_int, 
+_swigt__p_wxPseudoMetaFile, 
+_swigt__p_wxPyTextShape, 
+_swigt__p_wxPyDividedShape, 
+0
+};
+
+
+/* -------- TYPE CONVERSION AND EQUIVALENCE RULES (END) -------- */
+
+static swig_const_info swig_const_table[] = {
+{ SWIG_PY_INT,     (char *)"oglMETAFLAGS_OUTLINE", (long) oglMETAFLAGS_OUTLINE, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"oglMETAFLAGS_ATTACHMENTS", (long) oglMETAFLAGS_ATTACHMENTS, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"KEY_SHIFT", (long) KEY_SHIFT, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"KEY_CTRL", (long) KEY_CTRL, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"ARROW_NONE", (long) ARROW_NONE, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"ARROW_END", (long) ARROW_END, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"ARROW_BOTH", (long) ARROW_BOTH, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"ARROW_MIDDLE", (long) ARROW_MIDDLE, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"ARROW_START", (long) ARROW_START, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"ARROW_HOLLOW_CIRCLE", (long) ARROW_HOLLOW_CIRCLE, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"ARROW_FILLED_CIRCLE", (long) ARROW_FILLED_CIRCLE, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"ARROW_ARROW", (long) ARROW_ARROW, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"ARROW_SINGLE_OBLIQUE", (long) ARROW_SINGLE_OBLIQUE, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"ARROW_DOUBLE_OBLIQUE", (long) ARROW_DOUBLE_OBLIQUE, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"ARROW_METAFILE", (long) ARROW_METAFILE, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"ARROW_POSITION_END", (long) ARROW_POSITION_END, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"ARROW_POSITION_START", (long) ARROW_POSITION_START, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"CONTROL_POINT_VERTICAL", (long) CONTROL_POINT_VERTICAL, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"CONTROL_POINT_HORIZONTAL", (long) CONTROL_POINT_HORIZONTAL, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"CONTROL_POINT_DIAGONAL", (long) CONTROL_POINT_DIAGONAL, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"CONTROL_POINT_ENDPOINT_TO", (long) CONTROL_POINT_ENDPOINT_TO, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"CONTROL_POINT_ENDPOINT_FROM", (long) CONTROL_POINT_ENDPOINT_FROM, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"CONTROL_POINT_LINE", (long) CONTROL_POINT_LINE, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"FORMAT_NONE", (long) FORMAT_NONE, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"FORMAT_CENTRE_HORIZ", (long) FORMAT_CENTRE_HORIZ, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"FORMAT_CENTRE_VERT", (long) FORMAT_CENTRE_VERT, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"FORMAT_SIZE_TO_CONTENTS", (long) FORMAT_SIZE_TO_CONTENTS, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"LINE_ALIGNMENT_HORIZ", (long) LINE_ALIGNMENT_HORIZ, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"LINE_ALIGNMENT_VERT", (long) LINE_ALIGNMENT_VERT, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"LINE_ALIGNMENT_TO_NEXT_HANDLE", (long) LINE_ALIGNMENT_TO_NEXT_HANDLE, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"LINE_ALIGNMENT_NONE", (long) LINE_ALIGNMENT_NONE, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"SHADOW_NONE", (long) SHADOW_NONE, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"SHADOW_LEFT", (long) SHADOW_LEFT, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"SHADOW_RIGHT", (long) SHADOW_RIGHT, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"OP_CLICK_LEFT", (long) OP_CLICK_LEFT, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"OP_CLICK_RIGHT", (long) OP_CLICK_RIGHT, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"OP_DRAG_LEFT", (long) OP_DRAG_LEFT, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"OP_DRAG_RIGHT", (long) OP_DRAG_RIGHT, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"OP_ALL", (long) OP_ALL, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"ATTACHMENT_MODE_NONE", (long) ATTACHMENT_MODE_NONE, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"ATTACHMENT_MODE_EDGE", (long) ATTACHMENT_MODE_EDGE, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"ATTACHMENT_MODE_BRANCHING", (long) ATTACHMENT_MODE_BRANCHING, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"BRANCHING_ATTACHMENT_NORMAL", (long) BRANCHING_ATTACHMENT_NORMAL, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"BRANCHING_ATTACHMENT_BLOB", (long) BRANCHING_ATTACHMENT_BLOB, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"gyCONSTRAINT_CENTRED_VERTICALLY", (long) gyCONSTRAINT_CENTRED_VERTICALLY, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"gyCONSTRAINT_CENTRED_HORIZONTALLY", (long) gyCONSTRAINT_CENTRED_HORIZONTALLY, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"gyCONSTRAINT_CENTRED_BOTH", (long) gyCONSTRAINT_CENTRED_BOTH, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"gyCONSTRAINT_LEFT_OF", (long) gyCONSTRAINT_LEFT_OF, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"gyCONSTRAINT_RIGHT_OF", (long) gyCONSTRAINT_RIGHT_OF, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"gyCONSTRAINT_ABOVE", (long) gyCONSTRAINT_ABOVE, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"gyCONSTRAINT_BELOW", (long) gyCONSTRAINT_BELOW, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"gyCONSTRAINT_ALIGNED_TOP", (long) gyCONSTRAINT_ALIGNED_TOP, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"gyCONSTRAINT_ALIGNED_BOTTOM", (long) gyCONSTRAINT_ALIGNED_BOTTOM, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"gyCONSTRAINT_ALIGNED_LEFT", (long) gyCONSTRAINT_ALIGNED_LEFT, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"gyCONSTRAINT_ALIGNED_RIGHT", (long) gyCONSTRAINT_ALIGNED_RIGHT, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"gyCONSTRAINT_MIDALIGNED_TOP", (long) gyCONSTRAINT_MIDALIGNED_TOP, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"gyCONSTRAINT_MIDALIGNED_BOTTOM", (long) gyCONSTRAINT_MIDALIGNED_BOTTOM, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"gyCONSTRAINT_MIDALIGNED_LEFT", (long) gyCONSTRAINT_MIDALIGNED_LEFT, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"gyCONSTRAINT_MIDALIGNED_RIGHT", (long) gyCONSTRAINT_MIDALIGNED_RIGHT, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"DIVISION_SIDE_NONE", (long) DIVISION_SIDE_NONE, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"DIVISION_SIDE_LEFT", (long) DIVISION_SIDE_LEFT, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"DIVISION_SIDE_TOP", (long) DIVISION_SIDE_TOP, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"DIVISION_SIDE_RIGHT", (long) DIVISION_SIDE_RIGHT, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"DIVISION_SIDE_BOTTOM", (long) DIVISION_SIDE_BOTTOM, 0, 0, 0},
+{0}};
+
+#ifdef __cplusplus
+}
+#endif
+
+#ifdef __cplusplus
+extern "C"
+#endif
+SWIGEXPORT(void) SWIG_init(void) {
+    static PyObject *SWIG_globals = 0; 
+    static int       typeinit = 0;
+    PyObject *m, *d;
+    int       i;
+    if (!SWIG_globals) SWIG_globals = SWIG_newvarlink();
+    m = Py_InitModule((char *) SWIG_name, SwigMethods);
+    d = PyModule_GetDict(m);
+    
+    if (!typeinit) {
+        for (i = 0; swig_types_initial[i]; i++) {
+            swig_types[i] = SWIG_TypeRegister(swig_types_initial[i]);
+        }
+        typeinit = 1;
+    }
+    SWIG_InstallConstants(d,swig_const_table);
+    
+    
+    
+    //     initoglbasicc();
+    //     initoglshapesc();
+    //     initoglshapes2c();
+    //     initoglcanvasc();
+    
+    
+    wxPyPtrTypeMap_Add("wxControlPoint", "wxPyControlPoint");
+    wxPyPtrTypeMap_Add("wxShapeCanvas", "wxPyShapeCanvas");
+    wxPyPtrTypeMap_Add("wxShapeEvtHandler", "wxPyShapeEvtHandler");
+    wxPyPtrTypeMap_Add("wxShape", "wxPyShape");
+    wxPyPtrTypeMap_Add("wxRectangleShape", "wxPyRectangleShape");
+    wxPyPtrTypeMap_Add("wxDrawnShape", "wxPyDrawnShape");
+    wxPyPtrTypeMap_Add("wxCompositeShape", "wxPyCompositeShape");
+    wxPyPtrTypeMap_Add("wxDividedShape", "wxPyDividedShape");
+    wxPyPtrTypeMap_Add("wxDivisionShape", "wxPyDivisionShape");
+    wxPyPtrTypeMap_Add("wxEllipseShape", "wxPyEllipseShape");
+    wxPyPtrTypeMap_Add("wxCircleShape", "wxPyCircleShape");
+    wxPyPtrTypeMap_Add("wxLineShape", "wxPyLineShape");
+    wxPyPtrTypeMap_Add("wxPolygonShape", "wxPyPolygonShape");
+    wxPyPtrTypeMap_Add("wxTextShape", "wxPyTextShape");
+    
+    
+}
+
diff --git a/wxPython/contrib/ogl/mac/ogl.py b/wxPython/contrib/ogl/mac/ogl.py
new file mode 100644 (file)
index 0000000..750f38a
--- /dev/null
@@ -0,0 +1,3828 @@
+# This file was created automatically by SWIG.
+# Don't modify this file, modify the SWIG interface instead.
+
+import _ogl
+
+import windows
+import core
+wx = core 
+#---------------------------------------------------------------------------
+
+class ShapeRegion(core.Object):
+    """"""
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxShapeRegion instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__() -> ShapeRegion"""
+        newobj = _ogl.new_ShapeRegion(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+    def SetText(*args, **kwargs):
+        """SetText(wxString s)"""
+        return _ogl.ShapeRegion_SetText(*args, **kwargs)
+
+    def SetFont(*args, **kwargs):
+        """SetFont(wxFont f)"""
+        return _ogl.ShapeRegion_SetFont(*args, **kwargs)
+
+    def SetMinSize(*args, **kwargs):
+        """SetMinSize(double w, double h)"""
+        return _ogl.ShapeRegion_SetMinSize(*args, **kwargs)
+
+    def SetSize(*args, **kwargs):
+        """SetSize(double w, double h)"""
+        return _ogl.ShapeRegion_SetSize(*args, **kwargs)
+
+    def SetPosition(*args, **kwargs):
+        """SetPosition(double x, double y)"""
+        return _ogl.ShapeRegion_SetPosition(*args, **kwargs)
+
+    def SetProportions(*args, **kwargs):
+        """SetProportions(double x, double y)"""
+        return _ogl.ShapeRegion_SetProportions(*args, **kwargs)
+
+    def SetFormatMode(*args, **kwargs):
+        """SetFormatMode(int mode)"""
+        return _ogl.ShapeRegion_SetFormatMode(*args, **kwargs)
+
+    def SetName(*args, **kwargs):
+        """SetName(wxString s)"""
+        return _ogl.ShapeRegion_SetName(*args, **kwargs)
+
+    def SetColour(*args, **kwargs):
+        """SetColour(wxString col)"""
+        return _ogl.ShapeRegion_SetColour(*args, **kwargs)
+
+    def GetText(*args, **kwargs):
+        """GetText() -> wxString"""
+        return _ogl.ShapeRegion_GetText(*args, **kwargs)
+
+    def GetFont(*args, **kwargs):
+        """GetFont() -> wxFont"""
+        return _ogl.ShapeRegion_GetFont(*args, **kwargs)
+
+    def GetMinSize(*args, **kwargs):
+        """GetMinSize(double OUTPUT, double OUTPUT)"""
+        return _ogl.ShapeRegion_GetMinSize(*args, **kwargs)
+
+    def GetProportion(*args, **kwargs):
+        """GetProportion(double OUTPUT, double OUTPUT)"""
+        return _ogl.ShapeRegion_GetProportion(*args, **kwargs)
+
+    def GetSize(*args, **kwargs):
+        """GetSize(double OUTPUT, double OUTPUT)"""
+        return _ogl.ShapeRegion_GetSize(*args, **kwargs)
+
+    def GetPosition(*args, **kwargs):
+        """GetPosition(double OUTPUT, double OUTPUT)"""
+        return _ogl.ShapeRegion_GetPosition(*args, **kwargs)
+
+    def GetFormatMode(*args, **kwargs):
+        """GetFormatMode() -> int"""
+        return _ogl.ShapeRegion_GetFormatMode(*args, **kwargs)
+
+    def GetName(*args, **kwargs):
+        """GetName() -> wxString"""
+        return _ogl.ShapeRegion_GetName(*args, **kwargs)
+
+    def GetColour(*args, **kwargs):
+        """GetColour() -> wxString"""
+        return _ogl.ShapeRegion_GetColour(*args, **kwargs)
+
+    def GetActualColourObject(*args, **kwargs):
+        """GetActualColourObject() -> wxColour"""
+        return _ogl.ShapeRegion_GetActualColourObject(*args, **kwargs)
+
+    def GetFormattedText(*args, **kwargs):
+        """GetFormattedText() -> wxList"""
+        return _ogl.ShapeRegion_GetFormattedText(*args, **kwargs)
+
+    def GetPenColour(*args, **kwargs):
+        """GetPenColour() -> wxString"""
+        return _ogl.ShapeRegion_GetPenColour(*args, **kwargs)
+
+    def GetPenStyle(*args, **kwargs):
+        """GetPenStyle() -> int"""
+        return _ogl.ShapeRegion_GetPenStyle(*args, **kwargs)
+
+    def SetPenStyle(*args, **kwargs):
+        """SetPenStyle(int style)"""
+        return _ogl.ShapeRegion_SetPenStyle(*args, **kwargs)
+
+    def SetPenColour(*args, **kwargs):
+        """SetPenColour(wxString col)"""
+        return _ogl.ShapeRegion_SetPenColour(*args, **kwargs)
+
+    def GetActualPen(*args, **kwargs):
+        """GetActualPen() -> wxPen"""
+        return _ogl.ShapeRegion_GetActualPen(*args, **kwargs)
+
+    def GetWidth(*args, **kwargs):
+        """GetWidth() -> double"""
+        return _ogl.ShapeRegion_GetWidth(*args, **kwargs)
+
+    def GetHeight(*args, **kwargs):
+        """GetHeight() -> double"""
+        return _ogl.ShapeRegion_GetHeight(*args, **kwargs)
+
+    def ClearText(*args, **kwargs):
+        """ClearText()"""
+        return _ogl.ShapeRegion_ClearText(*args, **kwargs)
+
+
+class ShapeRegionPtr(ShapeRegion):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = ShapeRegion
+_ogl.ShapeRegion_swigregister(ShapeRegionPtr)
+
+class PyShapeEvtHandler(core.Object):
+    """"""
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxPyShapeEvtHandler instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__(PyShapeEvtHandler prev=None, PyShape shape=None) -> PyShapeEvtHandler"""
+        newobj = _ogl.new_PyShapeEvtHandler(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+        self._setOORandCallbackInfo(PyShapeEvtHandler)
+
+    def _setCallbackInfo(*args, **kwargs):
+        """_setCallbackInfo(PyObject self, PyObject _class)"""
+        return _ogl.PyShapeEvtHandler__setCallbackInfo(*args, **kwargs)
+
+    def _setOORInfo(*args, **kwargs):
+        """_setOORInfo(PyObject _self)"""
+        return _ogl.PyShapeEvtHandler__setOORInfo(*args, **kwargs)
+
+    def _setOORandCallbackInfo(self, _class):
+        self._setOORInfo(self)
+        self._setCallbackInfo(self, _class)
+
+    def SetShape(*args, **kwargs):
+        """SetShape(PyShape sh)"""
+        return _ogl.PyShapeEvtHandler_SetShape(*args, **kwargs)
+
+    def GetShape(*args, **kwargs):
+        """GetShape() -> PyShape"""
+        return _ogl.PyShapeEvtHandler_GetShape(*args, **kwargs)
+
+    def SetPreviousHandler(*args, **kwargs):
+        """SetPreviousHandler(PyShapeEvtHandler handler)"""
+        return _ogl.PyShapeEvtHandler_SetPreviousHandler(*args, **kwargs)
+
+    def GetPreviousHandler(*args, **kwargs):
+        """GetPreviousHandler() -> PyShapeEvtHandler"""
+        return _ogl.PyShapeEvtHandler_GetPreviousHandler(*args, **kwargs)
+
+    def CreateNewCopy(*args, **kwargs):
+        """CreateNewCopy() -> PyShapeEvtHandler"""
+        return _ogl.PyShapeEvtHandler_CreateNewCopy(*args, **kwargs)
+
+    def base_OnDelete(*args, **kwargs):
+        """base_OnDelete()"""
+        return _ogl.PyShapeEvtHandler_base_OnDelete(*args, **kwargs)
+
+    def base_OnDraw(*args, **kwargs):
+        """base_OnDraw(wxDC dc)"""
+        return _ogl.PyShapeEvtHandler_base_OnDraw(*args, **kwargs)
+
+    def base_OnDrawContents(*args, **kwargs):
+        """base_OnDrawContents(wxDC dc)"""
+        return _ogl.PyShapeEvtHandler_base_OnDrawContents(*args, **kwargs)
+
+    def base_OnDrawBranches(*args, **kwargs):
+        """base_OnDrawBranches(wxDC dc, bool erase=False)"""
+        return _ogl.PyShapeEvtHandler_base_OnDrawBranches(*args, **kwargs)
+
+    def base_OnMoveLinks(*args, **kwargs):
+        """base_OnMoveLinks(wxDC dc)"""
+        return _ogl.PyShapeEvtHandler_base_OnMoveLinks(*args, **kwargs)
+
+    def base_OnErase(*args, **kwargs):
+        """base_OnErase(wxDC dc)"""
+        return _ogl.PyShapeEvtHandler_base_OnErase(*args, **kwargs)
+
+    def base_OnEraseContents(*args, **kwargs):
+        """base_OnEraseContents(wxDC dc)"""
+        return _ogl.PyShapeEvtHandler_base_OnEraseContents(*args, **kwargs)
+
+    def base_OnHighlight(*args, **kwargs):
+        """base_OnHighlight(wxDC dc)"""
+        return _ogl.PyShapeEvtHandler_base_OnHighlight(*args, **kwargs)
+
+    def base_OnLeftClick(*args, **kwargs):
+        """base_OnLeftClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyShapeEvtHandler_base_OnLeftClick(*args, **kwargs)
+
+    def base_OnLeftDoubleClick(*args, **kwargs):
+        """base_OnLeftDoubleClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyShapeEvtHandler_base_OnLeftDoubleClick(*args, **kwargs)
+
+    def base_OnRightClick(*args, **kwargs):
+        """base_OnRightClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyShapeEvtHandler_base_OnRightClick(*args, **kwargs)
+
+    def base_OnSize(*args, **kwargs):
+        """base_OnSize(double x, double y)"""
+        return _ogl.PyShapeEvtHandler_base_OnSize(*args, **kwargs)
+
+    def base_OnMovePre(*args, **kwargs):
+        """base_OnMovePre(wxDC dc, double x, double y, double old_x, double old_y, 
+    bool display=True) -> bool"""
+        return _ogl.PyShapeEvtHandler_base_OnMovePre(*args, **kwargs)
+
+    def base_OnMovePost(*args, **kwargs):
+        """base_OnMovePost(wxDC dc, double x, double y, double old_x, double old_y, 
+    bool display=True)"""
+        return _ogl.PyShapeEvtHandler_base_OnMovePost(*args, **kwargs)
+
+    def base_OnDragLeft(*args, **kwargs):
+        """base_OnDragLeft(bool draw, double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyShapeEvtHandler_base_OnDragLeft(*args, **kwargs)
+
+    def base_OnBeginDragLeft(*args, **kwargs):
+        """base_OnBeginDragLeft(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyShapeEvtHandler_base_OnBeginDragLeft(*args, **kwargs)
+
+    def base_OnEndDragLeft(*args, **kwargs):
+        """base_OnEndDragLeft(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyShapeEvtHandler_base_OnEndDragLeft(*args, **kwargs)
+
+    def base_OnDragRight(*args, **kwargs):
+        """base_OnDragRight(bool draw, double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyShapeEvtHandler_base_OnDragRight(*args, **kwargs)
+
+    def base_OnBeginDragRight(*args, **kwargs):
+        """base_OnBeginDragRight(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyShapeEvtHandler_base_OnBeginDragRight(*args, **kwargs)
+
+    def base_OnEndDragRight(*args, **kwargs):
+        """base_OnEndDragRight(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyShapeEvtHandler_base_OnEndDragRight(*args, **kwargs)
+
+    def base_OnDrawOutline(*args, **kwargs):
+        """base_OnDrawOutline(wxDC dc, double x, double y, double w, double h)"""
+        return _ogl.PyShapeEvtHandler_base_OnDrawOutline(*args, **kwargs)
+
+    def base_OnDrawControlPoints(*args, **kwargs):
+        """base_OnDrawControlPoints(wxDC dc)"""
+        return _ogl.PyShapeEvtHandler_base_OnDrawControlPoints(*args, **kwargs)
+
+    def base_OnEraseControlPoints(*args, **kwargs):
+        """base_OnEraseControlPoints(wxDC dc)"""
+        return _ogl.PyShapeEvtHandler_base_OnEraseControlPoints(*args, **kwargs)
+
+    def base_OnMoveLink(*args, **kwargs):
+        """base_OnMoveLink(wxDC dc, bool moveControlPoints=True)"""
+        return _ogl.PyShapeEvtHandler_base_OnMoveLink(*args, **kwargs)
+
+    def base_OnSizingDragLeft(*args, **kwargs):
+        """base_OnSizingDragLeft(PyControlPoint pt, bool draw, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyShapeEvtHandler_base_OnSizingDragLeft(*args, **kwargs)
+
+    def base_OnSizingBeginDragLeft(*args, **kwargs):
+        """base_OnSizingBeginDragLeft(PyControlPoint pt, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyShapeEvtHandler_base_OnSizingBeginDragLeft(*args, **kwargs)
+
+    def base_OnSizingEndDragLeft(*args, **kwargs):
+        """base_OnSizingEndDragLeft(PyControlPoint pt, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyShapeEvtHandler_base_OnSizingEndDragLeft(*args, **kwargs)
+
+    def base_OnBeginSize(*args, **kwargs):
+        """base_OnBeginSize(double w, double h)"""
+        return _ogl.PyShapeEvtHandler_base_OnBeginSize(*args, **kwargs)
+
+    def base_OnEndSize(*args, **kwargs):
+        """base_OnEndSize(double w, double h)"""
+        return _ogl.PyShapeEvtHandler_base_OnEndSize(*args, **kwargs)
+
+
+class PyShapeEvtHandlerPtr(PyShapeEvtHandler):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = PyShapeEvtHandler
+_ogl.PyShapeEvtHandler_swigregister(PyShapeEvtHandlerPtr)
+
+class PyShape(PyShapeEvtHandler):
+    """"""
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxPyShape instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__(PyShapeCanvas can=None) -> PyShape"""
+        newobj = _ogl.new_PyShape(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+        self._setOORandCallbackInfo(PyShapeEvtHandler)
+
+    def _setCallbackInfo(*args, **kwargs):
+        """_setCallbackInfo(PyObject self, PyObject _class)"""
+        return _ogl.PyShape__setCallbackInfo(*args, **kwargs)
+
+    def GetBoundingBoxMax(*args, **kwargs):
+        """GetBoundingBoxMax(double OUTPUT, double OUTPUT)"""
+        return _ogl.PyShape_GetBoundingBoxMax(*args, **kwargs)
+
+    def GetBoundingBoxMin(*args, **kwargs):
+        """GetBoundingBoxMin(double OUTPUT, double OUTPUT)"""
+        return _ogl.PyShape_GetBoundingBoxMin(*args, **kwargs)
+
+    def GetPerimeterPoint(*args, **kwargs):
+        """GetPerimeterPoint(double x1, double y1, double x2, double y2, double OUTPUT, 
+    double OUTPUT) -> bool"""
+        return _ogl.PyShape_GetPerimeterPoint(*args, **kwargs)
+
+    def GetCanvas(*args, **kwargs):
+        """GetCanvas() -> PyShapeCanvas"""
+        return _ogl.PyShape_GetCanvas(*args, **kwargs)
+
+    def SetCanvas(*args, **kwargs):
+        """SetCanvas(PyShapeCanvas the_canvas)"""
+        return _ogl.PyShape_SetCanvas(*args, **kwargs)
+
+    def AddToCanvas(*args, **kwargs):
+        """AddToCanvas(PyShapeCanvas the_canvas, PyShape addAfter=None)"""
+        return _ogl.PyShape_AddToCanvas(*args, **kwargs)
+
+    def InsertInCanvas(*args, **kwargs):
+        """InsertInCanvas(PyShapeCanvas the_canvas)"""
+        return _ogl.PyShape_InsertInCanvas(*args, **kwargs)
+
+    def RemoveFromCanvas(*args, **kwargs):
+        """RemoveFromCanvas(PyShapeCanvas the_canvas)"""
+        return _ogl.PyShape_RemoveFromCanvas(*args, **kwargs)
+
+    def GetX(*args, **kwargs):
+        """GetX() -> double"""
+        return _ogl.PyShape_GetX(*args, **kwargs)
+
+    def GetY(*args, **kwargs):
+        """GetY() -> double"""
+        return _ogl.PyShape_GetY(*args, **kwargs)
+
+    def SetX(*args, **kwargs):
+        """SetX(double x)"""
+        return _ogl.PyShape_SetX(*args, **kwargs)
+
+    def SetY(*args, **kwargs):
+        """SetY(double y)"""
+        return _ogl.PyShape_SetY(*args, **kwargs)
+
+    def GetParent(*args, **kwargs):
+        """GetParent() -> PyShape"""
+        return _ogl.PyShape_GetParent(*args, **kwargs)
+
+    def SetParent(*args, **kwargs):
+        """SetParent(PyShape p)"""
+        return _ogl.PyShape_SetParent(*args, **kwargs)
+
+    def GetTopAncestor(*args, **kwargs):
+        """GetTopAncestor() -> PyShape"""
+        return _ogl.PyShape_GetTopAncestor(*args, **kwargs)
+
+    def GetChildren(*args, **kwargs):
+        """GetChildren() -> PyObject"""
+        return _ogl.PyShape_GetChildren(*args, **kwargs)
+
+    def Unlink(*args, **kwargs):
+        """Unlink()"""
+        return _ogl.PyShape_Unlink(*args, **kwargs)
+
+    def SetDrawHandles(*args, **kwargs):
+        """SetDrawHandles(bool drawH)"""
+        return _ogl.PyShape_SetDrawHandles(*args, **kwargs)
+
+    def GetDrawHandles(*args, **kwargs):
+        """GetDrawHandles() -> bool"""
+        return _ogl.PyShape_GetDrawHandles(*args, **kwargs)
+
+    def MakeControlPoints(*args, **kwargs):
+        """MakeControlPoints()"""
+        return _ogl.PyShape_MakeControlPoints(*args, **kwargs)
+
+    def DeleteControlPoints(*args, **kwargs):
+        """DeleteControlPoints(wxDC dc=None)"""
+        return _ogl.PyShape_DeleteControlPoints(*args, **kwargs)
+
+    def ResetControlPoints(*args, **kwargs):
+        """ResetControlPoints()"""
+        return _ogl.PyShape_ResetControlPoints(*args, **kwargs)
+
+    def GetEventHandler(*args, **kwargs):
+        """GetEventHandler() -> PyShapeEvtHandler"""
+        return _ogl.PyShape_GetEventHandler(*args, **kwargs)
+
+    def SetEventHandler(*args, **kwargs):
+        """SetEventHandler(PyShapeEvtHandler handler)"""
+        return _ogl.PyShape_SetEventHandler(*args, **kwargs)
+
+    def MakeMandatoryControlPoints(*args, **kwargs):
+        """MakeMandatoryControlPoints()"""
+        return _ogl.PyShape_MakeMandatoryControlPoints(*args, **kwargs)
+
+    def ResetMandatoryControlPoints(*args, **kwargs):
+        """ResetMandatoryControlPoints()"""
+        return _ogl.PyShape_ResetMandatoryControlPoints(*args, **kwargs)
+
+    def Recompute(*args, **kwargs):
+        """Recompute() -> bool"""
+        return _ogl.PyShape_Recompute(*args, **kwargs)
+
+    def CalculateSize(*args, **kwargs):
+        """CalculateSize()"""
+        return _ogl.PyShape_CalculateSize(*args, **kwargs)
+
+    def Select(*args, **kwargs):
+        """Select(bool select=True, wxDC dc=None)"""
+        return _ogl.PyShape_Select(*args, **kwargs)
+
+    def SetHighlight(*args, **kwargs):
+        """SetHighlight(bool hi=True, bool recurse=False)"""
+        return _ogl.PyShape_SetHighlight(*args, **kwargs)
+
+    def IsHighlighted(*args, **kwargs):
+        """IsHighlighted() -> bool"""
+        return _ogl.PyShape_IsHighlighted(*args, **kwargs)
+
+    def Selected(*args, **kwargs):
+        """Selected() -> bool"""
+        return _ogl.PyShape_Selected(*args, **kwargs)
+
+    def AncestorSelected(*args, **kwargs):
+        """AncestorSelected() -> bool"""
+        return _ogl.PyShape_AncestorSelected(*args, **kwargs)
+
+    def SetSensitivityFilter(*args, **kwargs):
+        """SetSensitivityFilter(int sens=OP_ALL, bool recursive=False)"""
+        return _ogl.PyShape_SetSensitivityFilter(*args, **kwargs)
+
+    def GetSensitivityFilter(*args, **kwargs):
+        """GetSensitivityFilter() -> int"""
+        return _ogl.PyShape_GetSensitivityFilter(*args, **kwargs)
+
+    def SetDraggable(*args, **kwargs):
+        """SetDraggable(bool drag, bool recursive=False)"""
+        return _ogl.PyShape_SetDraggable(*args, **kwargs)
+
+    def SetFixedSize(*args, **kwargs):
+        """SetFixedSize(bool x, bool y)"""
+        return _ogl.PyShape_SetFixedSize(*args, **kwargs)
+
+    def GetFixedSize(*args, **kwargs):
+        """GetFixedSize(bool OUTPUT, bool OUTPUT)"""
+        return _ogl.PyShape_GetFixedSize(*args, **kwargs)
+
+    def GetFixedWidth(*args, **kwargs):
+        """GetFixedWidth() -> bool"""
+        return _ogl.PyShape_GetFixedWidth(*args, **kwargs)
+
+    def GetFixedHeight(*args, **kwargs):
+        """GetFixedHeight() -> bool"""
+        return _ogl.PyShape_GetFixedHeight(*args, **kwargs)
+
+    def SetSpaceAttachments(*args, **kwargs):
+        """SetSpaceAttachments(bool sp)"""
+        return _ogl.PyShape_SetSpaceAttachments(*args, **kwargs)
+
+    def GetSpaceAttachments(*args, **kwargs):
+        """GetSpaceAttachments() -> bool"""
+        return _ogl.PyShape_GetSpaceAttachments(*args, **kwargs)
+
+    def SetShadowMode(*args, **kwargs):
+        """SetShadowMode(int mode, bool redraw=False)"""
+        return _ogl.PyShape_SetShadowMode(*args, **kwargs)
+
+    def GetShadowMode(*args, **kwargs):
+        """GetShadowMode() -> int"""
+        return _ogl.PyShape_GetShadowMode(*args, **kwargs)
+
+    def HitTest(*args, **kwargs):
+        """HitTest(double x, double y, int OUTPUT, double OUTPUT) -> bool"""
+        return _ogl.PyShape_HitTest(*args, **kwargs)
+
+    def SetCentreResize(*args, **kwargs):
+        """SetCentreResize(bool cr)"""
+        return _ogl.PyShape_SetCentreResize(*args, **kwargs)
+
+    def GetCentreResize(*args, **kwargs):
+        """GetCentreResize() -> bool"""
+        return _ogl.PyShape_GetCentreResize(*args, **kwargs)
+
+    def SetMaintainAspectRatio(*args, **kwargs):
+        """SetMaintainAspectRatio(bool ar)"""
+        return _ogl.PyShape_SetMaintainAspectRatio(*args, **kwargs)
+
+    def GetMaintainAspectRatio(*args, **kwargs):
+        """GetMaintainAspectRatio() -> bool"""
+        return _ogl.PyShape_GetMaintainAspectRatio(*args, **kwargs)
+
+    def GetLines(*args, **kwargs):
+        """GetLines() -> PyObject"""
+        return _ogl.PyShape_GetLines(*args, **kwargs)
+
+    def SetDisableLabel(*args, **kwargs):
+        """SetDisableLabel(bool flag)"""
+        return _ogl.PyShape_SetDisableLabel(*args, **kwargs)
+
+    def GetDisableLabel(*args, **kwargs):
+        """GetDisableLabel() -> bool"""
+        return _ogl.PyShape_GetDisableLabel(*args, **kwargs)
+
+    def SetAttachmentMode(*args, **kwargs):
+        """SetAttachmentMode(int mode)"""
+        return _ogl.PyShape_SetAttachmentMode(*args, **kwargs)
+
+    def GetAttachmentMode(*args, **kwargs):
+        """GetAttachmentMode() -> int"""
+        return _ogl.PyShape_GetAttachmentMode(*args, **kwargs)
+
+    def SetId(*args, **kwargs):
+        """SetId(long i)"""
+        return _ogl.PyShape_SetId(*args, **kwargs)
+
+    def GetId(*args, **kwargs):
+        """GetId() -> long"""
+        return _ogl.PyShape_GetId(*args, **kwargs)
+
+    def SetPen(*args, **kwargs):
+        """SetPen(wxPen pen)"""
+        return _ogl.PyShape_SetPen(*args, **kwargs)
+
+    def SetBrush(*args, **kwargs):
+        """SetBrush(wxBrush brush)"""
+        return _ogl.PyShape_SetBrush(*args, **kwargs)
+
+    def SetClientData(self, data):
+        self.clientData = data
+    def GetClientData(self):
+        if hasattr(self, 'clientData'):
+            return self.clientData
+        else:
+            return None
+
+    def Show(*args, **kwargs):
+        """Show(bool show)"""
+        return _ogl.PyShape_Show(*args, **kwargs)
+
+    def IsShown(*args, **kwargs):
+        """IsShown() -> bool"""
+        return _ogl.PyShape_IsShown(*args, **kwargs)
+
+    def Move(*args, **kwargs):
+        """Move(wxDC dc, double x1, double y1, bool display=True)"""
+        return _ogl.PyShape_Move(*args, **kwargs)
+
+    def Erase(*args, **kwargs):
+        """Erase(wxDC dc)"""
+        return _ogl.PyShape_Erase(*args, **kwargs)
+
+    def EraseContents(*args, **kwargs):
+        """EraseContents(wxDC dc)"""
+        return _ogl.PyShape_EraseContents(*args, **kwargs)
+
+    def Draw(*args, **kwargs):
+        """Draw(wxDC dc)"""
+        return _ogl.PyShape_Draw(*args, **kwargs)
+
+    def Flash(*args, **kwargs):
+        """Flash()"""
+        return _ogl.PyShape_Flash(*args, **kwargs)
+
+    def MoveLinks(*args, **kwargs):
+        """MoveLinks(wxDC dc)"""
+        return _ogl.PyShape_MoveLinks(*args, **kwargs)
+
+    def DrawContents(*args, **kwargs):
+        """DrawContents(wxDC dc)"""
+        return _ogl.PyShape_DrawContents(*args, **kwargs)
+
+    def SetSize(*args, **kwargs):
+        """SetSize(double x, double y, bool recursive=True)"""
+        return _ogl.PyShape_SetSize(*args, **kwargs)
+
+    def SetAttachmentSize(*args, **kwargs):
+        """SetAttachmentSize(double x, double y)"""
+        return _ogl.PyShape_SetAttachmentSize(*args, **kwargs)
+
+    def Attach(*args, **kwargs):
+        """Attach(PyShapeCanvas can)"""
+        return _ogl.PyShape_Attach(*args, **kwargs)
+
+    def Detach(*args, **kwargs):
+        """Detach()"""
+        return _ogl.PyShape_Detach(*args, **kwargs)
+
+    def Constrain(*args, **kwargs):
+        """Constrain() -> bool"""
+        return _ogl.PyShape_Constrain(*args, **kwargs)
+
+    def AddLine(*args, **kwargs):
+        """AddLine(PyLineShape line, PyShape other, int attachFrom=0, 
+    int attachTo=0, int positionFrom=-1, int positionTo=-1)"""
+        return _ogl.PyShape_AddLine(*args, **kwargs)
+
+    def GetLinePosition(*args, **kwargs):
+        """GetLinePosition(PyLineShape line) -> int"""
+        return _ogl.PyShape_GetLinePosition(*args, **kwargs)
+
+    def AddText(*args, **kwargs):
+        """AddText(wxString string)"""
+        return _ogl.PyShape_AddText(*args, **kwargs)
+
+    def GetPen(*args, **kwargs):
+        """GetPen() -> wxPen"""
+        return _ogl.PyShape_GetPen(*args, **kwargs)
+
+    def GetBrush(*args, **kwargs):
+        """GetBrush() -> wxBrush"""
+        return _ogl.PyShape_GetBrush(*args, **kwargs)
+
+    def SetDefaultRegionSize(*args, **kwargs):
+        """SetDefaultRegionSize()"""
+        return _ogl.PyShape_SetDefaultRegionSize(*args, **kwargs)
+
+    def FormatText(*args, **kwargs):
+        """FormatText(wxDC dc, wxString s, int regionId=0)"""
+        return _ogl.PyShape_FormatText(*args, **kwargs)
+
+    def SetFormatMode(*args, **kwargs):
+        """SetFormatMode(int mode, int regionId=0)"""
+        return _ogl.PyShape_SetFormatMode(*args, **kwargs)
+
+    def GetFormatMode(*args, **kwargs):
+        """GetFormatMode(int regionId=0) -> int"""
+        return _ogl.PyShape_GetFormatMode(*args, **kwargs)
+
+    def SetFont(*args, **kwargs):
+        """SetFont(wxFont font, int regionId=0)"""
+        return _ogl.PyShape_SetFont(*args, **kwargs)
+
+    def GetFont(*args, **kwargs):
+        """GetFont(int regionId=0) -> wxFont"""
+        return _ogl.PyShape_GetFont(*args, **kwargs)
+
+    def SetTextColour(*args, **kwargs):
+        """SetTextColour(wxString colour, int regionId=0)"""
+        return _ogl.PyShape_SetTextColour(*args, **kwargs)
+
+    def GetTextColour(*args, **kwargs):
+        """GetTextColour(int regionId=0) -> wxString"""
+        return _ogl.PyShape_GetTextColour(*args, **kwargs)
+
+    def GetNumberOfTextRegions(*args, **kwargs):
+        """GetNumberOfTextRegions() -> int"""
+        return _ogl.PyShape_GetNumberOfTextRegions(*args, **kwargs)
+
+    def SetRegionName(*args, **kwargs):
+        """SetRegionName(wxString name, int regionId=0)"""
+        return _ogl.PyShape_SetRegionName(*args, **kwargs)
+
+    def GetRegionName(*args, **kwargs):
+        """GetRegionName(int regionId) -> wxString"""
+        return _ogl.PyShape_GetRegionName(*args, **kwargs)
+
+    def GetRegionId(*args, **kwargs):
+        """GetRegionId(wxString name) -> int"""
+        return _ogl.PyShape_GetRegionId(*args, **kwargs)
+
+    def NameRegions(*args, **kwargs):
+        """NameRegions(wxString parentName="")"""
+        return _ogl.PyShape_NameRegions(*args, **kwargs)
+
+    def GetRegions(*args, **kwargs):
+        """GetRegions() -> PyObject"""
+        return _ogl.PyShape_GetRegions(*args, **kwargs)
+
+    def AddRegion(*args, **kwargs):
+        """AddRegion(ShapeRegion region)"""
+        return _ogl.PyShape_AddRegion(*args, **kwargs)
+
+    def ClearRegions(*args, **kwargs):
+        """ClearRegions()"""
+        return _ogl.PyShape_ClearRegions(*args, **kwargs)
+
+    def AssignNewIds(*args, **kwargs):
+        """AssignNewIds()"""
+        return _ogl.PyShape_AssignNewIds(*args, **kwargs)
+
+    def FindRegion(*args, **kwargs):
+        """FindRegion(wxString regionName, int OUTPUT) -> PyShape"""
+        return _ogl.PyShape_FindRegion(*args, **kwargs)
+
+    def FindRegionNames(*args, **kwargs):
+        """FindRegionNames(wxStringList list)"""
+        return _ogl.PyShape_FindRegionNames(*args, **kwargs)
+
+    def ClearText(*args, **kwargs):
+        """ClearText(int regionId=0)"""
+        return _ogl.PyShape_ClearText(*args, **kwargs)
+
+    def RemoveLine(*args, **kwargs):
+        """RemoveLine(PyLineShape line)"""
+        return _ogl.PyShape_RemoveLine(*args, **kwargs)
+
+    def GetAttachmentPosition(*args, **kwargs):
+        """GetAttachmentPosition(int attachment, double OUTPUT, double OUTPUT, int nth=0, 
+    int no_arcs=1, PyLineShape line=None) -> bool"""
+        return _ogl.PyShape_GetAttachmentPosition(*args, **kwargs)
+
+    def GetNumberOfAttachments(*args, **kwargs):
+        """GetNumberOfAttachments() -> int"""
+        return _ogl.PyShape_GetNumberOfAttachments(*args, **kwargs)
+
+    def AttachmentIsValid(*args, **kwargs):
+        """AttachmentIsValid(int attachment) -> bool"""
+        return _ogl.PyShape_AttachmentIsValid(*args, **kwargs)
+
+    def GetAttachmentPositionEdge(*args, **kwargs):
+        """GetAttachmentPositionEdge(int attachment, double OUTPUT, double OUTPUT, int nth=0, 
+    int no_arcs=1, PyLineShape line=None) -> bool"""
+        return _ogl.PyShape_GetAttachmentPositionEdge(*args, **kwargs)
+
+    def CalcSimpleAttachment(*args, **kwargs):
+        """CalcSimpleAttachment(RealPoint pt1, RealPoint pt2, int nth, int noArcs, 
+    PyLineShape line) -> RealPoint"""
+        return _ogl.PyShape_CalcSimpleAttachment(*args, **kwargs)
+
+    def AttachmentSortTest(*args, **kwargs):
+        """AttachmentSortTest(int attachmentPoint, RealPoint pt1, RealPoint pt2) -> bool"""
+        return _ogl.PyShape_AttachmentSortTest(*args, **kwargs)
+
+    def EraseLinks(*args, **kwargs):
+        """EraseLinks(wxDC dc, int attachment=-1, bool recurse=False)"""
+        return _ogl.PyShape_EraseLinks(*args, **kwargs)
+
+    def DrawLinks(*args, **kwargs):
+        """DrawLinks(wxDC dc, int attachment=-1, bool recurse=False)"""
+        return _ogl.PyShape_DrawLinks(*args, **kwargs)
+
+    def MoveLineToNewAttachment(*args, **kwargs):
+        """MoveLineToNewAttachment(wxDC dc, PyLineShape to_move, double x, double y) -> bool"""
+        return _ogl.PyShape_MoveLineToNewAttachment(*args, **kwargs)
+
+    def ApplyAttachmentOrdering(*args, **kwargs):
+        """ApplyAttachmentOrdering(PyObject linesToSort)"""
+        return _ogl.PyShape_ApplyAttachmentOrdering(*args, **kwargs)
+
+    def GetBranchingAttachmentRoot(*args, **kwargs):
+        """GetBranchingAttachmentRoot(int attachment) -> RealPoint"""
+        return _ogl.PyShape_GetBranchingAttachmentRoot(*args, **kwargs)
+
+    def GetBranchingAttachmentInfo(*args, **kwargs):
+        """GetBranchingAttachmentInfo(int attachment, RealPoint root, RealPoint neck, RealPoint shoulder1, 
+    RealPoint shoulder2) -> bool"""
+        return _ogl.PyShape_GetBranchingAttachmentInfo(*args, **kwargs)
+
+    def GetBranchingAttachmentPoint(*args, **kwargs):
+        """GetBranchingAttachmentPoint(int attachment, int n, RealPoint attachmentPoint, RealPoint stemPoint) -> bool"""
+        return _ogl.PyShape_GetBranchingAttachmentPoint(*args, **kwargs)
+
+    def GetAttachmentLineCount(*args, **kwargs):
+        """GetAttachmentLineCount(int attachment) -> int"""
+        return _ogl.PyShape_GetAttachmentLineCount(*args, **kwargs)
+
+    def SetBranchNeckLength(*args, **kwargs):
+        """SetBranchNeckLength(int len)"""
+        return _ogl.PyShape_SetBranchNeckLength(*args, **kwargs)
+
+    def GetBranchNeckLength(*args, **kwargs):
+        """GetBranchNeckLength() -> int"""
+        return _ogl.PyShape_GetBranchNeckLength(*args, **kwargs)
+
+    def SetBranchStemLength(*args, **kwargs):
+        """SetBranchStemLength(int len)"""
+        return _ogl.PyShape_SetBranchStemLength(*args, **kwargs)
+
+    def GetBranchStemLength(*args, **kwargs):
+        """GetBranchStemLength() -> int"""
+        return _ogl.PyShape_GetBranchStemLength(*args, **kwargs)
+
+    def SetBranchSpacing(*args, **kwargs):
+        """SetBranchSpacing(int len)"""
+        return _ogl.PyShape_SetBranchSpacing(*args, **kwargs)
+
+    def GetBranchSpacing(*args, **kwargs):
+        """GetBranchSpacing() -> int"""
+        return _ogl.PyShape_GetBranchSpacing(*args, **kwargs)
+
+    def SetBranchStyle(*args, **kwargs):
+        """SetBranchStyle(long style)"""
+        return _ogl.PyShape_SetBranchStyle(*args, **kwargs)
+
+    def GetBranchStyle(*args, **kwargs):
+        """GetBranchStyle() -> long"""
+        return _ogl.PyShape_GetBranchStyle(*args, **kwargs)
+
+    def PhysicalToLogicalAttachment(*args, **kwargs):
+        """PhysicalToLogicalAttachment(int physicalAttachment) -> int"""
+        return _ogl.PyShape_PhysicalToLogicalAttachment(*args, **kwargs)
+
+    def LogicalToPhysicalAttachment(*args, **kwargs):
+        """LogicalToPhysicalAttachment(int logicalAttachment) -> int"""
+        return _ogl.PyShape_LogicalToPhysicalAttachment(*args, **kwargs)
+
+    def Draggable(*args, **kwargs):
+        """Draggable() -> bool"""
+        return _ogl.PyShape_Draggable(*args, **kwargs)
+
+    def HasDescendant(*args, **kwargs):
+        """HasDescendant(PyShape image) -> bool"""
+        return _ogl.PyShape_HasDescendant(*args, **kwargs)
+
+    def CreateNewCopy(*args, **kwargs):
+        """CreateNewCopy(bool resetMapping=True, bool recompute=True) -> PyShape"""
+        return _ogl.PyShape_CreateNewCopy(*args, **kwargs)
+
+    def Copy(*args, **kwargs):
+        """Copy(PyShape copy)"""
+        return _ogl.PyShape_Copy(*args, **kwargs)
+
+    def CopyWithHandler(*args, **kwargs):
+        """CopyWithHandler(PyShape copy)"""
+        return _ogl.PyShape_CopyWithHandler(*args, **kwargs)
+
+    def Rotate(*args, **kwargs):
+        """Rotate(double x, double y, double theta)"""
+        return _ogl.PyShape_Rotate(*args, **kwargs)
+
+    def GetRotation(*args, **kwargs):
+        """GetRotation() -> double"""
+        return _ogl.PyShape_GetRotation(*args, **kwargs)
+
+    def ClearAttachments(*args, **kwargs):
+        """ClearAttachments()"""
+        return _ogl.PyShape_ClearAttachments(*args, **kwargs)
+
+    def Recentre(*args, **kwargs):
+        """Recentre(wxDC dc)"""
+        return _ogl.PyShape_Recentre(*args, **kwargs)
+
+    def ClearPointList(*args, **kwargs):
+        """ClearPointList(wxList list)"""
+        return _ogl.PyShape_ClearPointList(*args, **kwargs)
+
+    def GetBackgroundPen(*args, **kwargs):
+        """GetBackgroundPen() -> wxPen"""
+        return _ogl.PyShape_GetBackgroundPen(*args, **kwargs)
+
+    def GetBackgroundBrush(*args, **kwargs):
+        """GetBackgroundBrush() -> wxBrush"""
+        return _ogl.PyShape_GetBackgroundBrush(*args, **kwargs)
+
+    def base_OnDelete(*args, **kwargs):
+        """base_OnDelete()"""
+        return _ogl.PyShape_base_OnDelete(*args, **kwargs)
+
+    def base_OnDraw(*args, **kwargs):
+        """base_OnDraw(wxDC dc)"""
+        return _ogl.PyShape_base_OnDraw(*args, **kwargs)
+
+    def base_OnDrawContents(*args, **kwargs):
+        """base_OnDrawContents(wxDC dc)"""
+        return _ogl.PyShape_base_OnDrawContents(*args, **kwargs)
+
+    def base_OnDrawBranches(*args, **kwargs):
+        """base_OnDrawBranches(wxDC dc, bool erase=False)"""
+        return _ogl.PyShape_base_OnDrawBranches(*args, **kwargs)
+
+    def base_OnMoveLinks(*args, **kwargs):
+        """base_OnMoveLinks(wxDC dc)"""
+        return _ogl.PyShape_base_OnMoveLinks(*args, **kwargs)
+
+    def base_OnErase(*args, **kwargs):
+        """base_OnErase(wxDC dc)"""
+        return _ogl.PyShape_base_OnErase(*args, **kwargs)
+
+    def base_OnEraseContents(*args, **kwargs):
+        """base_OnEraseContents(wxDC dc)"""
+        return _ogl.PyShape_base_OnEraseContents(*args, **kwargs)
+
+    def base_OnHighlight(*args, **kwargs):
+        """base_OnHighlight(wxDC dc)"""
+        return _ogl.PyShape_base_OnHighlight(*args, **kwargs)
+
+    def base_OnLeftClick(*args, **kwargs):
+        """base_OnLeftClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyShape_base_OnLeftClick(*args, **kwargs)
+
+    def base_OnLeftDoubleClick(*args, **kwargs):
+        """base_OnLeftDoubleClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyShape_base_OnLeftDoubleClick(*args, **kwargs)
+
+    def base_OnRightClick(*args, **kwargs):
+        """base_OnRightClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyShape_base_OnRightClick(*args, **kwargs)
+
+    def base_OnSize(*args, **kwargs):
+        """base_OnSize(double x, double y)"""
+        return _ogl.PyShape_base_OnSize(*args, **kwargs)
+
+    def base_OnMovePre(*args, **kwargs):
+        """base_OnMovePre(wxDC dc, double x, double y, double old_x, double old_y, 
+    bool display=True) -> bool"""
+        return _ogl.PyShape_base_OnMovePre(*args, **kwargs)
+
+    def base_OnMovePost(*args, **kwargs):
+        """base_OnMovePost(wxDC dc, double x, double y, double old_x, double old_y, 
+    bool display=True)"""
+        return _ogl.PyShape_base_OnMovePost(*args, **kwargs)
+
+    def base_OnDragLeft(*args, **kwargs):
+        """base_OnDragLeft(bool draw, double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyShape_base_OnDragLeft(*args, **kwargs)
+
+    def base_OnBeginDragLeft(*args, **kwargs):
+        """base_OnBeginDragLeft(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyShape_base_OnBeginDragLeft(*args, **kwargs)
+
+    def base_OnEndDragLeft(*args, **kwargs):
+        """base_OnEndDragLeft(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyShape_base_OnEndDragLeft(*args, **kwargs)
+
+    def base_OnDragRight(*args, **kwargs):
+        """base_OnDragRight(bool draw, double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyShape_base_OnDragRight(*args, **kwargs)
+
+    def base_OnBeginDragRight(*args, **kwargs):
+        """base_OnBeginDragRight(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyShape_base_OnBeginDragRight(*args, **kwargs)
+
+    def base_OnEndDragRight(*args, **kwargs):
+        """base_OnEndDragRight(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyShape_base_OnEndDragRight(*args, **kwargs)
+
+    def base_OnDrawOutline(*args, **kwargs):
+        """base_OnDrawOutline(wxDC dc, double x, double y, double w, double h)"""
+        return _ogl.PyShape_base_OnDrawOutline(*args, **kwargs)
+
+    def base_OnDrawControlPoints(*args, **kwargs):
+        """base_OnDrawControlPoints(wxDC dc)"""
+        return _ogl.PyShape_base_OnDrawControlPoints(*args, **kwargs)
+
+    def base_OnEraseControlPoints(*args, **kwargs):
+        """base_OnEraseControlPoints(wxDC dc)"""
+        return _ogl.PyShape_base_OnEraseControlPoints(*args, **kwargs)
+
+    def base_OnMoveLink(*args, **kwargs):
+        """base_OnMoveLink(wxDC dc, bool moveControlPoints=True)"""
+        return _ogl.PyShape_base_OnMoveLink(*args, **kwargs)
+
+    def base_OnSizingDragLeft(*args, **kwargs):
+        """base_OnSizingDragLeft(PyControlPoint pt, bool draw, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyShape_base_OnSizingDragLeft(*args, **kwargs)
+
+    def base_OnSizingBeginDragLeft(*args, **kwargs):
+        """base_OnSizingBeginDragLeft(PyControlPoint pt, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyShape_base_OnSizingBeginDragLeft(*args, **kwargs)
+
+    def base_OnSizingEndDragLeft(*args, **kwargs):
+        """base_OnSizingEndDragLeft(PyControlPoint pt, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyShape_base_OnSizingEndDragLeft(*args, **kwargs)
+
+    def base_OnBeginSize(*args, **kwargs):
+        """base_OnBeginSize(double w, double h)"""
+        return _ogl.PyShape_base_OnBeginSize(*args, **kwargs)
+
+    def base_OnEndSize(*args, **kwargs):
+        """base_OnEndSize(double w, double h)"""
+        return _ogl.PyShape_base_OnEndSize(*args, **kwargs)
+
+
+class PyShapePtr(PyShape):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = PyShape
+_ogl.PyShape_swigregister(PyShapePtr)
+
+oglMETAFLAGS_OUTLINE = _ogl.oglMETAFLAGS_OUTLINE
+oglMETAFLAGS_ATTACHMENTS = _ogl.oglMETAFLAGS_ATTACHMENTS
+class PseudoMetaFile(core.Object):
+    """"""
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxPseudoMetaFile instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__() -> PseudoMetaFile"""
+        newobj = _ogl.new_PseudoMetaFile(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+    def __del__(self, destroy=_ogl.delete_PseudoMetaFile):
+        """__del__()"""
+        try:
+            if self.thisown: destroy(self)
+        except: pass
+
+    def Draw(*args, **kwargs):
+        """Draw(wxDC dc, double xoffset, double yoffset)"""
+        return _ogl.PseudoMetaFile_Draw(*args, **kwargs)
+
+    def Clear(*args, **kwargs):
+        """Clear()"""
+        return _ogl.PseudoMetaFile_Clear(*args, **kwargs)
+
+    def Copy(*args, **kwargs):
+        """Copy(PseudoMetaFile copy)"""
+        return _ogl.PseudoMetaFile_Copy(*args, **kwargs)
+
+    def Scale(*args, **kwargs):
+        """Scale(double sx, double sy)"""
+        return _ogl.PseudoMetaFile_Scale(*args, **kwargs)
+
+    def ScaleTo(*args, **kwargs):
+        """ScaleTo(double w, double h)"""
+        return _ogl.PseudoMetaFile_ScaleTo(*args, **kwargs)
+
+    def Translate(*args, **kwargs):
+        """Translate(double x, double y)"""
+        return _ogl.PseudoMetaFile_Translate(*args, **kwargs)
+
+    def Rotate(*args, **kwargs):
+        """Rotate(double x, double y, double theta)"""
+        return _ogl.PseudoMetaFile_Rotate(*args, **kwargs)
+
+    def LoadFromMetaFile(*args, **kwargs):
+        """LoadFromMetaFile(wxString filename, double width, double height) -> bool"""
+        return _ogl.PseudoMetaFile_LoadFromMetaFile(*args, **kwargs)
+
+    def GetBounds(*args, **kwargs):
+        """GetBounds(double minX, double minY, double maxX, double maxY)"""
+        return _ogl.PseudoMetaFile_GetBounds(*args, **kwargs)
+
+    def CalculateSize(*args, **kwargs):
+        """CalculateSize(PyDrawnShape shape)"""
+        return _ogl.PseudoMetaFile_CalculateSize(*args, **kwargs)
+
+    def SetRotateable(*args, **kwargs):
+        """SetRotateable(bool rot)"""
+        return _ogl.PseudoMetaFile_SetRotateable(*args, **kwargs)
+
+    def GetRotateable(*args, **kwargs):
+        """GetRotateable() -> bool"""
+        return _ogl.PseudoMetaFile_GetRotateable(*args, **kwargs)
+
+    def SetSize(*args, **kwargs):
+        """SetSize(double w, double h)"""
+        return _ogl.PseudoMetaFile_SetSize(*args, **kwargs)
+
+    def SetFillBrush(*args, **kwargs):
+        """SetFillBrush(wxBrush brush)"""
+        return _ogl.PseudoMetaFile_SetFillBrush(*args, **kwargs)
+
+    def GetFillBrush(*args, **kwargs):
+        """GetFillBrush() -> wxBrush"""
+        return _ogl.PseudoMetaFile_GetFillBrush(*args, **kwargs)
+
+    def SetOutlinePen(*args, **kwargs):
+        """SetOutlinePen(wxPen pen)"""
+        return _ogl.PseudoMetaFile_SetOutlinePen(*args, **kwargs)
+
+    def GetOutlinePen(*args, **kwargs):
+        """GetOutlinePen() -> wxPen"""
+        return _ogl.PseudoMetaFile_GetOutlinePen(*args, **kwargs)
+
+    def SetOutlineOp(*args, **kwargs):
+        """SetOutlineOp(int op)"""
+        return _ogl.PseudoMetaFile_SetOutlineOp(*args, **kwargs)
+
+    def GetOutlineOp(*args, **kwargs):
+        """GetOutlineOp() -> int"""
+        return _ogl.PseudoMetaFile_GetOutlineOp(*args, **kwargs)
+
+    def IsValid(*args, **kwargs):
+        """IsValid() -> bool"""
+        return _ogl.PseudoMetaFile_IsValid(*args, **kwargs)
+
+    def DrawLine(*args, **kwargs):
+        """DrawLine(Point pt1, Point pt2)"""
+        return _ogl.PseudoMetaFile_DrawLine(*args, **kwargs)
+
+    def DrawRectangle(*args, **kwargs):
+        """DrawRectangle(Rect rect)"""
+        return _ogl.PseudoMetaFile_DrawRectangle(*args, **kwargs)
+
+    def DrawRoundedRectangle(*args, **kwargs):
+        """DrawRoundedRectangle(Rect rect, double radius)"""
+        return _ogl.PseudoMetaFile_DrawRoundedRectangle(*args, **kwargs)
+
+    def DrawArc(*args, **kwargs):
+        """DrawArc(Point centrePt, Point startPt, Point endPt)"""
+        return _ogl.PseudoMetaFile_DrawArc(*args, **kwargs)
+
+    def DrawEllipticArc(*args, **kwargs):
+        """DrawEllipticArc(Rect rect, double startAngle, double endAngle)"""
+        return _ogl.PseudoMetaFile_DrawEllipticArc(*args, **kwargs)
+
+    def DrawEllipse(*args, **kwargs):
+        """DrawEllipse(Rect rect)"""
+        return _ogl.PseudoMetaFile_DrawEllipse(*args, **kwargs)
+
+    def DrawPoint(*args, **kwargs):
+        """DrawPoint(Point pt)"""
+        return _ogl.PseudoMetaFile_DrawPoint(*args, **kwargs)
+
+    def DrawText(*args, **kwargs):
+        """DrawText(wxString text, Point pt)"""
+        return _ogl.PseudoMetaFile_DrawText(*args, **kwargs)
+
+    def DrawLines(*args, **kwargs):
+        """DrawLines(int PCOUNT, Point points)"""
+        return _ogl.PseudoMetaFile_DrawLines(*args, **kwargs)
+
+    def DrawPolygon(*args, **kwargs):
+        """DrawPolygon(int PCOUNT, Point points, int flags=0)"""
+        return _ogl.PseudoMetaFile_DrawPolygon(*args, **kwargs)
+
+    def DrawSpline(*args, **kwargs):
+        """DrawSpline(int PCOUNT, Point points)"""
+        return _ogl.PseudoMetaFile_DrawSpline(*args, **kwargs)
+
+    def SetClippingRect(*args, **kwargs):
+        """SetClippingRect(Rect rect)"""
+        return _ogl.PseudoMetaFile_SetClippingRect(*args, **kwargs)
+
+    def DestroyClippingRect(*args, **kwargs):
+        """DestroyClippingRect()"""
+        return _ogl.PseudoMetaFile_DestroyClippingRect(*args, **kwargs)
+
+    def SetPen(*args, **kwargs):
+        """SetPen(wxPen pen, bool isOutline=FALSE)"""
+        return _ogl.PseudoMetaFile_SetPen(*args, **kwargs)
+
+    def SetBrush(*args, **kwargs):
+        """SetBrush(wxBrush brush, bool isFill=FALSE)"""
+        return _ogl.PseudoMetaFile_SetBrush(*args, **kwargs)
+
+    def SetFont(*args, **kwargs):
+        """SetFont(wxFont font)"""
+        return _ogl.PseudoMetaFile_SetFont(*args, **kwargs)
+
+    def SetTextColour(*args, **kwargs):
+        """SetTextColour(wxColour colour)"""
+        return _ogl.PseudoMetaFile_SetTextColour(*args, **kwargs)
+
+    def SetBackgroundColour(*args, **kwargs):
+        """SetBackgroundColour(wxColour colour)"""
+        return _ogl.PseudoMetaFile_SetBackgroundColour(*args, **kwargs)
+
+    def SetBackgroundMode(*args, **kwargs):
+        """SetBackgroundMode(int mode)"""
+        return _ogl.PseudoMetaFile_SetBackgroundMode(*args, **kwargs)
+
+
+class PseudoMetaFilePtr(PseudoMetaFile):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = PseudoMetaFile
+_ogl.PseudoMetaFile_swigregister(PseudoMetaFilePtr)
+
+class PyRectangleShape(PyShape):
+    """"""
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxPyRectangleShape instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__(double width=0.0, double height=0.0) -> PyRectangleShape"""
+        newobj = _ogl.new_PyRectangleShape(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+        self._setOORandCallbackInfo(PyRectangleShape)
+
+    def _setCallbackInfo(*args, **kwargs):
+        """_setCallbackInfo(PyObject self, PyObject _class)"""
+        return _ogl.PyRectangleShape__setCallbackInfo(*args, **kwargs)
+
+    def SetCornerRadius(*args, **kwargs):
+        """SetCornerRadius(double radius)"""
+        return _ogl.PyRectangleShape_SetCornerRadius(*args, **kwargs)
+
+    def base_OnDelete(*args, **kwargs):
+        """base_OnDelete()"""
+        return _ogl.PyRectangleShape_base_OnDelete(*args, **kwargs)
+
+    def base_OnDraw(*args, **kwargs):
+        """base_OnDraw(wxDC dc)"""
+        return _ogl.PyRectangleShape_base_OnDraw(*args, **kwargs)
+
+    def base_OnDrawContents(*args, **kwargs):
+        """base_OnDrawContents(wxDC dc)"""
+        return _ogl.PyRectangleShape_base_OnDrawContents(*args, **kwargs)
+
+    def base_OnDrawBranches(*args, **kwargs):
+        """base_OnDrawBranches(wxDC dc, bool erase=FALSE)"""
+        return _ogl.PyRectangleShape_base_OnDrawBranches(*args, **kwargs)
+
+    def base_OnMoveLinks(*args, **kwargs):
+        """base_OnMoveLinks(wxDC dc)"""
+        return _ogl.PyRectangleShape_base_OnMoveLinks(*args, **kwargs)
+
+    def base_OnErase(*args, **kwargs):
+        """base_OnErase(wxDC dc)"""
+        return _ogl.PyRectangleShape_base_OnErase(*args, **kwargs)
+
+    def base_OnEraseContents(*args, **kwargs):
+        """base_OnEraseContents(wxDC dc)"""
+        return _ogl.PyRectangleShape_base_OnEraseContents(*args, **kwargs)
+
+    def base_OnHighlight(*args, **kwargs):
+        """base_OnHighlight(wxDC dc)"""
+        return _ogl.PyRectangleShape_base_OnHighlight(*args, **kwargs)
+
+    def base_OnLeftClick(*args, **kwargs):
+        """base_OnLeftClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyRectangleShape_base_OnLeftClick(*args, **kwargs)
+
+    def base_OnLeftDoubleClick(*args, **kwargs):
+        """base_OnLeftDoubleClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyRectangleShape_base_OnLeftDoubleClick(*args, **kwargs)
+
+    def base_OnRightClick(*args, **kwargs):
+        """base_OnRightClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyRectangleShape_base_OnRightClick(*args, **kwargs)
+
+    def base_OnSize(*args, **kwargs):
+        """base_OnSize(double x, double y)"""
+        return _ogl.PyRectangleShape_base_OnSize(*args, **kwargs)
+
+    def base_OnMovePre(*args, **kwargs):
+        """base_OnMovePre(wxDC dc, double x, double y, double old_x, double old_y, 
+    bool display=True) -> bool"""
+        return _ogl.PyRectangleShape_base_OnMovePre(*args, **kwargs)
+
+    def base_OnMovePost(*args, **kwargs):
+        """base_OnMovePost(wxDC dc, double x, double y, double old_x, double old_y, 
+    bool display=True)"""
+        return _ogl.PyRectangleShape_base_OnMovePost(*args, **kwargs)
+
+    def base_OnDragLeft(*args, **kwargs):
+        """base_OnDragLeft(bool draw, double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyRectangleShape_base_OnDragLeft(*args, **kwargs)
+
+    def base_OnBeginDragLeft(*args, **kwargs):
+        """base_OnBeginDragLeft(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyRectangleShape_base_OnBeginDragLeft(*args, **kwargs)
+
+    def base_OnEndDragLeft(*args, **kwargs):
+        """base_OnEndDragLeft(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyRectangleShape_base_OnEndDragLeft(*args, **kwargs)
+
+    def base_OnDragRight(*args, **kwargs):
+        """base_OnDragRight(bool draw, double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyRectangleShape_base_OnDragRight(*args, **kwargs)
+
+    def base_OnBeginDragRight(*args, **kwargs):
+        """base_OnBeginDragRight(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyRectangleShape_base_OnBeginDragRight(*args, **kwargs)
+
+    def base_OnEndDragRight(*args, **kwargs):
+        """base_OnEndDragRight(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyRectangleShape_base_OnEndDragRight(*args, **kwargs)
+
+    def base_OnDrawOutline(*args, **kwargs):
+        """base_OnDrawOutline(wxDC dc, double x, double y, double w, double h)"""
+        return _ogl.PyRectangleShape_base_OnDrawOutline(*args, **kwargs)
+
+    def base_OnDrawControlPoints(*args, **kwargs):
+        """base_OnDrawControlPoints(wxDC dc)"""
+        return _ogl.PyRectangleShape_base_OnDrawControlPoints(*args, **kwargs)
+
+    def base_OnEraseControlPoints(*args, **kwargs):
+        """base_OnEraseControlPoints(wxDC dc)"""
+        return _ogl.PyRectangleShape_base_OnEraseControlPoints(*args, **kwargs)
+
+    def base_OnMoveLink(*args, **kwargs):
+        """base_OnMoveLink(wxDC dc, bool moveControlPoints=True)"""
+        return _ogl.PyRectangleShape_base_OnMoveLink(*args, **kwargs)
+
+    def base_OnSizingDragLeft(*args, **kwargs):
+        """base_OnSizingDragLeft(PyControlPoint pt, bool draw, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyRectangleShape_base_OnSizingDragLeft(*args, **kwargs)
+
+    def base_OnSizingBeginDragLeft(*args, **kwargs):
+        """base_OnSizingBeginDragLeft(PyControlPoint pt, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyRectangleShape_base_OnSizingBeginDragLeft(*args, **kwargs)
+
+    def base_OnSizingEndDragLeft(*args, **kwargs):
+        """base_OnSizingEndDragLeft(PyControlPoint pt, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyRectangleShape_base_OnSizingEndDragLeft(*args, **kwargs)
+
+    def base_OnBeginSize(*args, **kwargs):
+        """base_OnBeginSize(double w, double h)"""
+        return _ogl.PyRectangleShape_base_OnBeginSize(*args, **kwargs)
+
+    def base_OnEndSize(*args, **kwargs):
+        """base_OnEndSize(double w, double h)"""
+        return _ogl.PyRectangleShape_base_OnEndSize(*args, **kwargs)
+
+
+class PyRectangleShapePtr(PyRectangleShape):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = PyRectangleShape
+_ogl.PyRectangleShape_swigregister(PyRectangleShapePtr)
+
+class PyControlPoint(PyRectangleShape):
+    """"""
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxPyControlPoint instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__(PyShapeCanvas the_canvas=None, PyShape object=None, 
+    double size=0.0, double the_xoffset=0.0, double the_yoffset=0.0, 
+    int the_type=0) -> PyControlPoint"""
+        newobj = _ogl.new_PyControlPoint(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+        self._setOORandCallbackInfo(PyControlPoint)
+
+    def _setCallbackInfo(*args, **kwargs):
+        """_setCallbackInfo(PyObject self, PyObject _class)"""
+        return _ogl.PyControlPoint__setCallbackInfo(*args, **kwargs)
+
+    def SetCornerRadius(*args, **kwargs):
+        """SetCornerRadius(double radius)"""
+        return _ogl.PyControlPoint_SetCornerRadius(*args, **kwargs)
+
+    def base_OnDelete(*args, **kwargs):
+        """base_OnDelete()"""
+        return _ogl.PyControlPoint_base_OnDelete(*args, **kwargs)
+
+    def base_OnDraw(*args, **kwargs):
+        """base_OnDraw(wxDC dc)"""
+        return _ogl.PyControlPoint_base_OnDraw(*args, **kwargs)
+
+    def base_OnDrawContents(*args, **kwargs):
+        """base_OnDrawContents(wxDC dc)"""
+        return _ogl.PyControlPoint_base_OnDrawContents(*args, **kwargs)
+
+    def base_OnDrawBranches(*args, **kwargs):
+        """base_OnDrawBranches(wxDC dc, bool erase=FALSE)"""
+        return _ogl.PyControlPoint_base_OnDrawBranches(*args, **kwargs)
+
+    def base_OnMoveLinks(*args, **kwargs):
+        """base_OnMoveLinks(wxDC dc)"""
+        return _ogl.PyControlPoint_base_OnMoveLinks(*args, **kwargs)
+
+    def base_OnErase(*args, **kwargs):
+        """base_OnErase(wxDC dc)"""
+        return _ogl.PyControlPoint_base_OnErase(*args, **kwargs)
+
+    def base_OnEraseContents(*args, **kwargs):
+        """base_OnEraseContents(wxDC dc)"""
+        return _ogl.PyControlPoint_base_OnEraseContents(*args, **kwargs)
+
+    def base_OnHighlight(*args, **kwargs):
+        """base_OnHighlight(wxDC dc)"""
+        return _ogl.PyControlPoint_base_OnHighlight(*args, **kwargs)
+
+    def base_OnLeftClick(*args, **kwargs):
+        """base_OnLeftClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyControlPoint_base_OnLeftClick(*args, **kwargs)
+
+    def base_OnLeftDoubleClick(*args, **kwargs):
+        """base_OnLeftDoubleClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyControlPoint_base_OnLeftDoubleClick(*args, **kwargs)
+
+    def base_OnRightClick(*args, **kwargs):
+        """base_OnRightClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyControlPoint_base_OnRightClick(*args, **kwargs)
+
+    def base_OnSize(*args, **kwargs):
+        """base_OnSize(double x, double y)"""
+        return _ogl.PyControlPoint_base_OnSize(*args, **kwargs)
+
+    def base_OnMovePre(*args, **kwargs):
+        """base_OnMovePre(wxDC dc, double x, double y, double old_x, double old_y, 
+    bool display=True) -> bool"""
+        return _ogl.PyControlPoint_base_OnMovePre(*args, **kwargs)
+
+    def base_OnMovePost(*args, **kwargs):
+        """base_OnMovePost(wxDC dc, double x, double y, double old_x, double old_y, 
+    bool display=True)"""
+        return _ogl.PyControlPoint_base_OnMovePost(*args, **kwargs)
+
+    def base_OnDragLeft(*args, **kwargs):
+        """base_OnDragLeft(bool draw, double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyControlPoint_base_OnDragLeft(*args, **kwargs)
+
+    def base_OnBeginDragLeft(*args, **kwargs):
+        """base_OnBeginDragLeft(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyControlPoint_base_OnBeginDragLeft(*args, **kwargs)
+
+    def base_OnEndDragLeft(*args, **kwargs):
+        """base_OnEndDragLeft(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyControlPoint_base_OnEndDragLeft(*args, **kwargs)
+
+    def base_OnDragRight(*args, **kwargs):
+        """base_OnDragRight(bool draw, double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyControlPoint_base_OnDragRight(*args, **kwargs)
+
+    def base_OnBeginDragRight(*args, **kwargs):
+        """base_OnBeginDragRight(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyControlPoint_base_OnBeginDragRight(*args, **kwargs)
+
+    def base_OnEndDragRight(*args, **kwargs):
+        """base_OnEndDragRight(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyControlPoint_base_OnEndDragRight(*args, **kwargs)
+
+    def base_OnDrawOutline(*args, **kwargs):
+        """base_OnDrawOutline(wxDC dc, double x, double y, double w, double h)"""
+        return _ogl.PyControlPoint_base_OnDrawOutline(*args, **kwargs)
+
+    def base_OnDrawControlPoints(*args, **kwargs):
+        """base_OnDrawControlPoints(wxDC dc)"""
+        return _ogl.PyControlPoint_base_OnDrawControlPoints(*args, **kwargs)
+
+    def base_OnEraseControlPoints(*args, **kwargs):
+        """base_OnEraseControlPoints(wxDC dc)"""
+        return _ogl.PyControlPoint_base_OnEraseControlPoints(*args, **kwargs)
+
+    def base_OnMoveLink(*args, **kwargs):
+        """base_OnMoveLink(wxDC dc, bool moveControlPoints=True)"""
+        return _ogl.PyControlPoint_base_OnMoveLink(*args, **kwargs)
+
+    def base_OnSizingDragLeft(*args, **kwargs):
+        """base_OnSizingDragLeft(PyControlPoint pt, bool draw, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyControlPoint_base_OnSizingDragLeft(*args, **kwargs)
+
+    def base_OnSizingBeginDragLeft(*args, **kwargs):
+        """base_OnSizingBeginDragLeft(PyControlPoint pt, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyControlPoint_base_OnSizingBeginDragLeft(*args, **kwargs)
+
+    def base_OnSizingEndDragLeft(*args, **kwargs):
+        """base_OnSizingEndDragLeft(PyControlPoint pt, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyControlPoint_base_OnSizingEndDragLeft(*args, **kwargs)
+
+    def base_OnBeginSize(*args, **kwargs):
+        """base_OnBeginSize(double w, double h)"""
+        return _ogl.PyControlPoint_base_OnBeginSize(*args, **kwargs)
+
+    def base_OnEndSize(*args, **kwargs):
+        """base_OnEndSize(double w, double h)"""
+        return _ogl.PyControlPoint_base_OnEndSize(*args, **kwargs)
+
+
+class PyControlPointPtr(PyControlPoint):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = PyControlPoint
+_ogl.PyControlPoint_swigregister(PyControlPointPtr)
+
+class PyBitmapShape(PyRectangleShape):
+    """"""
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxPyBitmapShape instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__() -> PyBitmapShape"""
+        newobj = _ogl.new_PyBitmapShape(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+        self._setOORandCallbackInfo(PyBitmapShape)
+
+    def _setCallbackInfo(*args, **kwargs):
+        """_setCallbackInfo(PyObject self, PyObject _class)"""
+        return _ogl.PyBitmapShape__setCallbackInfo(*args, **kwargs)
+
+    def GetBitmap(*args, **kwargs):
+        """GetBitmap() -> wxBitmap"""
+        return _ogl.PyBitmapShape_GetBitmap(*args, **kwargs)
+
+    def GetFilename(*args, **kwargs):
+        """GetFilename() -> wxString"""
+        return _ogl.PyBitmapShape_GetFilename(*args, **kwargs)
+
+    def SetBitmap(*args, **kwargs):
+        """SetBitmap(wxBitmap bitmap)"""
+        return _ogl.PyBitmapShape_SetBitmap(*args, **kwargs)
+
+    def SetFilename(*args, **kwargs):
+        """SetFilename(wxString filename)"""
+        return _ogl.PyBitmapShape_SetFilename(*args, **kwargs)
+
+    def base_OnDelete(*args, **kwargs):
+        """base_OnDelete()"""
+        return _ogl.PyBitmapShape_base_OnDelete(*args, **kwargs)
+
+    def base_OnDraw(*args, **kwargs):
+        """base_OnDraw(wxDC dc)"""
+        return _ogl.PyBitmapShape_base_OnDraw(*args, **kwargs)
+
+    def base_OnDrawContents(*args, **kwargs):
+        """base_OnDrawContents(wxDC dc)"""
+        return _ogl.PyBitmapShape_base_OnDrawContents(*args, **kwargs)
+
+    def base_OnDrawBranches(*args, **kwargs):
+        """base_OnDrawBranches(wxDC dc, bool erase=FALSE)"""
+        return _ogl.PyBitmapShape_base_OnDrawBranches(*args, **kwargs)
+
+    def base_OnMoveLinks(*args, **kwargs):
+        """base_OnMoveLinks(wxDC dc)"""
+        return _ogl.PyBitmapShape_base_OnMoveLinks(*args, **kwargs)
+
+    def base_OnErase(*args, **kwargs):
+        """base_OnErase(wxDC dc)"""
+        return _ogl.PyBitmapShape_base_OnErase(*args, **kwargs)
+
+    def base_OnEraseContents(*args, **kwargs):
+        """base_OnEraseContents(wxDC dc)"""
+        return _ogl.PyBitmapShape_base_OnEraseContents(*args, **kwargs)
+
+    def base_OnHighlight(*args, **kwargs):
+        """base_OnHighlight(wxDC dc)"""
+        return _ogl.PyBitmapShape_base_OnHighlight(*args, **kwargs)
+
+    def base_OnLeftClick(*args, **kwargs):
+        """base_OnLeftClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyBitmapShape_base_OnLeftClick(*args, **kwargs)
+
+    def base_OnLeftDoubleClick(*args, **kwargs):
+        """base_OnLeftDoubleClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyBitmapShape_base_OnLeftDoubleClick(*args, **kwargs)
+
+    def base_OnRightClick(*args, **kwargs):
+        """base_OnRightClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyBitmapShape_base_OnRightClick(*args, **kwargs)
+
+    def base_OnSize(*args, **kwargs):
+        """base_OnSize(double x, double y)"""
+        return _ogl.PyBitmapShape_base_OnSize(*args, **kwargs)
+
+    def base_OnMovePre(*args, **kwargs):
+        """base_OnMovePre(wxDC dc, double x, double y, double old_x, double old_y, 
+    bool display=True) -> bool"""
+        return _ogl.PyBitmapShape_base_OnMovePre(*args, **kwargs)
+
+    def base_OnMovePost(*args, **kwargs):
+        """base_OnMovePost(wxDC dc, double x, double y, double old_x, double old_y, 
+    bool display=True)"""
+        return _ogl.PyBitmapShape_base_OnMovePost(*args, **kwargs)
+
+    def base_OnDragLeft(*args, **kwargs):
+        """base_OnDragLeft(bool draw, double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyBitmapShape_base_OnDragLeft(*args, **kwargs)
+
+    def base_OnBeginDragLeft(*args, **kwargs):
+        """base_OnBeginDragLeft(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyBitmapShape_base_OnBeginDragLeft(*args, **kwargs)
+
+    def base_OnEndDragLeft(*args, **kwargs):
+        """base_OnEndDragLeft(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyBitmapShape_base_OnEndDragLeft(*args, **kwargs)
+
+    def base_OnDragRight(*args, **kwargs):
+        """base_OnDragRight(bool draw, double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyBitmapShape_base_OnDragRight(*args, **kwargs)
+
+    def base_OnBeginDragRight(*args, **kwargs):
+        """base_OnBeginDragRight(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyBitmapShape_base_OnBeginDragRight(*args, **kwargs)
+
+    def base_OnEndDragRight(*args, **kwargs):
+        """base_OnEndDragRight(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyBitmapShape_base_OnEndDragRight(*args, **kwargs)
+
+    def base_OnDrawOutline(*args, **kwargs):
+        """base_OnDrawOutline(wxDC dc, double x, double y, double w, double h)"""
+        return _ogl.PyBitmapShape_base_OnDrawOutline(*args, **kwargs)
+
+    def base_OnDrawControlPoints(*args, **kwargs):
+        """base_OnDrawControlPoints(wxDC dc)"""
+        return _ogl.PyBitmapShape_base_OnDrawControlPoints(*args, **kwargs)
+
+    def base_OnEraseControlPoints(*args, **kwargs):
+        """base_OnEraseControlPoints(wxDC dc)"""
+        return _ogl.PyBitmapShape_base_OnEraseControlPoints(*args, **kwargs)
+
+    def base_OnMoveLink(*args, **kwargs):
+        """base_OnMoveLink(wxDC dc, bool moveControlPoints=True)"""
+        return _ogl.PyBitmapShape_base_OnMoveLink(*args, **kwargs)
+
+    def base_OnSizingDragLeft(*args, **kwargs):
+        """base_OnSizingDragLeft(PyControlPoint pt, bool draw, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyBitmapShape_base_OnSizingDragLeft(*args, **kwargs)
+
+    def base_OnSizingBeginDragLeft(*args, **kwargs):
+        """base_OnSizingBeginDragLeft(PyControlPoint pt, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyBitmapShape_base_OnSizingBeginDragLeft(*args, **kwargs)
+
+    def base_OnSizingEndDragLeft(*args, **kwargs):
+        """base_OnSizingEndDragLeft(PyControlPoint pt, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyBitmapShape_base_OnSizingEndDragLeft(*args, **kwargs)
+
+    def base_OnBeginSize(*args, **kwargs):
+        """base_OnBeginSize(double w, double h)"""
+        return _ogl.PyBitmapShape_base_OnBeginSize(*args, **kwargs)
+
+    def base_OnEndSize(*args, **kwargs):
+        """base_OnEndSize(double w, double h)"""
+        return _ogl.PyBitmapShape_base_OnEndSize(*args, **kwargs)
+
+
+class PyBitmapShapePtr(PyBitmapShape):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = PyBitmapShape
+_ogl.PyBitmapShape_swigregister(PyBitmapShapePtr)
+
+class PyDrawnShape(PyRectangleShape):
+    """"""
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxPyDrawnShape instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__() -> PyDrawnShape"""
+        newobj = _ogl.new_PyDrawnShape(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+        self._setOORandCallbackInfo(PyDrawnShape)
+
+    def _setCallbackInfo(*args, **kwargs):
+        """_setCallbackInfo(PyObject self, PyObject _class)"""
+        return _ogl.PyDrawnShape__setCallbackInfo(*args, **kwargs)
+
+    def CalculateSize(*args, **kwargs):
+        """CalculateSize()"""
+        return _ogl.PyDrawnShape_CalculateSize(*args, **kwargs)
+
+    def DestroyClippingRect(*args, **kwargs):
+        """DestroyClippingRect()"""
+        return _ogl.PyDrawnShape_DestroyClippingRect(*args, **kwargs)
+
+    def DrawArc(*args, **kwargs):
+        """DrawArc(Point centrePoint, Point startPoint, Point endPoint)"""
+        return _ogl.PyDrawnShape_DrawArc(*args, **kwargs)
+
+    def DrawAtAngle(*args, **kwargs):
+        """DrawAtAngle(int angle)"""
+        return _ogl.PyDrawnShape_DrawAtAngle(*args, **kwargs)
+
+    def DrawEllipticArc(*args, **kwargs):
+        """DrawEllipticArc(Rect rect, double startAngle, double endAngle)"""
+        return _ogl.PyDrawnShape_DrawEllipticArc(*args, **kwargs)
+
+    def DrawLine(*args, **kwargs):
+        """DrawLine(Point point1, Point point2)"""
+        return _ogl.PyDrawnShape_DrawLine(*args, **kwargs)
+
+    def DrawLines(*args, **kwargs):
+        """DrawLines(int PCOUNT, Point points)"""
+        return _ogl.PyDrawnShape_DrawLines(*args, **kwargs)
+
+    def DrawPoint(*args, **kwargs):
+        """DrawPoint(Point point)"""
+        return _ogl.PyDrawnShape_DrawPoint(*args, **kwargs)
+
+    def DrawPolygon(*args, **kwargs):
+        """DrawPolygon(int PCOUNT, Point points, int flags=0)"""
+        return _ogl.PyDrawnShape_DrawPolygon(*args, **kwargs)
+
+    def DrawRectangle(*args, **kwargs):
+        """DrawRectangle(Rect rect)"""
+        return _ogl.PyDrawnShape_DrawRectangle(*args, **kwargs)
+
+    def DrawRoundedRectangle(*args, **kwargs):
+        """DrawRoundedRectangle(Rect rect, double radius)"""
+        return _ogl.PyDrawnShape_DrawRoundedRectangle(*args, **kwargs)
+
+    def DrawSpline(*args, **kwargs):
+        """DrawSpline(int PCOUNT, Point points)"""
+        return _ogl.PyDrawnShape_DrawSpline(*args, **kwargs)
+
+    def DrawText(*args, **kwargs):
+        """DrawText(wxString text, Point point)"""
+        return _ogl.PyDrawnShape_DrawText(*args, **kwargs)
+
+    def GetAngle(*args, **kwargs):
+        """GetAngle() -> int"""
+        return _ogl.PyDrawnShape_GetAngle(*args, **kwargs)
+
+    def GetMetaFile(*args, **kwargs):
+        """GetMetaFile() -> PseudoMetaFile"""
+        return _ogl.PyDrawnShape_GetMetaFile(*args, **kwargs)
+
+    def GetRotation(*args, **kwargs):
+        """GetRotation() -> double"""
+        return _ogl.PyDrawnShape_GetRotation(*args, **kwargs)
+
+    def LoadFromMetaFile(*args, **kwargs):
+        """LoadFromMetaFile(wxString filename) -> bool"""
+        return _ogl.PyDrawnShape_LoadFromMetaFile(*args, **kwargs)
+
+    def Rotate(*args, **kwargs):
+        """Rotate(double x, double y, double theta)"""
+        return _ogl.PyDrawnShape_Rotate(*args, **kwargs)
+
+    def SetClippingRect(*args, **kwargs):
+        """SetClippingRect(Rect rect)"""
+        return _ogl.PyDrawnShape_SetClippingRect(*args, **kwargs)
+
+    def SetDrawnBackgroundColour(*args, **kwargs):
+        """SetDrawnBackgroundColour(wxColour colour)"""
+        return _ogl.PyDrawnShape_SetDrawnBackgroundColour(*args, **kwargs)
+
+    def SetDrawnBackgroundMode(*args, **kwargs):
+        """SetDrawnBackgroundMode(int mode)"""
+        return _ogl.PyDrawnShape_SetDrawnBackgroundMode(*args, **kwargs)
+
+    def SetDrawnBrush(*args, **kwargs):
+        """SetDrawnBrush(wxBrush pen, bool isOutline=FALSE)"""
+        return _ogl.PyDrawnShape_SetDrawnBrush(*args, **kwargs)
+
+    def SetDrawnFont(*args, **kwargs):
+        """SetDrawnFont(wxFont font)"""
+        return _ogl.PyDrawnShape_SetDrawnFont(*args, **kwargs)
+
+    def SetDrawnPen(*args, **kwargs):
+        """SetDrawnPen(wxPen pen, bool isOutline=FALSE)"""
+        return _ogl.PyDrawnShape_SetDrawnPen(*args, **kwargs)
+
+    def SetDrawnTextColour(*args, **kwargs):
+        """SetDrawnTextColour(wxColour colour)"""
+        return _ogl.PyDrawnShape_SetDrawnTextColour(*args, **kwargs)
+
+    def Scale(*args, **kwargs):
+        """Scale(double sx, double sy)"""
+        return _ogl.PyDrawnShape_Scale(*args, **kwargs)
+
+    def SetSaveToFile(*args, **kwargs):
+        """SetSaveToFile(bool save)"""
+        return _ogl.PyDrawnShape_SetSaveToFile(*args, **kwargs)
+
+    def Translate(*args, **kwargs):
+        """Translate(double x, double y)"""
+        return _ogl.PyDrawnShape_Translate(*args, **kwargs)
+
+    def base_OnDelete(*args, **kwargs):
+        """base_OnDelete()"""
+        return _ogl.PyDrawnShape_base_OnDelete(*args, **kwargs)
+
+    def base_OnDraw(*args, **kwargs):
+        """base_OnDraw(wxDC dc)"""
+        return _ogl.PyDrawnShape_base_OnDraw(*args, **kwargs)
+
+    def base_OnDrawContents(*args, **kwargs):
+        """base_OnDrawContents(wxDC dc)"""
+        return _ogl.PyDrawnShape_base_OnDrawContents(*args, **kwargs)
+
+    def base_OnDrawBranches(*args, **kwargs):
+        """base_OnDrawBranches(wxDC dc, bool erase=FALSE)"""
+        return _ogl.PyDrawnShape_base_OnDrawBranches(*args, **kwargs)
+
+    def base_OnMoveLinks(*args, **kwargs):
+        """base_OnMoveLinks(wxDC dc)"""
+        return _ogl.PyDrawnShape_base_OnMoveLinks(*args, **kwargs)
+
+    def base_OnErase(*args, **kwargs):
+        """base_OnErase(wxDC dc)"""
+        return _ogl.PyDrawnShape_base_OnErase(*args, **kwargs)
+
+    def base_OnEraseContents(*args, **kwargs):
+        """base_OnEraseContents(wxDC dc)"""
+        return _ogl.PyDrawnShape_base_OnEraseContents(*args, **kwargs)
+
+    def base_OnHighlight(*args, **kwargs):
+        """base_OnHighlight(wxDC dc)"""
+        return _ogl.PyDrawnShape_base_OnHighlight(*args, **kwargs)
+
+    def base_OnLeftClick(*args, **kwargs):
+        """base_OnLeftClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyDrawnShape_base_OnLeftClick(*args, **kwargs)
+
+    def base_OnLeftDoubleClick(*args, **kwargs):
+        """base_OnLeftDoubleClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyDrawnShape_base_OnLeftDoubleClick(*args, **kwargs)
+
+    def base_OnRightClick(*args, **kwargs):
+        """base_OnRightClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyDrawnShape_base_OnRightClick(*args, **kwargs)
+
+    def base_OnSize(*args, **kwargs):
+        """base_OnSize(double x, double y)"""
+        return _ogl.PyDrawnShape_base_OnSize(*args, **kwargs)
+
+    def base_OnMovePre(*args, **kwargs):
+        """base_OnMovePre(wxDC dc, double x, double y, double old_x, double old_y, 
+    bool display=True) -> bool"""
+        return _ogl.PyDrawnShape_base_OnMovePre(*args, **kwargs)
+
+    def base_OnMovePost(*args, **kwargs):
+        """base_OnMovePost(wxDC dc, double x, double y, double old_x, double old_y, 
+    bool display=True)"""
+        return _ogl.PyDrawnShape_base_OnMovePost(*args, **kwargs)
+
+    def base_OnDragLeft(*args, **kwargs):
+        """base_OnDragLeft(bool draw, double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyDrawnShape_base_OnDragLeft(*args, **kwargs)
+
+    def base_OnBeginDragLeft(*args, **kwargs):
+        """base_OnBeginDragLeft(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyDrawnShape_base_OnBeginDragLeft(*args, **kwargs)
+
+    def base_OnEndDragLeft(*args, **kwargs):
+        """base_OnEndDragLeft(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyDrawnShape_base_OnEndDragLeft(*args, **kwargs)
+
+    def base_OnDragRight(*args, **kwargs):
+        """base_OnDragRight(bool draw, double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyDrawnShape_base_OnDragRight(*args, **kwargs)
+
+    def base_OnBeginDragRight(*args, **kwargs):
+        """base_OnBeginDragRight(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyDrawnShape_base_OnBeginDragRight(*args, **kwargs)
+
+    def base_OnEndDragRight(*args, **kwargs):
+        """base_OnEndDragRight(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyDrawnShape_base_OnEndDragRight(*args, **kwargs)
+
+    def base_OnDrawOutline(*args, **kwargs):
+        """base_OnDrawOutline(wxDC dc, double x, double y, double w, double h)"""
+        return _ogl.PyDrawnShape_base_OnDrawOutline(*args, **kwargs)
+
+    def base_OnDrawControlPoints(*args, **kwargs):
+        """base_OnDrawControlPoints(wxDC dc)"""
+        return _ogl.PyDrawnShape_base_OnDrawControlPoints(*args, **kwargs)
+
+    def base_OnEraseControlPoints(*args, **kwargs):
+        """base_OnEraseControlPoints(wxDC dc)"""
+        return _ogl.PyDrawnShape_base_OnEraseControlPoints(*args, **kwargs)
+
+    def base_OnMoveLink(*args, **kwargs):
+        """base_OnMoveLink(wxDC dc, bool moveControlPoints=True)"""
+        return _ogl.PyDrawnShape_base_OnMoveLink(*args, **kwargs)
+
+    def base_OnSizingDragLeft(*args, **kwargs):
+        """base_OnSizingDragLeft(PyControlPoint pt, bool draw, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyDrawnShape_base_OnSizingDragLeft(*args, **kwargs)
+
+    def base_OnSizingBeginDragLeft(*args, **kwargs):
+        """base_OnSizingBeginDragLeft(PyControlPoint pt, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyDrawnShape_base_OnSizingBeginDragLeft(*args, **kwargs)
+
+    def base_OnSizingEndDragLeft(*args, **kwargs):
+        """base_OnSizingEndDragLeft(PyControlPoint pt, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyDrawnShape_base_OnSizingEndDragLeft(*args, **kwargs)
+
+    def base_OnBeginSize(*args, **kwargs):
+        """base_OnBeginSize(double w, double h)"""
+        return _ogl.PyDrawnShape_base_OnBeginSize(*args, **kwargs)
+
+    def base_OnEndSize(*args, **kwargs):
+        """base_OnEndSize(double w, double h)"""
+        return _ogl.PyDrawnShape_base_OnEndSize(*args, **kwargs)
+
+
+class PyDrawnShapePtr(PyDrawnShape):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = PyDrawnShape
+_ogl.PyDrawnShape_swigregister(PyDrawnShapePtr)
+
+class OGLConstraint(core.Object):
+    """"""
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxOGLConstraint instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__(int type, PyShape constraining, PyObject constrained) -> OGLConstraint"""
+        newobj = _ogl.new_OGLConstraint(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+    def Evaluate(*args, **kwargs):
+        """Evaluate() -> bool"""
+        return _ogl.OGLConstraint_Evaluate(*args, **kwargs)
+
+    def SetSpacing(*args, **kwargs):
+        """SetSpacing(double x, double y)"""
+        return _ogl.OGLConstraint_SetSpacing(*args, **kwargs)
+
+    def Equals(*args, **kwargs):
+        """Equals(double a, double b) -> bool"""
+        return _ogl.OGLConstraint_Equals(*args, **kwargs)
+
+
+class OGLConstraintPtr(OGLConstraint):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = OGLConstraint
+_ogl.OGLConstraint_swigregister(OGLConstraintPtr)
+
+class PyCompositeShape(PyRectangleShape):
+    """"""
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxPyCompositeShape instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__() -> PyCompositeShape"""
+        newobj = _ogl.new_PyCompositeShape(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+        self._setOORandCallbackInfo(PyCompositeShape)
+
+    def _setCallbackInfo(*args, **kwargs):
+        """_setCallbackInfo(PyObject self, PyObject _class)"""
+        return _ogl.PyCompositeShape__setCallbackInfo(*args, **kwargs)
+
+    def AddChild(*args, **kwargs):
+        """AddChild(PyShape child, PyShape addAfter=None)"""
+        return _ogl.PyCompositeShape_AddChild(*args, **kwargs)
+
+    def AddConstraint(*args, **kwargs):
+        """AddConstraint(OGLConstraint constraint) -> OGLConstraint"""
+        return _ogl.PyCompositeShape_AddConstraint(*args, **kwargs)
+
+    def AddConstrainedShapes(*args, **kwargs):
+        """AddConstrainedShapes(int type, PyShape constraining, PyObject constrained) -> OGLConstraint"""
+        return _ogl.PyCompositeShape_AddConstrainedShapes(*args, **kwargs)
+
+    def AddSimpleConstraint(*args, **kwargs):
+        """AddSimpleConstraint(int type, PyShape constraining, PyShape constrained) -> OGLConstraint"""
+        return _ogl.PyCompositeShape_AddSimpleConstraint(*args, **kwargs)
+
+    def CalculateSize(*args, **kwargs):
+        """CalculateSize()"""
+        return _ogl.PyCompositeShape_CalculateSize(*args, **kwargs)
+
+    def ContainsDivision(*args, **kwargs):
+        """ContainsDivision(PyDivisionShape division) -> bool"""
+        return _ogl.PyCompositeShape_ContainsDivision(*args, **kwargs)
+
+    def DeleteConstraint(*args, **kwargs):
+        """DeleteConstraint(OGLConstraint constraint)"""
+        return _ogl.PyCompositeShape_DeleteConstraint(*args, **kwargs)
+
+    def DeleteConstraintsInvolvingChild(*args, **kwargs):
+        """DeleteConstraintsInvolvingChild(PyShape child)"""
+        return _ogl.PyCompositeShape_DeleteConstraintsInvolvingChild(*args, **kwargs)
+
+    def FindContainerImage(*args, **kwargs):
+        """FindContainerImage() -> PyShape"""
+        return _ogl.PyCompositeShape_FindContainerImage(*args, **kwargs)
+
+    def GetConstraints(*args, **kwargs):
+        """GetConstraints() -> PyObject"""
+        return _ogl.PyCompositeShape_GetConstraints(*args, **kwargs)
+
+    def GetDivisions(*args, **kwargs):
+        """GetDivisions() -> PyObject"""
+        return _ogl.PyCompositeShape_GetDivisions(*args, **kwargs)
+
+    def MakeContainer(*args, **kwargs):
+        """MakeContainer()"""
+        return _ogl.PyCompositeShape_MakeContainer(*args, **kwargs)
+
+    def Recompute(*args, **kwargs):
+        """Recompute() -> bool"""
+        return _ogl.PyCompositeShape_Recompute(*args, **kwargs)
+
+    def RemoveChild(*args, **kwargs):
+        """RemoveChild(PyShape child)"""
+        return _ogl.PyCompositeShape_RemoveChild(*args, **kwargs)
+
+    def base_OnDelete(*args, **kwargs):
+        """base_OnDelete()"""
+        return _ogl.PyCompositeShape_base_OnDelete(*args, **kwargs)
+
+    def base_OnDraw(*args, **kwargs):
+        """base_OnDraw(wxDC dc)"""
+        return _ogl.PyCompositeShape_base_OnDraw(*args, **kwargs)
+
+    def base_OnDrawContents(*args, **kwargs):
+        """base_OnDrawContents(wxDC dc)"""
+        return _ogl.PyCompositeShape_base_OnDrawContents(*args, **kwargs)
+
+    def base_OnDrawBranches(*args, **kwargs):
+        """base_OnDrawBranches(wxDC dc, bool erase=FALSE)"""
+        return _ogl.PyCompositeShape_base_OnDrawBranches(*args, **kwargs)
+
+    def base_OnMoveLinks(*args, **kwargs):
+        """base_OnMoveLinks(wxDC dc)"""
+        return _ogl.PyCompositeShape_base_OnMoveLinks(*args, **kwargs)
+
+    def base_OnErase(*args, **kwargs):
+        """base_OnErase(wxDC dc)"""
+        return _ogl.PyCompositeShape_base_OnErase(*args, **kwargs)
+
+    def base_OnEraseContents(*args, **kwargs):
+        """base_OnEraseContents(wxDC dc)"""
+        return _ogl.PyCompositeShape_base_OnEraseContents(*args, **kwargs)
+
+    def base_OnHighlight(*args, **kwargs):
+        """base_OnHighlight(wxDC dc)"""
+        return _ogl.PyCompositeShape_base_OnHighlight(*args, **kwargs)
+
+    def base_OnLeftClick(*args, **kwargs):
+        """base_OnLeftClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyCompositeShape_base_OnLeftClick(*args, **kwargs)
+
+    def base_OnLeftDoubleClick(*args, **kwargs):
+        """base_OnLeftDoubleClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyCompositeShape_base_OnLeftDoubleClick(*args, **kwargs)
+
+    def base_OnRightClick(*args, **kwargs):
+        """base_OnRightClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyCompositeShape_base_OnRightClick(*args, **kwargs)
+
+    def base_OnSize(*args, **kwargs):
+        """base_OnSize(double x, double y)"""
+        return _ogl.PyCompositeShape_base_OnSize(*args, **kwargs)
+
+    def base_OnMovePre(*args, **kwargs):
+        """base_OnMovePre(wxDC dc, double x, double y, double old_x, double old_y, 
+    bool display=True) -> bool"""
+        return _ogl.PyCompositeShape_base_OnMovePre(*args, **kwargs)
+
+    def base_OnMovePost(*args, **kwargs):
+        """base_OnMovePost(wxDC dc, double x, double y, double old_x, double old_y, 
+    bool display=True)"""
+        return _ogl.PyCompositeShape_base_OnMovePost(*args, **kwargs)
+
+    def base_OnDragLeft(*args, **kwargs):
+        """base_OnDragLeft(bool draw, double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyCompositeShape_base_OnDragLeft(*args, **kwargs)
+
+    def base_OnBeginDragLeft(*args, **kwargs):
+        """base_OnBeginDragLeft(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyCompositeShape_base_OnBeginDragLeft(*args, **kwargs)
+
+    def base_OnEndDragLeft(*args, **kwargs):
+        """base_OnEndDragLeft(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyCompositeShape_base_OnEndDragLeft(*args, **kwargs)
+
+    def base_OnDragRight(*args, **kwargs):
+        """base_OnDragRight(bool draw, double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyCompositeShape_base_OnDragRight(*args, **kwargs)
+
+    def base_OnBeginDragRight(*args, **kwargs):
+        """base_OnBeginDragRight(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyCompositeShape_base_OnBeginDragRight(*args, **kwargs)
+
+    def base_OnEndDragRight(*args, **kwargs):
+        """base_OnEndDragRight(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyCompositeShape_base_OnEndDragRight(*args, **kwargs)
+
+    def base_OnDrawOutline(*args, **kwargs):
+        """base_OnDrawOutline(wxDC dc, double x, double y, double w, double h)"""
+        return _ogl.PyCompositeShape_base_OnDrawOutline(*args, **kwargs)
+
+    def base_OnDrawControlPoints(*args, **kwargs):
+        """base_OnDrawControlPoints(wxDC dc)"""
+        return _ogl.PyCompositeShape_base_OnDrawControlPoints(*args, **kwargs)
+
+    def base_OnEraseControlPoints(*args, **kwargs):
+        """base_OnEraseControlPoints(wxDC dc)"""
+        return _ogl.PyCompositeShape_base_OnEraseControlPoints(*args, **kwargs)
+
+    def base_OnMoveLink(*args, **kwargs):
+        """base_OnMoveLink(wxDC dc, bool moveControlPoints=True)"""
+        return _ogl.PyCompositeShape_base_OnMoveLink(*args, **kwargs)
+
+    def base_OnSizingDragLeft(*args, **kwargs):
+        """base_OnSizingDragLeft(PyControlPoint pt, bool draw, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyCompositeShape_base_OnSizingDragLeft(*args, **kwargs)
+
+    def base_OnSizingBeginDragLeft(*args, **kwargs):
+        """base_OnSizingBeginDragLeft(PyControlPoint pt, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyCompositeShape_base_OnSizingBeginDragLeft(*args, **kwargs)
+
+    def base_OnSizingEndDragLeft(*args, **kwargs):
+        """base_OnSizingEndDragLeft(PyControlPoint pt, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyCompositeShape_base_OnSizingEndDragLeft(*args, **kwargs)
+
+    def base_OnBeginSize(*args, **kwargs):
+        """base_OnBeginSize(double w, double h)"""
+        return _ogl.PyCompositeShape_base_OnBeginSize(*args, **kwargs)
+
+    def base_OnEndSize(*args, **kwargs):
+        """base_OnEndSize(double w, double h)"""
+        return _ogl.PyCompositeShape_base_OnEndSize(*args, **kwargs)
+
+
+class PyCompositeShapePtr(PyCompositeShape):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = PyCompositeShape
+_ogl.PyCompositeShape_swigregister(PyCompositeShapePtr)
+
+class PyDividedShape(PyRectangleShape):
+    """"""
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxPyDividedShape instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__(double width=0.0, double height=0.0) -> PyDividedShape"""
+        newobj = _ogl.new_PyDividedShape(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+        self._setOORandCallbackInfo(PyDividedShape)
+
+    def _setCallbackInfo(*args, **kwargs):
+        """_setCallbackInfo(PyObject self, PyObject _class)"""
+        return _ogl.PyDividedShape__setCallbackInfo(*args, **kwargs)
+
+    def EditRegions(*args, **kwargs):
+        """EditRegions()"""
+        return _ogl.PyDividedShape_EditRegions(*args, **kwargs)
+
+    def SetRegionSizes(*args, **kwargs):
+        """SetRegionSizes()"""
+        return _ogl.PyDividedShape_SetRegionSizes(*args, **kwargs)
+
+    def base_OnDelete(*args, **kwargs):
+        """base_OnDelete()"""
+        return _ogl.PyDividedShape_base_OnDelete(*args, **kwargs)
+
+    def base_OnDraw(*args, **kwargs):
+        """base_OnDraw(wxDC dc)"""
+        return _ogl.PyDividedShape_base_OnDraw(*args, **kwargs)
+
+    def base_OnDrawContents(*args, **kwargs):
+        """base_OnDrawContents(wxDC dc)"""
+        return _ogl.PyDividedShape_base_OnDrawContents(*args, **kwargs)
+
+    def base_OnDrawBranches(*args, **kwargs):
+        """base_OnDrawBranches(wxDC dc, bool erase=FALSE)"""
+        return _ogl.PyDividedShape_base_OnDrawBranches(*args, **kwargs)
+
+    def base_OnMoveLinks(*args, **kwargs):
+        """base_OnMoveLinks(wxDC dc)"""
+        return _ogl.PyDividedShape_base_OnMoveLinks(*args, **kwargs)
+
+    def base_OnErase(*args, **kwargs):
+        """base_OnErase(wxDC dc)"""
+        return _ogl.PyDividedShape_base_OnErase(*args, **kwargs)
+
+    def base_OnEraseContents(*args, **kwargs):
+        """base_OnEraseContents(wxDC dc)"""
+        return _ogl.PyDividedShape_base_OnEraseContents(*args, **kwargs)
+
+    def base_OnHighlight(*args, **kwargs):
+        """base_OnHighlight(wxDC dc)"""
+        return _ogl.PyDividedShape_base_OnHighlight(*args, **kwargs)
+
+    def base_OnLeftClick(*args, **kwargs):
+        """base_OnLeftClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyDividedShape_base_OnLeftClick(*args, **kwargs)
+
+    def base_OnLeftDoubleClick(*args, **kwargs):
+        """base_OnLeftDoubleClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyDividedShape_base_OnLeftDoubleClick(*args, **kwargs)
+
+    def base_OnRightClick(*args, **kwargs):
+        """base_OnRightClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyDividedShape_base_OnRightClick(*args, **kwargs)
+
+    def base_OnSize(*args, **kwargs):
+        """base_OnSize(double x, double y)"""
+        return _ogl.PyDividedShape_base_OnSize(*args, **kwargs)
+
+    def base_OnMovePre(*args, **kwargs):
+        """base_OnMovePre(wxDC dc, double x, double y, double old_x, double old_y, 
+    bool display=True) -> bool"""
+        return _ogl.PyDividedShape_base_OnMovePre(*args, **kwargs)
+
+    def base_OnMovePost(*args, **kwargs):
+        """base_OnMovePost(wxDC dc, double x, double y, double old_x, double old_y, 
+    bool display=True)"""
+        return _ogl.PyDividedShape_base_OnMovePost(*args, **kwargs)
+
+    def base_OnDragLeft(*args, **kwargs):
+        """base_OnDragLeft(bool draw, double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyDividedShape_base_OnDragLeft(*args, **kwargs)
+
+    def base_OnBeginDragLeft(*args, **kwargs):
+        """base_OnBeginDragLeft(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyDividedShape_base_OnBeginDragLeft(*args, **kwargs)
+
+    def base_OnEndDragLeft(*args, **kwargs):
+        """base_OnEndDragLeft(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyDividedShape_base_OnEndDragLeft(*args, **kwargs)
+
+    def base_OnDragRight(*args, **kwargs):
+        """base_OnDragRight(bool draw, double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyDividedShape_base_OnDragRight(*args, **kwargs)
+
+    def base_OnBeginDragRight(*args, **kwargs):
+        """base_OnBeginDragRight(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyDividedShape_base_OnBeginDragRight(*args, **kwargs)
+
+    def base_OnEndDragRight(*args, **kwargs):
+        """base_OnEndDragRight(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyDividedShape_base_OnEndDragRight(*args, **kwargs)
+
+    def base_OnDrawOutline(*args, **kwargs):
+        """base_OnDrawOutline(wxDC dc, double x, double y, double w, double h)"""
+        return _ogl.PyDividedShape_base_OnDrawOutline(*args, **kwargs)
+
+    def base_OnDrawControlPoints(*args, **kwargs):
+        """base_OnDrawControlPoints(wxDC dc)"""
+        return _ogl.PyDividedShape_base_OnDrawControlPoints(*args, **kwargs)
+
+    def base_OnEraseControlPoints(*args, **kwargs):
+        """base_OnEraseControlPoints(wxDC dc)"""
+        return _ogl.PyDividedShape_base_OnEraseControlPoints(*args, **kwargs)
+
+    def base_OnMoveLink(*args, **kwargs):
+        """base_OnMoveLink(wxDC dc, bool moveControlPoints=True)"""
+        return _ogl.PyDividedShape_base_OnMoveLink(*args, **kwargs)
+
+    def base_OnSizingDragLeft(*args, **kwargs):
+        """base_OnSizingDragLeft(PyControlPoint pt, bool draw, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyDividedShape_base_OnSizingDragLeft(*args, **kwargs)
+
+    def base_OnSizingBeginDragLeft(*args, **kwargs):
+        """base_OnSizingBeginDragLeft(PyControlPoint pt, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyDividedShape_base_OnSizingBeginDragLeft(*args, **kwargs)
+
+    def base_OnSizingEndDragLeft(*args, **kwargs):
+        """base_OnSizingEndDragLeft(PyControlPoint pt, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyDividedShape_base_OnSizingEndDragLeft(*args, **kwargs)
+
+    def base_OnBeginSize(*args, **kwargs):
+        """base_OnBeginSize(double w, double h)"""
+        return _ogl.PyDividedShape_base_OnBeginSize(*args, **kwargs)
+
+    def base_OnEndSize(*args, **kwargs):
+        """base_OnEndSize(double w, double h)"""
+        return _ogl.PyDividedShape_base_OnEndSize(*args, **kwargs)
+
+
+class PyDividedShapePtr(PyDividedShape):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = PyDividedShape
+_ogl.PyDividedShape_swigregister(PyDividedShapePtr)
+
+class PyDivisionShape(PyCompositeShape):
+    """"""
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxPyDivisionShape instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__() -> PyDivisionShape"""
+        newobj = _ogl.new_PyDivisionShape(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+        self._setOORandCallbackInfo(PyDivisionShape)
+
+    def _setCallbackInfo(*args, **kwargs):
+        """_setCallbackInfo(PyObject self, PyObject _class)"""
+        return _ogl.PyDivisionShape__setCallbackInfo(*args, **kwargs)
+
+    def AdjustBottom(*args, **kwargs):
+        """AdjustBottom(double bottom, bool test)"""
+        return _ogl.PyDivisionShape_AdjustBottom(*args, **kwargs)
+
+    def AdjustLeft(*args, **kwargs):
+        """AdjustLeft(double left, bool test)"""
+        return _ogl.PyDivisionShape_AdjustLeft(*args, **kwargs)
+
+    def AdjustRight(*args, **kwargs):
+        """AdjustRight(double right, bool test)"""
+        return _ogl.PyDivisionShape_AdjustRight(*args, **kwargs)
+
+    def AdjustTop(*args, **kwargs):
+        """AdjustTop(double top, bool test)"""
+        return _ogl.PyDivisionShape_AdjustTop(*args, **kwargs)
+
+    def Divide(*args, **kwargs):
+        """Divide(int direction)"""
+        return _ogl.PyDivisionShape_Divide(*args, **kwargs)
+
+    def EditEdge(*args, **kwargs):
+        """EditEdge(int side)"""
+        return _ogl.PyDivisionShape_EditEdge(*args, **kwargs)
+
+    def GetBottomSide(*args, **kwargs):
+        """GetBottomSide() -> PyDivisionShape"""
+        return _ogl.PyDivisionShape_GetBottomSide(*args, **kwargs)
+
+    def GetHandleSide(*args, **kwargs):
+        """GetHandleSide() -> int"""
+        return _ogl.PyDivisionShape_GetHandleSide(*args, **kwargs)
+
+    def GetLeftSide(*args, **kwargs):
+        """GetLeftSide() -> PyDivisionShape"""
+        return _ogl.PyDivisionShape_GetLeftSide(*args, **kwargs)
+
+    def GetLeftSideColour(*args, **kwargs):
+        """GetLeftSideColour() -> wxString"""
+        return _ogl.PyDivisionShape_GetLeftSideColour(*args, **kwargs)
+
+    def GetLeftSidePen(*args, **kwargs):
+        """GetLeftSidePen() -> wxPen"""
+        return _ogl.PyDivisionShape_GetLeftSidePen(*args, **kwargs)
+
+    def GetRightSide(*args, **kwargs):
+        """GetRightSide() -> PyDivisionShape"""
+        return _ogl.PyDivisionShape_GetRightSide(*args, **kwargs)
+
+    def GetTopSide(*args, **kwargs):
+        """GetTopSide() -> PyDivisionShape"""
+        return _ogl.PyDivisionShape_GetTopSide(*args, **kwargs)
+
+    def GetTopSidePen(*args, **kwargs):
+        """GetTopSidePen() -> wxPen"""
+        return _ogl.PyDivisionShape_GetTopSidePen(*args, **kwargs)
+
+    def ResizeAdjoining(*args, **kwargs):
+        """ResizeAdjoining(int side, double newPos, bool test)"""
+        return _ogl.PyDivisionShape_ResizeAdjoining(*args, **kwargs)
+
+    def PopupMenu(*args, **kwargs):
+        """PopupMenu(double x, double y)"""
+        return _ogl.PyDivisionShape_PopupMenu(*args, **kwargs)
+
+    def SetBottomSide(*args, **kwargs):
+        """SetBottomSide(PyDivisionShape shape)"""
+        return _ogl.PyDivisionShape_SetBottomSide(*args, **kwargs)
+
+    def SetHandleSide(*args, **kwargs):
+        """SetHandleSide(int side)"""
+        return _ogl.PyDivisionShape_SetHandleSide(*args, **kwargs)
+
+    def SetLeftSide(*args, **kwargs):
+        """SetLeftSide(PyDivisionShape shape)"""
+        return _ogl.PyDivisionShape_SetLeftSide(*args, **kwargs)
+
+    def SetLeftSideColour(*args, **kwargs):
+        """SetLeftSideColour(wxString colour)"""
+        return _ogl.PyDivisionShape_SetLeftSideColour(*args, **kwargs)
+
+    def SetLeftSidePen(*args, **kwargs):
+        """SetLeftSidePen(wxPen pen)"""
+        return _ogl.PyDivisionShape_SetLeftSidePen(*args, **kwargs)
+
+    def SetRightSide(*args, **kwargs):
+        """SetRightSide(PyDivisionShape shape)"""
+        return _ogl.PyDivisionShape_SetRightSide(*args, **kwargs)
+
+    def SetTopSide(*args, **kwargs):
+        """SetTopSide(PyDivisionShape shape)"""
+        return _ogl.PyDivisionShape_SetTopSide(*args, **kwargs)
+
+    def SetTopSideColour(*args, **kwargs):
+        """SetTopSideColour(wxString colour)"""
+        return _ogl.PyDivisionShape_SetTopSideColour(*args, **kwargs)
+
+    def SetTopSidePen(*args, **kwargs):
+        """SetTopSidePen(wxPen pen)"""
+        return _ogl.PyDivisionShape_SetTopSidePen(*args, **kwargs)
+
+    def base_OnDelete(*args, **kwargs):
+        """base_OnDelete()"""
+        return _ogl.PyDivisionShape_base_OnDelete(*args, **kwargs)
+
+    def base_OnDraw(*args, **kwargs):
+        """base_OnDraw(wxDC dc)"""
+        return _ogl.PyDivisionShape_base_OnDraw(*args, **kwargs)
+
+    def base_OnDrawContents(*args, **kwargs):
+        """base_OnDrawContents(wxDC dc)"""
+        return _ogl.PyDivisionShape_base_OnDrawContents(*args, **kwargs)
+
+    def base_OnDrawBranches(*args, **kwargs):
+        """base_OnDrawBranches(wxDC dc, bool erase=FALSE)"""
+        return _ogl.PyDivisionShape_base_OnDrawBranches(*args, **kwargs)
+
+    def base_OnMoveLinks(*args, **kwargs):
+        """base_OnMoveLinks(wxDC dc)"""
+        return _ogl.PyDivisionShape_base_OnMoveLinks(*args, **kwargs)
+
+    def base_OnErase(*args, **kwargs):
+        """base_OnErase(wxDC dc)"""
+        return _ogl.PyDivisionShape_base_OnErase(*args, **kwargs)
+
+    def base_OnEraseContents(*args, **kwargs):
+        """base_OnEraseContents(wxDC dc)"""
+        return _ogl.PyDivisionShape_base_OnEraseContents(*args, **kwargs)
+
+    def base_OnHighlight(*args, **kwargs):
+        """base_OnHighlight(wxDC dc)"""
+        return _ogl.PyDivisionShape_base_OnHighlight(*args, **kwargs)
+
+    def base_OnLeftClick(*args, **kwargs):
+        """base_OnLeftClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyDivisionShape_base_OnLeftClick(*args, **kwargs)
+
+    def base_OnLeftDoubleClick(*args, **kwargs):
+        """base_OnLeftDoubleClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyDivisionShape_base_OnLeftDoubleClick(*args, **kwargs)
+
+    def base_OnRightClick(*args, **kwargs):
+        """base_OnRightClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyDivisionShape_base_OnRightClick(*args, **kwargs)
+
+    def base_OnSize(*args, **kwargs):
+        """base_OnSize(double x, double y)"""
+        return _ogl.PyDivisionShape_base_OnSize(*args, **kwargs)
+
+    def base_OnMovePre(*args, **kwargs):
+        """base_OnMovePre(wxDC dc, double x, double y, double old_x, double old_y, 
+    bool display=True) -> bool"""
+        return _ogl.PyDivisionShape_base_OnMovePre(*args, **kwargs)
+
+    def base_OnMovePost(*args, **kwargs):
+        """base_OnMovePost(wxDC dc, double x, double y, double old_x, double old_y, 
+    bool display=True)"""
+        return _ogl.PyDivisionShape_base_OnMovePost(*args, **kwargs)
+
+    def base_OnDragLeft(*args, **kwargs):
+        """base_OnDragLeft(bool draw, double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyDivisionShape_base_OnDragLeft(*args, **kwargs)
+
+    def base_OnBeginDragLeft(*args, **kwargs):
+        """base_OnBeginDragLeft(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyDivisionShape_base_OnBeginDragLeft(*args, **kwargs)
+
+    def base_OnEndDragLeft(*args, **kwargs):
+        """base_OnEndDragLeft(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyDivisionShape_base_OnEndDragLeft(*args, **kwargs)
+
+    def base_OnDragRight(*args, **kwargs):
+        """base_OnDragRight(bool draw, double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyDivisionShape_base_OnDragRight(*args, **kwargs)
+
+    def base_OnBeginDragRight(*args, **kwargs):
+        """base_OnBeginDragRight(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyDivisionShape_base_OnBeginDragRight(*args, **kwargs)
+
+    def base_OnEndDragRight(*args, **kwargs):
+        """base_OnEndDragRight(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyDivisionShape_base_OnEndDragRight(*args, **kwargs)
+
+    def base_OnDrawOutline(*args, **kwargs):
+        """base_OnDrawOutline(wxDC dc, double x, double y, double w, double h)"""
+        return _ogl.PyDivisionShape_base_OnDrawOutline(*args, **kwargs)
+
+    def base_OnDrawControlPoints(*args, **kwargs):
+        """base_OnDrawControlPoints(wxDC dc)"""
+        return _ogl.PyDivisionShape_base_OnDrawControlPoints(*args, **kwargs)
+
+    def base_OnEraseControlPoints(*args, **kwargs):
+        """base_OnEraseControlPoints(wxDC dc)"""
+        return _ogl.PyDivisionShape_base_OnEraseControlPoints(*args, **kwargs)
+
+    def base_OnMoveLink(*args, **kwargs):
+        """base_OnMoveLink(wxDC dc, bool moveControlPoints=True)"""
+        return _ogl.PyDivisionShape_base_OnMoveLink(*args, **kwargs)
+
+    def base_OnSizingDragLeft(*args, **kwargs):
+        """base_OnSizingDragLeft(PyControlPoint pt, bool draw, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyDivisionShape_base_OnSizingDragLeft(*args, **kwargs)
+
+    def base_OnSizingBeginDragLeft(*args, **kwargs):
+        """base_OnSizingBeginDragLeft(PyControlPoint pt, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyDivisionShape_base_OnSizingBeginDragLeft(*args, **kwargs)
+
+    def base_OnSizingEndDragLeft(*args, **kwargs):
+        """base_OnSizingEndDragLeft(PyControlPoint pt, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyDivisionShape_base_OnSizingEndDragLeft(*args, **kwargs)
+
+    def base_OnBeginSize(*args, **kwargs):
+        """base_OnBeginSize(double w, double h)"""
+        return _ogl.PyDivisionShape_base_OnBeginSize(*args, **kwargs)
+
+    def base_OnEndSize(*args, **kwargs):
+        """base_OnEndSize(double w, double h)"""
+        return _ogl.PyDivisionShape_base_OnEndSize(*args, **kwargs)
+
+
+class PyDivisionShapePtr(PyDivisionShape):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = PyDivisionShape
+_ogl.PyDivisionShape_swigregister(PyDivisionShapePtr)
+
+class PyEllipseShape(PyShape):
+    """"""
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxPyEllipseShape instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__(double width=0.0, double height=0.0) -> PyEllipseShape"""
+        newobj = _ogl.new_PyEllipseShape(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+        self._setOORandCallbackInfo(PyEllipseShape)
+
+    def _setCallbackInfo(*args, **kwargs):
+        """_setCallbackInfo(PyObject self, PyObject _class)"""
+        return _ogl.PyEllipseShape__setCallbackInfo(*args, **kwargs)
+
+    def base_OnDraw(*args, **kwargs):
+        """base_OnDraw(wxDC dc)"""
+        return _ogl.PyEllipseShape_base_OnDraw(*args, **kwargs)
+
+    def base_OnDrawContents(*args, **kwargs):
+        """base_OnDrawContents(wxDC dc)"""
+        return _ogl.PyEllipseShape_base_OnDrawContents(*args, **kwargs)
+
+    def base_OnDrawBranches(*args, **kwargs):
+        """base_OnDrawBranches(wxDC dc, bool erase=FALSE)"""
+        return _ogl.PyEllipseShape_base_OnDrawBranches(*args, **kwargs)
+
+    def base_OnMoveLinks(*args, **kwargs):
+        """base_OnMoveLinks(wxDC dc)"""
+        return _ogl.PyEllipseShape_base_OnMoveLinks(*args, **kwargs)
+
+    def base_OnErase(*args, **kwargs):
+        """base_OnErase(wxDC dc)"""
+        return _ogl.PyEllipseShape_base_OnErase(*args, **kwargs)
+
+    def base_OnEraseContents(*args, **kwargs):
+        """base_OnEraseContents(wxDC dc)"""
+        return _ogl.PyEllipseShape_base_OnEraseContents(*args, **kwargs)
+
+    def base_OnHighlight(*args, **kwargs):
+        """base_OnHighlight(wxDC dc)"""
+        return _ogl.PyEllipseShape_base_OnHighlight(*args, **kwargs)
+
+    def base_OnLeftClick(*args, **kwargs):
+        """base_OnLeftClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyEllipseShape_base_OnLeftClick(*args, **kwargs)
+
+    def base_OnLeftDoubleClick(*args, **kwargs):
+        """base_OnLeftDoubleClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyEllipseShape_base_OnLeftDoubleClick(*args, **kwargs)
+
+    def base_OnRightClick(*args, **kwargs):
+        """base_OnRightClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyEllipseShape_base_OnRightClick(*args, **kwargs)
+
+    def base_OnSize(*args, **kwargs):
+        """base_OnSize(double x, double y)"""
+        return _ogl.PyEllipseShape_base_OnSize(*args, **kwargs)
+
+    def base_OnMovePre(*args, **kwargs):
+        """base_OnMovePre(wxDC dc, double x, double y, double old_x, double old_y, 
+    bool display=True) -> bool"""
+        return _ogl.PyEllipseShape_base_OnMovePre(*args, **kwargs)
+
+    def base_OnMovePost(*args, **kwargs):
+        """base_OnMovePost(wxDC dc, double x, double y, double old_x, double old_y, 
+    bool display=True)"""
+        return _ogl.PyEllipseShape_base_OnMovePost(*args, **kwargs)
+
+    def base_OnDragLeft(*args, **kwargs):
+        """base_OnDragLeft(bool draw, double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyEllipseShape_base_OnDragLeft(*args, **kwargs)
+
+    def base_OnBeginDragLeft(*args, **kwargs):
+        """base_OnBeginDragLeft(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyEllipseShape_base_OnBeginDragLeft(*args, **kwargs)
+
+    def base_OnEndDragLeft(*args, **kwargs):
+        """base_OnEndDragLeft(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyEllipseShape_base_OnEndDragLeft(*args, **kwargs)
+
+    def base_OnDragRight(*args, **kwargs):
+        """base_OnDragRight(bool draw, double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyEllipseShape_base_OnDragRight(*args, **kwargs)
+
+    def base_OnBeginDragRight(*args, **kwargs):
+        """base_OnBeginDragRight(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyEllipseShape_base_OnBeginDragRight(*args, **kwargs)
+
+    def base_OnEndDragRight(*args, **kwargs):
+        """base_OnEndDragRight(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyEllipseShape_base_OnEndDragRight(*args, **kwargs)
+
+    def base_OnDrawOutline(*args, **kwargs):
+        """base_OnDrawOutline(wxDC dc, double x, double y, double w, double h)"""
+        return _ogl.PyEllipseShape_base_OnDrawOutline(*args, **kwargs)
+
+    def base_OnDrawControlPoints(*args, **kwargs):
+        """base_OnDrawControlPoints(wxDC dc)"""
+        return _ogl.PyEllipseShape_base_OnDrawControlPoints(*args, **kwargs)
+
+    def base_OnEraseControlPoints(*args, **kwargs):
+        """base_OnEraseControlPoints(wxDC dc)"""
+        return _ogl.PyEllipseShape_base_OnEraseControlPoints(*args, **kwargs)
+
+    def base_OnMoveLink(*args, **kwargs):
+        """base_OnMoveLink(wxDC dc, bool moveControlPoints=True)"""
+        return _ogl.PyEllipseShape_base_OnMoveLink(*args, **kwargs)
+
+    def base_OnSizingDragLeft(*args, **kwargs):
+        """base_OnSizingDragLeft(PyControlPoint pt, bool draw, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyEllipseShape_base_OnSizingDragLeft(*args, **kwargs)
+
+    def base_OnSizingBeginDragLeft(*args, **kwargs):
+        """base_OnSizingBeginDragLeft(PyControlPoint pt, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyEllipseShape_base_OnSizingBeginDragLeft(*args, **kwargs)
+
+    def base_OnSizingEndDragLeft(*args, **kwargs):
+        """base_OnSizingEndDragLeft(PyControlPoint pt, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyEllipseShape_base_OnSizingEndDragLeft(*args, **kwargs)
+
+    def base_OnBeginSize(*args, **kwargs):
+        """base_OnBeginSize(double w, double h)"""
+        return _ogl.PyEllipseShape_base_OnBeginSize(*args, **kwargs)
+
+    def base_OnEndSize(*args, **kwargs):
+        """base_OnEndSize(double w, double h)"""
+        return _ogl.PyEllipseShape_base_OnEndSize(*args, **kwargs)
+
+
+class PyEllipseShapePtr(PyEllipseShape):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = PyEllipseShape
+_ogl.PyEllipseShape_swigregister(PyEllipseShapePtr)
+
+class PyCircleShape(PyEllipseShape):
+    """"""
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxPyCircleShape instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__(double width=0.0) -> PyCircleShape"""
+        newobj = _ogl.new_PyCircleShape(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+        self._setOORandCallbackInfo(PyCircleShape)
+
+    def _setCallbackInfo(*args, **kwargs):
+        """_setCallbackInfo(PyObject self, PyObject _class)"""
+        return _ogl.PyCircleShape__setCallbackInfo(*args, **kwargs)
+
+    def base_OnDraw(*args, **kwargs):
+        """base_OnDraw(wxDC dc)"""
+        return _ogl.PyCircleShape_base_OnDraw(*args, **kwargs)
+
+    def base_OnDrawContents(*args, **kwargs):
+        """base_OnDrawContents(wxDC dc)"""
+        return _ogl.PyCircleShape_base_OnDrawContents(*args, **kwargs)
+
+    def base_OnDrawBranches(*args, **kwargs):
+        """base_OnDrawBranches(wxDC dc, bool erase=FALSE)"""
+        return _ogl.PyCircleShape_base_OnDrawBranches(*args, **kwargs)
+
+    def base_OnMoveLinks(*args, **kwargs):
+        """base_OnMoveLinks(wxDC dc)"""
+        return _ogl.PyCircleShape_base_OnMoveLinks(*args, **kwargs)
+
+    def base_OnErase(*args, **kwargs):
+        """base_OnErase(wxDC dc)"""
+        return _ogl.PyCircleShape_base_OnErase(*args, **kwargs)
+
+    def base_OnEraseContents(*args, **kwargs):
+        """base_OnEraseContents(wxDC dc)"""
+        return _ogl.PyCircleShape_base_OnEraseContents(*args, **kwargs)
+
+    def base_OnHighlight(*args, **kwargs):
+        """base_OnHighlight(wxDC dc)"""
+        return _ogl.PyCircleShape_base_OnHighlight(*args, **kwargs)
+
+    def base_OnLeftClick(*args, **kwargs):
+        """base_OnLeftClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyCircleShape_base_OnLeftClick(*args, **kwargs)
+
+    def base_OnLeftDoubleClick(*args, **kwargs):
+        """base_OnLeftDoubleClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyCircleShape_base_OnLeftDoubleClick(*args, **kwargs)
+
+    def base_OnRightClick(*args, **kwargs):
+        """base_OnRightClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyCircleShape_base_OnRightClick(*args, **kwargs)
+
+    def base_OnSize(*args, **kwargs):
+        """base_OnSize(double x, double y)"""
+        return _ogl.PyCircleShape_base_OnSize(*args, **kwargs)
+
+    def base_OnMovePre(*args, **kwargs):
+        """base_OnMovePre(wxDC dc, double x, double y, double old_x, double old_y, 
+    bool display=True) -> bool"""
+        return _ogl.PyCircleShape_base_OnMovePre(*args, **kwargs)
+
+    def base_OnMovePost(*args, **kwargs):
+        """base_OnMovePost(wxDC dc, double x, double y, double old_x, double old_y, 
+    bool display=True)"""
+        return _ogl.PyCircleShape_base_OnMovePost(*args, **kwargs)
+
+    def base_OnDragLeft(*args, **kwargs):
+        """base_OnDragLeft(bool draw, double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyCircleShape_base_OnDragLeft(*args, **kwargs)
+
+    def base_OnBeginDragLeft(*args, **kwargs):
+        """base_OnBeginDragLeft(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyCircleShape_base_OnBeginDragLeft(*args, **kwargs)
+
+    def base_OnEndDragLeft(*args, **kwargs):
+        """base_OnEndDragLeft(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyCircleShape_base_OnEndDragLeft(*args, **kwargs)
+
+    def base_OnDragRight(*args, **kwargs):
+        """base_OnDragRight(bool draw, double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyCircleShape_base_OnDragRight(*args, **kwargs)
+
+    def base_OnBeginDragRight(*args, **kwargs):
+        """base_OnBeginDragRight(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyCircleShape_base_OnBeginDragRight(*args, **kwargs)
+
+    def base_OnEndDragRight(*args, **kwargs):
+        """base_OnEndDragRight(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyCircleShape_base_OnEndDragRight(*args, **kwargs)
+
+    def base_OnDrawOutline(*args, **kwargs):
+        """base_OnDrawOutline(wxDC dc, double x, double y, double w, double h)"""
+        return _ogl.PyCircleShape_base_OnDrawOutline(*args, **kwargs)
+
+    def base_OnDrawControlPoints(*args, **kwargs):
+        """base_OnDrawControlPoints(wxDC dc)"""
+        return _ogl.PyCircleShape_base_OnDrawControlPoints(*args, **kwargs)
+
+    def base_OnEraseControlPoints(*args, **kwargs):
+        """base_OnEraseControlPoints(wxDC dc)"""
+        return _ogl.PyCircleShape_base_OnEraseControlPoints(*args, **kwargs)
+
+    def base_OnMoveLink(*args, **kwargs):
+        """base_OnMoveLink(wxDC dc, bool moveControlPoints=True)"""
+        return _ogl.PyCircleShape_base_OnMoveLink(*args, **kwargs)
+
+    def base_OnSizingDragLeft(*args, **kwargs):
+        """base_OnSizingDragLeft(PyControlPoint pt, bool draw, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyCircleShape_base_OnSizingDragLeft(*args, **kwargs)
+
+    def base_OnSizingBeginDragLeft(*args, **kwargs):
+        """base_OnSizingBeginDragLeft(PyControlPoint pt, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyCircleShape_base_OnSizingBeginDragLeft(*args, **kwargs)
+
+    def base_OnSizingEndDragLeft(*args, **kwargs):
+        """base_OnSizingEndDragLeft(PyControlPoint pt, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyCircleShape_base_OnSizingEndDragLeft(*args, **kwargs)
+
+    def base_OnBeginSize(*args, **kwargs):
+        """base_OnBeginSize(double w, double h)"""
+        return _ogl.PyCircleShape_base_OnBeginSize(*args, **kwargs)
+
+    def base_OnEndSize(*args, **kwargs):
+        """base_OnEndSize(double w, double h)"""
+        return _ogl.PyCircleShape_base_OnEndSize(*args, **kwargs)
+
+
+class PyCircleShapePtr(PyCircleShape):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = PyCircleShape
+_ogl.PyCircleShape_swigregister(PyCircleShapePtr)
+
+class ArrowHead(core.Object):
+    """"""
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxArrowHead instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__(int type=0, int end=0, double size=0.0, double dist=0.0, 
+    wxString name=wxPyEmptyString, PseudoMetaFile mf=None, 
+    long arrowId=-1) -> ArrowHead"""
+        newobj = _ogl.new_ArrowHead(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+    def __del__(self, destroy=_ogl.delete_ArrowHead):
+        """__del__()"""
+        try:
+            if self.thisown: destroy(self)
+        except: pass
+
+    def _GetType(*args, **kwargs):
+        """_GetType() -> int"""
+        return _ogl.ArrowHead__GetType(*args, **kwargs)
+
+    def GetPosition(*args, **kwargs):
+        """GetPosition() -> int"""
+        return _ogl.ArrowHead_GetPosition(*args, **kwargs)
+
+    def SetPosition(*args, **kwargs):
+        """SetPosition(int pos)"""
+        return _ogl.ArrowHead_SetPosition(*args, **kwargs)
+
+    def GetXOffset(*args, **kwargs):
+        """GetXOffset() -> double"""
+        return _ogl.ArrowHead_GetXOffset(*args, **kwargs)
+
+    def GetYOffset(*args, **kwargs):
+        """GetYOffset() -> double"""
+        return _ogl.ArrowHead_GetYOffset(*args, **kwargs)
+
+    def GetSpacing(*args, **kwargs):
+        """GetSpacing() -> double"""
+        return _ogl.ArrowHead_GetSpacing(*args, **kwargs)
+
+    def GetSize(*args, **kwargs):
+        """GetSize() -> double"""
+        return _ogl.ArrowHead_GetSize(*args, **kwargs)
+
+    def GetName(*args, **kwargs):
+        """GetName() -> wxString"""
+        return _ogl.ArrowHead_GetName(*args, **kwargs)
+
+    def SetXOffset(*args, **kwargs):
+        """SetXOffset(double x)"""
+        return _ogl.ArrowHead_SetXOffset(*args, **kwargs)
+
+    def SetYOffset(*args, **kwargs):
+        """SetYOffset(double y)"""
+        return _ogl.ArrowHead_SetYOffset(*args, **kwargs)
+
+    def GetMetaFile(*args, **kwargs):
+        """GetMetaFile() -> PseudoMetaFile"""
+        return _ogl.ArrowHead_GetMetaFile(*args, **kwargs)
+
+    def GetId(*args, **kwargs):
+        """GetId() -> long"""
+        return _ogl.ArrowHead_GetId(*args, **kwargs)
+
+    def GetArrowEnd(*args, **kwargs):
+        """GetArrowEnd() -> int"""
+        return _ogl.ArrowHead_GetArrowEnd(*args, **kwargs)
+
+    def GetArrowSize(*args, **kwargs):
+        """GetArrowSize() -> double"""
+        return _ogl.ArrowHead_GetArrowSize(*args, **kwargs)
+
+    def SetSize(*args, **kwargs):
+        """SetSize(double size)"""
+        return _ogl.ArrowHead_SetSize(*args, **kwargs)
+
+    def SetSpacing(*args, **kwargs):
+        """SetSpacing(double sp)"""
+        return _ogl.ArrowHead_SetSpacing(*args, **kwargs)
+
+
+class ArrowHeadPtr(ArrowHead):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = ArrowHead
+_ogl.ArrowHead_swigregister(ArrowHeadPtr)
+
+class PyLineShape(PyShape):
+    """"""
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxPyLineShape instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__() -> PyLineShape"""
+        newobj = _ogl.new_PyLineShape(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+        self._setOORandCallbackInfo(PyLineShape)
+
+    def _setCallbackInfo(*args, **kwargs):
+        """_setCallbackInfo(PyObject self, PyObject _class)"""
+        return _ogl.PyLineShape__setCallbackInfo(*args, **kwargs)
+
+    def AddArrow(*args, **kwargs):
+        """AddArrow(int type, int end=ARROW_POSITION_END, double arrowSize=10.0, 
+    double xOffset=0.0, wxString name=wxPyEmptyString, 
+    PseudoMetaFile mf=None, long arrowId=-1)"""
+        return _ogl.PyLineShape_AddArrow(*args, **kwargs)
+
+    def AddArrowOrdered(*args, **kwargs):
+        """AddArrowOrdered(ArrowHead arrow, PyObject referenceList, int end)"""
+        return _ogl.PyLineShape_AddArrowOrdered(*args, **kwargs)
+
+    def ClearArrow(*args, **kwargs):
+        """ClearArrow(wxString name) -> bool"""
+        return _ogl.PyLineShape_ClearArrow(*args, **kwargs)
+
+    def ClearArrowsAtPosition(*args, **kwargs):
+        """ClearArrowsAtPosition(int position=-1)"""
+        return _ogl.PyLineShape_ClearArrowsAtPosition(*args, **kwargs)
+
+    def DrawArrow(*args, **kwargs):
+        """DrawArrow(wxDC dc, ArrowHead arrow, double xOffset, bool proportionalOffset)"""
+        return _ogl.PyLineShape_DrawArrow(*args, **kwargs)
+
+    def DeleteArrowHeadId(*args, **kwargs):
+        """DeleteArrowHeadId(long arrowId) -> bool"""
+        return _ogl.PyLineShape_DeleteArrowHeadId(*args, **kwargs)
+
+    def DeleteArrowHead(*args, **kwargs):
+        """DeleteArrowHead(int position, wxString name) -> bool"""
+        return _ogl.PyLineShape_DeleteArrowHead(*args, **kwargs)
+
+    def DeleteLineControlPoint(*args, **kwargs):
+        """DeleteLineControlPoint() -> bool"""
+        return _ogl.PyLineShape_DeleteLineControlPoint(*args, **kwargs)
+
+    def DrawArrows(*args, **kwargs):
+        """DrawArrows(wxDC dc)"""
+        return _ogl.PyLineShape_DrawArrows(*args, **kwargs)
+
+    def DrawRegion(*args, **kwargs):
+        """DrawRegion(wxDC dc, ShapeRegion region, double x, double y)"""
+        return _ogl.PyLineShape_DrawRegion(*args, **kwargs)
+
+    def EraseRegion(*args, **kwargs):
+        """EraseRegion(wxDC dc, ShapeRegion region, double x, double y)"""
+        return _ogl.PyLineShape_EraseRegion(*args, **kwargs)
+
+    def FindArrowHeadId(*args, **kwargs):
+        """FindArrowHeadId(long arrowId) -> ArrowHead"""
+        return _ogl.PyLineShape_FindArrowHeadId(*args, **kwargs)
+
+    def FindArrowHead(*args, **kwargs):
+        """FindArrowHead(int position, wxString name) -> ArrowHead"""
+        return _ogl.PyLineShape_FindArrowHead(*args, **kwargs)
+
+    def FindLineEndPoints(*args, **kwargs):
+        """FindLineEndPoints(double OUTPUT, double OUTPUT, double OUTPUT, double OUTPUT)"""
+        return _ogl.PyLineShape_FindLineEndPoints(*args, **kwargs)
+
+    def FindLinePosition(*args, **kwargs):
+        """FindLinePosition(double x, double y) -> int"""
+        return _ogl.PyLineShape_FindLinePosition(*args, **kwargs)
+
+    def FindMinimumWidth(*args, **kwargs):
+        """FindMinimumWidth() -> double"""
+        return _ogl.PyLineShape_FindMinimumWidth(*args, **kwargs)
+
+    def FindNth(*args, **kwargs):
+        """FindNth(PyShape image, int OUTPUT, int OUTPUT, bool incoming)"""
+        return _ogl.PyLineShape_FindNth(*args, **kwargs)
+
+    def GetAttachmentFrom(*args, **kwargs):
+        """GetAttachmentFrom() -> int"""
+        return _ogl.PyLineShape_GetAttachmentFrom(*args, **kwargs)
+
+    def GetAttachmentTo(*args, **kwargs):
+        """GetAttachmentTo() -> int"""
+        return _ogl.PyLineShape_GetAttachmentTo(*args, **kwargs)
+
+    def GetEnds(*args, **kwargs):
+        """GetEnds(double OUTPUT, double OUTPUT, double OUTPUT, double OUTPUT)"""
+        return _ogl.PyLineShape_GetEnds(*args, **kwargs)
+
+    def GetFrom(*args, **kwargs):
+        """GetFrom() -> PyShape"""
+        return _ogl.PyLineShape_GetFrom(*args, **kwargs)
+
+    def GetLabelPosition(*args, **kwargs):
+        """GetLabelPosition(int position, double OUTPUT, double OUTPUT)"""
+        return _ogl.PyLineShape_GetLabelPosition(*args, **kwargs)
+
+    def GetNextControlPoint(*args, **kwargs):
+        """GetNextControlPoint(PyShape shape) -> RealPoint"""
+        return _ogl.PyLineShape_GetNextControlPoint(*args, **kwargs)
+
+    def GetTo(*args, **kwargs):
+        """GetTo() -> PyShape"""
+        return _ogl.PyLineShape_GetTo(*args, **kwargs)
+
+    def Initialise(*args, **kwargs):
+        """Initialise()"""
+        return _ogl.PyLineShape_Initialise(*args, **kwargs)
+
+    def InsertLineControlPoint(*args, **kwargs):
+        """InsertLineControlPoint(wxDC dc)"""
+        return _ogl.PyLineShape_InsertLineControlPoint(*args, **kwargs)
+
+    def IsEnd(*args, **kwargs):
+        """IsEnd(PyShape shape) -> bool"""
+        return _ogl.PyLineShape_IsEnd(*args, **kwargs)
+
+    def IsSpline(*args, **kwargs):
+        """IsSpline() -> bool"""
+        return _ogl.PyLineShape_IsSpline(*args, **kwargs)
+
+    def MakeLineControlPoints(*args, **kwargs):
+        """MakeLineControlPoints(int n)"""
+        return _ogl.PyLineShape_MakeLineControlPoints(*args, **kwargs)
+
+    def GetLineControlPoints(*args, **kwargs):
+        """GetLineControlPoints() -> PyObject"""
+        return _ogl.PyLineShape_GetLineControlPoints(*args, **kwargs)
+
+    def SetAttachmentFrom(*args, **kwargs):
+        """SetAttachmentFrom(int fromAttach)"""
+        return _ogl.PyLineShape_SetAttachmentFrom(*args, **kwargs)
+
+    def SetAttachments(*args, **kwargs):
+        """SetAttachments(int fromAttach, int toAttach)"""
+        return _ogl.PyLineShape_SetAttachments(*args, **kwargs)
+
+    def SetAttachmentTo(*args, **kwargs):
+        """SetAttachmentTo(int toAttach)"""
+        return _ogl.PyLineShape_SetAttachmentTo(*args, **kwargs)
+
+    def SetEnds(*args, **kwargs):
+        """SetEnds(double x1, double y1, double x2, double y2)"""
+        return _ogl.PyLineShape_SetEnds(*args, **kwargs)
+
+    def SetFrom(*args, **kwargs):
+        """SetFrom(PyShape object)"""
+        return _ogl.PyLineShape_SetFrom(*args, **kwargs)
+
+    def SetIgnoreOffsets(*args, **kwargs):
+        """SetIgnoreOffsets(bool ignore)"""
+        return _ogl.PyLineShape_SetIgnoreOffsets(*args, **kwargs)
+
+    def SetSpline(*args, **kwargs):
+        """SetSpline(bool spline)"""
+        return _ogl.PyLineShape_SetSpline(*args, **kwargs)
+
+    def SetTo(*args, **kwargs):
+        """SetTo(PyShape object)"""
+        return _ogl.PyLineShape_SetTo(*args, **kwargs)
+
+    def Straighten(*args, **kwargs):
+        """Straighten(wxDC dc=None)"""
+        return _ogl.PyLineShape_Straighten(*args, **kwargs)
+
+    def Unlink(*args, **kwargs):
+        """Unlink()"""
+        return _ogl.PyLineShape_Unlink(*args, **kwargs)
+
+    def base_OnDraw(*args, **kwargs):
+        """base_OnDraw(wxDC dc)"""
+        return _ogl.PyLineShape_base_OnDraw(*args, **kwargs)
+
+    def base_OnDrawContents(*args, **kwargs):
+        """base_OnDrawContents(wxDC dc)"""
+        return _ogl.PyLineShape_base_OnDrawContents(*args, **kwargs)
+
+    def base_OnDrawBranches(*args, **kwargs):
+        """base_OnDrawBranches(wxDC dc, bool erase=FALSE)"""
+        return _ogl.PyLineShape_base_OnDrawBranches(*args, **kwargs)
+
+    def base_OnMoveLinks(*args, **kwargs):
+        """base_OnMoveLinks(wxDC dc)"""
+        return _ogl.PyLineShape_base_OnMoveLinks(*args, **kwargs)
+
+    def base_OnErase(*args, **kwargs):
+        """base_OnErase(wxDC dc)"""
+        return _ogl.PyLineShape_base_OnErase(*args, **kwargs)
+
+    def base_OnEraseContents(*args, **kwargs):
+        """base_OnEraseContents(wxDC dc)"""
+        return _ogl.PyLineShape_base_OnEraseContents(*args, **kwargs)
+
+    def base_OnHighlight(*args, **kwargs):
+        """base_OnHighlight(wxDC dc)"""
+        return _ogl.PyLineShape_base_OnHighlight(*args, **kwargs)
+
+    def base_OnLeftClick(*args, **kwargs):
+        """base_OnLeftClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyLineShape_base_OnLeftClick(*args, **kwargs)
+
+    def base_OnLeftDoubleClick(*args, **kwargs):
+        """base_OnLeftDoubleClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyLineShape_base_OnLeftDoubleClick(*args, **kwargs)
+
+    def base_OnRightClick(*args, **kwargs):
+        """base_OnRightClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyLineShape_base_OnRightClick(*args, **kwargs)
+
+    def base_OnSize(*args, **kwargs):
+        """base_OnSize(double x, double y)"""
+        return _ogl.PyLineShape_base_OnSize(*args, **kwargs)
+
+    def base_OnMovePre(*args, **kwargs):
+        """base_OnMovePre(wxDC dc, double x, double y, double old_x, double old_y, 
+    bool display=True) -> bool"""
+        return _ogl.PyLineShape_base_OnMovePre(*args, **kwargs)
+
+    def base_OnMovePost(*args, **kwargs):
+        """base_OnMovePost(wxDC dc, double x, double y, double old_x, double old_y, 
+    bool display=True)"""
+        return _ogl.PyLineShape_base_OnMovePost(*args, **kwargs)
+
+    def base_OnDragLeft(*args, **kwargs):
+        """base_OnDragLeft(bool draw, double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyLineShape_base_OnDragLeft(*args, **kwargs)
+
+    def base_OnBeginDragLeft(*args, **kwargs):
+        """base_OnBeginDragLeft(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyLineShape_base_OnBeginDragLeft(*args, **kwargs)
+
+    def base_OnEndDragLeft(*args, **kwargs):
+        """base_OnEndDragLeft(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyLineShape_base_OnEndDragLeft(*args, **kwargs)
+
+    def base_OnDragRight(*args, **kwargs):
+        """base_OnDragRight(bool draw, double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyLineShape_base_OnDragRight(*args, **kwargs)
+
+    def base_OnBeginDragRight(*args, **kwargs):
+        """base_OnBeginDragRight(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyLineShape_base_OnBeginDragRight(*args, **kwargs)
+
+    def base_OnEndDragRight(*args, **kwargs):
+        """base_OnEndDragRight(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyLineShape_base_OnEndDragRight(*args, **kwargs)
+
+    def base_OnDrawOutline(*args, **kwargs):
+        """base_OnDrawOutline(wxDC dc, double x, double y, double w, double h)"""
+        return _ogl.PyLineShape_base_OnDrawOutline(*args, **kwargs)
+
+    def base_OnDrawControlPoints(*args, **kwargs):
+        """base_OnDrawControlPoints(wxDC dc)"""
+        return _ogl.PyLineShape_base_OnDrawControlPoints(*args, **kwargs)
+
+    def base_OnEraseControlPoints(*args, **kwargs):
+        """base_OnEraseControlPoints(wxDC dc)"""
+        return _ogl.PyLineShape_base_OnEraseControlPoints(*args, **kwargs)
+
+    def base_OnMoveLink(*args, **kwargs):
+        """base_OnMoveLink(wxDC dc, bool moveControlPoints=True)"""
+        return _ogl.PyLineShape_base_OnMoveLink(*args, **kwargs)
+
+    def base_OnSizingDragLeft(*args, **kwargs):
+        """base_OnSizingDragLeft(PyControlPoint pt, bool draw, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyLineShape_base_OnSizingDragLeft(*args, **kwargs)
+
+    def base_OnSizingBeginDragLeft(*args, **kwargs):
+        """base_OnSizingBeginDragLeft(PyControlPoint pt, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyLineShape_base_OnSizingBeginDragLeft(*args, **kwargs)
+
+    def base_OnSizingEndDragLeft(*args, **kwargs):
+        """base_OnSizingEndDragLeft(PyControlPoint pt, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyLineShape_base_OnSizingEndDragLeft(*args, **kwargs)
+
+    def base_OnBeginSize(*args, **kwargs):
+        """base_OnBeginSize(double w, double h)"""
+        return _ogl.PyLineShape_base_OnBeginSize(*args, **kwargs)
+
+    def base_OnEndSize(*args, **kwargs):
+        """base_OnEndSize(double w, double h)"""
+        return _ogl.PyLineShape_base_OnEndSize(*args, **kwargs)
+
+
+class PyLineShapePtr(PyLineShape):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = PyLineShape
+_ogl.PyLineShape_swigregister(PyLineShapePtr)
+
+class PyPolygonShape(PyShape):
+    """"""
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxPyPolygonShape instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__() -> PyPolygonShape"""
+        newobj = _ogl.new_PyPolygonShape(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+        self._setOORandCallbackInfo(PyPolygonShape)
+
+    def _setCallbackInfo(*args, **kwargs):
+        """_setCallbackInfo(PyObject self, PyObject _class)"""
+        return _ogl.PyPolygonShape__setCallbackInfo(*args, **kwargs)
+
+    def Create(*args, **kwargs):
+        """Create(PyObject points) -> PyObject"""
+        return _ogl.PyPolygonShape_Create(*args, **kwargs)
+
+    def AddPolygonPoint(*args, **kwargs):
+        """AddPolygonPoint(int pos=0)"""
+        return _ogl.PyPolygonShape_AddPolygonPoint(*args, **kwargs)
+
+    def CalculatePolygonCentre(*args, **kwargs):
+        """CalculatePolygonCentre()"""
+        return _ogl.PyPolygonShape_CalculatePolygonCentre(*args, **kwargs)
+
+    def DeletePolygonPoint(*args, **kwargs):
+        """DeletePolygonPoint(int pos=0)"""
+        return _ogl.PyPolygonShape_DeletePolygonPoint(*args, **kwargs)
+
+    def GetPoints(*args, **kwargs):
+        """GetPoints() -> PyObject"""
+        return _ogl.PyPolygonShape_GetPoints(*args, **kwargs)
+
+    def UpdateOriginalPoints(*args, **kwargs):
+        """UpdateOriginalPoints()"""
+        return _ogl.PyPolygonShape_UpdateOriginalPoints(*args, **kwargs)
+
+    def base_OnDraw(*args, **kwargs):
+        """base_OnDraw(wxDC dc)"""
+        return _ogl.PyPolygonShape_base_OnDraw(*args, **kwargs)
+
+    def base_OnDrawContents(*args, **kwargs):
+        """base_OnDrawContents(wxDC dc)"""
+        return _ogl.PyPolygonShape_base_OnDrawContents(*args, **kwargs)
+
+    def base_OnDrawBranches(*args, **kwargs):
+        """base_OnDrawBranches(wxDC dc, bool erase=FALSE)"""
+        return _ogl.PyPolygonShape_base_OnDrawBranches(*args, **kwargs)
+
+    def base_OnMoveLinks(*args, **kwargs):
+        """base_OnMoveLinks(wxDC dc)"""
+        return _ogl.PyPolygonShape_base_OnMoveLinks(*args, **kwargs)
+
+    def base_OnErase(*args, **kwargs):
+        """base_OnErase(wxDC dc)"""
+        return _ogl.PyPolygonShape_base_OnErase(*args, **kwargs)
+
+    def base_OnEraseContents(*args, **kwargs):
+        """base_OnEraseContents(wxDC dc)"""
+        return _ogl.PyPolygonShape_base_OnEraseContents(*args, **kwargs)
+
+    def base_OnHighlight(*args, **kwargs):
+        """base_OnHighlight(wxDC dc)"""
+        return _ogl.PyPolygonShape_base_OnHighlight(*args, **kwargs)
+
+    def base_OnLeftClick(*args, **kwargs):
+        """base_OnLeftClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyPolygonShape_base_OnLeftClick(*args, **kwargs)
+
+    def base_OnLeftDoubleClick(*args, **kwargs):
+        """base_OnLeftDoubleClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyPolygonShape_base_OnLeftDoubleClick(*args, **kwargs)
+
+    def base_OnRightClick(*args, **kwargs):
+        """base_OnRightClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyPolygonShape_base_OnRightClick(*args, **kwargs)
+
+    def base_OnSize(*args, **kwargs):
+        """base_OnSize(double x, double y)"""
+        return _ogl.PyPolygonShape_base_OnSize(*args, **kwargs)
+
+    def base_OnMovePre(*args, **kwargs):
+        """base_OnMovePre(wxDC dc, double x, double y, double old_x, double old_y, 
+    bool display=True) -> bool"""
+        return _ogl.PyPolygonShape_base_OnMovePre(*args, **kwargs)
+
+    def base_OnMovePost(*args, **kwargs):
+        """base_OnMovePost(wxDC dc, double x, double y, double old_x, double old_y, 
+    bool display=True)"""
+        return _ogl.PyPolygonShape_base_OnMovePost(*args, **kwargs)
+
+    def base_OnDragLeft(*args, **kwargs):
+        """base_OnDragLeft(bool draw, double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyPolygonShape_base_OnDragLeft(*args, **kwargs)
+
+    def base_OnBeginDragLeft(*args, **kwargs):
+        """base_OnBeginDragLeft(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyPolygonShape_base_OnBeginDragLeft(*args, **kwargs)
+
+    def base_OnEndDragLeft(*args, **kwargs):
+        """base_OnEndDragLeft(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyPolygonShape_base_OnEndDragLeft(*args, **kwargs)
+
+    def base_OnDragRight(*args, **kwargs):
+        """base_OnDragRight(bool draw, double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyPolygonShape_base_OnDragRight(*args, **kwargs)
+
+    def base_OnBeginDragRight(*args, **kwargs):
+        """base_OnBeginDragRight(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyPolygonShape_base_OnBeginDragRight(*args, **kwargs)
+
+    def base_OnEndDragRight(*args, **kwargs):
+        """base_OnEndDragRight(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyPolygonShape_base_OnEndDragRight(*args, **kwargs)
+
+    def base_OnDrawOutline(*args, **kwargs):
+        """base_OnDrawOutline(wxDC dc, double x, double y, double w, double h)"""
+        return _ogl.PyPolygonShape_base_OnDrawOutline(*args, **kwargs)
+
+    def base_OnDrawControlPoints(*args, **kwargs):
+        """base_OnDrawControlPoints(wxDC dc)"""
+        return _ogl.PyPolygonShape_base_OnDrawControlPoints(*args, **kwargs)
+
+    def base_OnEraseControlPoints(*args, **kwargs):
+        """base_OnEraseControlPoints(wxDC dc)"""
+        return _ogl.PyPolygonShape_base_OnEraseControlPoints(*args, **kwargs)
+
+    def base_OnMoveLink(*args, **kwargs):
+        """base_OnMoveLink(wxDC dc, bool moveControlPoints=True)"""
+        return _ogl.PyPolygonShape_base_OnMoveLink(*args, **kwargs)
+
+    def base_OnSizingDragLeft(*args, **kwargs):
+        """base_OnSizingDragLeft(PyControlPoint pt, bool draw, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyPolygonShape_base_OnSizingDragLeft(*args, **kwargs)
+
+    def base_OnSizingBeginDragLeft(*args, **kwargs):
+        """base_OnSizingBeginDragLeft(PyControlPoint pt, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyPolygonShape_base_OnSizingBeginDragLeft(*args, **kwargs)
+
+    def base_OnSizingEndDragLeft(*args, **kwargs):
+        """base_OnSizingEndDragLeft(PyControlPoint pt, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyPolygonShape_base_OnSizingEndDragLeft(*args, **kwargs)
+
+    def base_OnBeginSize(*args, **kwargs):
+        """base_OnBeginSize(double w, double h)"""
+        return _ogl.PyPolygonShape_base_OnBeginSize(*args, **kwargs)
+
+    def base_OnEndSize(*args, **kwargs):
+        """base_OnEndSize(double w, double h)"""
+        return _ogl.PyPolygonShape_base_OnEndSize(*args, **kwargs)
+
+
+class PyPolygonShapePtr(PyPolygonShape):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = PyPolygonShape
+_ogl.PyPolygonShape_swigregister(PyPolygonShapePtr)
+
+class PyTextShape(PyRectangleShape):
+    """"""
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxPyTextShape instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__(double width=0.0, double height=0.0) -> PyTextShape"""
+        newobj = _ogl.new_PyTextShape(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+        self._setOORandCallbackInfo(PyTextShape)
+
+    def _setCallbackInfo(*args, **kwargs):
+        """_setCallbackInfo(PyObject self, PyObject _class)"""
+        return _ogl.PyTextShape__setCallbackInfo(*args, **kwargs)
+
+    def base_OnDelete(*args, **kwargs):
+        """base_OnDelete()"""
+        return _ogl.PyTextShape_base_OnDelete(*args, **kwargs)
+
+    def base_OnDraw(*args, **kwargs):
+        """base_OnDraw(wxDC dc)"""
+        return _ogl.PyTextShape_base_OnDraw(*args, **kwargs)
+
+    def base_OnDrawContents(*args, **kwargs):
+        """base_OnDrawContents(wxDC dc)"""
+        return _ogl.PyTextShape_base_OnDrawContents(*args, **kwargs)
+
+    def base_OnDrawBranches(*args, **kwargs):
+        """base_OnDrawBranches(wxDC dc, bool erase=FALSE)"""
+        return _ogl.PyTextShape_base_OnDrawBranches(*args, **kwargs)
+
+    def base_OnMoveLinks(*args, **kwargs):
+        """base_OnMoveLinks(wxDC dc)"""
+        return _ogl.PyTextShape_base_OnMoveLinks(*args, **kwargs)
+
+    def base_OnErase(*args, **kwargs):
+        """base_OnErase(wxDC dc)"""
+        return _ogl.PyTextShape_base_OnErase(*args, **kwargs)
+
+    def base_OnEraseContents(*args, **kwargs):
+        """base_OnEraseContents(wxDC dc)"""
+        return _ogl.PyTextShape_base_OnEraseContents(*args, **kwargs)
+
+    def base_OnHighlight(*args, **kwargs):
+        """base_OnHighlight(wxDC dc)"""
+        return _ogl.PyTextShape_base_OnHighlight(*args, **kwargs)
+
+    def base_OnLeftClick(*args, **kwargs):
+        """base_OnLeftClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyTextShape_base_OnLeftClick(*args, **kwargs)
+
+    def base_OnLeftDoubleClick(*args, **kwargs):
+        """base_OnLeftDoubleClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyTextShape_base_OnLeftDoubleClick(*args, **kwargs)
+
+    def base_OnRightClick(*args, **kwargs):
+        """base_OnRightClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyTextShape_base_OnRightClick(*args, **kwargs)
+
+    def base_OnSize(*args, **kwargs):
+        """base_OnSize(double x, double y)"""
+        return _ogl.PyTextShape_base_OnSize(*args, **kwargs)
+
+    def base_OnMovePre(*args, **kwargs):
+        """base_OnMovePre(wxDC dc, double x, double y, double old_x, double old_y, 
+    bool display=True) -> bool"""
+        return _ogl.PyTextShape_base_OnMovePre(*args, **kwargs)
+
+    def base_OnMovePost(*args, **kwargs):
+        """base_OnMovePost(wxDC dc, double x, double y, double old_x, double old_y, 
+    bool display=True)"""
+        return _ogl.PyTextShape_base_OnMovePost(*args, **kwargs)
+
+    def base_OnDragLeft(*args, **kwargs):
+        """base_OnDragLeft(bool draw, double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyTextShape_base_OnDragLeft(*args, **kwargs)
+
+    def base_OnBeginDragLeft(*args, **kwargs):
+        """base_OnBeginDragLeft(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyTextShape_base_OnBeginDragLeft(*args, **kwargs)
+
+    def base_OnEndDragLeft(*args, **kwargs):
+        """base_OnEndDragLeft(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyTextShape_base_OnEndDragLeft(*args, **kwargs)
+
+    def base_OnDragRight(*args, **kwargs):
+        """base_OnDragRight(bool draw, double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyTextShape_base_OnDragRight(*args, **kwargs)
+
+    def base_OnBeginDragRight(*args, **kwargs):
+        """base_OnBeginDragRight(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyTextShape_base_OnBeginDragRight(*args, **kwargs)
+
+    def base_OnEndDragRight(*args, **kwargs):
+        """base_OnEndDragRight(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyTextShape_base_OnEndDragRight(*args, **kwargs)
+
+    def base_OnDrawOutline(*args, **kwargs):
+        """base_OnDrawOutline(wxDC dc, double x, double y, double w, double h)"""
+        return _ogl.PyTextShape_base_OnDrawOutline(*args, **kwargs)
+
+    def base_OnDrawControlPoints(*args, **kwargs):
+        """base_OnDrawControlPoints(wxDC dc)"""
+        return _ogl.PyTextShape_base_OnDrawControlPoints(*args, **kwargs)
+
+    def base_OnEraseControlPoints(*args, **kwargs):
+        """base_OnEraseControlPoints(wxDC dc)"""
+        return _ogl.PyTextShape_base_OnEraseControlPoints(*args, **kwargs)
+
+    def base_OnMoveLink(*args, **kwargs):
+        """base_OnMoveLink(wxDC dc, bool moveControlPoints=True)"""
+        return _ogl.PyTextShape_base_OnMoveLink(*args, **kwargs)
+
+    def base_OnSizingDragLeft(*args, **kwargs):
+        """base_OnSizingDragLeft(PyControlPoint pt, bool draw, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyTextShape_base_OnSizingDragLeft(*args, **kwargs)
+
+    def base_OnSizingBeginDragLeft(*args, **kwargs):
+        """base_OnSizingBeginDragLeft(PyControlPoint pt, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyTextShape_base_OnSizingBeginDragLeft(*args, **kwargs)
+
+    def base_OnSizingEndDragLeft(*args, **kwargs):
+        """base_OnSizingEndDragLeft(PyControlPoint pt, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyTextShape_base_OnSizingEndDragLeft(*args, **kwargs)
+
+    def base_OnBeginSize(*args, **kwargs):
+        """base_OnBeginSize(double w, double h)"""
+        return _ogl.PyTextShape_base_OnBeginSize(*args, **kwargs)
+
+    def base_OnEndSize(*args, **kwargs):
+        """base_OnEndSize(double w, double h)"""
+        return _ogl.PyTextShape_base_OnEndSize(*args, **kwargs)
+
+
+class PyTextShapePtr(PyTextShape):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = PyTextShape
+_ogl.PyTextShape_swigregister(PyTextShapePtr)
+
+class Diagram(core.Object):
+    """"""
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxDiagram instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__() -> Diagram"""
+        newobj = _ogl.new_Diagram(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+    def AddShape(*args, **kwargs):
+        """AddShape(PyShape shape, PyShape addAfter=None)"""
+        return _ogl.Diagram_AddShape(*args, **kwargs)
+
+    def Clear(*args, **kwargs):
+        """Clear(wxDC dc)"""
+        return _ogl.Diagram_Clear(*args, **kwargs)
+
+    def DeleteAllShapes(*args, **kwargs):
+        """DeleteAllShapes()"""
+        return _ogl.Diagram_DeleteAllShapes(*args, **kwargs)
+
+    def DrawOutline(*args, **kwargs):
+        """DrawOutline(wxDC dc, double x1, double y1, double x2, double y2)"""
+        return _ogl.Diagram_DrawOutline(*args, **kwargs)
+
+    def FindShape(*args, **kwargs):
+        """FindShape(long id) -> PyShape"""
+        return _ogl.Diagram_FindShape(*args, **kwargs)
+
+    def GetCanvas(*args, **kwargs):
+        """GetCanvas() -> PyShapeCanvas"""
+        return _ogl.Diagram_GetCanvas(*args, **kwargs)
+
+    def GetCount(*args, **kwargs):
+        """GetCount() -> int"""
+        return _ogl.Diagram_GetCount(*args, **kwargs)
+
+    def GetGridSpacing(*args, **kwargs):
+        """GetGridSpacing() -> double"""
+        return _ogl.Diagram_GetGridSpacing(*args, **kwargs)
+
+    def GetMouseTolerance(*args, **kwargs):
+        """GetMouseTolerance() -> int"""
+        return _ogl.Diagram_GetMouseTolerance(*args, **kwargs)
+
+    def GetShapeList(*args, **kwargs):
+        """GetShapeList() -> PyObject"""
+        return _ogl.Diagram_GetShapeList(*args, **kwargs)
+
+    def GetQuickEditMode(*args, **kwargs):
+        """GetQuickEditMode() -> bool"""
+        return _ogl.Diagram_GetQuickEditMode(*args, **kwargs)
+
+    def GetSnapToGrid(*args, **kwargs):
+        """GetSnapToGrid() -> bool"""
+        return _ogl.Diagram_GetSnapToGrid(*args, **kwargs)
+
+    def InsertShape(*args, **kwargs):
+        """InsertShape(PyShape shape)"""
+        return _ogl.Diagram_InsertShape(*args, **kwargs)
+
+    def RecentreAll(*args, **kwargs):
+        """RecentreAll(wxDC dc)"""
+        return _ogl.Diagram_RecentreAll(*args, **kwargs)
+
+    def Redraw(*args, **kwargs):
+        """Redraw(wxDC dc)"""
+        return _ogl.Diagram_Redraw(*args, **kwargs)
+
+    def RemoveAllShapes(*args, **kwargs):
+        """RemoveAllShapes()"""
+        return _ogl.Diagram_RemoveAllShapes(*args, **kwargs)
+
+    def RemoveShape(*args, **kwargs):
+        """RemoveShape(PyShape shape)"""
+        return _ogl.Diagram_RemoveShape(*args, **kwargs)
+
+    def SetCanvas(*args, **kwargs):
+        """SetCanvas(PyShapeCanvas canvas)"""
+        return _ogl.Diagram_SetCanvas(*args, **kwargs)
+
+    def SetGridSpacing(*args, **kwargs):
+        """SetGridSpacing(double spacing)"""
+        return _ogl.Diagram_SetGridSpacing(*args, **kwargs)
+
+    def SetMouseTolerance(*args, **kwargs):
+        """SetMouseTolerance(int tolerance)"""
+        return _ogl.Diagram_SetMouseTolerance(*args, **kwargs)
+
+    def SetQuickEditMode(*args, **kwargs):
+        """SetQuickEditMode(bool mode)"""
+        return _ogl.Diagram_SetQuickEditMode(*args, **kwargs)
+
+    def SetSnapToGrid(*args, **kwargs):
+        """SetSnapToGrid(bool snap)"""
+        return _ogl.Diagram_SetSnapToGrid(*args, **kwargs)
+
+    def ShowAll(*args, **kwargs):
+        """ShowAll(bool show)"""
+        return _ogl.Diagram_ShowAll(*args, **kwargs)
+
+    def Snap(*args, **kwargs):
+        """Snap(double INOUT, double INOUT)"""
+        return _ogl.Diagram_Snap(*args, **kwargs)
+
+
+class DiagramPtr(Diagram):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = Diagram
+_ogl.Diagram_swigregister(DiagramPtr)
+
+class PyShapeCanvas(windows.ScrolledWindow):
+    """"""
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxPyShapeCanvas instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__(Window parent=None, int id=-1, Point pos=DefaultPosition, 
+    Size size=DefaultSize, long style=BORDER, 
+    wxString name=wxPyShapeCanvasNameStr) -> PyShapeCanvas"""
+        newobj = _ogl.new_PyShapeCanvas(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+    def _setCallbackInfo(*args, **kwargs):
+        """_setCallbackInfo(PyObject self, PyObject _class)"""
+        return _ogl.PyShapeCanvas__setCallbackInfo(*args, **kwargs)
+
+    def _setOORandCallbackInfo(self, _class):
+        self._setOORInfo(self)
+        self._setCallbackInfo(self, _class)
+
+    def AddShape(*args, **kwargs):
+        """AddShape(PyShape shape, PyShape addAfter=None)"""
+        return _ogl.PyShapeCanvas_AddShape(*args, **kwargs)
+
+    def FindShape(*args, **kwargs):
+        """FindShape(double x1, double y, int OUTPUT, wxClassInfo info=None, 
+    PyShape notImage=None) -> PyShape"""
+        return _ogl.PyShapeCanvas_FindShape(*args, **kwargs)
+
+    def FindFirstSensitiveShape(*args, **kwargs):
+        """FindFirstSensitiveShape(double x1, double y, int OUTPUT, int op) -> PyShape"""
+        return _ogl.PyShapeCanvas_FindFirstSensitiveShape(*args, **kwargs)
+
+    def GetDiagram(*args, **kwargs):
+        """GetDiagram() -> Diagram"""
+        return _ogl.PyShapeCanvas_GetDiagram(*args, **kwargs)
+
+    def GetQuickEditMode(*args, **kwargs):
+        """GetQuickEditMode() -> bool"""
+        return _ogl.PyShapeCanvas_GetQuickEditMode(*args, **kwargs)
+
+    def InsertShape(*args, **kwargs):
+        """InsertShape(PyShape shape)"""
+        return _ogl.PyShapeCanvas_InsertShape(*args, **kwargs)
+
+    def base_OnBeginDragLeft(*args, **kwargs):
+        """base_OnBeginDragLeft(double x, double y, int keys=0)"""
+        return _ogl.PyShapeCanvas_base_OnBeginDragLeft(*args, **kwargs)
+
+    def base_OnBeginDragRight(*args, **kwargs):
+        """base_OnBeginDragRight(double x, double y, int keys=0)"""
+        return _ogl.PyShapeCanvas_base_OnBeginDragRight(*args, **kwargs)
+
+    def base_OnEndDragLeft(*args, **kwargs):
+        """base_OnEndDragLeft(double x, double y, int keys=0)"""
+        return _ogl.PyShapeCanvas_base_OnEndDragLeft(*args, **kwargs)
+
+    def base_OnEndDragRight(*args, **kwargs):
+        """base_OnEndDragRight(double x, double y, int keys=0)"""
+        return _ogl.PyShapeCanvas_base_OnEndDragRight(*args, **kwargs)
+
+    def base_OnDragLeft(*args, **kwargs):
+        """base_OnDragLeft(bool draw, double x, double y, int keys=0)"""
+        return _ogl.PyShapeCanvas_base_OnDragLeft(*args, **kwargs)
+
+    def base_OnDragRight(*args, **kwargs):
+        """base_OnDragRight(bool draw, double x, double y, int keys=0)"""
+        return _ogl.PyShapeCanvas_base_OnDragRight(*args, **kwargs)
+
+    def base_OnLeftClick(*args, **kwargs):
+        """base_OnLeftClick(double x, double y, int keys=0)"""
+        return _ogl.PyShapeCanvas_base_OnLeftClick(*args, **kwargs)
+
+    def base_OnRightClick(*args, **kwargs):
+        """base_OnRightClick(double x, double y, int keys=0)"""
+        return _ogl.PyShapeCanvas_base_OnRightClick(*args, **kwargs)
+
+    def Redraw(*args, **kwargs):
+        """Redraw(wxDC dc)"""
+        return _ogl.PyShapeCanvas_Redraw(*args, **kwargs)
+
+    def RemoveShape(*args, **kwargs):
+        """RemoveShape(PyShape shape)"""
+        return _ogl.PyShapeCanvas_RemoveShape(*args, **kwargs)
+
+    def SetDiagram(*args, **kwargs):
+        """SetDiagram(Diagram diagram)"""
+        return _ogl.PyShapeCanvas_SetDiagram(*args, **kwargs)
+
+    def Snap(*args, **kwargs):
+        """Snap(double INOUT, double INOUT)"""
+        return _ogl.PyShapeCanvas_Snap(*args, **kwargs)
+
+    def GetShapeList(self):
+        return self.GetDiagram().GetShapeList()
+
+
+class PyShapeCanvasPtr(PyShapeCanvas):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = PyShapeCanvas
+_ogl.PyShapeCanvas_swigregister(PyShapeCanvasPtr)
+
+# Aliases    
+ShapeCanvas =       PyShapeCanvas
+ShapeEvtHandler =   PyShapeEvtHandler
+Shape =             PyShape
+RectangleShape =    PyRectangleShape
+BitmapShape =       PyBitmapShape
+DrawnShape =        PyDrawnShape
+CompositeShape =    PyCompositeShape
+DividedShape =      PyDividedShape
+DivisionShape =     PyDivisionShape
+EllipseShape =      PyEllipseShape
+CircleShape =       PyCircleShape
+LineShape =         PyLineShape
+PolygonShape =      PyPolygonShape
+TextShape =         PyTextShape
+ControlPoint =      PyControlPoint
+
+KEY_SHIFT = _ogl.KEY_SHIFT
+KEY_CTRL = _ogl.KEY_CTRL
+ARROW_NONE = _ogl.ARROW_NONE
+ARROW_END = _ogl.ARROW_END
+ARROW_BOTH = _ogl.ARROW_BOTH
+ARROW_MIDDLE = _ogl.ARROW_MIDDLE
+ARROW_START = _ogl.ARROW_START
+ARROW_HOLLOW_CIRCLE = _ogl.ARROW_HOLLOW_CIRCLE
+ARROW_FILLED_CIRCLE = _ogl.ARROW_FILLED_CIRCLE
+ARROW_ARROW = _ogl.ARROW_ARROW
+ARROW_SINGLE_OBLIQUE = _ogl.ARROW_SINGLE_OBLIQUE
+ARROW_DOUBLE_OBLIQUE = _ogl.ARROW_DOUBLE_OBLIQUE
+ARROW_METAFILE = _ogl.ARROW_METAFILE
+ARROW_POSITION_END = _ogl.ARROW_POSITION_END
+ARROW_POSITION_START = _ogl.ARROW_POSITION_START
+CONTROL_POINT_VERTICAL = _ogl.CONTROL_POINT_VERTICAL
+CONTROL_POINT_HORIZONTAL = _ogl.CONTROL_POINT_HORIZONTAL
+CONTROL_POINT_DIAGONAL = _ogl.CONTROL_POINT_DIAGONAL
+CONTROL_POINT_ENDPOINT_TO = _ogl.CONTROL_POINT_ENDPOINT_TO
+CONTROL_POINT_ENDPOINT_FROM = _ogl.CONTROL_POINT_ENDPOINT_FROM
+CONTROL_POINT_LINE = _ogl.CONTROL_POINT_LINE
+FORMAT_NONE = _ogl.FORMAT_NONE
+FORMAT_CENTRE_HORIZ = _ogl.FORMAT_CENTRE_HORIZ
+FORMAT_CENTRE_VERT = _ogl.FORMAT_CENTRE_VERT
+FORMAT_SIZE_TO_CONTENTS = _ogl.FORMAT_SIZE_TO_CONTENTS
+LINE_ALIGNMENT_HORIZ = _ogl.LINE_ALIGNMENT_HORIZ
+LINE_ALIGNMENT_VERT = _ogl.LINE_ALIGNMENT_VERT
+LINE_ALIGNMENT_TO_NEXT_HANDLE = _ogl.LINE_ALIGNMENT_TO_NEXT_HANDLE
+LINE_ALIGNMENT_NONE = _ogl.LINE_ALIGNMENT_NONE
+SHADOW_NONE = _ogl.SHADOW_NONE
+SHADOW_LEFT = _ogl.SHADOW_LEFT
+SHADOW_RIGHT = _ogl.SHADOW_RIGHT
+OP_CLICK_LEFT = _ogl.OP_CLICK_LEFT
+OP_CLICK_RIGHT = _ogl.OP_CLICK_RIGHT
+OP_DRAG_LEFT = _ogl.OP_DRAG_LEFT
+OP_DRAG_RIGHT = _ogl.OP_DRAG_RIGHT
+OP_ALL = _ogl.OP_ALL
+ATTACHMENT_MODE_NONE = _ogl.ATTACHMENT_MODE_NONE
+ATTACHMENT_MODE_EDGE = _ogl.ATTACHMENT_MODE_EDGE
+ATTACHMENT_MODE_BRANCHING = _ogl.ATTACHMENT_MODE_BRANCHING
+BRANCHING_ATTACHMENT_NORMAL = _ogl.BRANCHING_ATTACHMENT_NORMAL
+BRANCHING_ATTACHMENT_BLOB = _ogl.BRANCHING_ATTACHMENT_BLOB
+gyCONSTRAINT_CENTRED_VERTICALLY = _ogl.gyCONSTRAINT_CENTRED_VERTICALLY
+gyCONSTRAINT_CENTRED_HORIZONTALLY = _ogl.gyCONSTRAINT_CENTRED_HORIZONTALLY
+gyCONSTRAINT_CENTRED_BOTH = _ogl.gyCONSTRAINT_CENTRED_BOTH
+gyCONSTRAINT_LEFT_OF = _ogl.gyCONSTRAINT_LEFT_OF
+gyCONSTRAINT_RIGHT_OF = _ogl.gyCONSTRAINT_RIGHT_OF
+gyCONSTRAINT_ABOVE = _ogl.gyCONSTRAINT_ABOVE
+gyCONSTRAINT_BELOW = _ogl.gyCONSTRAINT_BELOW
+gyCONSTRAINT_ALIGNED_TOP = _ogl.gyCONSTRAINT_ALIGNED_TOP
+gyCONSTRAINT_ALIGNED_BOTTOM = _ogl.gyCONSTRAINT_ALIGNED_BOTTOM
+gyCONSTRAINT_ALIGNED_LEFT = _ogl.gyCONSTRAINT_ALIGNED_LEFT
+gyCONSTRAINT_ALIGNED_RIGHT = _ogl.gyCONSTRAINT_ALIGNED_RIGHT
+gyCONSTRAINT_MIDALIGNED_TOP = _ogl.gyCONSTRAINT_MIDALIGNED_TOP
+gyCONSTRAINT_MIDALIGNED_BOTTOM = _ogl.gyCONSTRAINT_MIDALIGNED_BOTTOM
+gyCONSTRAINT_MIDALIGNED_LEFT = _ogl.gyCONSTRAINT_MIDALIGNED_LEFT
+gyCONSTRAINT_MIDALIGNED_RIGHT = _ogl.gyCONSTRAINT_MIDALIGNED_RIGHT
+DIVISION_SIDE_NONE = _ogl.DIVISION_SIDE_NONE
+DIVISION_SIDE_LEFT = _ogl.DIVISION_SIDE_LEFT
+DIVISION_SIDE_TOP = _ogl.DIVISION_SIDE_TOP
+DIVISION_SIDE_RIGHT = _ogl.DIVISION_SIDE_RIGHT
+DIVISION_SIDE_BOTTOM = _ogl.DIVISION_SIDE_BOTTOM
+
+def OGLInitialize(*args, **kwargs):
+    """OGLInitialize()"""
+    return _ogl.OGLInitialize(*args, **kwargs)
+
+def OGLCleanUp(*args, **kwargs):
+    """OGLCleanUp()"""
+    return _ogl.OGLCleanUp(*args, **kwargs)
+
diff --git a/wxPython/contrib/ogl/mac/ogl_wrap.cpp b/wxPython/contrib/ogl/mac/ogl_wrap.cpp
new file mode 100644 (file)
index 0000000..c28d119
--- /dev/null
@@ -0,0 +1,27764 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.20
+ * 
+ * This file is not intended to be easily readable and contains a number of 
+ * coding conventions designed to improve portability and efficiency. Do not make
+ * changes to this file unless you know what you are doing--modify the SWIG 
+ * interface file instead. 
+ * ----------------------------------------------------------------------------- */
+
+#define SWIGPYTHON
+#define SWIG_NOINCLUDE
+
+#ifdef __cplusplus
+template<class T> class SwigValueWrapper {
+    T *tt;
+public:
+    SwigValueWrapper() : tt(0) { }
+    SwigValueWrapper(const SwigValueWrapper<T>& rhs) : tt(new T(*rhs.tt)) { }
+    SwigValueWrapper(const T& t) : tt(new T(t)) { }
+    ~SwigValueWrapper() { delete tt; } 
+    SwigValueWrapper& operator=(const T& t) { delete tt; tt = new T(t); return *this; }
+    operator T&() const { return *tt; }
+    T *operator&() { return tt; }
+private:
+    SwigValueWrapper& operator=(const SwigValueWrapper<T>& rhs);
+};                                                    
+#endif
+
+
+#include "Python.h"
+
+/*************************************************************** -*- c -*-
+ * python/precommon.swg
+ *
+ * Rename all exported symbols from common.swg, to avoid symbol
+ * clashes if multiple interpreters are included
+ *
+ ************************************************************************/
+
+#define SWIG_TypeRegister    SWIG_Python_TypeRegister
+#define SWIG_TypeCheck       SWIG_Python_TypeCheck
+#define SWIG_TypeCast        SWIG_Python_TypeCast
+#define SWIG_TypeDynamicCast SWIG_Python_TypeDynamicCast
+#define SWIG_TypeName        SWIG_Python_TypeName
+#define SWIG_TypeQuery       SWIG_Python_TypeQuery
+#define SWIG_TypeClientData  SWIG_Python_TypeClientData
+
+
+/***********************************************************************
+ * common.swg for wxPython
+ *
+ * Include only the function prototypes and such from SWIG's common.swg,
+ * but not the runtime functions themselves.  This helps keep the
+ * wrapper files clean of unnecessary stuff that is in the libpy.c file
+ * anyway.
+ *
+ ************************************************************************/
+
+#include <string.h>
+
+#if defined(_WIN32) || defined(__WIN32__)
+#       if defined(_MSC_VER)
+#               if defined(STATIC_LINKED)
+#                       define SWIGEXPORT(a) a
+#                       define SWIGIMPORT(a) extern a
+#               else
+#                       define SWIGEXPORT(a) __declspec(dllexport) a
+#                       define SWIGIMPORT(a) extern a
+#               endif
+#       else
+#               if defined(__BORLANDC__)
+#                       define SWIGEXPORT(a) a _export
+#                       define SWIGIMPORT(a) a _export
+#               else
+#                       define SWIGEXPORT(a) a
+#                       define SWIGIMPORT(a) a
+#               endif
+#       endif
+#else
+#       define SWIGEXPORT(a) a
+#       define SWIGIMPORT(a) a
+#endif
+
+#ifdef SWIG_GLOBAL
+#define SWIGRUNTIME(a) SWIGEXPORT(a)
+#else
+#define SWIGRUNTIME(a) static a
+#endif
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef void *(*swig_converter_func)(void *);
+typedef struct swig_type_info *(*swig_dycast_func)(void **);
+
+typedef struct swig_type_info {
+  const char             *name;                 
+  swig_converter_func     converter;
+  const char             *str;
+  void                   *clientdata;  
+  swig_dycast_func        dcast;
+  struct swig_type_info  *next;
+  struct swig_type_info  *prev;
+} swig_type_info;
+
+
+SWIGIMPORT(swig_type_info *) SWIG_TypeRegister(swig_type_info *);
+SWIGIMPORT(swig_type_info *) SWIG_TypeCheck(char *c, swig_type_info *);
+SWIGIMPORT(void *)           SWIG_TypeCast(swig_type_info *, void *);
+SWIGIMPORT(swig_type_info *) SWIG_TypeDynamicCast(swig_type_info *, void **);
+SWIGIMPORT(const char *)     SWIG_TypeName(const swig_type_info *);
+SWIGIMPORT(swig_type_info *) SWIG_TypeQuery(const char *);
+SWIGIMPORT(void)             SWIG_TypeClientData(swig_type_info *, void *);
+
+
+#ifdef __cplusplus
+}
+
+#endif
+
+/***********************************************************************
+ * pyrun.swg for wxPython
+ *
+ * Include only the function prototypes and such from SWIG's pyrun.swg,
+ * but not the runtime functions themselves.  This helps keep the
+ * wrapper files clean of unnecessary stuff that is in the libpy.c file
+ * anyway.
+ *
+ ************************************************************************/
+
+
+#include "Python.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define SWIG_PY_INT     1
+#define SWIG_PY_FLOAT   2
+#define SWIG_PY_STRING  3
+#define SWIG_PY_POINTER 4
+#define SWIG_PY_BINARY  5
+
+/* Flags for pointer conversion */
+
+#define SWIG_POINTER_EXCEPTION     0x1
+#define SWIG_POINTER_DISOWN        0x2
+
+/* Exception handling in wrappers */
+#define SWIG_fail   goto fail
+
+/* Constant information structure */
+typedef struct swig_const_info {
+    int type;
+    char *name;
+    long lvalue;
+    double dvalue;
+    void   *pvalue;
+    swig_type_info **ptype;
+} swig_const_info;
+
+
+
+/* Common SWIG API */
+#define SWIG_ConvertPtr(obj, pp, type, flags) \
+  SWIG_Python_ConvertPtr(obj, pp, type, flags)
+#define SWIG_NewPointerObj(p, type, flags) \
+  SWIG_Python_NewPointerObj(p, type, flags)
+#define SWIG_MustGetPtr(p, type, argnum, flags) \
+  SWIG_Python_MustGetPtr(p, type, argnum, flags)
+
+/* Python-specific SWIG API */
+#define SWIG_newvarlink() \
+  SWIG_Python_newvarlink()
+#define SWIG_addvarlink(p, name, get_attr, set_attr) \
+  SWIG_Python_addvarlink(p, name, get_attr, set_attr)
+#define SWIG_ConvertPacked(obj, ptr, sz, ty, flags) \
+  SWIG_Python_ConvertPacked(obj, ptr, sz, ty, flags)
+#define SWIG_PackData(c, ptr, sz) \
+  SWIG_Python_PackData(c, ptr, sz)
+#define SWIG_UnpackData(c, ptr, sz) \
+  SWIG_Python_UnpackData(c, ptr, sz)
+#define SWIG_NewPackedObj(ptr, sz, type) \
+  SWIG_Python_NewPackedObj(ptr, sz, type)
+#define SWIG_InstallConstants(d, constants) \
+  SWIG_Python_InstallConstants(d, constants)
+
+
+SWIGEXPORT(int)               SWIG_Python_ConvertPtr(PyObject *, void **, swig_type_info *, int);
+SWIGEXPORT(PyObject *)        SWIG_Python_NewPointerObj(void *, swig_type_info *,int own);
+SWIGEXPORT(void *)           SWIG_Python_MustGetPtr(PyObject *, swig_type_info *, int, int);
+
+SWIGEXPORT(PyObject *)        SWIG_Python_newvarlink(void);
+SWIGEXPORT(void)              SWIG_Python_addvarlink(PyObject *, char *, PyObject *(*)(void), int (*)(PyObject *));
+SWIGEXPORT(int)               SWIG_Python_ConvertPacked(PyObject *, void *, int sz, swig_type_info *, int);
+SWIGEXPORT(char *)            SWIG_Python_PackData(char *c, void *, int);
+SWIGEXPORT(char *)            SWIG_Python_UnpackData(char *c, void *, int);
+SWIGEXPORT(PyObject *)        SWIG_Python_NewPackedObj(void *, int sz, swig_type_info *);
+SWIGEXPORT(void)              SWIG_Python_InstallConstants(PyObject *d, swig_const_info constants[]);
+
+
+/* Contract support */
+
+#define SWIG_contract_assert(expr, msg) if (!(expr)) { PyErr_SetString(PyExc_RuntimeError, (char *) msg ); goto fail; } else
+
+
+#ifdef __cplusplus
+}
+#endif
+
+
+
+/* -------- TYPES TABLE (BEGIN) -------- */
+
+#define  SWIGTYPE_p_wxOGLConstraint swig_types[0] 
+#define  SWIGTYPE_p_wxBrush swig_types[1] 
+#define  SWIGTYPE_p_wxColour swig_types[2] 
+#define  SWIGTYPE_p_wxShapeRegion swig_types[3] 
+#define  SWIGTYPE_p_wxDC swig_types[4] 
+#define  SWIGTYPE_p_wxRealPoint swig_types[5] 
+#define  SWIGTYPE_p_wxPyControlPoint swig_types[6] 
+#define  SWIGTYPE_p_wxArrowHead swig_types[7] 
+#define  SWIGTYPE_p_wxStringList swig_types[8] 
+#define  SWIGTYPE_p_wxPanel swig_types[9] 
+#define  SWIGTYPE_p_bool swig_types[10] 
+#define  SWIGTYPE_p_wxList swig_types[11] 
+#define  SWIGTYPE_p_wxFont swig_types[12] 
+#define  SWIGTYPE_p_wxScrolledWindow swig_types[13] 
+#define  SWIGTYPE_p_wxWindow swig_types[14] 
+#define  SWIGTYPE_p_double swig_types[15] 
+#define  SWIGTYPE_p_wxPyDivisionShape swig_types[16] 
+#define  SWIGTYPE_p_wxPyDrawnShape swig_types[17] 
+#define  SWIGTYPE_p_wxPyPolygonShape swig_types[18] 
+#define  SWIGTYPE_p_wxBitmap swig_types[19] 
+#define  SWIGTYPE_p_wxObject swig_types[20] 
+#define  SWIGTYPE_p_wxPyBitmapShape swig_types[21] 
+#define  SWIGTYPE_p_wxString swig_types[22] 
+#define  SWIGTYPE_p_wxPyShapeEvtHandler swig_types[23] 
+#define  SWIGTYPE_p_wxEvtHandler swig_types[24] 
+#define  SWIGTYPE_p_wxPyEllipseShape swig_types[25] 
+#define  SWIGTYPE_p_wxPyShapeCanvas swig_types[26] 
+#define  SWIGTYPE_p_wxPoint swig_types[27] 
+#define  SWIGTYPE_p_wxDiagram swig_types[28] 
+#define  SWIGTYPE_p_wxPyShape swig_types[29] 
+#define  SWIGTYPE_p_wxClassInfo swig_types[30] 
+#define  SWIGTYPE_p_wxPyLineShape swig_types[31] 
+#define  SWIGTYPE_p_wxPyRectangleShape swig_types[32] 
+#define  SWIGTYPE_p_wxPyCompositeShape swig_types[33] 
+#define  SWIGTYPE_p_wxPyCircleShape swig_types[34] 
+#define  SWIGTYPE_p_wxPen swig_types[35] 
+#define  SWIGTYPE_p_int swig_types[36] 
+#define  SWIGTYPE_p_wxPseudoMetaFile swig_types[37] 
+#define  SWIGTYPE_p_wxPyTextShape swig_types[38] 
+#define  SWIGTYPE_p_wxPyDividedShape swig_types[39] 
+static swig_type_info *swig_types[41];
+
+/* -------- TYPES TABLE (END) -------- */
+
+
+/*-----------------------------------------------
+              @(target):= _ogl.so
+  ------------------------------------------------*/
+#define SWIG_init    init_ogl
+
+#define SWIG_name    "_ogl"
+
+#include "wx/wxPython/wxPython.h"
+#include "wx/wxPython/pyclasses.h"
+#include "oglhelpers.h"
+
+
+    static const wxString wxPyEmptyString(wxT(""));
+
+
+static PyObject* t_output_helper(PyObject* target, PyObject* o) {
+    PyObject*   o2;
+    PyObject*   o3;
+
+    if (!target) {                   
+        target = o;
+    } else if (target == Py_None) {  
+        Py_DECREF(Py_None);
+        target = o;
+    } else {                         
+        if (!PyTuple_Check(target)) {
+            o2 = target;
+            target = PyTuple_New(1);
+            PyTuple_SetItem(target, 0, o2);
+        }
+        o3 = PyTuple_New(1);            
+        PyTuple_SetItem(o3, 0, o);      
+
+        o2 = target;
+        target = PySequence_Concat(o2, o3); 
+        Py_DECREF(o2);                      
+        Py_DECREF(o3);
+    }
+    return target;
+}
+
+
+    WXSHAPE_IMP_CALLBACKS(wxPyShapeEvtHandler,wxShapeEvtHandler);
+
+void wxPyShapeEvtHandler__setOORInfo(wxPyShapeEvtHandler *self,PyObject *_self){
+            self->SetClientObject(new wxPyOORClientData(_self));
+        }
+
+    WXSHAPE_IMP_CALLBACKS(wxPyShape, wxShape);
+
+PyObject *wxPyShape_GetChildren(wxPyShape *self){
+            wxList& list = self->GetChildren();
+            return wxPy_ConvertShapeList(&list);
+        }
+PyObject *wxPyShape_GetLines(wxPyShape *self){
+            wxList& list = self->GetLines();
+            return wxPy_ConvertShapeList(&list);
+        }
+PyObject *wxPyShape_GetRegions(wxPyShape *self){
+            wxList& list = self->GetRegions();
+            return wxPy_ConvertList(&list);
+        }
+void wxPyShape_ApplyAttachmentOrdering(wxPyShape *self,PyObject *linesToSort){
+            wxList* list = wxPy_wxListHelper(linesToSort, wxT("wxPyLineShape"));
+            self->ApplyAttachmentOrdering(*list);
+            delete list;
+        }
+
+// Using this macro can sometimes provoke an Internal Compiler Error in MSVC
+// 6, so instead I'l just expand it out by hand...
+//    WXSHAPE_IMP_CALLBACKS(wxPyRectangleShape, wxRectangleShape);
+
+    IMP_PYCALLBACK__                (wxPyRectangleShape, wxRectangleShape,  OnDelete);
+    IMP_PYCALLBACK__DC              (wxPyRectangleShape, wxRectangleShape,  OnDraw);
+    IMP_PYCALLBACK__DC              (wxPyRectangleShape, wxRectangleShape,  OnDrawContents);
+    IMP_PYCALLBACK__DCBOOL          (wxPyRectangleShape, wxRectangleShape,  OnDrawBranches);
+    IMP_PYCALLBACK__DC              (wxPyRectangleShape, wxRectangleShape,  OnMoveLinks);
+    IMP_PYCALLBACK__DC              (wxPyRectangleShape, wxRectangleShape,  OnErase);
+    IMP_PYCALLBACK__DC              (wxPyRectangleShape, wxRectangleShape,  OnEraseContents);
+    IMP_PYCALLBACK__DC              (wxPyRectangleShape, wxRectangleShape,  OnHighlight);
+    IMP_PYCALLBACK__2DBL2INT        (wxPyRectangleShape, wxRectangleShape,  OnLeftClick);
+    IMP_PYCALLBACK__2DBL2INT        (wxPyRectangleShape, wxRectangleShape,  OnLeftDoubleClick);
+    IMP_PYCALLBACK__2DBL2INT        (wxPyRectangleShape, wxRectangleShape,  OnRightClick);
+    IMP_PYCALLBACK__2DBL            (wxPyRectangleShape, wxRectangleShape,  OnSize);
+    IMP_PYCALLBACK_BOOL_DC4DBLBOOL  (wxPyRectangleShape, wxRectangleShape,  OnMovePre);
+    IMP_PYCALLBACK__DC4DBLBOOL      (wxPyRectangleShape, wxRectangleShape,  OnMovePost);
+    IMP_PYCALLBACK__BOOL2DBL2INT    (wxPyRectangleShape, wxRectangleShape,  OnDragLeft);
+    IMP_PYCALLBACK__2DBL2INT        (wxPyRectangleShape, wxRectangleShape,  OnBeginDragLeft);
+    IMP_PYCALLBACK__2DBL2INT        (wxPyRectangleShape, wxRectangleShape,  OnEndDragLeft);
+    IMP_PYCALLBACK__BOOL2DBL2INT    (wxPyRectangleShape, wxRectangleShape,  OnDragRight);
+    IMP_PYCALLBACK__2DBL2INT        (wxPyRectangleShape, wxRectangleShape,  OnBeginDragRight);
+    IMP_PYCALLBACK__2DBL2INT        (wxPyRectangleShape, wxRectangleShape,  OnEndDragRight);
+    IMP_PYCALLBACK__DC4DBL          (wxPyRectangleShape, wxRectangleShape,  OnDrawOutline);
+    IMP_PYCALLBACK__DC              (wxPyRectangleShape, wxRectangleShape,  OnDrawControlPoints);
+    IMP_PYCALLBACK__DC              (wxPyRectangleShape, wxRectangleShape,  OnEraseControlPoints);
+    IMP_PYCALLBACK__DCBOOL          (wxPyRectangleShape, wxRectangleShape,  OnMoveLink);
+    IMP_PYCALLBACK__WXCPBOOL2DBL2INT(wxPyRectangleShape, wxRectangleShape,  OnSizingDragLeft);
+    IMP_PYCALLBACK__WXCP2DBL2INT    (wxPyRectangleShape, wxRectangleShape,  OnSizingBeginDragLeft);
+    IMP_PYCALLBACK__WXCP2DBL2INT    (wxPyRectangleShape, wxRectangleShape,  OnSizingEndDragLeft);
+    IMP_PYCALLBACK__2DBL            (wxPyRectangleShape, wxRectangleShape,  OnBeginSize);
+    IMP_PYCALLBACK__2DBL            (wxPyRectangleShape, wxRectangleShape,  OnEndSize)
+        
+
+
+    WXSHAPE_IMP_CALLBACKS(wxPyControlPoint, wxControlPoint);
+
+
+    WXSHAPE_IMP_CALLBACKS(wxPyBitmapShape, wxBitmapShape);
+
+
+    WXSHAPE_IMP_CALLBACKS(wxPyDrawnShape, wxDrawnShape);
+
+wxOGLConstraint *new_wxOGLConstraint(int type,wxPyShape *constraining,PyObject *constrained){
+            wxList* list = wxPy_wxListHelper(constrained, wxT("wxPyShape"));
+            wxOGLConstraint* rv = new wxOGLConstraint(type, constraining, *list);
+            delete list;
+            return rv;
+        }
+
+    WXSHAPE_IMP_CALLBACKS(wxPyCompositeShape, wxCompositeShape);
+
+wxOGLConstraint *wxPyCompositeShape_AddConstrainedShapes(wxPyCompositeShape *self,int type,wxPyShape *constraining,PyObject *constrained){
+            wxList* list = wxPy_wxListHelper(constrained, wxT("wxPyShape"));
+            wxOGLConstraint* rv = self->AddConstraint(type, constraining, *list);
+            delete list;
+            return rv;
+        }
+PyObject *wxPyCompositeShape_GetConstraints(wxPyCompositeShape *self){
+            wxList& list = self->GetConstraints();
+            return wxPy_ConvertList(&list);
+        }
+PyObject *wxPyCompositeShape_GetDivisions(wxPyCompositeShape *self){
+            wxList& list = self->GetDivisions();
+            return wxPy_ConvertShapeList(&list);
+        }
+
+    WXSHAPE_IMP_CALLBACKS(wxPyDividedShape, wxDividedShape);
+
+
+    WXSHAPE_IMP_CALLBACKS(wxPyDivisionShape, wxDivisionShape);
+
+
+    WXSHAPE_IMP_CALLBACKS(wxPyEllipseShape, wxEllipseShape);
+
+
+    WXSHAPE_IMP_CALLBACKS(wxPyCircleShape, wxCircleShape);
+
+
+    WXSHAPE_IMP_CALLBACKS(wxPyLineShape, wxLineShape);
+
+void wxPyLineShape_AddArrowOrdered(wxPyLineShape *self,wxArrowHead *arrow,PyObject *referenceList,int end){
+            wxList* list = wxPy_wxListHelper(referenceList, wxT("wxArrowHead"));
+            self->AddArrowOrdered(arrow, *list, end);
+            delete list;
+        }
+PyObject *wxPyLineShape_GetLineControlPoints(wxPyLineShape *self){
+            wxList* list = self->GetLineControlPoints();
+            return wxPy_ConvertShapeList(list);
+        }
+
+    WXSHAPE_IMP_CALLBACKS(wxPyPolygonShape, wxPolygonShape);
+
+PyObject *wxPyPolygonShape_Create(wxPyPolygonShape *self,PyObject *points){
+            wxList* list = wxPy_wxRealPoint_ListHelper(points);
+            if (list) {
+                self->Create(list);
+                Py_INCREF(Py_None);
+                return Py_None;
+            }
+            else return NULL;
+        }
+PyObject *wxPyPolygonShape_GetPoints(wxPyPolygonShape *self){
+            wxList* list = self->GetPoints();
+            PyObject*   pyList;
+            PyObject*   pyObj;
+            wxObject*   wxObj;
+            wxNode*     node = list->GetFirst();
+
+            wxPyBeginBlockThreads();
+            pyList = PyList_New(0);
+            while (node) {
+                wxObj = node->GetData();
+                pyObj = wxPyConstructObject(wxObj, wxT("wxRealPoint"), 0);
+                PyList_Append(pyList, pyObj);
+                node = node->GetNext();
+            }
+            wxPyEndBlockThreads();
+            return pyList;
+        }
+
+    WXSHAPE_IMP_CALLBACKS(wxPyTextShape, wxTextShape);
+
+
+    // Put some wx default wxChar* values into wxStrings.
+    DECLARE_DEF_STRING(ShapeCanvasNameStr);
+
+PyObject *wxDiagram_GetShapeList(wxDiagram *self){
+            wxList* list = self->GetShapeList();
+            return wxPy_ConvertShapeList(list);
+        }
+
+    IMP_PYCALLBACK__2DBLINT(wxPyShapeCanvas, wxShapeCanvas, OnBeginDragLeft);
+    IMP_PYCALLBACK__2DBLINT(wxPyShapeCanvas, wxShapeCanvas, OnBeginDragRight);
+    IMP_PYCALLBACK__2DBLINT(wxPyShapeCanvas, wxShapeCanvas, OnEndDragLeft);
+    IMP_PYCALLBACK__2DBLINT(wxPyShapeCanvas, wxShapeCanvas, OnEndDragRight);
+    IMP_PYCALLBACK__BOOL2DBLINT(wxPyShapeCanvas, wxShapeCanvas, OnDragLeft);
+    IMP_PYCALLBACK__BOOL2DBLINT(wxPyShapeCanvas, wxShapeCanvas, OnDragRight);
+    IMP_PYCALLBACK__2DBLINT(wxPyShapeCanvas, wxShapeCanvas, OnLeftClick);
+    IMP_PYCALLBACK__2DBLINT(wxPyShapeCanvas, wxShapeCanvas, OnRightClick);
+
+
+//---------------------------------------------------------------------------
+
+// Convert from a Python list to a list of className objects.  This one will
+// work for any class for the VERY generic cases, but beyond that the helper
+// needs to know more about the type.
+wxList* wxPy_wxListHelper(PyObject* pyList, const wxChar* className) {
+    wxPyBeginBlockThreads();
+    if (!PyList_Check(pyList)) {
+        PyErr_SetString(PyExc_TypeError, "Expected a list object.");
+        wxPyEndBlockThreads();
+        return NULL;
+    }
+    int count = PyList_Size(pyList);
+    wxList* list = new wxList;
+    if (! list) {
+        PyErr_SetString(PyExc_MemoryError, "Unable to allocate wxList object");
+        wxPyEndBlockThreads();
+        return NULL;
+    }
+    for (int x=0; x<count; x++) {
+        PyObject* pyo = PyList_GetItem(pyList, x);
+        wxObject* wxo = NULL;
+
+        if ( !wxPyConvertSwigPtr(pyo, (void **)&wxo, className) ) {
+            wxString errmsg;
+            errmsg.Printf(wxT("Type error, expected list of %s objects"), className);
+            PyErr_SetString(PyExc_TypeError, errmsg.mb_str());
+            wxPyEndBlockThreads();
+            return NULL;
+        }
+        list->Append(wxo);
+    }
+    wxPyEndBlockThreads();
+    return list;
+}
+
+//---------------------------------------------------------------------------
+
+wxList* wxPy_wxRealPoint_ListHelper(PyObject* pyList) {
+    wxPyBeginBlockThreads();
+    if (!PyList_Check(pyList)) {
+        PyErr_SetString(PyExc_TypeError, "Expected a list object.");
+        wxPyEndBlockThreads();
+        return NULL;
+    }
+    int count = PyList_Size(pyList);
+    wxList* list = new wxList;
+    if (! list) {
+        PyErr_SetString(PyExc_MemoryError, "Unable to allocate wxList object");
+        wxPyEndBlockThreads();
+        return NULL;
+    }
+    for (int x=0; x<count; x++) {
+        PyObject* pyo = PyList_GetItem(pyList, x);
+
+        if (PyTuple_Check(pyo)) {
+            PyObject* o1 = PyNumber_Float(PyTuple_GetItem(pyo, 0));
+            PyObject* o2 = PyNumber_Float(PyTuple_GetItem(pyo, 1));
+
+            double val1 = (o1 ? PyFloat_AsDouble(o1) : 0.0);
+            double val2 = (o2 ? PyFloat_AsDouble(o2) : 0.0);
+
+            list->Append((wxObject*) new wxRealPoint(val1, val2));
+
+        } else {
+            wxRealPoint* wxo = NULL;
+            if (wxPyConvertSwigPtr(pyo, (void **)&wxo, wxT("wxRealPoint"))) {
+                PyErr_SetString(PyExc_TypeError, "Type error, expected list of wxRealPoint objects or 2-tuples");
+                wxPyEndBlockThreads();
+                return NULL;
+            }
+            list->Append((wxObject*) new wxRealPoint(*wxo));
+        }
+    }
+    wxPyEndBlockThreads();
+    return list;
+}
+
+//---------------------------------------------------------------------------
+
+PyObject*  wxPyMake_wxShapeEvtHandler(wxShapeEvtHandler* source) {
+    PyObject* target = NULL;
+
+    if (source && wxIsKindOf(source, wxShapeEvtHandler)) {
+        // If it's derived from wxShapeEvtHandler then there may
+        // already be a pointer to a Python object that we can use
+        // in the OOR data.
+        wxShapeEvtHandler* seh = (wxShapeEvtHandler*)source;
+        wxPyOORClientData* data = (wxPyOORClientData*)seh->GetClientObject();
+        if (data) {
+            target = data->m_obj;
+            Py_INCREF(target);
+        }
+    }
+    if (! target) {
+        target = wxPyMake_wxObject2(source, FALSE);
+        if (target != Py_None)
+            ((wxShapeEvtHandler*)source)->SetClientObject(new wxPyOORClientData(target));
+    }
+    return target;
+}
+
+//---------------------------------------------------------------------------
+
+PyObject* wxPy_ConvertShapeList(wxListBase* listbase) {
+    wxList*     list = (wxList*)listbase;
+    PyObject*   pyList;
+    PyObject*   pyObj;
+    wxObject*   wxObj;
+    wxNode*     node = list->GetFirst();
+
+    wxPyBeginBlockThreads();
+    pyList = PyList_New(0);
+    while (node) {
+        wxObj = node->GetData();
+        pyObj = wxPyMake_wxShapeEvtHandler((wxShapeEvtHandler*)wxObj);
+        PyList_Append(pyList, pyObj);
+        node = node->GetNext();
+    }
+    wxPyEndBlockThreads();
+    return pyList;
+}
+
+
+//---------------------------------------------------------------------------
+
+IMPLEMENT_DYNAMIC_CLASS(wxPyShapeCanvas, wxShapeCanvas);
+IMPLEMENT_DYNAMIC_CLASS(wxPyShapeEvtHandler, wxShapeEvtHandler);
+IMPLEMENT_ABSTRACT_CLASS(wxPyShape, wxShape);
+IMPLEMENT_DYNAMIC_CLASS(wxPyRectangleShape, wxRectangleShape);
+IMPLEMENT_DYNAMIC_CLASS(wxPyControlPoint, wxControlPoint);
+IMPLEMENT_DYNAMIC_CLASS(wxPyBitmapShape, wxBitmapShape);
+IMPLEMENT_DYNAMIC_CLASS(wxPyDrawnShape, wxDrawnShape);
+IMPLEMENT_DYNAMIC_CLASS(wxPyCompositeShape, wxCompositeShape);
+IMPLEMENT_DYNAMIC_CLASS(wxPyDividedShape, wxDividedShape);
+IMPLEMENT_DYNAMIC_CLASS(wxPyDivisionShape, wxDivisionShape);
+IMPLEMENT_DYNAMIC_CLASS(wxPyEllipseShape, wxEllipseShape);
+IMPLEMENT_DYNAMIC_CLASS(wxPyCircleShape, wxCircleShape);
+IMPLEMENT_DYNAMIC_CLASS(wxPyLineShape, wxLineShape);
+IMPLEMENT_DYNAMIC_CLASS(wxPyPolygonShape, wxPolygonShape);
+IMPLEMENT_DYNAMIC_CLASS(wxPyTextShape, wxTextShape);
+
+//---------------------------------------------------------------------------
+
+// extern "C" SWIGEXPORT(void) initoglbasicc();
+// extern "C" SWIGEXPORT(void) initoglshapesc();
+// extern "C" SWIGEXPORT(void) initoglshapes2c();
+// extern "C" SWIGEXPORT(void) initoglcanvasc();
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+static PyObject *_wrap_new_ShapeRegion(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxShapeRegion *result;
+    char *kwnames[] = {
+        NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)":new_ShapeRegion",kwnames)) goto fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxShapeRegion *)new wxShapeRegion();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxShapeRegion, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ShapeRegion_SetText(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxShapeRegion *arg1 = (wxShapeRegion *) 0 ;
+    wxString *arg2 = 0 ;
+    bool temp2 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "s", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:ShapeRegion_SetText",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxShapeRegion,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = wxString_in_helper(obj1);
+        if (arg2 == NULL) SWIG_fail;
+        temp2 = True;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetText((wxString const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_ShapeRegion_SetFont(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxShapeRegion *arg1 = (wxShapeRegion *) 0 ;
+    wxFont *arg2 = (wxFont *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "f", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:ShapeRegion_SetFont",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxShapeRegion,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        wxFont* temp;
+        if (obj1) {
+            if (obj1 == Py_None) {
+                temp = NULL; 
+            }
+            else if (! wxPyConvertSwigPtr(obj1, (void **) &temp, wxT("wxFont"))) {
+                PyErr_SetString(PyExc_TypeError, "Type error, expected wxFont.");
+                return NULL;
+            }
+        }
+        if (temp)
+        arg2 = wxTheFontList->FindOrCreateFont(temp->GetPointSize(),
+        temp->GetFamily(),
+        temp->GetStyle(),
+        temp->GetWeight(),
+        temp->GetUnderlined(),
+        temp->GetFaceName(),
+        temp->GetEncoding());
+        else
+        arg2 = NULL;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetFont(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ShapeRegion_SetMinSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxShapeRegion *arg1 = (wxShapeRegion *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:ShapeRegion_SetMinSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxShapeRegion,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetMinSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ShapeRegion_SetSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxShapeRegion *arg1 = (wxShapeRegion *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:ShapeRegion_SetSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxShapeRegion,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ShapeRegion_SetPosition(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxShapeRegion *arg1 = (wxShapeRegion *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:ShapeRegion_SetPosition",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxShapeRegion,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetPosition(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ShapeRegion_SetProportions(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxShapeRegion *arg1 = (wxShapeRegion *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:ShapeRegion_SetProportions",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxShapeRegion,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetProportions(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ShapeRegion_SetFormatMode(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxShapeRegion *arg1 = (wxShapeRegion *) 0 ;
+    int arg2 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "mode", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:ShapeRegion_SetFormatMode",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxShapeRegion,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetFormatMode(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ShapeRegion_SetName(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxShapeRegion *arg1 = (wxShapeRegion *) 0 ;
+    wxString *arg2 = 0 ;
+    bool temp2 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "s", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:ShapeRegion_SetName",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxShapeRegion,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = wxString_in_helper(obj1);
+        if (arg2 == NULL) SWIG_fail;
+        temp2 = True;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetName((wxString const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_ShapeRegion_SetColour(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxShapeRegion *arg1 = (wxShapeRegion *) 0 ;
+    wxString *arg2 = 0 ;
+    bool temp2 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "col", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:ShapeRegion_SetColour",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxShapeRegion,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = wxString_in_helper(obj1);
+        if (arg2 == NULL) SWIG_fail;
+        temp2 = True;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetColour((wxString const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_ShapeRegion_GetText(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxShapeRegion *arg1 = (wxShapeRegion *) 0 ;
+    wxString result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:ShapeRegion_GetText",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxShapeRegion,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (arg1)->GetText();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+#if wxUSE_UNICODE
+        resultobj = PyUnicode_FromWideChar((&result)->c_str(), (&result)->Len());
+#else
+        resultobj = PyString_FromStringAndSize((&result)->c_str(), (&result)->Len());
+#endif
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ShapeRegion_GetFont(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxShapeRegion *arg1 = (wxShapeRegion *) 0 ;
+    wxFont *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:ShapeRegion_GetFont",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxShapeRegion,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxFont *)(arg1)->GetFont();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxFont, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ShapeRegion_GetMinSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxShapeRegion *arg1 = (wxShapeRegion *) 0 ;
+    double *arg2 = (double *) 0 ;
+    double *arg3 = (double *) 0 ;
+    double temp2 ;
+    double temp3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    arg2 = &temp2;
+    arg3 = &temp3;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:ShapeRegion_GetMinSize",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxShapeRegion,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->GetMinSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        PyObject *o = PyFloat_FromDouble((double) (*arg2));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    {
+        PyObject *o = PyFloat_FromDouble((double) (*arg3));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ShapeRegion_GetProportion(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxShapeRegion *arg1 = (wxShapeRegion *) 0 ;
+    double *arg2 = (double *) 0 ;
+    double *arg3 = (double *) 0 ;
+    double temp2 ;
+    double temp3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    arg2 = &temp2;
+    arg3 = &temp3;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:ShapeRegion_GetProportion",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxShapeRegion,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->GetProportion(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        PyObject *o = PyFloat_FromDouble((double) (*arg2));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    {
+        PyObject *o = PyFloat_FromDouble((double) (*arg3));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ShapeRegion_GetSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxShapeRegion *arg1 = (wxShapeRegion *) 0 ;
+    double *arg2 = (double *) 0 ;
+    double *arg3 = (double *) 0 ;
+    double temp2 ;
+    double temp3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    arg2 = &temp2;
+    arg3 = &temp3;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:ShapeRegion_GetSize",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxShapeRegion,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->GetSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        PyObject *o = PyFloat_FromDouble((double) (*arg2));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    {
+        PyObject *o = PyFloat_FromDouble((double) (*arg3));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ShapeRegion_GetPosition(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxShapeRegion *arg1 = (wxShapeRegion *) 0 ;
+    double *arg2 = (double *) 0 ;
+    double *arg3 = (double *) 0 ;
+    double temp2 ;
+    double temp3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    arg2 = &temp2;
+    arg3 = &temp3;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:ShapeRegion_GetPosition",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxShapeRegion,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->GetPosition(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        PyObject *o = PyFloat_FromDouble((double) (*arg2));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    {
+        PyObject *o = PyFloat_FromDouble((double) (*arg3));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ShapeRegion_GetFormatMode(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxShapeRegion *arg1 = (wxShapeRegion *) 0 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:ShapeRegion_GetFormatMode",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxShapeRegion,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)(arg1)->GetFormatMode();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ShapeRegion_GetName(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxShapeRegion *arg1 = (wxShapeRegion *) 0 ;
+    wxString result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:ShapeRegion_GetName",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxShapeRegion,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (arg1)->GetName();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+#if wxUSE_UNICODE
+        resultobj = PyUnicode_FromWideChar((&result)->c_str(), (&result)->Len());
+#else
+        resultobj = PyString_FromStringAndSize((&result)->c_str(), (&result)->Len());
+#endif
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ShapeRegion_GetColour(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxShapeRegion *arg1 = (wxShapeRegion *) 0 ;
+    wxString result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:ShapeRegion_GetColour",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxShapeRegion,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (arg1)->GetColour();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+#if wxUSE_UNICODE
+        resultobj = PyUnicode_FromWideChar((&result)->c_str(), (&result)->Len());
+#else
+        resultobj = PyString_FromStringAndSize((&result)->c_str(), (&result)->Len());
+#endif
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ShapeRegion_GetActualColourObject(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxShapeRegion *arg1 = (wxShapeRegion *) 0 ;
+    wxColour *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:ShapeRegion_GetActualColourObject",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxShapeRegion,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxColour *)(arg1)->GetActualColourObject();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxColour, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ShapeRegion_GetFormattedText(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxShapeRegion *arg1 = (wxShapeRegion *) 0 ;
+    wxList *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:ShapeRegion_GetFormattedText",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxShapeRegion,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        {
+            wxList &_result_ref = (arg1)->GetFormattedText();
+            result = (wxList *) &_result_ref;
+        }
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxList, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ShapeRegion_GetPenColour(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxShapeRegion *arg1 = (wxShapeRegion *) 0 ;
+    wxString result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:ShapeRegion_GetPenColour",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxShapeRegion,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (arg1)->GetPenColour();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+#if wxUSE_UNICODE
+        resultobj = PyUnicode_FromWideChar((&result)->c_str(), (&result)->Len());
+#else
+        resultobj = PyString_FromStringAndSize((&result)->c_str(), (&result)->Len());
+#endif
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ShapeRegion_GetPenStyle(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxShapeRegion *arg1 = (wxShapeRegion *) 0 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:ShapeRegion_GetPenStyle",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxShapeRegion,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)(arg1)->GetPenStyle();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ShapeRegion_SetPenStyle(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxShapeRegion *arg1 = (wxShapeRegion *) 0 ;
+    int arg2 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "style", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:ShapeRegion_SetPenStyle",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxShapeRegion,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetPenStyle(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ShapeRegion_SetPenColour(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxShapeRegion *arg1 = (wxShapeRegion *) 0 ;
+    wxString *arg2 = 0 ;
+    bool temp2 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "col", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:ShapeRegion_SetPenColour",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxShapeRegion,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = wxString_in_helper(obj1);
+        if (arg2 == NULL) SWIG_fail;
+        temp2 = True;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetPenColour((wxString const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_ShapeRegion_GetActualPen(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxShapeRegion *arg1 = (wxShapeRegion *) 0 ;
+    wxPen *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:ShapeRegion_GetActualPen",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxShapeRegion,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPen *)(arg1)->GetActualPen();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxPen, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ShapeRegion_GetWidth(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxShapeRegion *arg1 = (wxShapeRegion *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:ShapeRegion_GetWidth",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxShapeRegion,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (double)(arg1)->GetWidth();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyFloat_FromDouble(result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ShapeRegion_GetHeight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxShapeRegion *arg1 = (wxShapeRegion *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:ShapeRegion_GetHeight",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxShapeRegion,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (double)(arg1)->GetHeight();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyFloat_FromDouble(result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ShapeRegion_ClearText(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxShapeRegion *arg1 = (wxShapeRegion *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:ShapeRegion_ClearText",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxShapeRegion,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->ClearText();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * ShapeRegion_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_wxShapeRegion, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_PyShapeEvtHandler(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) NULL ;
+    wxPyShape *arg2 = (wxPyShape *) NULL ;
+    wxPyShapeEvtHandler *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "prev",(char *) "shape", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"|OO:new_PyShapeEvtHandler",kwnames,&obj0,&obj1)) goto fail;
+    if (obj0) {
+        if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    }
+    if (obj1) {
+        if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyShapeEvtHandler *)new wxPyShapeEvtHandler(arg1,arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxShapeEvtHandler(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler__setCallbackInfo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    PyObject *arg2 = (PyObject *) 0 ;
+    PyObject *arg3 = (PyObject *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "self",(char *) "_class", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:PyShapeEvtHandler__setCallbackInfo",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = obj1;
+    arg3 = obj2;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->_setCallbackInfo(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler__setOORInfo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    PyObject *arg2 = (PyObject *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "_self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShapeEvtHandler__setOORInfo",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = obj1;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        wxPyShapeEvtHandler__setOORInfo(arg1,arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_SetShape(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    wxPyShape *arg2 = (wxPyShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "sh", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShapeEvtHandler_SetShape",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetShape(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_GetShape(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    wxPyShape *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShapeEvtHandler_GetShape",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyShape *)(arg1)->GetShape();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxShapeEvtHandler(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_SetPreviousHandler(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    wxPyShapeEvtHandler *arg2 = (wxPyShapeEvtHandler *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "handler", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShapeEvtHandler_SetPreviousHandler",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetPreviousHandler(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_GetPreviousHandler(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    wxPyShapeEvtHandler *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShapeEvtHandler_GetPreviousHandler",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyShapeEvtHandler *)(arg1)->GetPreviousHandler();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxShapeEvtHandler(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_CreateNewCopy(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    wxPyShapeEvtHandler *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShapeEvtHandler_CreateNewCopy",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyShapeEvtHandler *)(arg1)->CreateNewCopy();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxShapeEvtHandler(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_base_OnDelete(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShapeEvtHandler_base_OnDelete",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDelete();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_base_OnDraw(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShapeEvtHandler_base_OnDraw",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDraw(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_base_OnDrawContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShapeEvtHandler_base_OnDrawContents",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawContents(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_base_OnDrawBranches(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    wxDC *arg2 = 0 ;
+    bool arg3 = (bool) False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "erase", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyShapeEvtHandler_base_OnDrawBranches",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawBranches(*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_base_OnMoveLinks(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShapeEvtHandler_base_OnMoveLinks",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMoveLinks(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_base_OnErase(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShapeEvtHandler_base_OnErase",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnErase(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_base_OnEraseContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShapeEvtHandler_base_OnEraseContents",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEraseContents(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_base_OnHighlight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShapeEvtHandler_base_OnHighlight",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnHighlight(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_base_OnLeftClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyShapeEvtHandler_base_OnLeftClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnLeftClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_base_OnLeftDoubleClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyShapeEvtHandler_base_OnLeftDoubleClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnLeftDoubleClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_base_OnRightClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyShapeEvtHandler_base_OnRightClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnRightClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_base_OnSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyShapeEvtHandler_base_OnSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_base_OnMovePre(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    bool arg7 = (bool) True ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "old_x",(char *) "old_y",(char *) "display", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd|O:PyShapeEvtHandler_base_OnMovePre",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6,&obj6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj6) {
+        arg7 = PyInt_AsLong(obj6) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->base_OnMovePre(*arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_base_OnMovePost(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    bool arg7 = (bool) True ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "old_x",(char *) "old_y",(char *) "display", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd|O:PyShapeEvtHandler_base_OnMovePost",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6,&obj6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj6) {
+        arg7 = PyInt_AsLong(obj6) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMovePost(*arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_base_OnDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    bool arg2 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyShapeEvtHandler_base_OnDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_base_OnBeginDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyShapeEvtHandler_base_OnBeginDragLeft",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginDragLeft(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_base_OnEndDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyShapeEvtHandler_base_OnEndDragLeft",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndDragLeft(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_base_OnDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    bool arg2 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyShapeEvtHandler_base_OnDragRight",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDragRight(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_base_OnBeginDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyShapeEvtHandler_base_OnBeginDragRight",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginDragRight(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_base_OnEndDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyShapeEvtHandler_base_OnEndDragRight",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndDragRight(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_base_OnDrawOutline(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd:PyShapeEvtHandler_base_OnDrawOutline",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawOutline(*arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_base_OnDrawControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShapeEvtHandler_base_OnDrawControlPoints",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawControlPoints(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_base_OnEraseControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShapeEvtHandler_base_OnEraseControlPoints",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEraseControlPoints(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_base_OnMoveLink(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    wxDC *arg2 = 0 ;
+    bool arg3 = (bool) True ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "moveControlPoints", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyShapeEvtHandler_base_OnMoveLink",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMoveLink(*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_base_OnSizingDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    bool arg3 ;
+    double arg4 ;
+    double arg5 ;
+    int arg6 = (int) 0 ;
+    int arg7 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOOdd|ii:PyShapeEvtHandler_base_OnSizingDragLeft",kwnames,&obj0,&obj1,&obj2,&arg4,&arg5,&arg6,&arg7)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg3 = PyInt_AsLong(obj2) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingDragLeft(arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_base_OnSizingBeginDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyShapeEvtHandler_base_OnSizingBeginDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingBeginDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_base_OnSizingEndDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyShapeEvtHandler_base_OnSizingEndDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingEndDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_base_OnBeginSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyShapeEvtHandler_base_OnBeginSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_base_OnEndSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyShapeEvtHandler_base_OnEndSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * PyShapeEvtHandler_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_wxPyShapeEvtHandler, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_PyShape(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeCanvas *arg1 = (wxPyShapeCanvas *) NULL ;
+    wxPyShape *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "can", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"|O:new_PyShape",kwnames,&obj0)) goto fail;
+    if (obj0) {
+        if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeCanvas,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyShape *)new wxPyShape(arg1);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxShapeEvtHandler(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape__setCallbackInfo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    PyObject *arg2 = (PyObject *) 0 ;
+    PyObject *arg3 = (PyObject *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "self",(char *) "_class", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:PyShape__setCallbackInfo",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = obj1;
+    arg3 = obj2;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->_setCallbackInfo(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetBoundingBoxMax(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    double *arg2 = (double *) 0 ;
+    double *arg3 = (double *) 0 ;
+    double temp2 ;
+    double temp3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    arg2 = &temp2;
+    arg3 = &temp3;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetBoundingBoxMax",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->GetBoundingBoxMax(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        PyObject *o = PyFloat_FromDouble((double) (*arg2));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    {
+        PyObject *o = PyFloat_FromDouble((double) (*arg3));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetBoundingBoxMin(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    double *arg2 = (double *) 0 ;
+    double *arg3 = (double *) 0 ;
+    double temp2 ;
+    double temp3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    arg2 = &temp2;
+    arg3 = &temp3;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetBoundingBoxMin",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->GetBoundingBoxMin(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        PyObject *o = PyFloat_FromDouble((double) (*arg2));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    {
+        PyObject *o = PyFloat_FromDouble((double) (*arg3));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetPerimeterPoint(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double *arg6 = (double *) 0 ;
+    double *arg7 = (double *) 0 ;
+    bool result;
+    double temp6 ;
+    double temp7 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x1",(char *) "y1",(char *) "x2",(char *) "y2", NULL 
+    };
+    
+    arg6 = &temp6;
+    arg7 = &temp7;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odddd:PyShape_GetPerimeterPoint",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->GetPerimeterPoint(arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    {
+        PyObject *o = PyFloat_FromDouble((double) (*arg6));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    {
+        PyObject *o = PyFloat_FromDouble((double) (*arg7));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetCanvas(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxPyShapeCanvas *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetCanvas",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyShapeCanvas *)(arg1)->GetCanvas();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxObject(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_SetCanvas(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxPyShapeCanvas *arg2 = (wxPyShapeCanvas *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "the_canvas", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_SetCanvas",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyShapeCanvas,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetCanvas(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_AddToCanvas(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxPyShapeCanvas *arg2 = (wxPyShapeCanvas *) 0 ;
+    wxPyShape *arg3 = (wxPyShape *) NULL ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "the_canvas",(char *) "addAfter", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyShape_AddToCanvas",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyShapeCanvas,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (obj2) {
+        if ((SWIG_ConvertPtr(obj2,(void **) &arg3, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->AddToCanvas(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_InsertInCanvas(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxPyShapeCanvas *arg2 = (wxPyShapeCanvas *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "the_canvas", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_InsertInCanvas",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyShapeCanvas,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->InsertInCanvas(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_RemoveFromCanvas(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxPyShapeCanvas *arg2 = (wxPyShapeCanvas *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "the_canvas", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_RemoveFromCanvas",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyShapeCanvas,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->RemoveFromCanvas(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetX(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetX",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (double)(arg1)->GetX();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyFloat_FromDouble(result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetY(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetY",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (double)(arg1)->GetY();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyFloat_FromDouble(result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_SetX(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    double arg2 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Od:PyShape_SetX",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetX(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_SetY(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    double arg2 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "y", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Od:PyShape_SetY",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetY(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetParent(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxPyShape *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetParent",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyShape *)(arg1)->GetParent();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxShapeEvtHandler(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_SetParent(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxPyShape *arg2 = (wxPyShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "p", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_SetParent",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetParent(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetTopAncestor(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxPyShape *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetTopAncestor",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyShape *)(arg1)->GetTopAncestor();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxShapeEvtHandler(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetChildren(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    PyObject *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetChildren",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (PyObject *)wxPyShape_GetChildren(arg1);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = result;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_Unlink(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_Unlink",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Unlink();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_SetDrawHandles(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    bool arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "drawH", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_SetDrawHandles",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetDrawHandles(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetDrawHandles(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetDrawHandles",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->GetDrawHandles();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_MakeControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_MakeControlPoints",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->MakeControlPoints();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_DeleteControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxDC *arg2 = (wxDC *) NULL ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O|O:PyShape_DeleteControlPoints",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (obj1) {
+        if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DeleteControlPoints(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_ResetControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_ResetControlPoints",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->ResetControlPoints();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetEventHandler(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxPyShapeEvtHandler *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetEventHandler",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyShapeEvtHandler *)(arg1)->GetEventHandler();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxShapeEvtHandler(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_SetEventHandler(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxPyShapeEvtHandler *arg2 = (wxPyShapeEvtHandler *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "handler", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_SetEventHandler",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetEventHandler(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_MakeMandatoryControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_MakeMandatoryControlPoints",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->MakeMandatoryControlPoints();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_ResetMandatoryControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_ResetMandatoryControlPoints",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->ResetMandatoryControlPoints();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_Recompute(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_Recompute",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->Recompute();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_CalculateSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_CalculateSize",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->CalculateSize();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_Select(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    bool arg2 = (bool) True ;
+    wxDC *arg3 = (wxDC *) NULL ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "select",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O|OO:PyShape_Select",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (obj1) {
+        arg2 = PyInt_AsLong(obj1) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    if (obj2) {
+        if ((SWIG_ConvertPtr(obj2,(void **) &arg3, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Select(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_SetHighlight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    bool arg2 = (bool) True ;
+    bool arg3 = (bool) False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "hi",(char *) "recurse", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O|OO:PyShape_SetHighlight",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (obj1) {
+        arg2 = PyInt_AsLong(obj1) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetHighlight(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_IsHighlighted(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_IsHighlighted",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->IsHighlighted();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_Selected(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_Selected",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->Selected();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_AncestorSelected(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_AncestorSelected",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->AncestorSelected();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_SetSensitivityFilter(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    int arg2 = (int) OP_ALL ;
+    bool arg3 = (bool) False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "sens",(char *) "recursive", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O|iO:PyShape_SetSensitivityFilter",kwnames,&obj0,&arg2,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetSensitivityFilter(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetSensitivityFilter(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetSensitivityFilter",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)(arg1)->GetSensitivityFilter();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_SetDraggable(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    bool arg2 ;
+    bool arg3 = (bool) False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "drag",(char *) "recursive", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyShape_SetDraggable",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetDraggable(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_SetFixedSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    bool arg2 ;
+    bool arg3 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:PyShape_SetFixedSize",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    arg3 = PyInt_AsLong(obj2) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetFixedSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetFixedSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    bool *arg2 = (bool *) 0 ;
+    bool *arg3 = (bool *) 0 ;
+    bool temp2 ;
+    bool temp3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    arg2 = &temp2;
+    arg3 = &temp3;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetFixedSize",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->GetFixedSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        PyObject *o = PyInt_FromLong((long) (*arg2));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    {
+        PyObject *o = PyInt_FromLong((long) (*arg3));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetFixedWidth(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetFixedWidth",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->GetFixedWidth();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetFixedHeight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetFixedHeight",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->GetFixedHeight();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_SetSpaceAttachments(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    bool arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "sp", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_SetSpaceAttachments",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetSpaceAttachments(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetSpaceAttachments(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetSpaceAttachments",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->GetSpaceAttachments();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_SetShadowMode(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    int arg2 ;
+    bool arg3 = (bool) False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "mode",(char *) "redraw", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi|O:PyShape_SetShadowMode",kwnames,&obj0,&arg2,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetShadowMode(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetShadowMode(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetShadowMode",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)(arg1)->GetShadowMode();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_HitTest(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int *arg4 = (int *) 0 ;
+    double *arg5 = (double *) 0 ;
+    bool result;
+    int temp4 ;
+    double temp5 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y", NULL 
+    };
+    
+    arg4 = &temp4;
+    arg5 = &temp5;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyShape_HitTest",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->HitTest(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    {
+        PyObject *o = PyInt_FromLong((long) (*arg4));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    {
+        PyObject *o = PyFloat_FromDouble((double) (*arg5));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_SetCentreResize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    bool arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "cr", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_SetCentreResize",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetCentreResize(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetCentreResize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetCentreResize",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->GetCentreResize();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_SetMaintainAspectRatio(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    bool arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "ar", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_SetMaintainAspectRatio",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetMaintainAspectRatio(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetMaintainAspectRatio(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetMaintainAspectRatio",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->GetMaintainAspectRatio();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetLines(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    PyObject *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetLines",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (PyObject *)wxPyShape_GetLines(arg1);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = result;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_SetDisableLabel(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    bool arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "flag", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_SetDisableLabel",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetDisableLabel(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetDisableLabel(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetDisableLabel",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->GetDisableLabel();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_SetAttachmentMode(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    int arg2 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "mode", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:PyShape_SetAttachmentMode",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetAttachmentMode(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetAttachmentMode(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetAttachmentMode",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)(arg1)->GetAttachmentMode();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_SetId(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    long arg2 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "i", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Ol:PyShape_SetId",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetId(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetId(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    long result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetId",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (long)(arg1)->GetId();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_SetPen(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxPen *arg2 = (wxPen *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pen", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_SetPen",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        wxPen* temp;
+        if (obj1) {
+            if (obj1 == Py_None) {
+                temp = NULL; 
+            }
+            else if (! wxPyConvertSwigPtr(obj1, (void **) &temp, wxT("wxPen"))) {
+                PyErr_SetString(PyExc_TypeError, "Type error, expected wxPen.");
+                return NULL;
+            }
+        }
+        if (temp)
+        arg2 = wxThePenList->FindOrCreatePen(temp->GetColour(),
+        temp->GetWidth(),
+        temp->GetStyle());
+        else
+        arg2 = NULL;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetPen(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_SetBrush(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxBrush *arg2 = (wxBrush *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "brush", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_SetBrush",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        wxBrush* temp;
+        if (obj1) {
+            if (obj1 == Py_None) {
+                temp = NULL; 
+            }
+            else if (! wxPyConvertSwigPtr(obj1, (void **) &temp, wxT("wxBrush"))) {
+                PyErr_SetString(PyExc_TypeError, "Type error, expected wxBrush.");
+                return NULL;
+            }
+        }
+        if (temp)
+        arg2 = wxTheBrushList->FindOrCreateBrush(temp->GetColour(), temp->GetStyle());
+        else
+        arg2 = NULL;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetBrush(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_Show(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    bool arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "show", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_Show",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Show(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_IsShown(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_IsShown",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->IsShown();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_Move(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    bool arg5 = (bool) True ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj4 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x1",(char *) "y1",(char *) "display", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|O:PyShape_Move",kwnames,&obj0,&obj1,&arg3,&arg4,&obj4)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj4) {
+        arg5 = PyInt_AsLong(obj4) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Move(*arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_Erase(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_Erase",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Erase(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_EraseContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_EraseContents",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->EraseContents(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_Draw(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_Draw",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Draw(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_Flash(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_Flash",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Flash();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_MoveLinks(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_MoveLinks",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->MoveLinks(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_DrawContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_DrawContents",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DrawContents(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_SetSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    bool arg4 = (bool) True ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj3 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "recursive", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|O:PyShape_SetSize",kwnames,&obj0,&arg2,&arg3,&obj3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (obj3) {
+        arg4 = PyInt_AsLong(obj3) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetSize(arg2,arg3,arg4);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_SetAttachmentSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyShape_SetAttachmentSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetAttachmentSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_Attach(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxPyShapeCanvas *arg2 = (wxPyShapeCanvas *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "can", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_Attach",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyShapeCanvas,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Attach(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_Detach(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_Detach",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Detach();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_Constrain(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_Constrain",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->Constrain();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_AddLine(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxPyLineShape *arg2 = (wxPyLineShape *) 0 ;
+    wxPyShape *arg3 = (wxPyShape *) 0 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) -1 ;
+    int arg7 = (int) -1 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "line",(char *) "other",(char *) "attachFrom",(char *) "attachTo",(char *) "positionFrom",(char *) "positionTo", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO|iiii:PyShape_AddLine",kwnames,&obj0,&obj1,&obj2,&arg4,&arg5,&arg6,&arg7)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj2,(void **) &arg3, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->AddLine(arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetLinePosition(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxPyLineShape *arg2 = (wxPyLineShape *) 0 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "line", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_GetLinePosition",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)(arg1)->GetLinePosition(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_AddText(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxString *arg2 = 0 ;
+    bool temp2 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "string", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_AddText",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = wxString_in_helper(obj1);
+        if (arg2 == NULL) SWIG_fail;
+        temp2 = True;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->AddText((wxString const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetPen(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxPen *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetPen",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPen *)(arg1)->GetPen();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxPen, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetBrush(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxBrush *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetBrush",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxBrush *)(arg1)->GetBrush();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxBrush, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_SetDefaultRegionSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_SetDefaultRegionSize",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetDefaultRegionSize();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_FormatText(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    wxString *arg3 = 0 ;
+    int arg4 = (int) 0 ;
+    bool temp3 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "s",(char *) "regionId", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO|i:PyShape_FormatText",kwnames,&obj0,&obj1,&obj2,&arg4)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        arg3 = wxString_in_helper(obj2);
+        if (arg3 == NULL) SWIG_fail;
+        temp3 = True;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->FormatText(*arg2,(wxString const &)*arg3,arg4);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        if (temp3)
+        delete arg3;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp3)
+        delete arg3;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_SetFormatMode(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    int arg2 ;
+    int arg3 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "mode",(char *) "regionId", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi|i:PyShape_SetFormatMode",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetFormatMode(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetFormatMode(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    int arg2 = (int) 0 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "regionId", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O|i:PyShape_GetFormatMode",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)(arg1)->GetFormatMode(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_SetFont(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxFont *arg2 = (wxFont *) 0 ;
+    int arg3 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "font",(char *) "regionId", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|i:PyShape_SetFont",kwnames,&obj0,&obj1,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        wxFont* temp;
+        if (obj1) {
+            if (obj1 == Py_None) {
+                temp = NULL; 
+            }
+            else if (! wxPyConvertSwigPtr(obj1, (void **) &temp, wxT("wxFont"))) {
+                PyErr_SetString(PyExc_TypeError, "Type error, expected wxFont.");
+                return NULL;
+            }
+        }
+        if (temp)
+        arg2 = wxTheFontList->FindOrCreateFont(temp->GetPointSize(),
+        temp->GetFamily(),
+        temp->GetStyle(),
+        temp->GetWeight(),
+        temp->GetUnderlined(),
+        temp->GetFaceName(),
+        temp->GetEncoding());
+        else
+        arg2 = NULL;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetFont(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetFont(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    int arg2 = (int) 0 ;
+    wxFont *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "regionId", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O|i:PyShape_GetFont",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxFont *)(arg1)->GetFont(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxFont, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_SetTextColour(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxString *arg2 = 0 ;
+    int arg3 = (int) 0 ;
+    bool temp2 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "colour",(char *) "regionId", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|i:PyShape_SetTextColour",kwnames,&obj0,&obj1,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = wxString_in_helper(obj1);
+        if (arg2 == NULL) SWIG_fail;
+        temp2 = True;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetTextColour((wxString const &)*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetTextColour(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    int arg2 = (int) 0 ;
+    wxString result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "regionId", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O|i:PyShape_GetTextColour",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (arg1)->GetTextColour(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+#if wxUSE_UNICODE
+        resultobj = PyUnicode_FromWideChar((&result)->c_str(), (&result)->Len());
+#else
+        resultobj = PyString_FromStringAndSize((&result)->c_str(), (&result)->Len());
+#endif
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetNumberOfTextRegions(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetNumberOfTextRegions",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)(arg1)->GetNumberOfTextRegions();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_SetRegionName(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxString *arg2 = 0 ;
+    int arg3 = (int) 0 ;
+    bool temp2 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "name",(char *) "regionId", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|i:PyShape_SetRegionName",kwnames,&obj0,&obj1,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = wxString_in_helper(obj1);
+        if (arg2 == NULL) SWIG_fail;
+        temp2 = True;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetRegionName((wxString const &)*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetRegionName(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    int arg2 ;
+    wxString result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "regionId", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:PyShape_GetRegionName",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (arg1)->GetRegionName(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+#if wxUSE_UNICODE
+        resultobj = PyUnicode_FromWideChar((&result)->c_str(), (&result)->Len());
+#else
+        resultobj = PyString_FromStringAndSize((&result)->c_str(), (&result)->Len());
+#endif
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetRegionId(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxString *arg2 = 0 ;
+    int result;
+    bool temp2 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "name", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_GetRegionId",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = wxString_in_helper(obj1);
+        if (arg2 == NULL) SWIG_fail;
+        temp2 = True;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)(arg1)->GetRegionId((wxString const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_NameRegions(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxString const &arg2_defvalue = "" ;
+    wxString *arg2 = (wxString *) &arg2_defvalue ;
+    bool temp2 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "parentName", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O|O:PyShape_NameRegions",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (obj1) {
+        {
+            arg2 = wxString_in_helper(obj1);
+            if (arg2 == NULL) SWIG_fail;
+            temp2 = True;
+        }
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->NameRegions((wxString const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetRegions(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    PyObject *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetRegions",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (PyObject *)wxPyShape_GetRegions(arg1);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = result;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_AddRegion(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxShapeRegion *arg2 = (wxShapeRegion *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "region", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_AddRegion",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxShapeRegion,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->AddRegion(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_ClearRegions(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_ClearRegions",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->ClearRegions();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_AssignNewIds(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_AssignNewIds",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->AssignNewIds();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_FindRegion(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxString *arg2 = 0 ;
+    int *arg3 = (int *) 0 ;
+    wxPyShape *result;
+    bool temp2 = False ;
+    int temp3 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "regionName", NULL 
+    };
+    
+    arg3 = &temp3;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_FindRegion",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = wxString_in_helper(obj1);
+        if (arg2 == NULL) SWIG_fail;
+        temp2 = True;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyShape *)(arg1)->FindRegion((wxString const &)*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxShapeEvtHandler(result); 
+    }
+    {
+        PyObject *o = PyInt_FromLong((long) (*arg3));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_FindRegionNames(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxStringList *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "list", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_FindRegionNames",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxStringList,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->FindRegionNames(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_ClearText(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    int arg2 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "regionId", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O|i:PyShape_ClearText",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->ClearText(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_RemoveLine(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxPyLineShape *arg2 = (wxPyLineShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "line", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_RemoveLine",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->RemoveLine(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetAttachmentPosition(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    int arg2 ;
+    double *arg3 = (double *) 0 ;
+    double *arg4 = (double *) 0 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 1 ;
+    wxPyLineShape *arg7 = (wxPyLineShape *) NULL ;
+    bool result;
+    double temp3 ;
+    double temp4 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj4 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "attachment",(char *) "nth",(char *) "no_arcs",(char *) "line", NULL 
+    };
+    
+    arg3 = &temp3;
+    arg4 = &temp4;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi|iiO:PyShape_GetAttachmentPosition",kwnames,&obj0,&arg2,&arg5,&arg6,&obj4)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (obj4) {
+        if ((SWIG_ConvertPtr(obj4,(void **) &arg7, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->GetAttachmentPosition(arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    {
+        PyObject *o = PyFloat_FromDouble((double) (*arg3));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    {
+        PyObject *o = PyFloat_FromDouble((double) (*arg4));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetNumberOfAttachments(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetNumberOfAttachments",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)(arg1)->GetNumberOfAttachments();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_AttachmentIsValid(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    int arg2 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:PyShape_AttachmentIsValid",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->AttachmentIsValid(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetAttachmentPositionEdge(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    int arg2 ;
+    double *arg3 = (double *) 0 ;
+    double *arg4 = (double *) 0 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 1 ;
+    wxPyLineShape *arg7 = (wxPyLineShape *) NULL ;
+    bool result;
+    double temp3 ;
+    double temp4 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj4 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "attachment",(char *) "nth",(char *) "no_arcs",(char *) "line", NULL 
+    };
+    
+    arg3 = &temp3;
+    arg4 = &temp4;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi|iiO:PyShape_GetAttachmentPositionEdge",kwnames,&obj0,&arg2,&arg5,&arg6,&obj4)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (obj4) {
+        if ((SWIG_ConvertPtr(obj4,(void **) &arg7, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->GetAttachmentPositionEdge(arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    {
+        PyObject *o = PyFloat_FromDouble((double) (*arg3));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    {
+        PyObject *o = PyFloat_FromDouble((double) (*arg4));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_CalcSimpleAttachment(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxRealPoint *arg2 = 0 ;
+    wxRealPoint *arg3 = 0 ;
+    int arg4 ;
+    int arg5 ;
+    wxPyLineShape *arg6 = (wxPyLineShape *) 0 ;
+    wxRealPoint result;
+    wxRealPoint temp2 ;
+    wxRealPoint temp3 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj5 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt1",(char *) "pt2",(char *) "nth",(char *) "noArcs",(char *) "line", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOOiiO:PyShape_CalcSimpleAttachment",kwnames,&obj0,&obj1,&obj2,&arg4,&arg5,&obj5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = &temp2;
+        if ( ! wxRealPoint_helper(obj1, &arg2)) SWIG_fail;
+    }
+    {
+        arg3 = &temp3;
+        if ( ! wxRealPoint_helper(obj2, &arg3)) SWIG_fail;
+    }
+    if ((SWIG_ConvertPtr(obj5,(void **) &arg6, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (arg1)->CalcSimpleAttachment((wxRealPoint const &)*arg2,(wxRealPoint const &)*arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        wxRealPoint * resultptr;
+        resultptr = new wxRealPoint((wxRealPoint &) result);
+        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_wxRealPoint, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_AttachmentSortTest(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    int arg2 ;
+    wxRealPoint *arg3 = 0 ;
+    wxRealPoint *arg4 = 0 ;
+    bool result;
+    wxRealPoint temp3 ;
+    wxRealPoint temp4 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "attachmentPoint",(char *) "pt1",(char *) "pt2", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OiOO:PyShape_AttachmentSortTest",kwnames,&obj0,&arg2,&obj2,&obj3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg3 = &temp3;
+        if ( ! wxRealPoint_helper(obj2, &arg3)) SWIG_fail;
+    }
+    {
+        arg4 = &temp4;
+        if ( ! wxRealPoint_helper(obj3, &arg4)) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->AttachmentSortTest(arg2,(wxRealPoint const &)*arg3,(wxRealPoint const &)*arg4);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_EraseLinks(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    int arg3 = (int) -1 ;
+    bool arg4 = (bool) False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj3 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "attachment",(char *) "recurse", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|iO:PyShape_EraseLinks",kwnames,&obj0,&obj1,&arg3,&obj3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj3) {
+        arg4 = PyInt_AsLong(obj3) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->EraseLinks(*arg2,arg3,arg4);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_DrawLinks(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    int arg3 = (int) -1 ;
+    bool arg4 = (bool) False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj3 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "attachment",(char *) "recurse", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|iO:PyShape_DrawLinks",kwnames,&obj0,&obj1,&arg3,&obj3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj3) {
+        arg4 = PyInt_AsLong(obj3) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DrawLinks(*arg2,arg3,arg4);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_MoveLineToNewAttachment(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    wxPyLineShape *arg3 = (wxPyLineShape *) 0 ;
+    double arg4 ;
+    double arg5 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "to_move",(char *) "x",(char *) "y", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOOdd:PyShape_MoveLineToNewAttachment",kwnames,&obj0,&obj1,&obj2,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if ((SWIG_ConvertPtr(obj2,(void **) &arg3, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->MoveLineToNewAttachment(*arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_ApplyAttachmentOrdering(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    PyObject *arg2 = (PyObject *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "linesToSort", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_ApplyAttachmentOrdering",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = obj1;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        wxPyShape_ApplyAttachmentOrdering(arg1,arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetBranchingAttachmentRoot(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    int arg2 ;
+    wxRealPoint result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:PyShape_GetBranchingAttachmentRoot",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (arg1)->GetBranchingAttachmentRoot(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        wxRealPoint * resultptr;
+        resultptr = new wxRealPoint((wxRealPoint &) result);
+        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_wxRealPoint, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetBranchingAttachmentInfo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    int arg2 ;
+    wxRealPoint *arg3 = 0 ;
+    wxRealPoint *arg4 = 0 ;
+    wxRealPoint *arg5 = 0 ;
+    wxRealPoint *arg6 = 0 ;
+    bool result;
+    wxRealPoint temp3 ;
+    wxRealPoint temp4 ;
+    wxRealPoint temp5 ;
+    wxRealPoint temp6 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    PyObject * obj4 = 0 ;
+    PyObject * obj5 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "attachment",(char *) "root",(char *) "neck",(char *) "shoulder1",(char *) "shoulder2", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OiOOOO:PyShape_GetBranchingAttachmentInfo",kwnames,&obj0,&arg2,&obj2,&obj3,&obj4,&obj5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg3 = &temp3;
+        if ( ! wxRealPoint_helper(obj2, &arg3)) SWIG_fail;
+    }
+    {
+        arg4 = &temp4;
+        if ( ! wxRealPoint_helper(obj3, &arg4)) SWIG_fail;
+    }
+    {
+        arg5 = &temp5;
+        if ( ! wxRealPoint_helper(obj4, &arg5)) SWIG_fail;
+    }
+    {
+        arg6 = &temp6;
+        if ( ! wxRealPoint_helper(obj5, &arg6)) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->GetBranchingAttachmentInfo(arg2,*arg3,*arg4,*arg5,*arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetBranchingAttachmentPoint(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    int arg2 ;
+    int arg3 ;
+    wxRealPoint *arg4 = 0 ;
+    wxRealPoint *arg5 = 0 ;
+    bool result;
+    wxRealPoint temp4 ;
+    wxRealPoint temp5 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj3 = 0 ;
+    PyObject * obj4 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "attachment",(char *) "n",(char *) "attachmentPoint",(char *) "stemPoint", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OiiOO:PyShape_GetBranchingAttachmentPoint",kwnames,&obj0,&arg2,&arg3,&obj3,&obj4)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg4 = &temp4;
+        if ( ! wxRealPoint_helper(obj3, &arg4)) SWIG_fail;
+    }
+    {
+        arg5 = &temp5;
+        if ( ! wxRealPoint_helper(obj4, &arg5)) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->GetBranchingAttachmentPoint(arg2,arg3,*arg4,*arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetAttachmentLineCount(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    int arg2 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:PyShape_GetAttachmentLineCount",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)(arg1)->GetAttachmentLineCount(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_SetBranchNeckLength(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    int arg2 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "len", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:PyShape_SetBranchNeckLength",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetBranchNeckLength(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetBranchNeckLength(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetBranchNeckLength",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)(arg1)->GetBranchNeckLength();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_SetBranchStemLength(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    int arg2 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "len", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:PyShape_SetBranchStemLength",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetBranchStemLength(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetBranchStemLength(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetBranchStemLength",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)(arg1)->GetBranchStemLength();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_SetBranchSpacing(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    int arg2 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "len", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:PyShape_SetBranchSpacing",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetBranchSpacing(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetBranchSpacing(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetBranchSpacing",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)(arg1)->GetBranchSpacing();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_SetBranchStyle(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    long arg2 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "style", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Ol:PyShape_SetBranchStyle",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetBranchStyle(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetBranchStyle(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    long result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetBranchStyle",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (long)(arg1)->GetBranchStyle();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_PhysicalToLogicalAttachment(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    int arg2 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "physicalAttachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:PyShape_PhysicalToLogicalAttachment",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)(arg1)->PhysicalToLogicalAttachment(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_LogicalToPhysicalAttachment(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    int arg2 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "logicalAttachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:PyShape_LogicalToPhysicalAttachment",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)(arg1)->LogicalToPhysicalAttachment(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_Draggable(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_Draggable",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->Draggable();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_HasDescendant(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxPyShape *arg2 = (wxPyShape *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "image", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_HasDescendant",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->HasDescendant(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_CreateNewCopy(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    bool arg2 = (bool) True ;
+    bool arg3 = (bool) True ;
+    wxPyShape *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "resetMapping",(char *) "recompute", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O|OO:PyShape_CreateNewCopy",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (obj1) {
+        arg2 = PyInt_AsLong(obj1) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyShape *)(arg1)->CreateNewCopy(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxShapeEvtHandler(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_Copy(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxPyShape *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "copy", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_Copy",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Copy(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_CopyWithHandler(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxPyShape *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "copy", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_CopyWithHandler",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->CopyWithHandler(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_Rotate(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    double arg4 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "theta", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oddd:PyShape_Rotate",kwnames,&obj0,&arg2,&arg3,&arg4)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Rotate(arg2,arg3,arg4);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetRotation(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetRotation",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (double)(arg1)->GetRotation();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyFloat_FromDouble(result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_ClearAttachments(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_ClearAttachments",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->ClearAttachments();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_Recentre(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_Recentre",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Recentre(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_ClearPointList(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxList *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "list", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_ClearPointList",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxList,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->ClearPointList(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetBackgroundPen(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxPen result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetBackgroundPen",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (arg1)->GetBackgroundPen();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        wxPen * resultptr;
+        resultptr = new wxPen((wxPen &) result);
+        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_wxPen, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetBackgroundBrush(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxBrush result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetBackgroundBrush",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (arg1)->GetBackgroundBrush();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        wxBrush * resultptr;
+        resultptr = new wxBrush((wxBrush &) result);
+        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_wxBrush, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_base_OnDelete(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_base_OnDelete",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDelete();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_base_OnDraw(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_base_OnDraw",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDraw(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_base_OnDrawContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_base_OnDrawContents",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawContents(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_base_OnDrawBranches(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    bool arg3 = (bool) False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "erase", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyShape_base_OnDrawBranches",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawBranches(*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_base_OnMoveLinks(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_base_OnMoveLinks",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMoveLinks(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_base_OnErase(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_base_OnErase",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnErase(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_base_OnEraseContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_base_OnEraseContents",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEraseContents(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_base_OnHighlight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_base_OnHighlight",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnHighlight(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_base_OnLeftClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyShape_base_OnLeftClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnLeftClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_base_OnLeftDoubleClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyShape_base_OnLeftDoubleClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnLeftDoubleClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_base_OnRightClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyShape_base_OnRightClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnRightClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_base_OnSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyShape_base_OnSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_base_OnMovePre(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    bool arg7 = (bool) True ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "old_x",(char *) "old_y",(char *) "display", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd|O:PyShape_base_OnMovePre",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6,&obj6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj6) {
+        arg7 = PyInt_AsLong(obj6) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->base_OnMovePre(*arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_base_OnMovePost(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    bool arg7 = (bool) True ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "old_x",(char *) "old_y",(char *) "display", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd|O:PyShape_base_OnMovePost",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6,&obj6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj6) {
+        arg7 = PyInt_AsLong(obj6) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMovePost(*arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_base_OnDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    bool arg2 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyShape_base_OnDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_base_OnBeginDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyShape_base_OnBeginDragLeft",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginDragLeft(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_base_OnEndDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyShape_base_OnEndDragLeft",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndDragLeft(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_base_OnDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    bool arg2 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyShape_base_OnDragRight",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDragRight(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_base_OnBeginDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyShape_base_OnBeginDragRight",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginDragRight(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_base_OnEndDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyShape_base_OnEndDragRight",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndDragRight(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_base_OnDrawOutline(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd:PyShape_base_OnDrawOutline",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawOutline(*arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_base_OnDrawControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_base_OnDrawControlPoints",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawControlPoints(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_base_OnEraseControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_base_OnEraseControlPoints",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEraseControlPoints(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_base_OnMoveLink(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    bool arg3 = (bool) True ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "moveControlPoints", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyShape_base_OnMoveLink",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMoveLink(*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_base_OnSizingDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    bool arg3 ;
+    double arg4 ;
+    double arg5 ;
+    int arg6 = (int) 0 ;
+    int arg7 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOOdd|ii:PyShape_base_OnSizingDragLeft",kwnames,&obj0,&obj1,&obj2,&arg4,&arg5,&arg6,&arg7)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg3 = PyInt_AsLong(obj2) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingDragLeft(arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_base_OnSizingBeginDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyShape_base_OnSizingBeginDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingBeginDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_base_OnSizingEndDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyShape_base_OnSizingEndDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingEndDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_base_OnBeginSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyShape_base_OnBeginSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_base_OnEndSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyShape_base_OnEndSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * PyShape_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_wxPyShape, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_PseudoMetaFile(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *result;
+    char *kwnames[] = {
+        NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)":new_PseudoMetaFile",kwnames)) goto fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPseudoMetaFile *)new wxPseudoMetaFile();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxObject(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_PseudoMetaFile(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:delete_PseudoMetaFile",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        delete arg1;
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_Draw(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "xoffset",(char *) "yoffset", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd:PseudoMetaFile_Draw",kwnames,&obj0,&obj1,&arg3,&arg4)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Draw(*arg2,arg3,arg4);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_Clear(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PseudoMetaFile_Clear",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Clear();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_Copy(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    wxPseudoMetaFile *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "copy", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PseudoMetaFile_Copy",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Copy(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_Scale(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "sx",(char *) "sy", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PseudoMetaFile_Scale",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Scale(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_ScaleTo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PseudoMetaFile_ScaleTo",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->ScaleTo(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_Translate(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PseudoMetaFile_Translate",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Translate(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_Rotate(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    double arg4 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "theta", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oddd:PseudoMetaFile_Rotate",kwnames,&obj0,&arg2,&arg3,&arg4)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Rotate(arg2,arg3,arg4);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_LoadFromMetaFile(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    wxString *arg2 = 0 ;
+    double *arg3 = (double *) 0 ;
+    double *arg4 = (double *) 0 ;
+    bool result;
+    bool temp2 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "filename",(char *) "width",(char *) "height", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOOO:PseudoMetaFile_LoadFromMetaFile",kwnames,&obj0,&obj1,&obj2,&obj3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = wxString_in_helper(obj1);
+        if (arg2 == NULL) SWIG_fail;
+        temp2 = True;
+    }
+    if ((SWIG_ConvertPtr(obj2,(void **) &arg3, SWIGTYPE_p_double,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj3,(void **) &arg4, SWIGTYPE_p_double,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->LoadFromMetaFile((wxString const &)*arg2,arg3,arg4);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_GetBounds(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    double *arg2 = (double *) 0 ;
+    double *arg3 = (double *) 0 ;
+    double *arg4 = (double *) 0 ;
+    double *arg5 = (double *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    PyObject * obj4 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "minX",(char *) "minY",(char *) "maxX",(char *) "maxY", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOOOO:PseudoMetaFile_GetBounds",kwnames,&obj0,&obj1,&obj2,&obj3,&obj4)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_double,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj2,(void **) &arg3, SWIGTYPE_p_double,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj3,(void **) &arg4, SWIGTYPE_p_double,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj4,(void **) &arg5, SWIGTYPE_p_double,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->GetBounds(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_CalculateSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    wxPyDrawnShape *arg2 = (wxPyDrawnShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "shape", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PseudoMetaFile_CalculateSize",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->CalculateSize(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_SetRotateable(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    bool arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "rot", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PseudoMetaFile_SetRotateable",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetRotateable(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_GetRotateable(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PseudoMetaFile_GetRotateable",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->GetRotateable();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_SetSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PseudoMetaFile_SetSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_SetFillBrush(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    wxBrush *arg2 = (wxBrush *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "brush", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PseudoMetaFile_SetFillBrush",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        wxBrush* temp;
+        if (obj1) {
+            if (obj1 == Py_None) {
+                temp = NULL; 
+            }
+            else if (! wxPyConvertSwigPtr(obj1, (void **) &temp, wxT("wxBrush"))) {
+                PyErr_SetString(PyExc_TypeError, "Type error, expected wxBrush.");
+                return NULL;
+            }
+        }
+        if (temp)
+        arg2 = wxTheBrushList->FindOrCreateBrush(temp->GetColour(), temp->GetStyle());
+        else
+        arg2 = NULL;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetFillBrush(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_GetFillBrush(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    wxBrush *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PseudoMetaFile_GetFillBrush",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxBrush *)(arg1)->GetFillBrush();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxBrush, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_SetOutlinePen(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    wxPen *arg2 = (wxPen *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pen", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PseudoMetaFile_SetOutlinePen",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        wxPen* temp;
+        if (obj1) {
+            if (obj1 == Py_None) {
+                temp = NULL; 
+            }
+            else if (! wxPyConvertSwigPtr(obj1, (void **) &temp, wxT("wxPen"))) {
+                PyErr_SetString(PyExc_TypeError, "Type error, expected wxPen.");
+                return NULL;
+            }
+        }
+        if (temp)
+        arg2 = wxThePenList->FindOrCreatePen(temp->GetColour(),
+        temp->GetWidth(),
+        temp->GetStyle());
+        else
+        arg2 = NULL;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetOutlinePen(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_GetOutlinePen(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    wxPen *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PseudoMetaFile_GetOutlinePen",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPen *)(arg1)->GetOutlinePen();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxPen, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_SetOutlineOp(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    int arg2 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "op", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:PseudoMetaFile_SetOutlineOp",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetOutlineOp(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_GetOutlineOp(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PseudoMetaFile_GetOutlineOp",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)(arg1)->GetOutlineOp();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_IsValid(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PseudoMetaFile_IsValid",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->IsValid();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_DrawLine(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    wxPoint *arg2 = 0 ;
+    wxPoint *arg3 = 0 ;
+    wxPoint temp2 ;
+    wxPoint temp3 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt1",(char *) "pt2", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:PseudoMetaFile_DrawLine",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = &temp2;
+        if ( ! wxPoint_helper(obj1, &arg2)) SWIG_fail;
+    }
+    {
+        arg3 = &temp3;
+        if ( ! wxPoint_helper(obj2, &arg3)) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DrawLine((wxPoint const &)*arg2,(wxPoint const &)*arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_DrawRectangle(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    wxRect *arg2 = 0 ;
+    wxRect temp2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "rect", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PseudoMetaFile_DrawRectangle",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = &temp2;
+        if ( ! wxRect_helper(obj1, &arg2)) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DrawRectangle((wxRect const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_DrawRoundedRectangle(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    wxRect *arg2 = 0 ;
+    double arg3 ;
+    wxRect temp2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "rect",(char *) "radius", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOd:PseudoMetaFile_DrawRoundedRectangle",kwnames,&obj0,&obj1,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = &temp2;
+        if ( ! wxRect_helper(obj1, &arg2)) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DrawRoundedRectangle((wxRect const &)*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_DrawArc(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    wxPoint *arg2 = 0 ;
+    wxPoint *arg3 = 0 ;
+    wxPoint *arg4 = 0 ;
+    wxPoint temp2 ;
+    wxPoint temp3 ;
+    wxPoint temp4 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "centrePt",(char *) "startPt",(char *) "endPt", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOOO:PseudoMetaFile_DrawArc",kwnames,&obj0,&obj1,&obj2,&obj3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = &temp2;
+        if ( ! wxPoint_helper(obj1, &arg2)) SWIG_fail;
+    }
+    {
+        arg3 = &temp3;
+        if ( ! wxPoint_helper(obj2, &arg3)) SWIG_fail;
+    }
+    {
+        arg4 = &temp4;
+        if ( ! wxPoint_helper(obj3, &arg4)) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DrawArc((wxPoint const &)*arg2,(wxPoint const &)*arg3,(wxPoint const &)*arg4);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_DrawEllipticArc(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    wxRect *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    wxRect temp2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "rect",(char *) "startAngle",(char *) "endAngle", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd:PseudoMetaFile_DrawEllipticArc",kwnames,&obj0,&obj1,&arg3,&arg4)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = &temp2;
+        if ( ! wxRect_helper(obj1, &arg2)) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DrawEllipticArc((wxRect const &)*arg2,arg3,arg4);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_DrawEllipse(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    wxRect *arg2 = 0 ;
+    wxRect temp2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "rect", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PseudoMetaFile_DrawEllipse",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = &temp2;
+        if ( ! wxRect_helper(obj1, &arg2)) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DrawEllipse((wxRect const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_DrawPoint(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    wxPoint *arg2 = 0 ;
+    wxPoint temp2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PseudoMetaFile_DrawPoint",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = &temp2;
+        if ( ! wxPoint_helper(obj1, &arg2)) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DrawPoint((wxPoint const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_DrawText(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    wxString *arg2 = 0 ;
+    wxPoint *arg3 = 0 ;
+    bool temp2 = False ;
+    wxPoint temp3 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "text",(char *) "pt", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:PseudoMetaFile_DrawText",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = wxString_in_helper(obj1);
+        if (arg2 == NULL) SWIG_fail;
+        temp2 = True;
+    }
+    {
+        arg3 = &temp3;
+        if ( ! wxPoint_helper(obj2, &arg3)) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DrawText((wxString const &)*arg2,(wxPoint const &)*arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_DrawLines(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    int arg2 ;
+    wxPoint *arg3 = (wxPoint *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "PCOUNT",(char *) "points", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OiO:PseudoMetaFile_DrawLines",kwnames,&obj0,&arg2,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj2,(void **) &arg3, SWIGTYPE_p_wxPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DrawLines(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_DrawPolygon(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    int arg2 ;
+    wxPoint *arg3 = (wxPoint *) 0 ;
+    int arg4 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "PCOUNT",(char *) "points",(char *) "flags", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OiO|i:PseudoMetaFile_DrawPolygon",kwnames,&obj0,&arg2,&obj2,&arg4)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj2,(void **) &arg3, SWIGTYPE_p_wxPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DrawPolygon(arg2,arg3,arg4);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_DrawSpline(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    int arg2 ;
+    wxPoint *arg3 = (wxPoint *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "PCOUNT",(char *) "points", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OiO:PseudoMetaFile_DrawSpline",kwnames,&obj0,&arg2,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj2,(void **) &arg3, SWIGTYPE_p_wxPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DrawSpline(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_SetClippingRect(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    wxRect *arg2 = 0 ;
+    wxRect temp2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "rect", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PseudoMetaFile_SetClippingRect",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = &temp2;
+        if ( ! wxRect_helper(obj1, &arg2)) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetClippingRect((wxRect const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_DestroyClippingRect(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PseudoMetaFile_DestroyClippingRect",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DestroyClippingRect();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_SetPen(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    wxPen *arg2 = (wxPen *) 0 ;
+    bool arg3 = (bool) FALSE ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pen",(char *) "isOutline", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PseudoMetaFile_SetPen",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        wxPen* temp;
+        if (obj1) {
+            if (obj1 == Py_None) {
+                temp = NULL; 
+            }
+            else if (! wxPyConvertSwigPtr(obj1, (void **) &temp, wxT("wxPen"))) {
+                PyErr_SetString(PyExc_TypeError, "Type error, expected wxPen.");
+                return NULL;
+            }
+        }
+        if (temp)
+        arg2 = wxThePenList->FindOrCreatePen(temp->GetColour(),
+        temp->GetWidth(),
+        temp->GetStyle());
+        else
+        arg2 = NULL;
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetPen(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_SetBrush(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    wxBrush *arg2 = (wxBrush *) 0 ;
+    bool arg3 = (bool) FALSE ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "brush",(char *) "isFill", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PseudoMetaFile_SetBrush",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        wxBrush* temp;
+        if (obj1) {
+            if (obj1 == Py_None) {
+                temp = NULL; 
+            }
+            else if (! wxPyConvertSwigPtr(obj1, (void **) &temp, wxT("wxBrush"))) {
+                PyErr_SetString(PyExc_TypeError, "Type error, expected wxBrush.");
+                return NULL;
+            }
+        }
+        if (temp)
+        arg2 = wxTheBrushList->FindOrCreateBrush(temp->GetColour(), temp->GetStyle());
+        else
+        arg2 = NULL;
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetBrush(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_SetFont(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    wxFont *arg2 = (wxFont *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "font", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PseudoMetaFile_SetFont",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        wxFont* temp;
+        if (obj1) {
+            if (obj1 == Py_None) {
+                temp = NULL; 
+            }
+            else if (! wxPyConvertSwigPtr(obj1, (void **) &temp, wxT("wxFont"))) {
+                PyErr_SetString(PyExc_TypeError, "Type error, expected wxFont.");
+                return NULL;
+            }
+        }
+        if (temp)
+        arg2 = wxTheFontList->FindOrCreateFont(temp->GetPointSize(),
+        temp->GetFamily(),
+        temp->GetStyle(),
+        temp->GetWeight(),
+        temp->GetUnderlined(),
+        temp->GetFaceName(),
+        temp->GetEncoding());
+        else
+        arg2 = NULL;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetFont(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_SetTextColour(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    wxColour *arg2 = 0 ;
+    wxColour temp2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "colour", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PseudoMetaFile_SetTextColour",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = &temp2;
+        if ( ! wxColour_helper(obj1, &arg2)) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetTextColour((wxColour const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_SetBackgroundColour(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    wxColour *arg2 = 0 ;
+    wxColour temp2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "colour", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PseudoMetaFile_SetBackgroundColour",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = &temp2;
+        if ( ! wxColour_helper(obj1, &arg2)) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetBackgroundColour((wxColour const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_SetBackgroundMode(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    int arg2 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "mode", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:PseudoMetaFile_SetBackgroundMode",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetBackgroundMode(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * PseudoMetaFile_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_wxPseudoMetaFile, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_PyRectangleShape(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    double arg1 = (double) 0.0 ;
+    double arg2 = (double) 0.0 ;
+    wxPyRectangleShape *result;
+    char *kwnames[] = {
+        (char *) "width",(char *) "height", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"|dd:new_PyRectangleShape",kwnames,&arg1,&arg2)) goto fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyRectangleShape *)new wxPyRectangleShape(arg1,arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxPyRectangleShape, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyRectangleShape__setCallbackInfo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyRectangleShape *arg1 = (wxPyRectangleShape *) 0 ;
+    PyObject *arg2 = (PyObject *) 0 ;
+    PyObject *arg3 = (PyObject *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "self",(char *) "_class", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:PyRectangleShape__setCallbackInfo",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyRectangleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = obj1;
+    arg3 = obj2;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->_setCallbackInfo(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyRectangleShape_SetCornerRadius(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyRectangleShape *arg1 = (wxPyRectangleShape *) 0 ;
+    double arg2 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "radius", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Od:PyRectangleShape_SetCornerRadius",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyRectangleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetCornerRadius(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyRectangleShape_base_OnDelete(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyRectangleShape *arg1 = (wxPyRectangleShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyRectangleShape_base_OnDelete",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyRectangleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDelete();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyRectangleShape_base_OnDraw(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyRectangleShape *arg1 = (wxPyRectangleShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyRectangleShape_base_OnDraw",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyRectangleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDraw(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyRectangleShape_base_OnDrawContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyRectangleShape *arg1 = (wxPyRectangleShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyRectangleShape_base_OnDrawContents",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyRectangleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawContents(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyRectangleShape_base_OnDrawBranches(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyRectangleShape *arg1 = (wxPyRectangleShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    bool arg3 = (bool) FALSE ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "erase", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyRectangleShape_base_OnDrawBranches",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyRectangleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawBranches(*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyRectangleShape_base_OnMoveLinks(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyRectangleShape *arg1 = (wxPyRectangleShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyRectangleShape_base_OnMoveLinks",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyRectangleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMoveLinks(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyRectangleShape_base_OnErase(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyRectangleShape *arg1 = (wxPyRectangleShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyRectangleShape_base_OnErase",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyRectangleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnErase(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyRectangleShape_base_OnEraseContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyRectangleShape *arg1 = (wxPyRectangleShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyRectangleShape_base_OnEraseContents",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyRectangleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEraseContents(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyRectangleShape_base_OnHighlight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyRectangleShape *arg1 = (wxPyRectangleShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyRectangleShape_base_OnHighlight",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyRectangleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnHighlight(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyRectangleShape_base_OnLeftClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyRectangleShape *arg1 = (wxPyRectangleShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyRectangleShape_base_OnLeftClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyRectangleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnLeftClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyRectangleShape_base_OnLeftDoubleClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyRectangleShape *arg1 = (wxPyRectangleShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyRectangleShape_base_OnLeftDoubleClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyRectangleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnLeftDoubleClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyRectangleShape_base_OnRightClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyRectangleShape *arg1 = (wxPyRectangleShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyRectangleShape_base_OnRightClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyRectangleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnRightClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyRectangleShape_base_OnSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyRectangleShape *arg1 = (wxPyRectangleShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyRectangleShape_base_OnSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyRectangleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyRectangleShape_base_OnMovePre(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyRectangleShape *arg1 = (wxPyRectangleShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    bool arg7 = (bool) True ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "old_x",(char *) "old_y",(char *) "display", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd|O:PyRectangleShape_base_OnMovePre",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6,&obj6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyRectangleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj6) {
+        arg7 = PyInt_AsLong(obj6) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->base_OnMovePre(*arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyRectangleShape_base_OnMovePost(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyRectangleShape *arg1 = (wxPyRectangleShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    bool arg7 = (bool) True ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "old_x",(char *) "old_y",(char *) "display", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd|O:PyRectangleShape_base_OnMovePost",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6,&obj6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyRectangleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj6) {
+        arg7 = PyInt_AsLong(obj6) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMovePost(*arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyRectangleShape_base_OnDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyRectangleShape *arg1 = (wxPyRectangleShape *) 0 ;
+    bool arg2 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyRectangleShape_base_OnDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyRectangleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyRectangleShape_base_OnBeginDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyRectangleShape *arg1 = (wxPyRectangleShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyRectangleShape_base_OnBeginDragLeft",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyRectangleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginDragLeft(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyRectangleShape_base_OnEndDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyRectangleShape *arg1 = (wxPyRectangleShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyRectangleShape_base_OnEndDragLeft",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyRectangleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndDragLeft(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyRectangleShape_base_OnDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyRectangleShape *arg1 = (wxPyRectangleShape *) 0 ;
+    bool arg2 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyRectangleShape_base_OnDragRight",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyRectangleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDragRight(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyRectangleShape_base_OnBeginDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyRectangleShape *arg1 = (wxPyRectangleShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyRectangleShape_base_OnBeginDragRight",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyRectangleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginDragRight(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyRectangleShape_base_OnEndDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyRectangleShape *arg1 = (wxPyRectangleShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyRectangleShape_base_OnEndDragRight",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyRectangleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndDragRight(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyRectangleShape_base_OnDrawOutline(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyRectangleShape *arg1 = (wxPyRectangleShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd:PyRectangleShape_base_OnDrawOutline",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyRectangleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawOutline(*arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyRectangleShape_base_OnDrawControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyRectangleShape *arg1 = (wxPyRectangleShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyRectangleShape_base_OnDrawControlPoints",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyRectangleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawControlPoints(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyRectangleShape_base_OnEraseControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyRectangleShape *arg1 = (wxPyRectangleShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyRectangleShape_base_OnEraseControlPoints",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyRectangleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEraseControlPoints(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyRectangleShape_base_OnMoveLink(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyRectangleShape *arg1 = (wxPyRectangleShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    bool arg3 = (bool) True ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "moveControlPoints", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyRectangleShape_base_OnMoveLink",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyRectangleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMoveLink(*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyRectangleShape_base_OnSizingDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyRectangleShape *arg1 = (wxPyRectangleShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    bool arg3 ;
+    double arg4 ;
+    double arg5 ;
+    int arg6 = (int) 0 ;
+    int arg7 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOOdd|ii:PyRectangleShape_base_OnSizingDragLeft",kwnames,&obj0,&obj1,&obj2,&arg4,&arg5,&arg6,&arg7)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyRectangleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg3 = PyInt_AsLong(obj2) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingDragLeft(arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyRectangleShape_base_OnSizingBeginDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyRectangleShape *arg1 = (wxPyRectangleShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyRectangleShape_base_OnSizingBeginDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyRectangleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingBeginDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyRectangleShape_base_OnSizingEndDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyRectangleShape *arg1 = (wxPyRectangleShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyRectangleShape_base_OnSizingEndDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyRectangleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingEndDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyRectangleShape_base_OnBeginSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyRectangleShape *arg1 = (wxPyRectangleShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyRectangleShape_base_OnBeginSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyRectangleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyRectangleShape_base_OnEndSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyRectangleShape *arg1 = (wxPyRectangleShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyRectangleShape_base_OnEndSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyRectangleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * PyRectangleShape_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_wxPyRectangleShape, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_PyControlPoint(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeCanvas *arg1 = (wxPyShapeCanvas *) NULL ;
+    wxPyShape *arg2 = (wxPyShape *) NULL ;
+    double arg3 = (double) 0.0 ;
+    double arg4 = (double) 0.0 ;
+    double arg5 = (double) 0.0 ;
+    int arg6 = (int) 0 ;
+    wxPyControlPoint *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "the_canvas",(char *) "object",(char *) "size",(char *) "the_xoffset",(char *) "the_yoffset",(char *) "the_type", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"|OOdddi:new_PyControlPoint",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if (obj0) {
+        if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeCanvas,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    }
+    if (obj1) {
+        if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyControlPoint *)new wxPyControlPoint(arg1,arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxPyControlPoint, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyControlPoint__setCallbackInfo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyControlPoint *arg1 = (wxPyControlPoint *) 0 ;
+    PyObject *arg2 = (PyObject *) 0 ;
+    PyObject *arg3 = (PyObject *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "self",(char *) "_class", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:PyControlPoint__setCallbackInfo",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = obj1;
+    arg3 = obj2;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->_setCallbackInfo(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyControlPoint_SetCornerRadius(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyControlPoint *arg1 = (wxPyControlPoint *) 0 ;
+    double arg2 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "radius", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Od:PyControlPoint_SetCornerRadius",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetCornerRadius(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyControlPoint_base_OnDelete(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyControlPoint *arg1 = (wxPyControlPoint *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyControlPoint_base_OnDelete",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDelete();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyControlPoint_base_OnDraw(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyControlPoint *arg1 = (wxPyControlPoint *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyControlPoint_base_OnDraw",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDraw(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyControlPoint_base_OnDrawContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyControlPoint *arg1 = (wxPyControlPoint *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyControlPoint_base_OnDrawContents",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawContents(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyControlPoint_base_OnDrawBranches(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyControlPoint *arg1 = (wxPyControlPoint *) 0 ;
+    wxDC *arg2 = 0 ;
+    bool arg3 = (bool) FALSE ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "erase", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyControlPoint_base_OnDrawBranches",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawBranches(*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyControlPoint_base_OnMoveLinks(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyControlPoint *arg1 = (wxPyControlPoint *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyControlPoint_base_OnMoveLinks",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMoveLinks(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyControlPoint_base_OnErase(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyControlPoint *arg1 = (wxPyControlPoint *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyControlPoint_base_OnErase",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnErase(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyControlPoint_base_OnEraseContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyControlPoint *arg1 = (wxPyControlPoint *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyControlPoint_base_OnEraseContents",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEraseContents(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyControlPoint_base_OnHighlight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyControlPoint *arg1 = (wxPyControlPoint *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyControlPoint_base_OnHighlight",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnHighlight(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyControlPoint_base_OnLeftClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyControlPoint *arg1 = (wxPyControlPoint *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyControlPoint_base_OnLeftClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnLeftClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyControlPoint_base_OnLeftDoubleClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyControlPoint *arg1 = (wxPyControlPoint *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyControlPoint_base_OnLeftDoubleClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnLeftDoubleClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyControlPoint_base_OnRightClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyControlPoint *arg1 = (wxPyControlPoint *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyControlPoint_base_OnRightClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnRightClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyControlPoint_base_OnSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyControlPoint *arg1 = (wxPyControlPoint *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyControlPoint_base_OnSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyControlPoint_base_OnMovePre(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyControlPoint *arg1 = (wxPyControlPoint *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    bool arg7 = (bool) True ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "old_x",(char *) "old_y",(char *) "display", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd|O:PyControlPoint_base_OnMovePre",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6,&obj6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj6) {
+        arg7 = PyInt_AsLong(obj6) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->base_OnMovePre(*arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyControlPoint_base_OnMovePost(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyControlPoint *arg1 = (wxPyControlPoint *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    bool arg7 = (bool) True ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "old_x",(char *) "old_y",(char *) "display", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd|O:PyControlPoint_base_OnMovePost",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6,&obj6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj6) {
+        arg7 = PyInt_AsLong(obj6) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMovePost(*arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyControlPoint_base_OnDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyControlPoint *arg1 = (wxPyControlPoint *) 0 ;
+    bool arg2 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyControlPoint_base_OnDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyControlPoint_base_OnBeginDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyControlPoint *arg1 = (wxPyControlPoint *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyControlPoint_base_OnBeginDragLeft",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginDragLeft(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyControlPoint_base_OnEndDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyControlPoint *arg1 = (wxPyControlPoint *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyControlPoint_base_OnEndDragLeft",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndDragLeft(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyControlPoint_base_OnDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyControlPoint *arg1 = (wxPyControlPoint *) 0 ;
+    bool arg2 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyControlPoint_base_OnDragRight",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDragRight(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyControlPoint_base_OnBeginDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyControlPoint *arg1 = (wxPyControlPoint *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyControlPoint_base_OnBeginDragRight",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginDragRight(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyControlPoint_base_OnEndDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyControlPoint *arg1 = (wxPyControlPoint *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyControlPoint_base_OnEndDragRight",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndDragRight(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyControlPoint_base_OnDrawOutline(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyControlPoint *arg1 = (wxPyControlPoint *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd:PyControlPoint_base_OnDrawOutline",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawOutline(*arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyControlPoint_base_OnDrawControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyControlPoint *arg1 = (wxPyControlPoint *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyControlPoint_base_OnDrawControlPoints",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawControlPoints(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyControlPoint_base_OnEraseControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyControlPoint *arg1 = (wxPyControlPoint *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyControlPoint_base_OnEraseControlPoints",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEraseControlPoints(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyControlPoint_base_OnMoveLink(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyControlPoint *arg1 = (wxPyControlPoint *) 0 ;
+    wxDC *arg2 = 0 ;
+    bool arg3 = (bool) True ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "moveControlPoints", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyControlPoint_base_OnMoveLink",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMoveLink(*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyControlPoint_base_OnSizingDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyControlPoint *arg1 = (wxPyControlPoint *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    bool arg3 ;
+    double arg4 ;
+    double arg5 ;
+    int arg6 = (int) 0 ;
+    int arg7 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOOdd|ii:PyControlPoint_base_OnSizingDragLeft",kwnames,&obj0,&obj1,&obj2,&arg4,&arg5,&arg6,&arg7)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg3 = PyInt_AsLong(obj2) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingDragLeft(arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyControlPoint_base_OnSizingBeginDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyControlPoint *arg1 = (wxPyControlPoint *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyControlPoint_base_OnSizingBeginDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingBeginDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyControlPoint_base_OnSizingEndDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyControlPoint *arg1 = (wxPyControlPoint *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyControlPoint_base_OnSizingEndDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingEndDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyControlPoint_base_OnBeginSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyControlPoint *arg1 = (wxPyControlPoint *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyControlPoint_base_OnBeginSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyControlPoint_base_OnEndSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyControlPoint *arg1 = (wxPyControlPoint *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyControlPoint_base_OnEndSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * PyControlPoint_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_wxPyControlPoint, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_PyBitmapShape(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *result;
+    char *kwnames[] = {
+        NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)":new_PyBitmapShape",kwnames)) goto fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyBitmapShape *)new wxPyBitmapShape();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxPyBitmapShape, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape__setCallbackInfo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    PyObject *arg2 = (PyObject *) 0 ;
+    PyObject *arg3 = (PyObject *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "self",(char *) "_class", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:PyBitmapShape__setCallbackInfo",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = obj1;
+    arg3 = obj2;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->_setCallbackInfo(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape_GetBitmap(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    wxBitmap *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyBitmapShape_GetBitmap",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        {
+            wxBitmap &_result_ref = (arg1)->GetBitmap();
+            result = (wxBitmap *) &_result_ref;
+        }
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxBitmap, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape_GetFilename(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    wxString result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyBitmapShape_GetFilename",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (arg1)->GetFilename();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+#if wxUSE_UNICODE
+        resultobj = PyUnicode_FromWideChar((&result)->c_str(), (&result)->Len());
+#else
+        resultobj = PyString_FromStringAndSize((&result)->c_str(), (&result)->Len());
+#endif
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape_SetBitmap(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    wxBitmap *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "bitmap", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyBitmapShape_SetBitmap",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxBitmap,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetBitmap((wxBitmap const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape_SetFilename(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    wxString *arg2 = 0 ;
+    bool temp2 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "filename", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyBitmapShape_SetFilename",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = wxString_in_helper(obj1);
+        if (arg2 == NULL) SWIG_fail;
+        temp2 = True;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetFilename((wxString const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape_base_OnDelete(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyBitmapShape_base_OnDelete",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDelete();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape_base_OnDraw(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyBitmapShape_base_OnDraw",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDraw(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape_base_OnDrawContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyBitmapShape_base_OnDrawContents",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawContents(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape_base_OnDrawBranches(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    bool arg3 = (bool) FALSE ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "erase", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyBitmapShape_base_OnDrawBranches",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawBranches(*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape_base_OnMoveLinks(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyBitmapShape_base_OnMoveLinks",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMoveLinks(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape_base_OnErase(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyBitmapShape_base_OnErase",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnErase(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape_base_OnEraseContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyBitmapShape_base_OnEraseContents",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEraseContents(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape_base_OnHighlight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyBitmapShape_base_OnHighlight",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnHighlight(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape_base_OnLeftClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyBitmapShape_base_OnLeftClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnLeftClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape_base_OnLeftDoubleClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyBitmapShape_base_OnLeftDoubleClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnLeftDoubleClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape_base_OnRightClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyBitmapShape_base_OnRightClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnRightClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape_base_OnSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyBitmapShape_base_OnSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape_base_OnMovePre(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    bool arg7 = (bool) True ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "old_x",(char *) "old_y",(char *) "display", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd|O:PyBitmapShape_base_OnMovePre",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6,&obj6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj6) {
+        arg7 = PyInt_AsLong(obj6) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->base_OnMovePre(*arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape_base_OnMovePost(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    bool arg7 = (bool) True ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "old_x",(char *) "old_y",(char *) "display", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd|O:PyBitmapShape_base_OnMovePost",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6,&obj6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj6) {
+        arg7 = PyInt_AsLong(obj6) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMovePost(*arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape_base_OnDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    bool arg2 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyBitmapShape_base_OnDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape_base_OnBeginDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyBitmapShape_base_OnBeginDragLeft",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginDragLeft(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape_base_OnEndDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyBitmapShape_base_OnEndDragLeft",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndDragLeft(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape_base_OnDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    bool arg2 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyBitmapShape_base_OnDragRight",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDragRight(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape_base_OnBeginDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyBitmapShape_base_OnBeginDragRight",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginDragRight(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape_base_OnEndDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyBitmapShape_base_OnEndDragRight",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndDragRight(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape_base_OnDrawOutline(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd:PyBitmapShape_base_OnDrawOutline",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawOutline(*arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape_base_OnDrawControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyBitmapShape_base_OnDrawControlPoints",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawControlPoints(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape_base_OnEraseControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyBitmapShape_base_OnEraseControlPoints",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEraseControlPoints(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape_base_OnMoveLink(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    bool arg3 = (bool) True ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "moveControlPoints", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyBitmapShape_base_OnMoveLink",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMoveLink(*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape_base_OnSizingDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    bool arg3 ;
+    double arg4 ;
+    double arg5 ;
+    int arg6 = (int) 0 ;
+    int arg7 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOOdd|ii:PyBitmapShape_base_OnSizingDragLeft",kwnames,&obj0,&obj1,&obj2,&arg4,&arg5,&arg6,&arg7)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg3 = PyInt_AsLong(obj2) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingDragLeft(arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape_base_OnSizingBeginDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyBitmapShape_base_OnSizingBeginDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingBeginDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape_base_OnSizingEndDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyBitmapShape_base_OnSizingEndDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingEndDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape_base_OnBeginSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyBitmapShape_base_OnBeginSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape_base_OnEndSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyBitmapShape_base_OnEndSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * PyBitmapShape_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_wxPyBitmapShape, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_PyDrawnShape(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *result;
+    char *kwnames[] = {
+        NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)":new_PyDrawnShape",kwnames)) goto fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyDrawnShape *)new wxPyDrawnShape();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxPyDrawnShape, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape__setCallbackInfo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    PyObject *arg2 = (PyObject *) 0 ;
+    PyObject *arg3 = (PyObject *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "self",(char *) "_class", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:PyDrawnShape__setCallbackInfo",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = obj1;
+    arg3 = obj2;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->_setCallbackInfo(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_CalculateSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyDrawnShape_CalculateSize",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->CalculateSize();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_DestroyClippingRect(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyDrawnShape_DestroyClippingRect",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DestroyClippingRect();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_DrawArc(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    wxPoint *arg2 = 0 ;
+    wxPoint *arg3 = 0 ;
+    wxPoint *arg4 = 0 ;
+    wxPoint temp2 ;
+    wxPoint temp3 ;
+    wxPoint temp4 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "centrePoint",(char *) "startPoint",(char *) "endPoint", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOOO:PyDrawnShape_DrawArc",kwnames,&obj0,&obj1,&obj2,&obj3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = &temp2;
+        if ( ! wxPoint_helper(obj1, &arg2)) SWIG_fail;
+    }
+    {
+        arg3 = &temp3;
+        if ( ! wxPoint_helper(obj2, &arg3)) SWIG_fail;
+    }
+    {
+        arg4 = &temp4;
+        if ( ! wxPoint_helper(obj3, &arg4)) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DrawArc((wxPoint const &)*arg2,(wxPoint const &)*arg3,(wxPoint const &)*arg4);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_DrawAtAngle(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    int arg2 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "angle", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:PyDrawnShape_DrawAtAngle",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DrawAtAngle(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_DrawEllipticArc(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    wxRect *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    wxRect temp2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "rect",(char *) "startAngle",(char *) "endAngle", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd:PyDrawnShape_DrawEllipticArc",kwnames,&obj0,&obj1,&arg3,&arg4)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = &temp2;
+        if ( ! wxRect_helper(obj1, &arg2)) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DrawEllipticArc((wxRect const &)*arg2,arg3,arg4);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_DrawLine(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    wxPoint *arg2 = 0 ;
+    wxPoint *arg3 = 0 ;
+    wxPoint temp2 ;
+    wxPoint temp3 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "point1",(char *) "point2", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:PyDrawnShape_DrawLine",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = &temp2;
+        if ( ! wxPoint_helper(obj1, &arg2)) SWIG_fail;
+    }
+    {
+        arg3 = &temp3;
+        if ( ! wxPoint_helper(obj2, &arg3)) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DrawLine((wxPoint const &)*arg2,(wxPoint const &)*arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_DrawLines(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    int arg2 ;
+    wxPoint *arg3 = (wxPoint *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "PCOUNT",(char *) "points", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OiO:PyDrawnShape_DrawLines",kwnames,&obj0,&arg2,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj2,(void **) &arg3, SWIGTYPE_p_wxPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DrawLines(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_DrawPoint(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    wxPoint *arg2 = 0 ;
+    wxPoint temp2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "point", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDrawnShape_DrawPoint",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = &temp2;
+        if ( ! wxPoint_helper(obj1, &arg2)) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DrawPoint((wxPoint const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_DrawPolygon(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    int arg2 ;
+    wxPoint *arg3 = (wxPoint *) 0 ;
+    int arg4 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "PCOUNT",(char *) "points",(char *) "flags", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OiO|i:PyDrawnShape_DrawPolygon",kwnames,&obj0,&arg2,&obj2,&arg4)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj2,(void **) &arg3, SWIGTYPE_p_wxPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DrawPolygon(arg2,arg3,arg4);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_DrawRectangle(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    wxRect *arg2 = 0 ;
+    wxRect temp2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "rect", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDrawnShape_DrawRectangle",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = &temp2;
+        if ( ! wxRect_helper(obj1, &arg2)) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DrawRectangle((wxRect const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_DrawRoundedRectangle(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    wxRect *arg2 = 0 ;
+    double arg3 ;
+    wxRect temp2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "rect",(char *) "radius", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOd:PyDrawnShape_DrawRoundedRectangle",kwnames,&obj0,&obj1,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = &temp2;
+        if ( ! wxRect_helper(obj1, &arg2)) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DrawRoundedRectangle((wxRect const &)*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_DrawSpline(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    int arg2 ;
+    wxPoint *arg3 = (wxPoint *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "PCOUNT",(char *) "points", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OiO:PyDrawnShape_DrawSpline",kwnames,&obj0,&arg2,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj2,(void **) &arg3, SWIGTYPE_p_wxPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DrawSpline(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_DrawText(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    wxString *arg2 = 0 ;
+    wxPoint *arg3 = 0 ;
+    bool temp2 = False ;
+    wxPoint temp3 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "text",(char *) "point", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:PyDrawnShape_DrawText",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = wxString_in_helper(obj1);
+        if (arg2 == NULL) SWIG_fail;
+        temp2 = True;
+    }
+    {
+        arg3 = &temp3;
+        if ( ! wxPoint_helper(obj2, &arg3)) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DrawText((wxString const &)*arg2,(wxPoint const &)*arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_GetAngle(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyDrawnShape_GetAngle",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)(arg1)->GetAngle();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_GetMetaFile(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    wxPseudoMetaFile *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyDrawnShape_GetMetaFile",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        {
+            wxPseudoMetaFile &_result_ref = (arg1)->GetMetaFile();
+            result = (wxPseudoMetaFile *) &_result_ref;
+        }
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxPseudoMetaFile, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_GetRotation(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyDrawnShape_GetRotation",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (double)(arg1)->GetRotation();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyFloat_FromDouble(result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_LoadFromMetaFile(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    wxString *arg2 = 0 ;
+    bool result;
+    bool temp2 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "filename", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDrawnShape_LoadFromMetaFile",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = wxString_in_helper(obj1);
+        if (arg2 == NULL) SWIG_fail;
+        temp2 = True;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->LoadFromMetaFile((wxString const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_Rotate(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    double arg4 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "theta", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oddd:PyDrawnShape_Rotate",kwnames,&obj0,&arg2,&arg3,&arg4)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Rotate(arg2,arg3,arg4);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_SetClippingRect(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    wxRect *arg2 = 0 ;
+    wxRect temp2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "rect", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDrawnShape_SetClippingRect",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = &temp2;
+        if ( ! wxRect_helper(obj1, &arg2)) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetClippingRect((wxRect const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_SetDrawnBackgroundColour(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    wxColour *arg2 = 0 ;
+    wxColour temp2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "colour", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDrawnShape_SetDrawnBackgroundColour",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = &temp2;
+        if ( ! wxColour_helper(obj1, &arg2)) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetDrawnBackgroundColour((wxColour const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_SetDrawnBackgroundMode(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    int arg2 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "mode", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:PyDrawnShape_SetDrawnBackgroundMode",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetDrawnBackgroundMode(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_SetDrawnBrush(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    wxBrush *arg2 = (wxBrush *) 0 ;
+    bool arg3 = (bool) FALSE ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pen",(char *) "isOutline", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyDrawnShape_SetDrawnBrush",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        wxBrush* temp;
+        if (obj1) {
+            if (obj1 == Py_None) {
+                temp = NULL; 
+            }
+            else if (! wxPyConvertSwigPtr(obj1, (void **) &temp, wxT("wxBrush"))) {
+                PyErr_SetString(PyExc_TypeError, "Type error, expected wxBrush.");
+                return NULL;
+            }
+        }
+        if (temp)
+        arg2 = wxTheBrushList->FindOrCreateBrush(temp->GetColour(), temp->GetStyle());
+        else
+        arg2 = NULL;
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetDrawnBrush(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_SetDrawnFont(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    wxFont *arg2 = (wxFont *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "font", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDrawnShape_SetDrawnFont",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        wxFont* temp;
+        if (obj1) {
+            if (obj1 == Py_None) {
+                temp = NULL; 
+            }
+            else if (! wxPyConvertSwigPtr(obj1, (void **) &temp, wxT("wxFont"))) {
+                PyErr_SetString(PyExc_TypeError, "Type error, expected wxFont.");
+                return NULL;
+            }
+        }
+        if (temp)
+        arg2 = wxTheFontList->FindOrCreateFont(temp->GetPointSize(),
+        temp->GetFamily(),
+        temp->GetStyle(),
+        temp->GetWeight(),
+        temp->GetUnderlined(),
+        temp->GetFaceName(),
+        temp->GetEncoding());
+        else
+        arg2 = NULL;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetDrawnFont(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_SetDrawnPen(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    wxPen *arg2 = (wxPen *) 0 ;
+    bool arg3 = (bool) FALSE ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pen",(char *) "isOutline", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyDrawnShape_SetDrawnPen",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        wxPen* temp;
+        if (obj1) {
+            if (obj1 == Py_None) {
+                temp = NULL; 
+            }
+            else if (! wxPyConvertSwigPtr(obj1, (void **) &temp, wxT("wxPen"))) {
+                PyErr_SetString(PyExc_TypeError, "Type error, expected wxPen.");
+                return NULL;
+            }
+        }
+        if (temp)
+        arg2 = wxThePenList->FindOrCreatePen(temp->GetColour(),
+        temp->GetWidth(),
+        temp->GetStyle());
+        else
+        arg2 = NULL;
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetDrawnPen(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_SetDrawnTextColour(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    wxColour *arg2 = 0 ;
+    wxColour temp2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "colour", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDrawnShape_SetDrawnTextColour",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = &temp2;
+        if ( ! wxColour_helper(obj1, &arg2)) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetDrawnTextColour((wxColour const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_Scale(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "sx",(char *) "sy", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyDrawnShape_Scale",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Scale(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_SetSaveToFile(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    bool arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "save", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDrawnShape_SetSaveToFile",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetSaveToFile(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_Translate(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyDrawnShape_Translate",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Translate(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_base_OnDelete(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyDrawnShape_base_OnDelete",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDelete();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_base_OnDraw(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDrawnShape_base_OnDraw",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDraw(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_base_OnDrawContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDrawnShape_base_OnDrawContents",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawContents(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_base_OnDrawBranches(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    bool arg3 = (bool) FALSE ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "erase", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyDrawnShape_base_OnDrawBranches",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawBranches(*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_base_OnMoveLinks(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDrawnShape_base_OnMoveLinks",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMoveLinks(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_base_OnErase(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDrawnShape_base_OnErase",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnErase(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_base_OnEraseContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDrawnShape_base_OnEraseContents",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEraseContents(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_base_OnHighlight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDrawnShape_base_OnHighlight",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnHighlight(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_base_OnLeftClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyDrawnShape_base_OnLeftClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnLeftClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_base_OnLeftDoubleClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyDrawnShape_base_OnLeftDoubleClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnLeftDoubleClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_base_OnRightClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyDrawnShape_base_OnRightClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnRightClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_base_OnSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyDrawnShape_base_OnSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_base_OnMovePre(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    bool arg7 = (bool) True ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "old_x",(char *) "old_y",(char *) "display", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd|O:PyDrawnShape_base_OnMovePre",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6,&obj6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj6) {
+        arg7 = PyInt_AsLong(obj6) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->base_OnMovePre(*arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_base_OnMovePost(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    bool arg7 = (bool) True ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "old_x",(char *) "old_y",(char *) "display", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd|O:PyDrawnShape_base_OnMovePost",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6,&obj6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj6) {
+        arg7 = PyInt_AsLong(obj6) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMovePost(*arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_base_OnDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    bool arg2 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyDrawnShape_base_OnDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_base_OnBeginDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyDrawnShape_base_OnBeginDragLeft",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginDragLeft(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_base_OnEndDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyDrawnShape_base_OnEndDragLeft",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndDragLeft(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_base_OnDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    bool arg2 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyDrawnShape_base_OnDragRight",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDragRight(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_base_OnBeginDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyDrawnShape_base_OnBeginDragRight",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginDragRight(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_base_OnEndDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyDrawnShape_base_OnEndDragRight",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndDragRight(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_base_OnDrawOutline(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd:PyDrawnShape_base_OnDrawOutline",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawOutline(*arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_base_OnDrawControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDrawnShape_base_OnDrawControlPoints",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawControlPoints(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_base_OnEraseControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDrawnShape_base_OnEraseControlPoints",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEraseControlPoints(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_base_OnMoveLink(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    bool arg3 = (bool) True ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "moveControlPoints", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyDrawnShape_base_OnMoveLink",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMoveLink(*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_base_OnSizingDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    bool arg3 ;
+    double arg4 ;
+    double arg5 ;
+    int arg6 = (int) 0 ;
+    int arg7 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOOdd|ii:PyDrawnShape_base_OnSizingDragLeft",kwnames,&obj0,&obj1,&obj2,&arg4,&arg5,&arg6,&arg7)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg3 = PyInt_AsLong(obj2) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingDragLeft(arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_base_OnSizingBeginDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyDrawnShape_base_OnSizingBeginDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingBeginDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_base_OnSizingEndDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyDrawnShape_base_OnSizingEndDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingEndDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_base_OnBeginSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyDrawnShape_base_OnBeginSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_base_OnEndSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyDrawnShape_base_OnEndSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * PyDrawnShape_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_wxPyDrawnShape, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_OGLConstraint(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    int arg1 ;
+    wxPyShape *arg2 = (wxPyShape *) 0 ;
+    PyObject *arg3 = (PyObject *) 0 ;
+    wxOGLConstraint *result;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "type",(char *) "constraining",(char *) "constrained", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"iOO:new_OGLConstraint",kwnames,&arg1,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg3 = obj2;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxOGLConstraint *)new_wxOGLConstraint(arg1,arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxObject(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_OGLConstraint_Evaluate(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxOGLConstraint *arg1 = (wxOGLConstraint *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:OGLConstraint_Evaluate",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxOGLConstraint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->Evaluate();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_OGLConstraint_SetSpacing(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxOGLConstraint *arg1 = (wxOGLConstraint *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:OGLConstraint_SetSpacing",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxOGLConstraint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetSpacing(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_OGLConstraint_Equals(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxOGLConstraint *arg1 = (wxOGLConstraint *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "a",(char *) "b", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:OGLConstraint_Equals",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxOGLConstraint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->Equals(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * OGLConstraint_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_wxOGLConstraint, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_PyCompositeShape(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *result;
+    char *kwnames[] = {
+        NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)":new_PyCompositeShape",kwnames)) goto fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyCompositeShape *)new wxPyCompositeShape();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxPyCompositeShape, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape__setCallbackInfo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    PyObject *arg2 = (PyObject *) 0 ;
+    PyObject *arg3 = (PyObject *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "self",(char *) "_class", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:PyCompositeShape__setCallbackInfo",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = obj1;
+    arg3 = obj2;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->_setCallbackInfo(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_AddChild(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    wxPyShape *arg2 = (wxPyShape *) 0 ;
+    wxPyShape *arg3 = (wxPyShape *) NULL ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "child",(char *) "addAfter", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyCompositeShape_AddChild",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (obj2) {
+        if ((SWIG_ConvertPtr(obj2,(void **) &arg3, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->AddChild(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_AddConstraint(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    wxOGLConstraint *arg2 = (wxOGLConstraint *) 0 ;
+    wxOGLConstraint *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "constraint", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyCompositeShape_AddConstraint",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxOGLConstraint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxOGLConstraint *)(arg1)->AddConstraint(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxObject(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_AddConstrainedShapes(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    int arg2 ;
+    wxPyShape *arg3 = (wxPyShape *) 0 ;
+    PyObject *arg4 = (PyObject *) 0 ;
+    wxOGLConstraint *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "type",(char *) "constraining",(char *) "constrained", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OiOO:PyCompositeShape_AddConstrainedShapes",kwnames,&obj0,&arg2,&obj2,&obj3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj2,(void **) &arg3, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg4 = obj3;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxOGLConstraint *)wxPyCompositeShape_AddConstrainedShapes(arg1,arg2,arg3,arg4);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxObject(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_AddSimpleConstraint(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    int arg2 ;
+    wxPyShape *arg3 = (wxPyShape *) 0 ;
+    wxPyShape *arg4 = (wxPyShape *) 0 ;
+    wxOGLConstraint *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "type",(char *) "constraining",(char *) "constrained", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OiOO:PyCompositeShape_AddSimpleConstraint",kwnames,&obj0,&arg2,&obj2,&obj3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj2,(void **) &arg3, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj3,(void **) &arg4, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxOGLConstraint *)(arg1)->AddConstraint(arg2,arg3,arg4);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxObject(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_CalculateSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyCompositeShape_CalculateSize",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->CalculateSize();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_ContainsDivision(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    wxPyDivisionShape *arg2 = (wxPyDivisionShape *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "division", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyCompositeShape_ContainsDivision",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->ContainsDivision(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_DeleteConstraint(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    wxOGLConstraint *arg2 = (wxOGLConstraint *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "constraint", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyCompositeShape_DeleteConstraint",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxOGLConstraint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DeleteConstraint(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_DeleteConstraintsInvolvingChild(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    wxPyShape *arg2 = (wxPyShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "child", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyCompositeShape_DeleteConstraintsInvolvingChild",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DeleteConstraintsInvolvingChild(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_FindContainerImage(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    wxPyShape *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyCompositeShape_FindContainerImage",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyShape *)(arg1)->FindContainerImage();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxShapeEvtHandler(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_GetConstraints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    PyObject *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyCompositeShape_GetConstraints",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (PyObject *)wxPyCompositeShape_GetConstraints(arg1);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = result;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_GetDivisions(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    PyObject *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyCompositeShape_GetDivisions",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (PyObject *)wxPyCompositeShape_GetDivisions(arg1);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = result;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_MakeContainer(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyCompositeShape_MakeContainer",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->MakeContainer();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_Recompute(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyCompositeShape_Recompute",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->Recompute();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_RemoveChild(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    wxPyShape *arg2 = (wxPyShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "child", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyCompositeShape_RemoveChild",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->RemoveChild(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_base_OnDelete(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyCompositeShape_base_OnDelete",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDelete();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_base_OnDraw(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyCompositeShape_base_OnDraw",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDraw(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_base_OnDrawContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyCompositeShape_base_OnDrawContents",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawContents(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_base_OnDrawBranches(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    bool arg3 = (bool) FALSE ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "erase", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyCompositeShape_base_OnDrawBranches",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawBranches(*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_base_OnMoveLinks(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyCompositeShape_base_OnMoveLinks",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMoveLinks(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_base_OnErase(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyCompositeShape_base_OnErase",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnErase(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_base_OnEraseContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyCompositeShape_base_OnEraseContents",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEraseContents(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_base_OnHighlight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyCompositeShape_base_OnHighlight",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnHighlight(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_base_OnLeftClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyCompositeShape_base_OnLeftClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnLeftClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_base_OnLeftDoubleClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyCompositeShape_base_OnLeftDoubleClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnLeftDoubleClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_base_OnRightClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyCompositeShape_base_OnRightClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnRightClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_base_OnSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyCompositeShape_base_OnSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_base_OnMovePre(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    bool arg7 = (bool) True ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "old_x",(char *) "old_y",(char *) "display", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd|O:PyCompositeShape_base_OnMovePre",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6,&obj6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj6) {
+        arg7 = PyInt_AsLong(obj6) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->base_OnMovePre(*arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_base_OnMovePost(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    bool arg7 = (bool) True ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "old_x",(char *) "old_y",(char *) "display", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd|O:PyCompositeShape_base_OnMovePost",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6,&obj6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj6) {
+        arg7 = PyInt_AsLong(obj6) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMovePost(*arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_base_OnDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    bool arg2 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyCompositeShape_base_OnDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_base_OnBeginDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyCompositeShape_base_OnBeginDragLeft",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginDragLeft(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_base_OnEndDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyCompositeShape_base_OnEndDragLeft",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndDragLeft(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_base_OnDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    bool arg2 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyCompositeShape_base_OnDragRight",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDragRight(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_base_OnBeginDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyCompositeShape_base_OnBeginDragRight",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginDragRight(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_base_OnEndDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyCompositeShape_base_OnEndDragRight",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndDragRight(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_base_OnDrawOutline(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd:PyCompositeShape_base_OnDrawOutline",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawOutline(*arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_base_OnDrawControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyCompositeShape_base_OnDrawControlPoints",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawControlPoints(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_base_OnEraseControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyCompositeShape_base_OnEraseControlPoints",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEraseControlPoints(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_base_OnMoveLink(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    bool arg3 = (bool) True ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "moveControlPoints", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyCompositeShape_base_OnMoveLink",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMoveLink(*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_base_OnSizingDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    bool arg3 ;
+    double arg4 ;
+    double arg5 ;
+    int arg6 = (int) 0 ;
+    int arg7 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOOdd|ii:PyCompositeShape_base_OnSizingDragLeft",kwnames,&obj0,&obj1,&obj2,&arg4,&arg5,&arg6,&arg7)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg3 = PyInt_AsLong(obj2) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingDragLeft(arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_base_OnSizingBeginDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyCompositeShape_base_OnSizingBeginDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingBeginDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_base_OnSizingEndDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyCompositeShape_base_OnSizingEndDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingEndDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_base_OnBeginSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyCompositeShape_base_OnBeginSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_base_OnEndSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyCompositeShape_base_OnEndSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * PyCompositeShape_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_wxPyCompositeShape, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_PyDividedShape(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    double arg1 = (double) 0.0 ;
+    double arg2 = (double) 0.0 ;
+    wxPyDividedShape *result;
+    char *kwnames[] = {
+        (char *) "width",(char *) "height", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"|dd:new_PyDividedShape",kwnames,&arg1,&arg2)) goto fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyDividedShape *)new wxPyDividedShape(arg1,arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxPyDividedShape, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDividedShape__setCallbackInfo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDividedShape *arg1 = (wxPyDividedShape *) 0 ;
+    PyObject *arg2 = (PyObject *) 0 ;
+    PyObject *arg3 = (PyObject *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "self",(char *) "_class", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:PyDividedShape__setCallbackInfo",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDividedShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = obj1;
+    arg3 = obj2;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->_setCallbackInfo(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDividedShape_EditRegions(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDividedShape *arg1 = (wxPyDividedShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyDividedShape_EditRegions",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDividedShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->EditRegions();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDividedShape_SetRegionSizes(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDividedShape *arg1 = (wxPyDividedShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyDividedShape_SetRegionSizes",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDividedShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetRegionSizes();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDividedShape_base_OnDelete(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDividedShape *arg1 = (wxPyDividedShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyDividedShape_base_OnDelete",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDividedShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDelete();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDividedShape_base_OnDraw(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDividedShape *arg1 = (wxPyDividedShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDividedShape_base_OnDraw",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDividedShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDraw(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDividedShape_base_OnDrawContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDividedShape *arg1 = (wxPyDividedShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDividedShape_base_OnDrawContents",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDividedShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawContents(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDividedShape_base_OnDrawBranches(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDividedShape *arg1 = (wxPyDividedShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    bool arg3 = (bool) FALSE ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "erase", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyDividedShape_base_OnDrawBranches",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDividedShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawBranches(*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDividedShape_base_OnMoveLinks(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDividedShape *arg1 = (wxPyDividedShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDividedShape_base_OnMoveLinks",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDividedShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMoveLinks(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDividedShape_base_OnErase(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDividedShape *arg1 = (wxPyDividedShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDividedShape_base_OnErase",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDividedShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnErase(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDividedShape_base_OnEraseContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDividedShape *arg1 = (wxPyDividedShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDividedShape_base_OnEraseContents",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDividedShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEraseContents(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDividedShape_base_OnHighlight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDividedShape *arg1 = (wxPyDividedShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDividedShape_base_OnHighlight",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDividedShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnHighlight(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDividedShape_base_OnLeftClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDividedShape *arg1 = (wxPyDividedShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyDividedShape_base_OnLeftClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDividedShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnLeftClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDividedShape_base_OnLeftDoubleClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDividedShape *arg1 = (wxPyDividedShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyDividedShape_base_OnLeftDoubleClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDividedShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnLeftDoubleClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDividedShape_base_OnRightClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDividedShape *arg1 = (wxPyDividedShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyDividedShape_base_OnRightClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDividedShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnRightClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDividedShape_base_OnSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDividedShape *arg1 = (wxPyDividedShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyDividedShape_base_OnSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDividedShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDividedShape_base_OnMovePre(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDividedShape *arg1 = (wxPyDividedShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    bool arg7 = (bool) True ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "old_x",(char *) "old_y",(char *) "display", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd|O:PyDividedShape_base_OnMovePre",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6,&obj6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDividedShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj6) {
+        arg7 = PyInt_AsLong(obj6) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->base_OnMovePre(*arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDividedShape_base_OnMovePost(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDividedShape *arg1 = (wxPyDividedShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    bool arg7 = (bool) True ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "old_x",(char *) "old_y",(char *) "display", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd|O:PyDividedShape_base_OnMovePost",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6,&obj6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDividedShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj6) {
+        arg7 = PyInt_AsLong(obj6) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMovePost(*arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDividedShape_base_OnDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDividedShape *arg1 = (wxPyDividedShape *) 0 ;
+    bool arg2 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyDividedShape_base_OnDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDividedShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDividedShape_base_OnBeginDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDividedShape *arg1 = (wxPyDividedShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyDividedShape_base_OnBeginDragLeft",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDividedShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginDragLeft(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDividedShape_base_OnEndDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDividedShape *arg1 = (wxPyDividedShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyDividedShape_base_OnEndDragLeft",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDividedShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndDragLeft(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDividedShape_base_OnDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDividedShape *arg1 = (wxPyDividedShape *) 0 ;
+    bool arg2 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyDividedShape_base_OnDragRight",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDividedShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDragRight(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDividedShape_base_OnBeginDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDividedShape *arg1 = (wxPyDividedShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyDividedShape_base_OnBeginDragRight",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDividedShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginDragRight(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDividedShape_base_OnEndDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDividedShape *arg1 = (wxPyDividedShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyDividedShape_base_OnEndDragRight",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDividedShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndDragRight(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDividedShape_base_OnDrawOutline(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDividedShape *arg1 = (wxPyDividedShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd:PyDividedShape_base_OnDrawOutline",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDividedShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawOutline(*arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDividedShape_base_OnDrawControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDividedShape *arg1 = (wxPyDividedShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDividedShape_base_OnDrawControlPoints",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDividedShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawControlPoints(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDividedShape_base_OnEraseControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDividedShape *arg1 = (wxPyDividedShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDividedShape_base_OnEraseControlPoints",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDividedShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEraseControlPoints(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDividedShape_base_OnMoveLink(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDividedShape *arg1 = (wxPyDividedShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    bool arg3 = (bool) True ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "moveControlPoints", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyDividedShape_base_OnMoveLink",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDividedShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMoveLink(*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDividedShape_base_OnSizingDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDividedShape *arg1 = (wxPyDividedShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    bool arg3 ;
+    double arg4 ;
+    double arg5 ;
+    int arg6 = (int) 0 ;
+    int arg7 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOOdd|ii:PyDividedShape_base_OnSizingDragLeft",kwnames,&obj0,&obj1,&obj2,&arg4,&arg5,&arg6,&arg7)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDividedShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg3 = PyInt_AsLong(obj2) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingDragLeft(arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDividedShape_base_OnSizingBeginDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDividedShape *arg1 = (wxPyDividedShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyDividedShape_base_OnSizingBeginDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDividedShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingBeginDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDividedShape_base_OnSizingEndDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDividedShape *arg1 = (wxPyDividedShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyDividedShape_base_OnSizingEndDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDividedShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingEndDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDividedShape_base_OnBeginSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDividedShape *arg1 = (wxPyDividedShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyDividedShape_base_OnBeginSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDividedShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDividedShape_base_OnEndSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDividedShape *arg1 = (wxPyDividedShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyDividedShape_base_OnEndSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDividedShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * PyDividedShape_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_wxPyDividedShape, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_PyDivisionShape(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *result;
+    char *kwnames[] = {
+        NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)":new_PyDivisionShape",kwnames)) goto fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyDivisionShape *)new wxPyDivisionShape();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxShapeEvtHandler(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape__setCallbackInfo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    PyObject *arg2 = (PyObject *) 0 ;
+    PyObject *arg3 = (PyObject *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "self",(char *) "_class", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:PyDivisionShape__setCallbackInfo",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = obj1;
+    arg3 = obj2;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->_setCallbackInfo(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_AdjustBottom(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    double arg2 ;
+    bool arg3 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "bottom",(char *) "test", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OdO:PyDivisionShape_AdjustBottom",kwnames,&obj0,&arg2,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg3 = PyInt_AsLong(obj2) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->AdjustBottom(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_AdjustLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    double arg2 ;
+    bool arg3 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "left",(char *) "test", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OdO:PyDivisionShape_AdjustLeft",kwnames,&obj0,&arg2,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg3 = PyInt_AsLong(obj2) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->AdjustLeft(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_AdjustRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    double arg2 ;
+    bool arg3 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "right",(char *) "test", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OdO:PyDivisionShape_AdjustRight",kwnames,&obj0,&arg2,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg3 = PyInt_AsLong(obj2) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->AdjustRight(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_AdjustTop(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    double arg2 ;
+    bool arg3 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "top",(char *) "test", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OdO:PyDivisionShape_AdjustTop",kwnames,&obj0,&arg2,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg3 = PyInt_AsLong(obj2) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->AdjustTop(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_Divide(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    int arg2 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "direction", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:PyDivisionShape_Divide",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Divide(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_EditEdge(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    int arg2 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "side", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:PyDivisionShape_EditEdge",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->EditEdge(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_GetBottomSide(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    wxPyDivisionShape *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyDivisionShape_GetBottomSide",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyDivisionShape *)(arg1)->GetBottomSide();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxShapeEvtHandler(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_GetHandleSide(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyDivisionShape_GetHandleSide",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)(arg1)->GetHandleSide();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_GetLeftSide(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    wxPyDivisionShape *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyDivisionShape_GetLeftSide",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyDivisionShape *)(arg1)->GetLeftSide();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxShapeEvtHandler(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_GetLeftSideColour(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    wxString result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyDivisionShape_GetLeftSideColour",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (arg1)->GetLeftSideColour();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+#if wxUSE_UNICODE
+        resultobj = PyUnicode_FromWideChar((&result)->c_str(), (&result)->Len());
+#else
+        resultobj = PyString_FromStringAndSize((&result)->c_str(), (&result)->Len());
+#endif
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_GetLeftSidePen(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    wxPen *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyDivisionShape_GetLeftSidePen",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPen *)(arg1)->GetLeftSidePen();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxPen, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_GetRightSide(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    wxPyDivisionShape *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyDivisionShape_GetRightSide",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyDivisionShape *)(arg1)->GetRightSide();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxShapeEvtHandler(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_GetTopSide(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    wxPyDivisionShape *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyDivisionShape_GetTopSide",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyDivisionShape *)(arg1)->GetTopSide();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxShapeEvtHandler(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_GetTopSidePen(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    wxPen *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyDivisionShape_GetTopSidePen",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPen *)(arg1)->GetTopSidePen();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxPen, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_ResizeAdjoining(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    int arg2 ;
+    double arg3 ;
+    bool arg4 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj3 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "side",(char *) "newPos",(char *) "test", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OidO:PyDivisionShape_ResizeAdjoining",kwnames,&obj0,&arg2,&arg3,&obj3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg4 = PyInt_AsLong(obj3) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->ResizeAdjoining(arg2,arg3,arg4);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_PopupMenu(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyDivisionShape_PopupMenu",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->PopupMenu(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_SetBottomSide(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    wxPyDivisionShape *arg2 = (wxPyDivisionShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "shape", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDivisionShape_SetBottomSide",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetBottomSide(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_SetHandleSide(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    int arg2 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "side", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:PyDivisionShape_SetHandleSide",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetHandleSide(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_SetLeftSide(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    wxPyDivisionShape *arg2 = (wxPyDivisionShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "shape", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDivisionShape_SetLeftSide",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetLeftSide(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_SetLeftSideColour(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    wxString *arg2 = 0 ;
+    bool temp2 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "colour", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDivisionShape_SetLeftSideColour",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = wxString_in_helper(obj1);
+        if (arg2 == NULL) SWIG_fail;
+        temp2 = True;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetLeftSideColour((wxString const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_SetLeftSidePen(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    wxPen *arg2 = (wxPen *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pen", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDivisionShape_SetLeftSidePen",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        wxPen* temp;
+        if (obj1) {
+            if (obj1 == Py_None) {
+                temp = NULL; 
+            }
+            else if (! wxPyConvertSwigPtr(obj1, (void **) &temp, wxT("wxPen"))) {
+                PyErr_SetString(PyExc_TypeError, "Type error, expected wxPen.");
+                return NULL;
+            }
+        }
+        if (temp)
+        arg2 = wxThePenList->FindOrCreatePen(temp->GetColour(),
+        temp->GetWidth(),
+        temp->GetStyle());
+        else
+        arg2 = NULL;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetLeftSidePen(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_SetRightSide(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    wxPyDivisionShape *arg2 = (wxPyDivisionShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "shape", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDivisionShape_SetRightSide",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetRightSide(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_SetTopSide(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    wxPyDivisionShape *arg2 = (wxPyDivisionShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "shape", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDivisionShape_SetTopSide",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetTopSide(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_SetTopSideColour(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    wxString *arg2 = 0 ;
+    bool temp2 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "colour", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDivisionShape_SetTopSideColour",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = wxString_in_helper(obj1);
+        if (arg2 == NULL) SWIG_fail;
+        temp2 = True;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetTopSideColour((wxString const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_SetTopSidePen(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    wxPen *arg2 = (wxPen *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pen", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDivisionShape_SetTopSidePen",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        wxPen* temp;
+        if (obj1) {
+            if (obj1 == Py_None) {
+                temp = NULL; 
+            }
+            else if (! wxPyConvertSwigPtr(obj1, (void **) &temp, wxT("wxPen"))) {
+                PyErr_SetString(PyExc_TypeError, "Type error, expected wxPen.");
+                return NULL;
+            }
+        }
+        if (temp)
+        arg2 = wxThePenList->FindOrCreatePen(temp->GetColour(),
+        temp->GetWidth(),
+        temp->GetStyle());
+        else
+        arg2 = NULL;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetTopSidePen(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_base_OnDelete(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyDivisionShape_base_OnDelete",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDelete();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_base_OnDraw(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDivisionShape_base_OnDraw",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDraw(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_base_OnDrawContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDivisionShape_base_OnDrawContents",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawContents(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_base_OnDrawBranches(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    bool arg3 = (bool) FALSE ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "erase", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyDivisionShape_base_OnDrawBranches",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawBranches(*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_base_OnMoveLinks(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDivisionShape_base_OnMoveLinks",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMoveLinks(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_base_OnErase(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDivisionShape_base_OnErase",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnErase(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_base_OnEraseContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDivisionShape_base_OnEraseContents",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEraseContents(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_base_OnHighlight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDivisionShape_base_OnHighlight",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnHighlight(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_base_OnLeftClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyDivisionShape_base_OnLeftClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnLeftClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_base_OnLeftDoubleClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyDivisionShape_base_OnLeftDoubleClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnLeftDoubleClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_base_OnRightClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyDivisionShape_base_OnRightClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnRightClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_base_OnSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyDivisionShape_base_OnSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_base_OnMovePre(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    bool arg7 = (bool) True ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "old_x",(char *) "old_y",(char *) "display", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd|O:PyDivisionShape_base_OnMovePre",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6,&obj6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj6) {
+        arg7 = PyInt_AsLong(obj6) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->base_OnMovePre(*arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_base_OnMovePost(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    bool arg7 = (bool) True ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "old_x",(char *) "old_y",(char *) "display", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd|O:PyDivisionShape_base_OnMovePost",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6,&obj6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj6) {
+        arg7 = PyInt_AsLong(obj6) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMovePost(*arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_base_OnDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    bool arg2 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyDivisionShape_base_OnDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_base_OnBeginDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyDivisionShape_base_OnBeginDragLeft",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginDragLeft(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_base_OnEndDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyDivisionShape_base_OnEndDragLeft",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndDragLeft(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_base_OnDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    bool arg2 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyDivisionShape_base_OnDragRight",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDragRight(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_base_OnBeginDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyDivisionShape_base_OnBeginDragRight",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginDragRight(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_base_OnEndDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyDivisionShape_base_OnEndDragRight",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndDragRight(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_base_OnDrawOutline(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd:PyDivisionShape_base_OnDrawOutline",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawOutline(*arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_base_OnDrawControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDivisionShape_base_OnDrawControlPoints",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawControlPoints(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_base_OnEraseControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDivisionShape_base_OnEraseControlPoints",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEraseControlPoints(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_base_OnMoveLink(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    bool arg3 = (bool) True ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "moveControlPoints", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyDivisionShape_base_OnMoveLink",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMoveLink(*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_base_OnSizingDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    bool arg3 ;
+    double arg4 ;
+    double arg5 ;
+    int arg6 = (int) 0 ;
+    int arg7 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOOdd|ii:PyDivisionShape_base_OnSizingDragLeft",kwnames,&obj0,&obj1,&obj2,&arg4,&arg5,&arg6,&arg7)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg3 = PyInt_AsLong(obj2) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingDragLeft(arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_base_OnSizingBeginDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyDivisionShape_base_OnSizingBeginDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingBeginDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_base_OnSizingEndDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyDivisionShape_base_OnSizingEndDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingEndDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_base_OnBeginSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyDivisionShape_base_OnBeginSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_base_OnEndSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyDivisionShape_base_OnEndSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * PyDivisionShape_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_wxPyDivisionShape, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_PyEllipseShape(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    double arg1 = (double) 0.0 ;
+    double arg2 = (double) 0.0 ;
+    wxPyEllipseShape *result;
+    char *kwnames[] = {
+        (char *) "width",(char *) "height", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"|dd:new_PyEllipseShape",kwnames,&arg1,&arg2)) goto fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyEllipseShape *)new wxPyEllipseShape(arg1,arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxPyEllipseShape, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyEllipseShape__setCallbackInfo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyEllipseShape *arg1 = (wxPyEllipseShape *) 0 ;
+    PyObject *arg2 = (PyObject *) 0 ;
+    PyObject *arg3 = (PyObject *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "self",(char *) "_class", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:PyEllipseShape__setCallbackInfo",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyEllipseShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = obj1;
+    arg3 = obj2;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->_setCallbackInfo(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyEllipseShape_base_OnDraw(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyEllipseShape *arg1 = (wxPyEllipseShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyEllipseShape_base_OnDraw",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyEllipseShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDraw(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyEllipseShape_base_OnDrawContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyEllipseShape *arg1 = (wxPyEllipseShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyEllipseShape_base_OnDrawContents",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyEllipseShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawContents(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyEllipseShape_base_OnDrawBranches(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyEllipseShape *arg1 = (wxPyEllipseShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    bool arg3 = (bool) FALSE ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "erase", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyEllipseShape_base_OnDrawBranches",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyEllipseShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawBranches(*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyEllipseShape_base_OnMoveLinks(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyEllipseShape *arg1 = (wxPyEllipseShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyEllipseShape_base_OnMoveLinks",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyEllipseShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMoveLinks(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyEllipseShape_base_OnErase(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyEllipseShape *arg1 = (wxPyEllipseShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyEllipseShape_base_OnErase",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyEllipseShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnErase(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyEllipseShape_base_OnEraseContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyEllipseShape *arg1 = (wxPyEllipseShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyEllipseShape_base_OnEraseContents",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyEllipseShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEraseContents(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyEllipseShape_base_OnHighlight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyEllipseShape *arg1 = (wxPyEllipseShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyEllipseShape_base_OnHighlight",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyEllipseShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnHighlight(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyEllipseShape_base_OnLeftClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyEllipseShape *arg1 = (wxPyEllipseShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyEllipseShape_base_OnLeftClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyEllipseShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnLeftClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyEllipseShape_base_OnLeftDoubleClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyEllipseShape *arg1 = (wxPyEllipseShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyEllipseShape_base_OnLeftDoubleClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyEllipseShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnLeftDoubleClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyEllipseShape_base_OnRightClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyEllipseShape *arg1 = (wxPyEllipseShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyEllipseShape_base_OnRightClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyEllipseShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnRightClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyEllipseShape_base_OnSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyEllipseShape *arg1 = (wxPyEllipseShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyEllipseShape_base_OnSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyEllipseShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyEllipseShape_base_OnMovePre(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyEllipseShape *arg1 = (wxPyEllipseShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    bool arg7 = (bool) True ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "old_x",(char *) "old_y",(char *) "display", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd|O:PyEllipseShape_base_OnMovePre",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6,&obj6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyEllipseShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj6) {
+        arg7 = PyInt_AsLong(obj6) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->base_OnMovePre(*arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyEllipseShape_base_OnMovePost(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyEllipseShape *arg1 = (wxPyEllipseShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    bool arg7 = (bool) True ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "old_x",(char *) "old_y",(char *) "display", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd|O:PyEllipseShape_base_OnMovePost",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6,&obj6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyEllipseShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj6) {
+        arg7 = PyInt_AsLong(obj6) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMovePost(*arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyEllipseShape_base_OnDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyEllipseShape *arg1 = (wxPyEllipseShape *) 0 ;
+    bool arg2 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyEllipseShape_base_OnDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyEllipseShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyEllipseShape_base_OnBeginDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyEllipseShape *arg1 = (wxPyEllipseShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyEllipseShape_base_OnBeginDragLeft",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyEllipseShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginDragLeft(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyEllipseShape_base_OnEndDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyEllipseShape *arg1 = (wxPyEllipseShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyEllipseShape_base_OnEndDragLeft",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyEllipseShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndDragLeft(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyEllipseShape_base_OnDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyEllipseShape *arg1 = (wxPyEllipseShape *) 0 ;
+    bool arg2 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyEllipseShape_base_OnDragRight",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyEllipseShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDragRight(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyEllipseShape_base_OnBeginDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyEllipseShape *arg1 = (wxPyEllipseShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyEllipseShape_base_OnBeginDragRight",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyEllipseShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginDragRight(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyEllipseShape_base_OnEndDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyEllipseShape *arg1 = (wxPyEllipseShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyEllipseShape_base_OnEndDragRight",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyEllipseShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndDragRight(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyEllipseShape_base_OnDrawOutline(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyEllipseShape *arg1 = (wxPyEllipseShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd:PyEllipseShape_base_OnDrawOutline",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyEllipseShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawOutline(*arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyEllipseShape_base_OnDrawControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyEllipseShape *arg1 = (wxPyEllipseShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyEllipseShape_base_OnDrawControlPoints",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyEllipseShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawControlPoints(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyEllipseShape_base_OnEraseControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyEllipseShape *arg1 = (wxPyEllipseShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyEllipseShape_base_OnEraseControlPoints",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyEllipseShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEraseControlPoints(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyEllipseShape_base_OnMoveLink(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyEllipseShape *arg1 = (wxPyEllipseShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    bool arg3 = (bool) True ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "moveControlPoints", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyEllipseShape_base_OnMoveLink",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyEllipseShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMoveLink(*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyEllipseShape_base_OnSizingDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyEllipseShape *arg1 = (wxPyEllipseShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    bool arg3 ;
+    double arg4 ;
+    double arg5 ;
+    int arg6 = (int) 0 ;
+    int arg7 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOOdd|ii:PyEllipseShape_base_OnSizingDragLeft",kwnames,&obj0,&obj1,&obj2,&arg4,&arg5,&arg6,&arg7)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyEllipseShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg3 = PyInt_AsLong(obj2) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingDragLeft(arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyEllipseShape_base_OnSizingBeginDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyEllipseShape *arg1 = (wxPyEllipseShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyEllipseShape_base_OnSizingBeginDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyEllipseShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingBeginDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyEllipseShape_base_OnSizingEndDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyEllipseShape *arg1 = (wxPyEllipseShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyEllipseShape_base_OnSizingEndDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyEllipseShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingEndDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyEllipseShape_base_OnBeginSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyEllipseShape *arg1 = (wxPyEllipseShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyEllipseShape_base_OnBeginSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyEllipseShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyEllipseShape_base_OnEndSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyEllipseShape *arg1 = (wxPyEllipseShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyEllipseShape_base_OnEndSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyEllipseShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * PyEllipseShape_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_wxPyEllipseShape, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_PyCircleShape(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    double arg1 = (double) 0.0 ;
+    wxPyCircleShape *result;
+    char *kwnames[] = {
+        (char *) "width", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"|d:new_PyCircleShape",kwnames,&arg1)) goto fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyCircleShape *)new wxPyCircleShape(arg1);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxPyCircleShape, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCircleShape__setCallbackInfo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCircleShape *arg1 = (wxPyCircleShape *) 0 ;
+    PyObject *arg2 = (PyObject *) 0 ;
+    PyObject *arg3 = (PyObject *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "self",(char *) "_class", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:PyCircleShape__setCallbackInfo",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCircleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = obj1;
+    arg3 = obj2;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->_setCallbackInfo(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCircleShape_base_OnDraw(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCircleShape *arg1 = (wxPyCircleShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyCircleShape_base_OnDraw",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCircleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDraw(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCircleShape_base_OnDrawContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCircleShape *arg1 = (wxPyCircleShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyCircleShape_base_OnDrawContents",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCircleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawContents(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCircleShape_base_OnDrawBranches(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCircleShape *arg1 = (wxPyCircleShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    bool arg3 = (bool) FALSE ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "erase", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyCircleShape_base_OnDrawBranches",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCircleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawBranches(*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCircleShape_base_OnMoveLinks(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCircleShape *arg1 = (wxPyCircleShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyCircleShape_base_OnMoveLinks",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCircleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMoveLinks(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCircleShape_base_OnErase(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCircleShape *arg1 = (wxPyCircleShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyCircleShape_base_OnErase",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCircleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnErase(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCircleShape_base_OnEraseContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCircleShape *arg1 = (wxPyCircleShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyCircleShape_base_OnEraseContents",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCircleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEraseContents(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCircleShape_base_OnHighlight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCircleShape *arg1 = (wxPyCircleShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyCircleShape_base_OnHighlight",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCircleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnHighlight(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCircleShape_base_OnLeftClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCircleShape *arg1 = (wxPyCircleShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyCircleShape_base_OnLeftClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCircleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnLeftClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCircleShape_base_OnLeftDoubleClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCircleShape *arg1 = (wxPyCircleShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyCircleShape_base_OnLeftDoubleClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCircleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnLeftDoubleClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCircleShape_base_OnRightClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCircleShape *arg1 = (wxPyCircleShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyCircleShape_base_OnRightClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCircleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnRightClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCircleShape_base_OnSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCircleShape *arg1 = (wxPyCircleShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyCircleShape_base_OnSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCircleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCircleShape_base_OnMovePre(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCircleShape *arg1 = (wxPyCircleShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    bool arg7 = (bool) True ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "old_x",(char *) "old_y",(char *) "display", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd|O:PyCircleShape_base_OnMovePre",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6,&obj6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCircleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj6) {
+        arg7 = PyInt_AsLong(obj6) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->base_OnMovePre(*arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCircleShape_base_OnMovePost(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCircleShape *arg1 = (wxPyCircleShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    bool arg7 = (bool) True ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "old_x",(char *) "old_y",(char *) "display", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd|O:PyCircleShape_base_OnMovePost",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6,&obj6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCircleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj6) {
+        arg7 = PyInt_AsLong(obj6) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMovePost(*arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCircleShape_base_OnDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCircleShape *arg1 = (wxPyCircleShape *) 0 ;
+    bool arg2 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyCircleShape_base_OnDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCircleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCircleShape_base_OnBeginDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCircleShape *arg1 = (wxPyCircleShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyCircleShape_base_OnBeginDragLeft",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCircleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginDragLeft(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCircleShape_base_OnEndDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCircleShape *arg1 = (wxPyCircleShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyCircleShape_base_OnEndDragLeft",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCircleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndDragLeft(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCircleShape_base_OnDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCircleShape *arg1 = (wxPyCircleShape *) 0 ;
+    bool arg2 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyCircleShape_base_OnDragRight",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCircleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDragRight(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCircleShape_base_OnBeginDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCircleShape *arg1 = (wxPyCircleShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyCircleShape_base_OnBeginDragRight",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCircleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginDragRight(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCircleShape_base_OnEndDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCircleShape *arg1 = (wxPyCircleShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyCircleShape_base_OnEndDragRight",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCircleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndDragRight(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCircleShape_base_OnDrawOutline(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCircleShape *arg1 = (wxPyCircleShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd:PyCircleShape_base_OnDrawOutline",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCircleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawOutline(*arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCircleShape_base_OnDrawControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCircleShape *arg1 = (wxPyCircleShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyCircleShape_base_OnDrawControlPoints",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCircleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawControlPoints(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCircleShape_base_OnEraseControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCircleShape *arg1 = (wxPyCircleShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyCircleShape_base_OnEraseControlPoints",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCircleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEraseControlPoints(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCircleShape_base_OnMoveLink(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCircleShape *arg1 = (wxPyCircleShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    bool arg3 = (bool) True ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "moveControlPoints", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyCircleShape_base_OnMoveLink",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCircleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMoveLink(*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCircleShape_base_OnSizingDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCircleShape *arg1 = (wxPyCircleShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    bool arg3 ;
+    double arg4 ;
+    double arg5 ;
+    int arg6 = (int) 0 ;
+    int arg7 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOOdd|ii:PyCircleShape_base_OnSizingDragLeft",kwnames,&obj0,&obj1,&obj2,&arg4,&arg5,&arg6,&arg7)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCircleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg3 = PyInt_AsLong(obj2) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingDragLeft(arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCircleShape_base_OnSizingBeginDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCircleShape *arg1 = (wxPyCircleShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyCircleShape_base_OnSizingBeginDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCircleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingBeginDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCircleShape_base_OnSizingEndDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCircleShape *arg1 = (wxPyCircleShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyCircleShape_base_OnSizingEndDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCircleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingEndDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCircleShape_base_OnBeginSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCircleShape *arg1 = (wxPyCircleShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyCircleShape_base_OnBeginSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCircleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCircleShape_base_OnEndSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCircleShape *arg1 = (wxPyCircleShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyCircleShape_base_OnEndSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCircleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * PyCircleShape_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_wxPyCircleShape, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_ArrowHead(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    int arg1 = (int) 0 ;
+    int arg2 = (int) 0 ;
+    double arg3 = (double) 0.0 ;
+    double arg4 = (double) 0.0 ;
+    wxString const &arg5_defvalue = wxPyEmptyString ;
+    wxString *arg5 = (wxString *) &arg5_defvalue ;
+    wxPseudoMetaFile *arg6 = (wxPseudoMetaFile *) NULL ;
+    long arg7 = (long) -1 ;
+    wxArrowHead *result;
+    bool temp5 = False ;
+    PyObject * obj4 = 0 ;
+    PyObject * obj5 = 0 ;
+    char *kwnames[] = {
+        (char *) "type",(char *) "end",(char *) "size",(char *) "dist",(char *) "name",(char *) "mf",(char *) "arrowId", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"|iiddOOl:new_ArrowHead",kwnames,&arg1,&arg2,&arg3,&arg4,&obj4,&obj5,&arg7)) goto fail;
+    if (obj4) {
+        {
+            arg5 = wxString_in_helper(obj4);
+            if (arg5 == NULL) SWIG_fail;
+            temp5 = True;
+        }
+    }
+    if (obj5) {
+        if ((SWIG_ConvertPtr(obj5,(void **) &arg6, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxArrowHead *)new wxArrowHead(arg1,arg2,arg3,arg4,(wxString const &)*arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxObject(result); 
+    }
+    {
+        if (temp5)
+        delete arg5;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp5)
+        delete arg5;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_ArrowHead(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxArrowHead *arg1 = (wxArrowHead *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:delete_ArrowHead",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxArrowHead,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        delete arg1;
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ArrowHead__GetType(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxArrowHead *arg1 = (wxArrowHead *) 0 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:ArrowHead__GetType",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxArrowHead,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)(arg1)->_GetType();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ArrowHead_GetPosition(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxArrowHead *arg1 = (wxArrowHead *) 0 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:ArrowHead_GetPosition",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxArrowHead,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)(arg1)->GetPosition();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ArrowHead_SetPosition(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxArrowHead *arg1 = (wxArrowHead *) 0 ;
+    int arg2 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pos", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:ArrowHead_SetPosition",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxArrowHead,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetPosition(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ArrowHead_GetXOffset(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxArrowHead *arg1 = (wxArrowHead *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:ArrowHead_GetXOffset",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxArrowHead,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (double)(arg1)->GetXOffset();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyFloat_FromDouble(result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ArrowHead_GetYOffset(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxArrowHead *arg1 = (wxArrowHead *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:ArrowHead_GetYOffset",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxArrowHead,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (double)(arg1)->GetYOffset();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyFloat_FromDouble(result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ArrowHead_GetSpacing(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxArrowHead *arg1 = (wxArrowHead *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:ArrowHead_GetSpacing",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxArrowHead,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (double)(arg1)->GetSpacing();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyFloat_FromDouble(result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ArrowHead_GetSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxArrowHead *arg1 = (wxArrowHead *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:ArrowHead_GetSize",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxArrowHead,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (double)(arg1)->GetSize();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyFloat_FromDouble(result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ArrowHead_GetName(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxArrowHead *arg1 = (wxArrowHead *) 0 ;
+    wxString result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:ArrowHead_GetName",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxArrowHead,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (arg1)->GetName();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+#if wxUSE_UNICODE
+        resultobj = PyUnicode_FromWideChar((&result)->c_str(), (&result)->Len());
+#else
+        resultobj = PyString_FromStringAndSize((&result)->c_str(), (&result)->Len());
+#endif
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ArrowHead_SetXOffset(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxArrowHead *arg1 = (wxArrowHead *) 0 ;
+    double arg2 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Od:ArrowHead_SetXOffset",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxArrowHead,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetXOffset(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ArrowHead_SetYOffset(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxArrowHead *arg1 = (wxArrowHead *) 0 ;
+    double arg2 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "y", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Od:ArrowHead_SetYOffset",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxArrowHead,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetYOffset(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ArrowHead_GetMetaFile(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxArrowHead *arg1 = (wxArrowHead *) 0 ;
+    wxPseudoMetaFile *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:ArrowHead_GetMetaFile",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxArrowHead,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPseudoMetaFile *)(arg1)->GetMetaFile();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxObject(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ArrowHead_GetId(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxArrowHead *arg1 = (wxArrowHead *) 0 ;
+    long result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:ArrowHead_GetId",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxArrowHead,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (long)(arg1)->GetId();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ArrowHead_GetArrowEnd(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxArrowHead *arg1 = (wxArrowHead *) 0 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:ArrowHead_GetArrowEnd",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxArrowHead,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)(arg1)->GetArrowEnd();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ArrowHead_GetArrowSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxArrowHead *arg1 = (wxArrowHead *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:ArrowHead_GetArrowSize",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxArrowHead,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (double)(arg1)->GetArrowSize();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyFloat_FromDouble(result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ArrowHead_SetSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxArrowHead *arg1 = (wxArrowHead *) 0 ;
+    double arg2 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "size", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Od:ArrowHead_SetSize",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxArrowHead,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetSize(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ArrowHead_SetSpacing(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxArrowHead *arg1 = (wxArrowHead *) 0 ;
+    double arg2 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "sp", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Od:ArrowHead_SetSpacing",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxArrowHead,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetSpacing(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * ArrowHead_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_wxArrowHead, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_PyLineShape(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *result;
+    char *kwnames[] = {
+        NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)":new_PyLineShape",kwnames)) goto fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyLineShape *)new wxPyLineShape();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxPyLineShape, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape__setCallbackInfo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    PyObject *arg2 = (PyObject *) 0 ;
+    PyObject *arg3 = (PyObject *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "self",(char *) "_class", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:PyLineShape__setCallbackInfo",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = obj1;
+    arg3 = obj2;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->_setCallbackInfo(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_AddArrow(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    int arg2 ;
+    int arg3 = (int) ARROW_POSITION_END ;
+    double arg4 = (double) 10.0 ;
+    double arg5 = (double) 0.0 ;
+    wxString const &arg6_defvalue = wxPyEmptyString ;
+    wxString *arg6 = (wxString *) &arg6_defvalue ;
+    wxPseudoMetaFile *arg7 = (wxPseudoMetaFile *) NULL ;
+    long arg8 = (long) -1 ;
+    bool temp6 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj5 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "type",(char *) "end",(char *) "arrowSize",(char *) "xOffset",(char *) "name",(char *) "mf",(char *) "arrowId", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi|iddOOl:PyLineShape_AddArrow",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5,&obj5,&obj6,&arg8)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (obj5) {
+        {
+            arg6 = wxString_in_helper(obj5);
+            if (arg6 == NULL) SWIG_fail;
+            temp6 = True;
+        }
+    }
+    if (obj6) {
+        if ((SWIG_ConvertPtr(obj6,(void **) &arg7, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->AddArrow(arg2,arg3,arg4,arg5,(wxString const &)*arg6,arg7,arg8);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        if (temp6)
+        delete arg6;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp6)
+        delete arg6;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_AddArrowOrdered(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    wxArrowHead *arg2 = (wxArrowHead *) 0 ;
+    PyObject *arg3 = (PyObject *) 0 ;
+    int arg4 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "arrow",(char *) "referenceList",(char *) "end", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOOi:PyLineShape_AddArrowOrdered",kwnames,&obj0,&obj1,&obj2,&arg4)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxArrowHead,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg3 = obj2;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        wxPyLineShape_AddArrowOrdered(arg1,arg2,arg3,arg4);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_ClearArrow(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    wxString *arg2 = 0 ;
+    bool result;
+    bool temp2 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "name", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyLineShape_ClearArrow",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = wxString_in_helper(obj1);
+        if (arg2 == NULL) SWIG_fail;
+        temp2 = True;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->ClearArrow((wxString const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_ClearArrowsAtPosition(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    int arg2 = (int) -1 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "position", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O|i:PyLineShape_ClearArrowsAtPosition",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->ClearArrowsAtPosition(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_DrawArrow(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    wxArrowHead *arg3 = (wxArrowHead *) 0 ;
+    double arg4 ;
+    bool arg5 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj4 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "arrow",(char *) "xOffset",(char *) "proportionalOffset", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOOdO:PyLineShape_DrawArrow",kwnames,&obj0,&obj1,&obj2,&arg4,&obj4)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if ((SWIG_ConvertPtr(obj2,(void **) &arg3, SWIGTYPE_p_wxArrowHead,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg5 = PyInt_AsLong(obj4) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DrawArrow(*arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_DeleteArrowHeadId(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    long arg2 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "arrowId", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Ol:PyLineShape_DeleteArrowHeadId",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->DeleteArrowHead(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_DeleteArrowHead(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    int arg2 ;
+    wxString *arg3 = 0 ;
+    bool result;
+    bool temp3 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "position",(char *) "name", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OiO:PyLineShape_DeleteArrowHead",kwnames,&obj0,&arg2,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg3 = wxString_in_helper(obj2);
+        if (arg3 == NULL) SWIG_fail;
+        temp3 = True;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->DeleteArrowHead(arg2,(wxString const &)*arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    {
+        if (temp3)
+        delete arg3;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp3)
+        delete arg3;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_DeleteLineControlPoint(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyLineShape_DeleteLineControlPoint",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->DeleteLineControlPoint();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_DrawArrows(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyLineShape_DrawArrows",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DrawArrows(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_DrawRegion(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    wxShapeRegion *arg3 = (wxShapeRegion *) 0 ;
+    double arg4 ;
+    double arg5 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "region",(char *) "x",(char *) "y", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOOdd:PyLineShape_DrawRegion",kwnames,&obj0,&obj1,&obj2,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if ((SWIG_ConvertPtr(obj2,(void **) &arg3, SWIGTYPE_p_wxShapeRegion,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DrawRegion(*arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_EraseRegion(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    wxShapeRegion *arg3 = (wxShapeRegion *) 0 ;
+    double arg4 ;
+    double arg5 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "region",(char *) "x",(char *) "y", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOOdd:PyLineShape_EraseRegion",kwnames,&obj0,&obj1,&obj2,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if ((SWIG_ConvertPtr(obj2,(void **) &arg3, SWIGTYPE_p_wxShapeRegion,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->EraseRegion(*arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_FindArrowHeadId(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    long arg2 ;
+    wxArrowHead *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "arrowId", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Ol:PyLineShape_FindArrowHeadId",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxArrowHead *)(arg1)->FindArrowHead(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxObject(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_FindArrowHead(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    int arg2 ;
+    wxString *arg3 = 0 ;
+    wxArrowHead *result;
+    bool temp3 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "position",(char *) "name", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OiO:PyLineShape_FindArrowHead",kwnames,&obj0,&arg2,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg3 = wxString_in_helper(obj2);
+        if (arg3 == NULL) SWIG_fail;
+        temp3 = True;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxArrowHead *)(arg1)->FindArrowHead(arg2,(wxString const &)*arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxObject(result); 
+    }
+    {
+        if (temp3)
+        delete arg3;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp3)
+        delete arg3;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_FindLineEndPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    double *arg2 = (double *) 0 ;
+    double *arg3 = (double *) 0 ;
+    double *arg4 = (double *) 0 ;
+    double *arg5 = (double *) 0 ;
+    double temp2 ;
+    double temp3 ;
+    double temp4 ;
+    double temp5 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    arg2 = &temp2;
+    arg3 = &temp3;
+    arg4 = &temp4;
+    arg5 = &temp5;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyLineShape_FindLineEndPoints",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->FindLineEndPoints(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        PyObject *o = PyFloat_FromDouble((double) (*arg2));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    {
+        PyObject *o = PyFloat_FromDouble((double) (*arg3));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    {
+        PyObject *o = PyFloat_FromDouble((double) (*arg4));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    {
+        PyObject *o = PyFloat_FromDouble((double) (*arg5));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_FindLinePosition(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyLineShape_FindLinePosition",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)(arg1)->FindLinePosition(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_FindMinimumWidth(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyLineShape_FindMinimumWidth",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (double)(arg1)->FindMinimumWidth();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyFloat_FromDouble(result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_FindNth(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    wxPyShape *arg2 = (wxPyShape *) 0 ;
+    int *arg3 = (int *) 0 ;
+    int *arg4 = (int *) 0 ;
+    bool arg5 ;
+    int temp3 ;
+    int temp4 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "image",(char *) "incoming", NULL 
+    };
+    
+    arg3 = &temp3;
+    arg4 = &temp4;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:PyLineShape_FindNth",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg5 = PyInt_AsLong(obj2) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->FindNth(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        PyObject *o = PyInt_FromLong((long) (*arg3));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    {
+        PyObject *o = PyInt_FromLong((long) (*arg4));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_GetAttachmentFrom(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyLineShape_GetAttachmentFrom",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)(arg1)->GetAttachmentFrom();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_GetAttachmentTo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyLineShape_GetAttachmentTo",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)(arg1)->GetAttachmentTo();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_GetEnds(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    double *arg2 = (double *) 0 ;
+    double *arg3 = (double *) 0 ;
+    double *arg4 = (double *) 0 ;
+    double *arg5 = (double *) 0 ;
+    double temp2 ;
+    double temp3 ;
+    double temp4 ;
+    double temp5 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    arg2 = &temp2;
+    arg3 = &temp3;
+    arg4 = &temp4;
+    arg5 = &temp5;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyLineShape_GetEnds",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->GetEnds(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        PyObject *o = PyFloat_FromDouble((double) (*arg2));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    {
+        PyObject *o = PyFloat_FromDouble((double) (*arg3));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    {
+        PyObject *o = PyFloat_FromDouble((double) (*arg4));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    {
+        PyObject *o = PyFloat_FromDouble((double) (*arg5));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_GetFrom(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    wxPyShape *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyLineShape_GetFrom",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyShape *)(arg1)->GetFrom();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxShapeEvtHandler(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_GetLabelPosition(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    int arg2 ;
+    double *arg3 = (double *) 0 ;
+    double *arg4 = (double *) 0 ;
+    double temp3 ;
+    double temp4 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "position", NULL 
+    };
+    
+    arg3 = &temp3;
+    arg4 = &temp4;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:PyLineShape_GetLabelPosition",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->GetLabelPosition(arg2,arg3,arg4);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        PyObject *o = PyFloat_FromDouble((double) (*arg3));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    {
+        PyObject *o = PyFloat_FromDouble((double) (*arg4));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_GetNextControlPoint(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    wxPyShape *arg2 = (wxPyShape *) 0 ;
+    wxRealPoint *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "shape", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyLineShape_GetNextControlPoint",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxRealPoint *)(arg1)->GetNextControlPoint(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxRealPoint, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_GetTo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    wxPyShape *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyLineShape_GetTo",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyShape *)(arg1)->GetTo();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxShapeEvtHandler(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_Initialise(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyLineShape_Initialise",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Initialise();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_InsertLineControlPoint(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    wxDC *arg2 = (wxDC *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyLineShape_InsertLineControlPoint",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->InsertLineControlPoint(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_IsEnd(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    wxPyShape *arg2 = (wxPyShape *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "shape", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyLineShape_IsEnd",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->IsEnd(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_IsSpline(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyLineShape_IsSpline",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->IsSpline();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_MakeLineControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    int arg2 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "n", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:PyLineShape_MakeLineControlPoints",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->MakeLineControlPoints(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_GetLineControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    PyObject *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyLineShape_GetLineControlPoints",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (PyObject *)wxPyLineShape_GetLineControlPoints(arg1);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = result;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_SetAttachmentFrom(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    int arg2 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "fromAttach", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:PyLineShape_SetAttachmentFrom",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetAttachmentFrom(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_SetAttachments(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    int arg2 ;
+    int arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "fromAttach",(char *) "toAttach", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oii:PyLineShape_SetAttachments",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetAttachments(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_SetAttachmentTo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    int arg2 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "toAttach", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:PyLineShape_SetAttachmentTo",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetAttachmentTo(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_SetEnds(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x1",(char *) "y1",(char *) "x2",(char *) "y2", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odddd:PyLineShape_SetEnds",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetEnds(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_SetFrom(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    wxPyShape *arg2 = (wxPyShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "object", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyLineShape_SetFrom",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetFrom(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_SetIgnoreOffsets(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    bool arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "ignore", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyLineShape_SetIgnoreOffsets",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetIgnoreOffsets(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_SetSpline(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    bool arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "spline", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyLineShape_SetSpline",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetSpline(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_SetTo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    wxPyShape *arg2 = (wxPyShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "object", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyLineShape_SetTo",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetTo(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_Straighten(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    wxDC *arg2 = (wxDC *) NULL ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O|O:PyLineShape_Straighten",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (obj1) {
+        if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Straighten(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_Unlink(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyLineShape_Unlink",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Unlink();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_base_OnDraw(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyLineShape_base_OnDraw",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDraw(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_base_OnDrawContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyLineShape_base_OnDrawContents",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawContents(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_base_OnDrawBranches(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    bool arg3 = (bool) FALSE ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "erase", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyLineShape_base_OnDrawBranches",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawBranches(*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_base_OnMoveLinks(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyLineShape_base_OnMoveLinks",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMoveLinks(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_base_OnErase(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyLineShape_base_OnErase",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnErase(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_base_OnEraseContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyLineShape_base_OnEraseContents",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEraseContents(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_base_OnHighlight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyLineShape_base_OnHighlight",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnHighlight(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_base_OnLeftClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyLineShape_base_OnLeftClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnLeftClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_base_OnLeftDoubleClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyLineShape_base_OnLeftDoubleClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnLeftDoubleClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_base_OnRightClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyLineShape_base_OnRightClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnRightClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_base_OnSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyLineShape_base_OnSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_base_OnMovePre(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    bool arg7 = (bool) True ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "old_x",(char *) "old_y",(char *) "display", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd|O:PyLineShape_base_OnMovePre",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6,&obj6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj6) {
+        arg7 = PyInt_AsLong(obj6) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->base_OnMovePre(*arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_base_OnMovePost(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    bool arg7 = (bool) True ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "old_x",(char *) "old_y",(char *) "display", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd|O:PyLineShape_base_OnMovePost",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6,&obj6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj6) {
+        arg7 = PyInt_AsLong(obj6) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMovePost(*arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_base_OnDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    bool arg2 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyLineShape_base_OnDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_base_OnBeginDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyLineShape_base_OnBeginDragLeft",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginDragLeft(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_base_OnEndDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyLineShape_base_OnEndDragLeft",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndDragLeft(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_base_OnDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    bool arg2 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyLineShape_base_OnDragRight",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDragRight(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_base_OnBeginDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyLineShape_base_OnBeginDragRight",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginDragRight(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_base_OnEndDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyLineShape_base_OnEndDragRight",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndDragRight(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_base_OnDrawOutline(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd:PyLineShape_base_OnDrawOutline",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawOutline(*arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_base_OnDrawControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyLineShape_base_OnDrawControlPoints",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawControlPoints(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_base_OnEraseControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyLineShape_base_OnEraseControlPoints",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEraseControlPoints(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_base_OnMoveLink(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    bool arg3 = (bool) True ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "moveControlPoints", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyLineShape_base_OnMoveLink",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMoveLink(*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_base_OnSizingDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    bool arg3 ;
+    double arg4 ;
+    double arg5 ;
+    int arg6 = (int) 0 ;
+    int arg7 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOOdd|ii:PyLineShape_base_OnSizingDragLeft",kwnames,&obj0,&obj1,&obj2,&arg4,&arg5,&arg6,&arg7)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg3 = PyInt_AsLong(obj2) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingDragLeft(arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_base_OnSizingBeginDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyLineShape_base_OnSizingBeginDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingBeginDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_base_OnSizingEndDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyLineShape_base_OnSizingEndDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingEndDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_base_OnBeginSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyLineShape_base_OnBeginSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_base_OnEndSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyLineShape_base_OnEndSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * PyLineShape_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_wxPyLineShape, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_PyPolygonShape(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *result;
+    char *kwnames[] = {
+        NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)":new_PyPolygonShape",kwnames)) goto fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyPolygonShape *)new wxPyPolygonShape();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxPyPolygonShape, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape__setCallbackInfo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    PyObject *arg2 = (PyObject *) 0 ;
+    PyObject *arg3 = (PyObject *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "self",(char *) "_class", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:PyPolygonShape__setCallbackInfo",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = obj1;
+    arg3 = obj2;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->_setCallbackInfo(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_Create(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    PyObject *arg2 = (PyObject *) 0 ;
+    PyObject *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "points", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyPolygonShape_Create",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = obj1;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (PyObject *)wxPyPolygonShape_Create(arg1,arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = result;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_AddPolygonPoint(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    int arg2 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pos", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O|i:PyPolygonShape_AddPolygonPoint",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->AddPolygonPoint(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_CalculatePolygonCentre(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyPolygonShape_CalculatePolygonCentre",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->CalculatePolygonCentre();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_DeletePolygonPoint(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    int arg2 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pos", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O|i:PyPolygonShape_DeletePolygonPoint",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DeletePolygonPoint(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_GetPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    PyObject *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyPolygonShape_GetPoints",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (PyObject *)wxPyPolygonShape_GetPoints(arg1);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = result;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_UpdateOriginalPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyPolygonShape_UpdateOriginalPoints",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->UpdateOriginalPoints();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_base_OnDraw(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyPolygonShape_base_OnDraw",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDraw(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_base_OnDrawContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyPolygonShape_base_OnDrawContents",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawContents(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_base_OnDrawBranches(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    bool arg3 = (bool) FALSE ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "erase", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyPolygonShape_base_OnDrawBranches",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawBranches(*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_base_OnMoveLinks(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyPolygonShape_base_OnMoveLinks",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMoveLinks(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_base_OnErase(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyPolygonShape_base_OnErase",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnErase(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_base_OnEraseContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyPolygonShape_base_OnEraseContents",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEraseContents(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_base_OnHighlight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyPolygonShape_base_OnHighlight",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnHighlight(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_base_OnLeftClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyPolygonShape_base_OnLeftClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnLeftClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_base_OnLeftDoubleClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyPolygonShape_base_OnLeftDoubleClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnLeftDoubleClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_base_OnRightClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyPolygonShape_base_OnRightClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnRightClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_base_OnSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyPolygonShape_base_OnSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_base_OnMovePre(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    bool arg7 = (bool) True ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "old_x",(char *) "old_y",(char *) "display", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd|O:PyPolygonShape_base_OnMovePre",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6,&obj6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj6) {
+        arg7 = PyInt_AsLong(obj6) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->base_OnMovePre(*arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_base_OnMovePost(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    bool arg7 = (bool) True ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "old_x",(char *) "old_y",(char *) "display", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd|O:PyPolygonShape_base_OnMovePost",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6,&obj6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj6) {
+        arg7 = PyInt_AsLong(obj6) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMovePost(*arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_base_OnDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    bool arg2 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyPolygonShape_base_OnDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_base_OnBeginDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyPolygonShape_base_OnBeginDragLeft",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginDragLeft(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_base_OnEndDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyPolygonShape_base_OnEndDragLeft",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndDragLeft(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_base_OnDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    bool arg2 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyPolygonShape_base_OnDragRight",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDragRight(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_base_OnBeginDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyPolygonShape_base_OnBeginDragRight",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginDragRight(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_base_OnEndDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyPolygonShape_base_OnEndDragRight",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndDragRight(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_base_OnDrawOutline(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd:PyPolygonShape_base_OnDrawOutline",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawOutline(*arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_base_OnDrawControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyPolygonShape_base_OnDrawControlPoints",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawControlPoints(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_base_OnEraseControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyPolygonShape_base_OnEraseControlPoints",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEraseControlPoints(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_base_OnMoveLink(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    bool arg3 = (bool) True ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "moveControlPoints", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyPolygonShape_base_OnMoveLink",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMoveLink(*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_base_OnSizingDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    bool arg3 ;
+    double arg4 ;
+    double arg5 ;
+    int arg6 = (int) 0 ;
+    int arg7 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOOdd|ii:PyPolygonShape_base_OnSizingDragLeft",kwnames,&obj0,&obj1,&obj2,&arg4,&arg5,&arg6,&arg7)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg3 = PyInt_AsLong(obj2) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingDragLeft(arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_base_OnSizingBeginDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyPolygonShape_base_OnSizingBeginDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingBeginDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_base_OnSizingEndDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyPolygonShape_base_OnSizingEndDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingEndDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_base_OnBeginSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyPolygonShape_base_OnBeginSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_base_OnEndSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyPolygonShape_base_OnEndSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * PyPolygonShape_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_wxPyPolygonShape, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_PyTextShape(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    double arg1 = (double) 0.0 ;
+    double arg2 = (double) 0.0 ;
+    wxPyTextShape *result;
+    char *kwnames[] = {
+        (char *) "width",(char *) "height", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"|dd:new_PyTextShape",kwnames,&arg1,&arg2)) goto fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyTextShape *)new wxPyTextShape(arg1,arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxPyTextShape, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyTextShape__setCallbackInfo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTextShape *arg1 = (wxPyTextShape *) 0 ;
+    PyObject *arg2 = (PyObject *) 0 ;
+    PyObject *arg3 = (PyObject *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "self",(char *) "_class", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:PyTextShape__setCallbackInfo",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTextShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = obj1;
+    arg3 = obj2;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->_setCallbackInfo(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyTextShape_base_OnDelete(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTextShape *arg1 = (wxPyTextShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyTextShape_base_OnDelete",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTextShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDelete();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyTextShape_base_OnDraw(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTextShape *arg1 = (wxPyTextShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyTextShape_base_OnDraw",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTextShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDraw(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyTextShape_base_OnDrawContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTextShape *arg1 = (wxPyTextShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyTextShape_base_OnDrawContents",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTextShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawContents(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyTextShape_base_OnDrawBranches(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTextShape *arg1 = (wxPyTextShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    bool arg3 = (bool) FALSE ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "erase", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyTextShape_base_OnDrawBranches",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTextShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawBranches(*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyTextShape_base_OnMoveLinks(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTextShape *arg1 = (wxPyTextShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyTextShape_base_OnMoveLinks",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTextShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMoveLinks(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyTextShape_base_OnErase(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTextShape *arg1 = (wxPyTextShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyTextShape_base_OnErase",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTextShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnErase(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyTextShape_base_OnEraseContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTextShape *arg1 = (wxPyTextShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyTextShape_base_OnEraseContents",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTextShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEraseContents(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyTextShape_base_OnHighlight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTextShape *arg1 = (wxPyTextShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyTextShape_base_OnHighlight",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTextShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnHighlight(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyTextShape_base_OnLeftClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTextShape *arg1 = (wxPyTextShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyTextShape_base_OnLeftClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTextShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnLeftClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyTextShape_base_OnLeftDoubleClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTextShape *arg1 = (wxPyTextShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyTextShape_base_OnLeftDoubleClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTextShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnLeftDoubleClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyTextShape_base_OnRightClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTextShape *arg1 = (wxPyTextShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyTextShape_base_OnRightClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTextShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnRightClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyTextShape_base_OnSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTextShape *arg1 = (wxPyTextShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyTextShape_base_OnSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTextShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyTextShape_base_OnMovePre(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTextShape *arg1 = (wxPyTextShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    bool arg7 = (bool) True ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "old_x",(char *) "old_y",(char *) "display", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd|O:PyTextShape_base_OnMovePre",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6,&obj6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTextShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj6) {
+        arg7 = PyInt_AsLong(obj6) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->base_OnMovePre(*arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyTextShape_base_OnMovePost(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTextShape *arg1 = (wxPyTextShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    bool arg7 = (bool) True ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "old_x",(char *) "old_y",(char *) "display", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd|O:PyTextShape_base_OnMovePost",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6,&obj6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTextShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj6) {
+        arg7 = PyInt_AsLong(obj6) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMovePost(*arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyTextShape_base_OnDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTextShape *arg1 = (wxPyTextShape *) 0 ;
+    bool arg2 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyTextShape_base_OnDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTextShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyTextShape_base_OnBeginDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTextShape *arg1 = (wxPyTextShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyTextShape_base_OnBeginDragLeft",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTextShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginDragLeft(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyTextShape_base_OnEndDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTextShape *arg1 = (wxPyTextShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyTextShape_base_OnEndDragLeft",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTextShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndDragLeft(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyTextShape_base_OnDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTextShape *arg1 = (wxPyTextShape *) 0 ;
+    bool arg2 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyTextShape_base_OnDragRight",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTextShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDragRight(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyTextShape_base_OnBeginDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTextShape *arg1 = (wxPyTextShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyTextShape_base_OnBeginDragRight",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTextShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginDragRight(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyTextShape_base_OnEndDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTextShape *arg1 = (wxPyTextShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyTextShape_base_OnEndDragRight",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTextShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndDragRight(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyTextShape_base_OnDrawOutline(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTextShape *arg1 = (wxPyTextShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd:PyTextShape_base_OnDrawOutline",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTextShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawOutline(*arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyTextShape_base_OnDrawControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTextShape *arg1 = (wxPyTextShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyTextShape_base_OnDrawControlPoints",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTextShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawControlPoints(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyTextShape_base_OnEraseControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTextShape *arg1 = (wxPyTextShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyTextShape_base_OnEraseControlPoints",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTextShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEraseControlPoints(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyTextShape_base_OnMoveLink(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTextShape *arg1 = (wxPyTextShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    bool arg3 = (bool) True ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "moveControlPoints", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyTextShape_base_OnMoveLink",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTextShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMoveLink(*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyTextShape_base_OnSizingDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTextShape *arg1 = (wxPyTextShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    bool arg3 ;
+    double arg4 ;
+    double arg5 ;
+    int arg6 = (int) 0 ;
+    int arg7 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOOdd|ii:PyTextShape_base_OnSizingDragLeft",kwnames,&obj0,&obj1,&obj2,&arg4,&arg5,&arg6,&arg7)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTextShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg3 = PyInt_AsLong(obj2) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingDragLeft(arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyTextShape_base_OnSizingBeginDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTextShape *arg1 = (wxPyTextShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyTextShape_base_OnSizingBeginDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTextShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingBeginDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyTextShape_base_OnSizingEndDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTextShape *arg1 = (wxPyTextShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyTextShape_base_OnSizingEndDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTextShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingEndDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyTextShape_base_OnBeginSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTextShape *arg1 = (wxPyTextShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyTextShape_base_OnBeginSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTextShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyTextShape_base_OnEndSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTextShape *arg1 = (wxPyTextShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyTextShape_base_OnEndSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTextShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * PyTextShape_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_wxPyTextShape, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_Diagram(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxDiagram *result;
+    char *kwnames[] = {
+        NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)":new_Diagram",kwnames)) goto fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxDiagram *)new wxDiagram();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxObject(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Diagram_AddShape(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxDiagram *arg1 = (wxDiagram *) 0 ;
+    wxPyShape *arg2 = (wxPyShape *) 0 ;
+    wxPyShape *arg3 = (wxPyShape *) NULL ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "shape",(char *) "addAfter", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:Diagram_AddShape",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDiagram,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (obj2) {
+        if ((SWIG_ConvertPtr(obj2,(void **) &arg3, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->AddShape(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Diagram_Clear(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxDiagram *arg1 = (wxDiagram *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:Diagram_Clear",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDiagram,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Clear(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Diagram_DeleteAllShapes(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxDiagram *arg1 = (wxDiagram *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:Diagram_DeleteAllShapes",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDiagram,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DeleteAllShapes();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Diagram_DrawOutline(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxDiagram *arg1 = (wxDiagram *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x1",(char *) "y1",(char *) "x2",(char *) "y2", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd:Diagram_DrawOutline",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDiagram,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DrawOutline(*arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Diagram_FindShape(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxDiagram *arg1 = (wxDiagram *) 0 ;
+    long arg2 ;
+    wxPyShape *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "id", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Ol:Diagram_FindShape",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDiagram,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyShape *)(arg1)->FindShape(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxShapeEvtHandler(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Diagram_GetCanvas(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxDiagram *arg1 = (wxDiagram *) 0 ;
+    wxPyShapeCanvas *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:Diagram_GetCanvas",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDiagram,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyShapeCanvas *)(arg1)->GetCanvas();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxObject(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Diagram_GetCount(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxDiagram *arg1 = (wxDiagram *) 0 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:Diagram_GetCount",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDiagram,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)(arg1)->GetCount();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Diagram_GetGridSpacing(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxDiagram *arg1 = (wxDiagram *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:Diagram_GetGridSpacing",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDiagram,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (double)(arg1)->GetGridSpacing();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyFloat_FromDouble(result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Diagram_GetMouseTolerance(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxDiagram *arg1 = (wxDiagram *) 0 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:Diagram_GetMouseTolerance",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDiagram,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)(arg1)->GetMouseTolerance();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Diagram_GetShapeList(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxDiagram *arg1 = (wxDiagram *) 0 ;
+    PyObject *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:Diagram_GetShapeList",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDiagram,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (PyObject *)wxDiagram_GetShapeList(arg1);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = result;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Diagram_GetQuickEditMode(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxDiagram *arg1 = (wxDiagram *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:Diagram_GetQuickEditMode",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDiagram,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->GetQuickEditMode();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Diagram_GetSnapToGrid(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxDiagram *arg1 = (wxDiagram *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:Diagram_GetSnapToGrid",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDiagram,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->GetSnapToGrid();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Diagram_InsertShape(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxDiagram *arg1 = (wxDiagram *) 0 ;
+    wxPyShape *arg2 = (wxPyShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "shape", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:Diagram_InsertShape",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDiagram,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->InsertShape(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Diagram_RecentreAll(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxDiagram *arg1 = (wxDiagram *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:Diagram_RecentreAll",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDiagram,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->RecentreAll(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Diagram_Redraw(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxDiagram *arg1 = (wxDiagram *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:Diagram_Redraw",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDiagram,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Redraw(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Diagram_RemoveAllShapes(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxDiagram *arg1 = (wxDiagram *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:Diagram_RemoveAllShapes",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDiagram,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->RemoveAllShapes();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Diagram_RemoveShape(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxDiagram *arg1 = (wxDiagram *) 0 ;
+    wxPyShape *arg2 = (wxPyShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "shape", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:Diagram_RemoveShape",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDiagram,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->RemoveShape(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Diagram_SetCanvas(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxDiagram *arg1 = (wxDiagram *) 0 ;
+    wxPyShapeCanvas *arg2 = (wxPyShapeCanvas *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "canvas", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:Diagram_SetCanvas",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDiagram,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyShapeCanvas,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetCanvas(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Diagram_SetGridSpacing(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxDiagram *arg1 = (wxDiagram *) 0 ;
+    double arg2 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "spacing", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Od:Diagram_SetGridSpacing",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDiagram,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetGridSpacing(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Diagram_SetMouseTolerance(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxDiagram *arg1 = (wxDiagram *) 0 ;
+    int arg2 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "tolerance", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:Diagram_SetMouseTolerance",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDiagram,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetMouseTolerance(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Diagram_SetQuickEditMode(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxDiagram *arg1 = (wxDiagram *) 0 ;
+    bool arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "mode", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:Diagram_SetQuickEditMode",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDiagram,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetQuickEditMode(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Diagram_SetSnapToGrid(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxDiagram *arg1 = (wxDiagram *) 0 ;
+    bool arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "snap", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:Diagram_SetSnapToGrid",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDiagram,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetSnapToGrid(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Diagram_ShowAll(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxDiagram *arg1 = (wxDiagram *) 0 ;
+    bool arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "show", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:Diagram_ShowAll",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDiagram,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->ShowAll(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Diagram_Snap(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxDiagram *arg1 = (wxDiagram *) 0 ;
+    double *arg2 = (double *) 0 ;
+    double *arg3 = (double *) 0 ;
+    double temp2 ;
+    double temp3 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "INOUT",(char *) "INOUT", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:Diagram_Snap",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDiagram,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        temp2 = PyFloat_AsDouble(obj1);
+        if (PyErr_Occurred()) SWIG_fail;
+        arg2 = &temp2;
+    }
+    {
+        temp3 = PyFloat_AsDouble(obj2);
+        if (PyErr_Occurred()) SWIG_fail;
+        arg3 = &temp3;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Snap(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        PyObject *o = PyFloat_FromDouble((double) (*arg2));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    {
+        PyObject *o = PyFloat_FromDouble((double) (*arg3));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * Diagram_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_wxDiagram, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_PyShapeCanvas(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxWindow *arg1 = (wxWindow *) NULL ;
+    int arg2 = (int) -1 ;
+    wxPoint const &arg3_defvalue = wxDefaultPosition ;
+    wxPoint *arg3 = (wxPoint *) &arg3_defvalue ;
+    wxSize const &arg4_defvalue = wxDefaultSize ;
+    wxSize *arg4 = (wxSize *) &arg4_defvalue ;
+    long arg5 = (long) wxBORDER ;
+    wxString const &arg6_defvalue = wxPyShapeCanvasNameStr ;
+    wxString *arg6 = (wxString *) &arg6_defvalue ;
+    wxPyShapeCanvas *result;
+    wxPoint temp3 ;
+    wxSize temp4 ;
+    bool temp6 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    PyObject * obj5 = 0 ;
+    char *kwnames[] = {
+        (char *) "parent",(char *) "id",(char *) "pos",(char *) "size",(char *) "style",(char *) "name", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"|OiOOlO:new_PyShapeCanvas",kwnames,&obj0,&arg2,&obj2,&obj3,&arg5,&obj5)) goto fail;
+    if (obj0) {
+        if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxWindow,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    }
+    if (obj2) {
+        {
+            arg3 = &temp3;
+            if ( ! wxPoint_helper(obj2, &arg3)) SWIG_fail;
+        }
+    }
+    if (obj3) {
+        {
+            arg4 = &temp4;
+            if ( ! wxSize_helper(obj3, &arg4)) SWIG_fail;
+        }
+    }
+    if (obj5) {
+        {
+            arg6 = wxString_in_helper(obj5);
+            if (arg6 == NULL) SWIG_fail;
+            temp6 = True;
+        }
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyShapeCanvas *)new wxPyShapeCanvas(arg1,arg2,(wxPoint const &)*arg3,(wxSize const &)*arg4,arg5,(wxString const &)*arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxObject(result); 
+    }
+    {
+        if (temp6)
+        delete arg6;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp6)
+        delete arg6;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeCanvas__setCallbackInfo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeCanvas *arg1 = (wxPyShapeCanvas *) 0 ;
+    PyObject *arg2 = (PyObject *) 0 ;
+    PyObject *arg3 = (PyObject *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "self",(char *) "_class", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:PyShapeCanvas__setCallbackInfo",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeCanvas,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = obj1;
+    arg3 = obj2;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->_setCallbackInfo(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeCanvas_AddShape(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeCanvas *arg1 = (wxPyShapeCanvas *) 0 ;
+    wxPyShape *arg2 = (wxPyShape *) 0 ;
+    wxPyShape *arg3 = (wxPyShape *) NULL ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "shape",(char *) "addAfter", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyShapeCanvas_AddShape",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeCanvas,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (obj2) {
+        if ((SWIG_ConvertPtr(obj2,(void **) &arg3, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->AddShape(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeCanvas_FindShape(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeCanvas *arg1 = (wxPyShapeCanvas *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int *arg4 = (int *) 0 ;
+    wxClassInfo *arg5 = (wxClassInfo *) NULL ;
+    wxPyShape *arg6 = (wxPyShape *) NULL ;
+    wxPyShape *result;
+    int temp4 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj3 = 0 ;
+    PyObject * obj4 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x1",(char *) "y",(char *) "info",(char *) "notImage", NULL 
+    };
+    
+    arg4 = &temp4;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|OO:PyShapeCanvas_FindShape",kwnames,&obj0,&arg2,&arg3,&obj3,&obj4)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeCanvas,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (obj3) {
+        if ((SWIG_ConvertPtr(obj3,(void **) &arg5, SWIGTYPE_p_wxClassInfo,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    }
+    if (obj4) {
+        if ((SWIG_ConvertPtr(obj4,(void **) &arg6, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyShape *)(arg1)->FindShape(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxShapeEvtHandler(result); 
+    }
+    {
+        PyObject *o = PyInt_FromLong((long) (*arg4));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeCanvas_FindFirstSensitiveShape(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeCanvas *arg1 = (wxPyShapeCanvas *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int *arg4 = (int *) 0 ;
+    int arg5 ;
+    wxPyShape *result;
+    int temp4 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x1",(char *) "y",(char *) "op", NULL 
+    };
+    
+    arg4 = &temp4;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oddi:PyShapeCanvas_FindFirstSensitiveShape",kwnames,&obj0,&arg2,&arg3,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeCanvas,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyShape *)(arg1)->FindFirstSensitiveShape(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxShapeEvtHandler(result); 
+    }
+    {
+        PyObject *o = PyInt_FromLong((long) (*arg4));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeCanvas_GetDiagram(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeCanvas *arg1 = (wxPyShapeCanvas *) 0 ;
+    wxDiagram *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShapeCanvas_GetDiagram",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeCanvas,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxDiagram *)(arg1)->GetDiagram();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxObject(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeCanvas_GetQuickEditMode(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeCanvas *arg1 = (wxPyShapeCanvas *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShapeCanvas_GetQuickEditMode",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeCanvas,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->GetQuickEditMode();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeCanvas_InsertShape(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeCanvas *arg1 = (wxPyShapeCanvas *) 0 ;
+    wxPyShape *arg2 = (wxPyShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "shape", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShapeCanvas_InsertShape",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeCanvas,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->InsertShape(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeCanvas_base_OnBeginDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeCanvas *arg1 = (wxPyShapeCanvas *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|i:PyShapeCanvas_base_OnBeginDragLeft",kwnames,&obj0,&arg2,&arg3,&arg4)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeCanvas,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginDragLeft(arg2,arg3,arg4);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeCanvas_base_OnBeginDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeCanvas *arg1 = (wxPyShapeCanvas *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|i:PyShapeCanvas_base_OnBeginDragRight",kwnames,&obj0,&arg2,&arg3,&arg4)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeCanvas,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginDragRight(arg2,arg3,arg4);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeCanvas_base_OnEndDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeCanvas *arg1 = (wxPyShapeCanvas *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|i:PyShapeCanvas_base_OnEndDragLeft",kwnames,&obj0,&arg2,&arg3,&arg4)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeCanvas,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndDragLeft(arg2,arg3,arg4);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeCanvas_base_OnEndDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeCanvas *arg1 = (wxPyShapeCanvas *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|i:PyShapeCanvas_base_OnEndDragRight",kwnames,&obj0,&arg2,&arg3,&arg4)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeCanvas,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndDragRight(arg2,arg3,arg4);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeCanvas_base_OnDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeCanvas *arg1 = (wxPyShapeCanvas *) 0 ;
+    bool arg2 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|i:PyShapeCanvas_base_OnDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeCanvas,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDragLeft(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeCanvas_base_OnDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeCanvas *arg1 = (wxPyShapeCanvas *) 0 ;
+    bool arg2 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|i:PyShapeCanvas_base_OnDragRight",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeCanvas,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDragRight(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeCanvas_base_OnLeftClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeCanvas *arg1 = (wxPyShapeCanvas *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|i:PyShapeCanvas_base_OnLeftClick",kwnames,&obj0,&arg2,&arg3,&arg4)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeCanvas,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnLeftClick(arg2,arg3,arg4);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeCanvas_base_OnRightClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeCanvas *arg1 = (wxPyShapeCanvas *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|i:PyShapeCanvas_base_OnRightClick",kwnames,&obj0,&arg2,&arg3,&arg4)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeCanvas,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnRightClick(arg2,arg3,arg4);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeCanvas_Redraw(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeCanvas *arg1 = (wxPyShapeCanvas *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShapeCanvas_Redraw",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeCanvas,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Redraw(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeCanvas_RemoveShape(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeCanvas *arg1 = (wxPyShapeCanvas *) 0 ;
+    wxPyShape *arg2 = (wxPyShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "shape", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShapeCanvas_RemoveShape",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeCanvas,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->RemoveShape(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeCanvas_SetDiagram(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeCanvas *arg1 = (wxPyShapeCanvas *) 0 ;
+    wxDiagram *arg2 = (wxDiagram *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "diagram", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShapeCanvas_SetDiagram",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeCanvas,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDiagram,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetDiagram(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeCanvas_Snap(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeCanvas *arg1 = (wxPyShapeCanvas *) 0 ;
+    double *arg2 = (double *) 0 ;
+    double *arg3 = (double *) 0 ;
+    double temp2 ;
+    double temp3 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "INOUT",(char *) "INOUT", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:PyShapeCanvas_Snap",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeCanvas,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        temp2 = PyFloat_AsDouble(obj1);
+        if (PyErr_Occurred()) SWIG_fail;
+        arg2 = &temp2;
+    }
+    {
+        temp3 = PyFloat_AsDouble(obj2);
+        if (PyErr_Occurred()) SWIG_fail;
+        arg3 = &temp3;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Snap(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        PyObject *o = PyFloat_FromDouble((double) (*arg2));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    {
+        PyObject *o = PyFloat_FromDouble((double) (*arg3));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * PyShapeCanvas_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_wxPyShapeCanvas, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_OGLInitialize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    char *kwnames[] = {
+        NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)":OGLInitialize",kwnames)) goto fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        wxOGLInitialize();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_OGLCleanUp(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    char *kwnames[] = {
+        NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)":OGLCleanUp",kwnames)) goto fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        wxOGLCleanUp();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyMethodDef SwigMethods[] = {
+        { (char *)"new_ShapeRegion", (PyCFunction) _wrap_new_ShapeRegion, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ShapeRegion_SetText", (PyCFunction) _wrap_ShapeRegion_SetText, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ShapeRegion_SetFont", (PyCFunction) _wrap_ShapeRegion_SetFont, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ShapeRegion_SetMinSize", (PyCFunction) _wrap_ShapeRegion_SetMinSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ShapeRegion_SetSize", (PyCFunction) _wrap_ShapeRegion_SetSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ShapeRegion_SetPosition", (PyCFunction) _wrap_ShapeRegion_SetPosition, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ShapeRegion_SetProportions", (PyCFunction) _wrap_ShapeRegion_SetProportions, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ShapeRegion_SetFormatMode", (PyCFunction) _wrap_ShapeRegion_SetFormatMode, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ShapeRegion_SetName", (PyCFunction) _wrap_ShapeRegion_SetName, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ShapeRegion_SetColour", (PyCFunction) _wrap_ShapeRegion_SetColour, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ShapeRegion_GetText", (PyCFunction) _wrap_ShapeRegion_GetText, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ShapeRegion_GetFont", (PyCFunction) _wrap_ShapeRegion_GetFont, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ShapeRegion_GetMinSize", (PyCFunction) _wrap_ShapeRegion_GetMinSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ShapeRegion_GetProportion", (PyCFunction) _wrap_ShapeRegion_GetProportion, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ShapeRegion_GetSize", (PyCFunction) _wrap_ShapeRegion_GetSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ShapeRegion_GetPosition", (PyCFunction) _wrap_ShapeRegion_GetPosition, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ShapeRegion_GetFormatMode", (PyCFunction) _wrap_ShapeRegion_GetFormatMode, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ShapeRegion_GetName", (PyCFunction) _wrap_ShapeRegion_GetName, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ShapeRegion_GetColour", (PyCFunction) _wrap_ShapeRegion_GetColour, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ShapeRegion_GetActualColourObject", (PyCFunction) _wrap_ShapeRegion_GetActualColourObject, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ShapeRegion_GetFormattedText", (PyCFunction) _wrap_ShapeRegion_GetFormattedText, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ShapeRegion_GetPenColour", (PyCFunction) _wrap_ShapeRegion_GetPenColour, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ShapeRegion_GetPenStyle", (PyCFunction) _wrap_ShapeRegion_GetPenStyle, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ShapeRegion_SetPenStyle", (PyCFunction) _wrap_ShapeRegion_SetPenStyle, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ShapeRegion_SetPenColour", (PyCFunction) _wrap_ShapeRegion_SetPenColour, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ShapeRegion_GetActualPen", (PyCFunction) _wrap_ShapeRegion_GetActualPen, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ShapeRegion_GetWidth", (PyCFunction) _wrap_ShapeRegion_GetWidth, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ShapeRegion_GetHeight", (PyCFunction) _wrap_ShapeRegion_GetHeight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ShapeRegion_ClearText", (PyCFunction) _wrap_ShapeRegion_ClearText, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ShapeRegion_swigregister", ShapeRegion_swigregister, METH_VARARGS },
+        { (char *)"new_PyShapeEvtHandler", (PyCFunction) _wrap_new_PyShapeEvtHandler, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler__setCallbackInfo", (PyCFunction) _wrap_PyShapeEvtHandler__setCallbackInfo, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler__setOORInfo", (PyCFunction) _wrap_PyShapeEvtHandler__setOORInfo, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_SetShape", (PyCFunction) _wrap_PyShapeEvtHandler_SetShape, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_GetShape", (PyCFunction) _wrap_PyShapeEvtHandler_GetShape, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_SetPreviousHandler", (PyCFunction) _wrap_PyShapeEvtHandler_SetPreviousHandler, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_GetPreviousHandler", (PyCFunction) _wrap_PyShapeEvtHandler_GetPreviousHandler, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_CreateNewCopy", (PyCFunction) _wrap_PyShapeEvtHandler_CreateNewCopy, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_base_OnDelete", (PyCFunction) _wrap_PyShapeEvtHandler_base_OnDelete, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_base_OnDraw", (PyCFunction) _wrap_PyShapeEvtHandler_base_OnDraw, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_base_OnDrawContents", (PyCFunction) _wrap_PyShapeEvtHandler_base_OnDrawContents, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_base_OnDrawBranches", (PyCFunction) _wrap_PyShapeEvtHandler_base_OnDrawBranches, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_base_OnMoveLinks", (PyCFunction) _wrap_PyShapeEvtHandler_base_OnMoveLinks, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_base_OnErase", (PyCFunction) _wrap_PyShapeEvtHandler_base_OnErase, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_base_OnEraseContents", (PyCFunction) _wrap_PyShapeEvtHandler_base_OnEraseContents, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_base_OnHighlight", (PyCFunction) _wrap_PyShapeEvtHandler_base_OnHighlight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_base_OnLeftClick", (PyCFunction) _wrap_PyShapeEvtHandler_base_OnLeftClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_base_OnLeftDoubleClick", (PyCFunction) _wrap_PyShapeEvtHandler_base_OnLeftDoubleClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_base_OnRightClick", (PyCFunction) _wrap_PyShapeEvtHandler_base_OnRightClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_base_OnSize", (PyCFunction) _wrap_PyShapeEvtHandler_base_OnSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_base_OnMovePre", (PyCFunction) _wrap_PyShapeEvtHandler_base_OnMovePre, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_base_OnMovePost", (PyCFunction) _wrap_PyShapeEvtHandler_base_OnMovePost, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_base_OnDragLeft", (PyCFunction) _wrap_PyShapeEvtHandler_base_OnDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_base_OnBeginDragLeft", (PyCFunction) _wrap_PyShapeEvtHandler_base_OnBeginDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_base_OnEndDragLeft", (PyCFunction) _wrap_PyShapeEvtHandler_base_OnEndDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_base_OnDragRight", (PyCFunction) _wrap_PyShapeEvtHandler_base_OnDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_base_OnBeginDragRight", (PyCFunction) _wrap_PyShapeEvtHandler_base_OnBeginDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_base_OnEndDragRight", (PyCFunction) _wrap_PyShapeEvtHandler_base_OnEndDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_base_OnDrawOutline", (PyCFunction) _wrap_PyShapeEvtHandler_base_OnDrawOutline, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_base_OnDrawControlPoints", (PyCFunction) _wrap_PyShapeEvtHandler_base_OnDrawControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_base_OnEraseControlPoints", (PyCFunction) _wrap_PyShapeEvtHandler_base_OnEraseControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_base_OnMoveLink", (PyCFunction) _wrap_PyShapeEvtHandler_base_OnMoveLink, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_base_OnSizingDragLeft", (PyCFunction) _wrap_PyShapeEvtHandler_base_OnSizingDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_base_OnSizingBeginDragLeft", (PyCFunction) _wrap_PyShapeEvtHandler_base_OnSizingBeginDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_base_OnSizingEndDragLeft", (PyCFunction) _wrap_PyShapeEvtHandler_base_OnSizingEndDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_base_OnBeginSize", (PyCFunction) _wrap_PyShapeEvtHandler_base_OnBeginSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_base_OnEndSize", (PyCFunction) _wrap_PyShapeEvtHandler_base_OnEndSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_swigregister", PyShapeEvtHandler_swigregister, METH_VARARGS },
+        { (char *)"new_PyShape", (PyCFunction) _wrap_new_PyShape, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape__setCallbackInfo", (PyCFunction) _wrap_PyShape__setCallbackInfo, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetBoundingBoxMax", (PyCFunction) _wrap_PyShape_GetBoundingBoxMax, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetBoundingBoxMin", (PyCFunction) _wrap_PyShape_GetBoundingBoxMin, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetPerimeterPoint", (PyCFunction) _wrap_PyShape_GetPerimeterPoint, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetCanvas", (PyCFunction) _wrap_PyShape_GetCanvas, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_SetCanvas", (PyCFunction) _wrap_PyShape_SetCanvas, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_AddToCanvas", (PyCFunction) _wrap_PyShape_AddToCanvas, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_InsertInCanvas", (PyCFunction) _wrap_PyShape_InsertInCanvas, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_RemoveFromCanvas", (PyCFunction) _wrap_PyShape_RemoveFromCanvas, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetX", (PyCFunction) _wrap_PyShape_GetX, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetY", (PyCFunction) _wrap_PyShape_GetY, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_SetX", (PyCFunction) _wrap_PyShape_SetX, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_SetY", (PyCFunction) _wrap_PyShape_SetY, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetParent", (PyCFunction) _wrap_PyShape_GetParent, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_SetParent", (PyCFunction) _wrap_PyShape_SetParent, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetTopAncestor", (PyCFunction) _wrap_PyShape_GetTopAncestor, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetChildren", (PyCFunction) _wrap_PyShape_GetChildren, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_Unlink", (PyCFunction) _wrap_PyShape_Unlink, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_SetDrawHandles", (PyCFunction) _wrap_PyShape_SetDrawHandles, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetDrawHandles", (PyCFunction) _wrap_PyShape_GetDrawHandles, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_MakeControlPoints", (PyCFunction) _wrap_PyShape_MakeControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_DeleteControlPoints", (PyCFunction) _wrap_PyShape_DeleteControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_ResetControlPoints", (PyCFunction) _wrap_PyShape_ResetControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetEventHandler", (PyCFunction) _wrap_PyShape_GetEventHandler, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_SetEventHandler", (PyCFunction) _wrap_PyShape_SetEventHandler, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_MakeMandatoryControlPoints", (PyCFunction) _wrap_PyShape_MakeMandatoryControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_ResetMandatoryControlPoints", (PyCFunction) _wrap_PyShape_ResetMandatoryControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_Recompute", (PyCFunction) _wrap_PyShape_Recompute, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_CalculateSize", (PyCFunction) _wrap_PyShape_CalculateSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_Select", (PyCFunction) _wrap_PyShape_Select, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_SetHighlight", (PyCFunction) _wrap_PyShape_SetHighlight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_IsHighlighted", (PyCFunction) _wrap_PyShape_IsHighlighted, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_Selected", (PyCFunction) _wrap_PyShape_Selected, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_AncestorSelected", (PyCFunction) _wrap_PyShape_AncestorSelected, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_SetSensitivityFilter", (PyCFunction) _wrap_PyShape_SetSensitivityFilter, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetSensitivityFilter", (PyCFunction) _wrap_PyShape_GetSensitivityFilter, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_SetDraggable", (PyCFunction) _wrap_PyShape_SetDraggable, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_SetFixedSize", (PyCFunction) _wrap_PyShape_SetFixedSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetFixedSize", (PyCFunction) _wrap_PyShape_GetFixedSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetFixedWidth", (PyCFunction) _wrap_PyShape_GetFixedWidth, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetFixedHeight", (PyCFunction) _wrap_PyShape_GetFixedHeight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_SetSpaceAttachments", (PyCFunction) _wrap_PyShape_SetSpaceAttachments, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetSpaceAttachments", (PyCFunction) _wrap_PyShape_GetSpaceAttachments, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_SetShadowMode", (PyCFunction) _wrap_PyShape_SetShadowMode, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetShadowMode", (PyCFunction) _wrap_PyShape_GetShadowMode, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_HitTest", (PyCFunction) _wrap_PyShape_HitTest, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_SetCentreResize", (PyCFunction) _wrap_PyShape_SetCentreResize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetCentreResize", (PyCFunction) _wrap_PyShape_GetCentreResize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_SetMaintainAspectRatio", (PyCFunction) _wrap_PyShape_SetMaintainAspectRatio, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetMaintainAspectRatio", (PyCFunction) _wrap_PyShape_GetMaintainAspectRatio, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetLines", (PyCFunction) _wrap_PyShape_GetLines, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_SetDisableLabel", (PyCFunction) _wrap_PyShape_SetDisableLabel, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetDisableLabel", (PyCFunction) _wrap_PyShape_GetDisableLabel, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_SetAttachmentMode", (PyCFunction) _wrap_PyShape_SetAttachmentMode, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetAttachmentMode", (PyCFunction) _wrap_PyShape_GetAttachmentMode, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_SetId", (PyCFunction) _wrap_PyShape_SetId, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetId", (PyCFunction) _wrap_PyShape_GetId, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_SetPen", (PyCFunction) _wrap_PyShape_SetPen, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_SetBrush", (PyCFunction) _wrap_PyShape_SetBrush, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_Show", (PyCFunction) _wrap_PyShape_Show, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_IsShown", (PyCFunction) _wrap_PyShape_IsShown, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_Move", (PyCFunction) _wrap_PyShape_Move, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_Erase", (PyCFunction) _wrap_PyShape_Erase, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_EraseContents", (PyCFunction) _wrap_PyShape_EraseContents, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_Draw", (PyCFunction) _wrap_PyShape_Draw, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_Flash", (PyCFunction) _wrap_PyShape_Flash, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_MoveLinks", (PyCFunction) _wrap_PyShape_MoveLinks, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_DrawContents", (PyCFunction) _wrap_PyShape_DrawContents, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_SetSize", (PyCFunction) _wrap_PyShape_SetSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_SetAttachmentSize", (PyCFunction) _wrap_PyShape_SetAttachmentSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_Attach", (PyCFunction) _wrap_PyShape_Attach, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_Detach", (PyCFunction) _wrap_PyShape_Detach, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_Constrain", (PyCFunction) _wrap_PyShape_Constrain, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_AddLine", (PyCFunction) _wrap_PyShape_AddLine, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetLinePosition", (PyCFunction) _wrap_PyShape_GetLinePosition, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_AddText", (PyCFunction) _wrap_PyShape_AddText, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetPen", (PyCFunction) _wrap_PyShape_GetPen, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetBrush", (PyCFunction) _wrap_PyShape_GetBrush, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_SetDefaultRegionSize", (PyCFunction) _wrap_PyShape_SetDefaultRegionSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_FormatText", (PyCFunction) _wrap_PyShape_FormatText, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_SetFormatMode", (PyCFunction) _wrap_PyShape_SetFormatMode, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetFormatMode", (PyCFunction) _wrap_PyShape_GetFormatMode, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_SetFont", (PyCFunction) _wrap_PyShape_SetFont, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetFont", (PyCFunction) _wrap_PyShape_GetFont, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_SetTextColour", (PyCFunction) _wrap_PyShape_SetTextColour, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetTextColour", (PyCFunction) _wrap_PyShape_GetTextColour, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetNumberOfTextRegions", (PyCFunction) _wrap_PyShape_GetNumberOfTextRegions, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_SetRegionName", (PyCFunction) _wrap_PyShape_SetRegionName, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetRegionName", (PyCFunction) _wrap_PyShape_GetRegionName, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetRegionId", (PyCFunction) _wrap_PyShape_GetRegionId, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_NameRegions", (PyCFunction) _wrap_PyShape_NameRegions, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetRegions", (PyCFunction) _wrap_PyShape_GetRegions, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_AddRegion", (PyCFunction) _wrap_PyShape_AddRegion, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_ClearRegions", (PyCFunction) _wrap_PyShape_ClearRegions, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_AssignNewIds", (PyCFunction) _wrap_PyShape_AssignNewIds, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_FindRegion", (PyCFunction) _wrap_PyShape_FindRegion, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_FindRegionNames", (PyCFunction) _wrap_PyShape_FindRegionNames, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_ClearText", (PyCFunction) _wrap_PyShape_ClearText, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_RemoveLine", (PyCFunction) _wrap_PyShape_RemoveLine, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetAttachmentPosition", (PyCFunction) _wrap_PyShape_GetAttachmentPosition, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetNumberOfAttachments", (PyCFunction) _wrap_PyShape_GetNumberOfAttachments, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_AttachmentIsValid", (PyCFunction) _wrap_PyShape_AttachmentIsValid, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetAttachmentPositionEdge", (PyCFunction) _wrap_PyShape_GetAttachmentPositionEdge, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_CalcSimpleAttachment", (PyCFunction) _wrap_PyShape_CalcSimpleAttachment, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_AttachmentSortTest", (PyCFunction) _wrap_PyShape_AttachmentSortTest, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_EraseLinks", (PyCFunction) _wrap_PyShape_EraseLinks, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_DrawLinks", (PyCFunction) _wrap_PyShape_DrawLinks, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_MoveLineToNewAttachment", (PyCFunction) _wrap_PyShape_MoveLineToNewAttachment, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_ApplyAttachmentOrdering", (PyCFunction) _wrap_PyShape_ApplyAttachmentOrdering, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetBranchingAttachmentRoot", (PyCFunction) _wrap_PyShape_GetBranchingAttachmentRoot, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetBranchingAttachmentInfo", (PyCFunction) _wrap_PyShape_GetBranchingAttachmentInfo, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetBranchingAttachmentPoint", (PyCFunction) _wrap_PyShape_GetBranchingAttachmentPoint, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetAttachmentLineCount", (PyCFunction) _wrap_PyShape_GetAttachmentLineCount, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_SetBranchNeckLength", (PyCFunction) _wrap_PyShape_SetBranchNeckLength, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetBranchNeckLength", (PyCFunction) _wrap_PyShape_GetBranchNeckLength, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_SetBranchStemLength", (PyCFunction) _wrap_PyShape_SetBranchStemLength, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetBranchStemLength", (PyCFunction) _wrap_PyShape_GetBranchStemLength, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_SetBranchSpacing", (PyCFunction) _wrap_PyShape_SetBranchSpacing, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetBranchSpacing", (PyCFunction) _wrap_PyShape_GetBranchSpacing, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_SetBranchStyle", (PyCFunction) _wrap_PyShape_SetBranchStyle, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetBranchStyle", (PyCFunction) _wrap_PyShape_GetBranchStyle, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_PhysicalToLogicalAttachment", (PyCFunction) _wrap_PyShape_PhysicalToLogicalAttachment, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_LogicalToPhysicalAttachment", (PyCFunction) _wrap_PyShape_LogicalToPhysicalAttachment, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_Draggable", (PyCFunction) _wrap_PyShape_Draggable, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_HasDescendant", (PyCFunction) _wrap_PyShape_HasDescendant, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_CreateNewCopy", (PyCFunction) _wrap_PyShape_CreateNewCopy, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_Copy", (PyCFunction) _wrap_PyShape_Copy, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_CopyWithHandler", (PyCFunction) _wrap_PyShape_CopyWithHandler, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_Rotate", (PyCFunction) _wrap_PyShape_Rotate, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetRotation", (PyCFunction) _wrap_PyShape_GetRotation, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_ClearAttachments", (PyCFunction) _wrap_PyShape_ClearAttachments, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_Recentre", (PyCFunction) _wrap_PyShape_Recentre, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_ClearPointList", (PyCFunction) _wrap_PyShape_ClearPointList, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetBackgroundPen", (PyCFunction) _wrap_PyShape_GetBackgroundPen, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetBackgroundBrush", (PyCFunction) _wrap_PyShape_GetBackgroundBrush, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_base_OnDelete", (PyCFunction) _wrap_PyShape_base_OnDelete, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_base_OnDraw", (PyCFunction) _wrap_PyShape_base_OnDraw, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_base_OnDrawContents", (PyCFunction) _wrap_PyShape_base_OnDrawContents, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_base_OnDrawBranches", (PyCFunction) _wrap_PyShape_base_OnDrawBranches, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_base_OnMoveLinks", (PyCFunction) _wrap_PyShape_base_OnMoveLinks, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_base_OnErase", (PyCFunction) _wrap_PyShape_base_OnErase, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_base_OnEraseContents", (PyCFunction) _wrap_PyShape_base_OnEraseContents, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_base_OnHighlight", (PyCFunction) _wrap_PyShape_base_OnHighlight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_base_OnLeftClick", (PyCFunction) _wrap_PyShape_base_OnLeftClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_base_OnLeftDoubleClick", (PyCFunction) _wrap_PyShape_base_OnLeftDoubleClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_base_OnRightClick", (PyCFunction) _wrap_PyShape_base_OnRightClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_base_OnSize", (PyCFunction) _wrap_PyShape_base_OnSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_base_OnMovePre", (PyCFunction) _wrap_PyShape_base_OnMovePre, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_base_OnMovePost", (PyCFunction) _wrap_PyShape_base_OnMovePost, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_base_OnDragLeft", (PyCFunction) _wrap_PyShape_base_OnDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_base_OnBeginDragLeft", (PyCFunction) _wrap_PyShape_base_OnBeginDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_base_OnEndDragLeft", (PyCFunction) _wrap_PyShape_base_OnEndDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_base_OnDragRight", (PyCFunction) _wrap_PyShape_base_OnDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_base_OnBeginDragRight", (PyCFunction) _wrap_PyShape_base_OnBeginDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_base_OnEndDragRight", (PyCFunction) _wrap_PyShape_base_OnEndDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_base_OnDrawOutline", (PyCFunction) _wrap_PyShape_base_OnDrawOutline, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_base_OnDrawControlPoints", (PyCFunction) _wrap_PyShape_base_OnDrawControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_base_OnEraseControlPoints", (PyCFunction) _wrap_PyShape_base_OnEraseControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_base_OnMoveLink", (PyCFunction) _wrap_PyShape_base_OnMoveLink, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_base_OnSizingDragLeft", (PyCFunction) _wrap_PyShape_base_OnSizingDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_base_OnSizingBeginDragLeft", (PyCFunction) _wrap_PyShape_base_OnSizingBeginDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_base_OnSizingEndDragLeft", (PyCFunction) _wrap_PyShape_base_OnSizingEndDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_base_OnBeginSize", (PyCFunction) _wrap_PyShape_base_OnBeginSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_base_OnEndSize", (PyCFunction) _wrap_PyShape_base_OnEndSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_swigregister", PyShape_swigregister, METH_VARARGS },
+        { (char *)"new_PseudoMetaFile", (PyCFunction) _wrap_new_PseudoMetaFile, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"delete_PseudoMetaFile", (PyCFunction) _wrap_delete_PseudoMetaFile, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_Draw", (PyCFunction) _wrap_PseudoMetaFile_Draw, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_Clear", (PyCFunction) _wrap_PseudoMetaFile_Clear, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_Copy", (PyCFunction) _wrap_PseudoMetaFile_Copy, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_Scale", (PyCFunction) _wrap_PseudoMetaFile_Scale, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_ScaleTo", (PyCFunction) _wrap_PseudoMetaFile_ScaleTo, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_Translate", (PyCFunction) _wrap_PseudoMetaFile_Translate, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_Rotate", (PyCFunction) _wrap_PseudoMetaFile_Rotate, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_LoadFromMetaFile", (PyCFunction) _wrap_PseudoMetaFile_LoadFromMetaFile, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_GetBounds", (PyCFunction) _wrap_PseudoMetaFile_GetBounds, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_CalculateSize", (PyCFunction) _wrap_PseudoMetaFile_CalculateSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_SetRotateable", (PyCFunction) _wrap_PseudoMetaFile_SetRotateable, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_GetRotateable", (PyCFunction) _wrap_PseudoMetaFile_GetRotateable, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_SetSize", (PyCFunction) _wrap_PseudoMetaFile_SetSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_SetFillBrush", (PyCFunction) _wrap_PseudoMetaFile_SetFillBrush, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_GetFillBrush", (PyCFunction) _wrap_PseudoMetaFile_GetFillBrush, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_SetOutlinePen", (PyCFunction) _wrap_PseudoMetaFile_SetOutlinePen, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_GetOutlinePen", (PyCFunction) _wrap_PseudoMetaFile_GetOutlinePen, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_SetOutlineOp", (PyCFunction) _wrap_PseudoMetaFile_SetOutlineOp, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_GetOutlineOp", (PyCFunction) _wrap_PseudoMetaFile_GetOutlineOp, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_IsValid", (PyCFunction) _wrap_PseudoMetaFile_IsValid, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_DrawLine", (PyCFunction) _wrap_PseudoMetaFile_DrawLine, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_DrawRectangle", (PyCFunction) _wrap_PseudoMetaFile_DrawRectangle, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_DrawRoundedRectangle", (PyCFunction) _wrap_PseudoMetaFile_DrawRoundedRectangle, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_DrawArc", (PyCFunction) _wrap_PseudoMetaFile_DrawArc, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_DrawEllipticArc", (PyCFunction) _wrap_PseudoMetaFile_DrawEllipticArc, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_DrawEllipse", (PyCFunction) _wrap_PseudoMetaFile_DrawEllipse, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_DrawPoint", (PyCFunction) _wrap_PseudoMetaFile_DrawPoint, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_DrawText", (PyCFunction) _wrap_PseudoMetaFile_DrawText, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_DrawLines", (PyCFunction) _wrap_PseudoMetaFile_DrawLines, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_DrawPolygon", (PyCFunction) _wrap_PseudoMetaFile_DrawPolygon, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_DrawSpline", (PyCFunction) _wrap_PseudoMetaFile_DrawSpline, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_SetClippingRect", (PyCFunction) _wrap_PseudoMetaFile_SetClippingRect, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_DestroyClippingRect", (PyCFunction) _wrap_PseudoMetaFile_DestroyClippingRect, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_SetPen", (PyCFunction) _wrap_PseudoMetaFile_SetPen, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_SetBrush", (PyCFunction) _wrap_PseudoMetaFile_SetBrush, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_SetFont", (PyCFunction) _wrap_PseudoMetaFile_SetFont, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_SetTextColour", (PyCFunction) _wrap_PseudoMetaFile_SetTextColour, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_SetBackgroundColour", (PyCFunction) _wrap_PseudoMetaFile_SetBackgroundColour, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_SetBackgroundMode", (PyCFunction) _wrap_PseudoMetaFile_SetBackgroundMode, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_swigregister", PseudoMetaFile_swigregister, METH_VARARGS },
+        { (char *)"new_PyRectangleShape", (PyCFunction) _wrap_new_PyRectangleShape, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyRectangleShape__setCallbackInfo", (PyCFunction) _wrap_PyRectangleShape__setCallbackInfo, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyRectangleShape_SetCornerRadius", (PyCFunction) _wrap_PyRectangleShape_SetCornerRadius, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyRectangleShape_base_OnDelete", (PyCFunction) _wrap_PyRectangleShape_base_OnDelete, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyRectangleShape_base_OnDraw", (PyCFunction) _wrap_PyRectangleShape_base_OnDraw, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyRectangleShape_base_OnDrawContents", (PyCFunction) _wrap_PyRectangleShape_base_OnDrawContents, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyRectangleShape_base_OnDrawBranches", (PyCFunction) _wrap_PyRectangleShape_base_OnDrawBranches, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyRectangleShape_base_OnMoveLinks", (PyCFunction) _wrap_PyRectangleShape_base_OnMoveLinks, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyRectangleShape_base_OnErase", (PyCFunction) _wrap_PyRectangleShape_base_OnErase, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyRectangleShape_base_OnEraseContents", (PyCFunction) _wrap_PyRectangleShape_base_OnEraseContents, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyRectangleShape_base_OnHighlight", (PyCFunction) _wrap_PyRectangleShape_base_OnHighlight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyRectangleShape_base_OnLeftClick", (PyCFunction) _wrap_PyRectangleShape_base_OnLeftClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyRectangleShape_base_OnLeftDoubleClick", (PyCFunction) _wrap_PyRectangleShape_base_OnLeftDoubleClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyRectangleShape_base_OnRightClick", (PyCFunction) _wrap_PyRectangleShape_base_OnRightClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyRectangleShape_base_OnSize", (PyCFunction) _wrap_PyRectangleShape_base_OnSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyRectangleShape_base_OnMovePre", (PyCFunction) _wrap_PyRectangleShape_base_OnMovePre, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyRectangleShape_base_OnMovePost", (PyCFunction) _wrap_PyRectangleShape_base_OnMovePost, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyRectangleShape_base_OnDragLeft", (PyCFunction) _wrap_PyRectangleShape_base_OnDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyRectangleShape_base_OnBeginDragLeft", (PyCFunction) _wrap_PyRectangleShape_base_OnBeginDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyRectangleShape_base_OnEndDragLeft", (PyCFunction) _wrap_PyRectangleShape_base_OnEndDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyRectangleShape_base_OnDragRight", (PyCFunction) _wrap_PyRectangleShape_base_OnDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyRectangleShape_base_OnBeginDragRight", (PyCFunction) _wrap_PyRectangleShape_base_OnBeginDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyRectangleShape_base_OnEndDragRight", (PyCFunction) _wrap_PyRectangleShape_base_OnEndDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyRectangleShape_base_OnDrawOutline", (PyCFunction) _wrap_PyRectangleShape_base_OnDrawOutline, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyRectangleShape_base_OnDrawControlPoints", (PyCFunction) _wrap_PyRectangleShape_base_OnDrawControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyRectangleShape_base_OnEraseControlPoints", (PyCFunction) _wrap_PyRectangleShape_base_OnEraseControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyRectangleShape_base_OnMoveLink", (PyCFunction) _wrap_PyRectangleShape_base_OnMoveLink, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyRectangleShape_base_OnSizingDragLeft", (PyCFunction) _wrap_PyRectangleShape_base_OnSizingDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyRectangleShape_base_OnSizingBeginDragLeft", (PyCFunction) _wrap_PyRectangleShape_base_OnSizingBeginDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyRectangleShape_base_OnSizingEndDragLeft", (PyCFunction) _wrap_PyRectangleShape_base_OnSizingEndDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyRectangleShape_base_OnBeginSize", (PyCFunction) _wrap_PyRectangleShape_base_OnBeginSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyRectangleShape_base_OnEndSize", (PyCFunction) _wrap_PyRectangleShape_base_OnEndSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyRectangleShape_swigregister", PyRectangleShape_swigregister, METH_VARARGS },
+        { (char *)"new_PyControlPoint", (PyCFunction) _wrap_new_PyControlPoint, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyControlPoint__setCallbackInfo", (PyCFunction) _wrap_PyControlPoint__setCallbackInfo, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyControlPoint_SetCornerRadius", (PyCFunction) _wrap_PyControlPoint_SetCornerRadius, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyControlPoint_base_OnDelete", (PyCFunction) _wrap_PyControlPoint_base_OnDelete, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyControlPoint_base_OnDraw", (PyCFunction) _wrap_PyControlPoint_base_OnDraw, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyControlPoint_base_OnDrawContents", (PyCFunction) _wrap_PyControlPoint_base_OnDrawContents, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyControlPoint_base_OnDrawBranches", (PyCFunction) _wrap_PyControlPoint_base_OnDrawBranches, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyControlPoint_base_OnMoveLinks", (PyCFunction) _wrap_PyControlPoint_base_OnMoveLinks, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyControlPoint_base_OnErase", (PyCFunction) _wrap_PyControlPoint_base_OnErase, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyControlPoint_base_OnEraseContents", (PyCFunction) _wrap_PyControlPoint_base_OnEraseContents, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyControlPoint_base_OnHighlight", (PyCFunction) _wrap_PyControlPoint_base_OnHighlight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyControlPoint_base_OnLeftClick", (PyCFunction) _wrap_PyControlPoint_base_OnLeftClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyControlPoint_base_OnLeftDoubleClick", (PyCFunction) _wrap_PyControlPoint_base_OnLeftDoubleClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyControlPoint_base_OnRightClick", (PyCFunction) _wrap_PyControlPoint_base_OnRightClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyControlPoint_base_OnSize", (PyCFunction) _wrap_PyControlPoint_base_OnSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyControlPoint_base_OnMovePre", (PyCFunction) _wrap_PyControlPoint_base_OnMovePre, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyControlPoint_base_OnMovePost", (PyCFunction) _wrap_PyControlPoint_base_OnMovePost, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyControlPoint_base_OnDragLeft", (PyCFunction) _wrap_PyControlPoint_base_OnDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyControlPoint_base_OnBeginDragLeft", (PyCFunction) _wrap_PyControlPoint_base_OnBeginDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyControlPoint_base_OnEndDragLeft", (PyCFunction) _wrap_PyControlPoint_base_OnEndDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyControlPoint_base_OnDragRight", (PyCFunction) _wrap_PyControlPoint_base_OnDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyControlPoint_base_OnBeginDragRight", (PyCFunction) _wrap_PyControlPoint_base_OnBeginDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyControlPoint_base_OnEndDragRight", (PyCFunction) _wrap_PyControlPoint_base_OnEndDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyControlPoint_base_OnDrawOutline", (PyCFunction) _wrap_PyControlPoint_base_OnDrawOutline, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyControlPoint_base_OnDrawControlPoints", (PyCFunction) _wrap_PyControlPoint_base_OnDrawControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyControlPoint_base_OnEraseControlPoints", (PyCFunction) _wrap_PyControlPoint_base_OnEraseControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyControlPoint_base_OnMoveLink", (PyCFunction) _wrap_PyControlPoint_base_OnMoveLink, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyControlPoint_base_OnSizingDragLeft", (PyCFunction) _wrap_PyControlPoint_base_OnSizingDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyControlPoint_base_OnSizingBeginDragLeft", (PyCFunction) _wrap_PyControlPoint_base_OnSizingBeginDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyControlPoint_base_OnSizingEndDragLeft", (PyCFunction) _wrap_PyControlPoint_base_OnSizingEndDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyControlPoint_base_OnBeginSize", (PyCFunction) _wrap_PyControlPoint_base_OnBeginSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyControlPoint_base_OnEndSize", (PyCFunction) _wrap_PyControlPoint_base_OnEndSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyControlPoint_swigregister", PyControlPoint_swigregister, METH_VARARGS },
+        { (char *)"new_PyBitmapShape", (PyCFunction) _wrap_new_PyBitmapShape, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape__setCallbackInfo", (PyCFunction) _wrap_PyBitmapShape__setCallbackInfo, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_GetBitmap", (PyCFunction) _wrap_PyBitmapShape_GetBitmap, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_GetFilename", (PyCFunction) _wrap_PyBitmapShape_GetFilename, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_SetBitmap", (PyCFunction) _wrap_PyBitmapShape_SetBitmap, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_SetFilename", (PyCFunction) _wrap_PyBitmapShape_SetFilename, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_base_OnDelete", (PyCFunction) _wrap_PyBitmapShape_base_OnDelete, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_base_OnDraw", (PyCFunction) _wrap_PyBitmapShape_base_OnDraw, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_base_OnDrawContents", (PyCFunction) _wrap_PyBitmapShape_base_OnDrawContents, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_base_OnDrawBranches", (PyCFunction) _wrap_PyBitmapShape_base_OnDrawBranches, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_base_OnMoveLinks", (PyCFunction) _wrap_PyBitmapShape_base_OnMoveLinks, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_base_OnErase", (PyCFunction) _wrap_PyBitmapShape_base_OnErase, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_base_OnEraseContents", (PyCFunction) _wrap_PyBitmapShape_base_OnEraseContents, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_base_OnHighlight", (PyCFunction) _wrap_PyBitmapShape_base_OnHighlight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_base_OnLeftClick", (PyCFunction) _wrap_PyBitmapShape_base_OnLeftClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_base_OnLeftDoubleClick", (PyCFunction) _wrap_PyBitmapShape_base_OnLeftDoubleClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_base_OnRightClick", (PyCFunction) _wrap_PyBitmapShape_base_OnRightClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_base_OnSize", (PyCFunction) _wrap_PyBitmapShape_base_OnSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_base_OnMovePre", (PyCFunction) _wrap_PyBitmapShape_base_OnMovePre, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_base_OnMovePost", (PyCFunction) _wrap_PyBitmapShape_base_OnMovePost, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_base_OnDragLeft", (PyCFunction) _wrap_PyBitmapShape_base_OnDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_base_OnBeginDragLeft", (PyCFunction) _wrap_PyBitmapShape_base_OnBeginDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_base_OnEndDragLeft", (PyCFunction) _wrap_PyBitmapShape_base_OnEndDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_base_OnDragRight", (PyCFunction) _wrap_PyBitmapShape_base_OnDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_base_OnBeginDragRight", (PyCFunction) _wrap_PyBitmapShape_base_OnBeginDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_base_OnEndDragRight", (PyCFunction) _wrap_PyBitmapShape_base_OnEndDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_base_OnDrawOutline", (PyCFunction) _wrap_PyBitmapShape_base_OnDrawOutline, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_base_OnDrawControlPoints", (PyCFunction) _wrap_PyBitmapShape_base_OnDrawControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_base_OnEraseControlPoints", (PyCFunction) _wrap_PyBitmapShape_base_OnEraseControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_base_OnMoveLink", (PyCFunction) _wrap_PyBitmapShape_base_OnMoveLink, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_base_OnSizingDragLeft", (PyCFunction) _wrap_PyBitmapShape_base_OnSizingDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_base_OnSizingBeginDragLeft", (PyCFunction) _wrap_PyBitmapShape_base_OnSizingBeginDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_base_OnSizingEndDragLeft", (PyCFunction) _wrap_PyBitmapShape_base_OnSizingEndDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_base_OnBeginSize", (PyCFunction) _wrap_PyBitmapShape_base_OnBeginSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_base_OnEndSize", (PyCFunction) _wrap_PyBitmapShape_base_OnEndSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_swigregister", PyBitmapShape_swigregister, METH_VARARGS },
+        { (char *)"new_PyDrawnShape", (PyCFunction) _wrap_new_PyDrawnShape, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape__setCallbackInfo", (PyCFunction) _wrap_PyDrawnShape__setCallbackInfo, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_CalculateSize", (PyCFunction) _wrap_PyDrawnShape_CalculateSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_DestroyClippingRect", (PyCFunction) _wrap_PyDrawnShape_DestroyClippingRect, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_DrawArc", (PyCFunction) _wrap_PyDrawnShape_DrawArc, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_DrawAtAngle", (PyCFunction) _wrap_PyDrawnShape_DrawAtAngle, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_DrawEllipticArc", (PyCFunction) _wrap_PyDrawnShape_DrawEllipticArc, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_DrawLine", (PyCFunction) _wrap_PyDrawnShape_DrawLine, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_DrawLines", (PyCFunction) _wrap_PyDrawnShape_DrawLines, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_DrawPoint", (PyCFunction) _wrap_PyDrawnShape_DrawPoint, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_DrawPolygon", (PyCFunction) _wrap_PyDrawnShape_DrawPolygon, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_DrawRectangle", (PyCFunction) _wrap_PyDrawnShape_DrawRectangle, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_DrawRoundedRectangle", (PyCFunction) _wrap_PyDrawnShape_DrawRoundedRectangle, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_DrawSpline", (PyCFunction) _wrap_PyDrawnShape_DrawSpline, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_DrawText", (PyCFunction) _wrap_PyDrawnShape_DrawText, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_GetAngle", (PyCFunction) _wrap_PyDrawnShape_GetAngle, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_GetMetaFile", (PyCFunction) _wrap_PyDrawnShape_GetMetaFile, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_GetRotation", (PyCFunction) _wrap_PyDrawnShape_GetRotation, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_LoadFromMetaFile", (PyCFunction) _wrap_PyDrawnShape_LoadFromMetaFile, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_Rotate", (PyCFunction) _wrap_PyDrawnShape_Rotate, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_SetClippingRect", (PyCFunction) _wrap_PyDrawnShape_SetClippingRect, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_SetDrawnBackgroundColour", (PyCFunction) _wrap_PyDrawnShape_SetDrawnBackgroundColour, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_SetDrawnBackgroundMode", (PyCFunction) _wrap_PyDrawnShape_SetDrawnBackgroundMode, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_SetDrawnBrush", (PyCFunction) _wrap_PyDrawnShape_SetDrawnBrush, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_SetDrawnFont", (PyCFunction) _wrap_PyDrawnShape_SetDrawnFont, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_SetDrawnPen", (PyCFunction) _wrap_PyDrawnShape_SetDrawnPen, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_SetDrawnTextColour", (PyCFunction) _wrap_PyDrawnShape_SetDrawnTextColour, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_Scale", (PyCFunction) _wrap_PyDrawnShape_Scale, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_SetSaveToFile", (PyCFunction) _wrap_PyDrawnShape_SetSaveToFile, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_Translate", (PyCFunction) _wrap_PyDrawnShape_Translate, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_base_OnDelete", (PyCFunction) _wrap_PyDrawnShape_base_OnDelete, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_base_OnDraw", (PyCFunction) _wrap_PyDrawnShape_base_OnDraw, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_base_OnDrawContents", (PyCFunction) _wrap_PyDrawnShape_base_OnDrawContents, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_base_OnDrawBranches", (PyCFunction) _wrap_PyDrawnShape_base_OnDrawBranches, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_base_OnMoveLinks", (PyCFunction) _wrap_PyDrawnShape_base_OnMoveLinks, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_base_OnErase", (PyCFunction) _wrap_PyDrawnShape_base_OnErase, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_base_OnEraseContents", (PyCFunction) _wrap_PyDrawnShape_base_OnEraseContents, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_base_OnHighlight", (PyCFunction) _wrap_PyDrawnShape_base_OnHighlight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_base_OnLeftClick", (PyCFunction) _wrap_PyDrawnShape_base_OnLeftClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_base_OnLeftDoubleClick", (PyCFunction) _wrap_PyDrawnShape_base_OnLeftDoubleClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_base_OnRightClick", (PyCFunction) _wrap_PyDrawnShape_base_OnRightClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_base_OnSize", (PyCFunction) _wrap_PyDrawnShape_base_OnSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_base_OnMovePre", (PyCFunction) _wrap_PyDrawnShape_base_OnMovePre, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_base_OnMovePost", (PyCFunction) _wrap_PyDrawnShape_base_OnMovePost, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_base_OnDragLeft", (PyCFunction) _wrap_PyDrawnShape_base_OnDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_base_OnBeginDragLeft", (PyCFunction) _wrap_PyDrawnShape_base_OnBeginDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_base_OnEndDragLeft", (PyCFunction) _wrap_PyDrawnShape_base_OnEndDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_base_OnDragRight", (PyCFunction) _wrap_PyDrawnShape_base_OnDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_base_OnBeginDragRight", (PyCFunction) _wrap_PyDrawnShape_base_OnBeginDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_base_OnEndDragRight", (PyCFunction) _wrap_PyDrawnShape_base_OnEndDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_base_OnDrawOutline", (PyCFunction) _wrap_PyDrawnShape_base_OnDrawOutline, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_base_OnDrawControlPoints", (PyCFunction) _wrap_PyDrawnShape_base_OnDrawControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_base_OnEraseControlPoints", (PyCFunction) _wrap_PyDrawnShape_base_OnEraseControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_base_OnMoveLink", (PyCFunction) _wrap_PyDrawnShape_base_OnMoveLink, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_base_OnSizingDragLeft", (PyCFunction) _wrap_PyDrawnShape_base_OnSizingDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_base_OnSizingBeginDragLeft", (PyCFunction) _wrap_PyDrawnShape_base_OnSizingBeginDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_base_OnSizingEndDragLeft", (PyCFunction) _wrap_PyDrawnShape_base_OnSizingEndDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_base_OnBeginSize", (PyCFunction) _wrap_PyDrawnShape_base_OnBeginSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_base_OnEndSize", (PyCFunction) _wrap_PyDrawnShape_base_OnEndSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_swigregister", PyDrawnShape_swigregister, METH_VARARGS },
+        { (char *)"new_OGLConstraint", (PyCFunction) _wrap_new_OGLConstraint, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"OGLConstraint_Evaluate", (PyCFunction) _wrap_OGLConstraint_Evaluate, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"OGLConstraint_SetSpacing", (PyCFunction) _wrap_OGLConstraint_SetSpacing, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"OGLConstraint_Equals", (PyCFunction) _wrap_OGLConstraint_Equals, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"OGLConstraint_swigregister", OGLConstraint_swigregister, METH_VARARGS },
+        { (char *)"new_PyCompositeShape", (PyCFunction) _wrap_new_PyCompositeShape, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape__setCallbackInfo", (PyCFunction) _wrap_PyCompositeShape__setCallbackInfo, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_AddChild", (PyCFunction) _wrap_PyCompositeShape_AddChild, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_AddConstraint", (PyCFunction) _wrap_PyCompositeShape_AddConstraint, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_AddConstrainedShapes", (PyCFunction) _wrap_PyCompositeShape_AddConstrainedShapes, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_AddSimpleConstraint", (PyCFunction) _wrap_PyCompositeShape_AddSimpleConstraint, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_CalculateSize", (PyCFunction) _wrap_PyCompositeShape_CalculateSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_ContainsDivision", (PyCFunction) _wrap_PyCompositeShape_ContainsDivision, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_DeleteConstraint", (PyCFunction) _wrap_PyCompositeShape_DeleteConstraint, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_DeleteConstraintsInvolvingChild", (PyCFunction) _wrap_PyCompositeShape_DeleteConstraintsInvolvingChild, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_FindContainerImage", (PyCFunction) _wrap_PyCompositeShape_FindContainerImage, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_GetConstraints", (PyCFunction) _wrap_PyCompositeShape_GetConstraints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_GetDivisions", (PyCFunction) _wrap_PyCompositeShape_GetDivisions, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_MakeContainer", (PyCFunction) _wrap_PyCompositeShape_MakeContainer, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_Recompute", (PyCFunction) _wrap_PyCompositeShape_Recompute, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_RemoveChild", (PyCFunction) _wrap_PyCompositeShape_RemoveChild, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_base_OnDelete", (PyCFunction) _wrap_PyCompositeShape_base_OnDelete, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_base_OnDraw", (PyCFunction) _wrap_PyCompositeShape_base_OnDraw, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_base_OnDrawContents", (PyCFunction) _wrap_PyCompositeShape_base_OnDrawContents, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_base_OnDrawBranches", (PyCFunction) _wrap_PyCompositeShape_base_OnDrawBranches, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_base_OnMoveLinks", (PyCFunction) _wrap_PyCompositeShape_base_OnMoveLinks, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_base_OnErase", (PyCFunction) _wrap_PyCompositeShape_base_OnErase, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_base_OnEraseContents", (PyCFunction) _wrap_PyCompositeShape_base_OnEraseContents, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_base_OnHighlight", (PyCFunction) _wrap_PyCompositeShape_base_OnHighlight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_base_OnLeftClick", (PyCFunction) _wrap_PyCompositeShape_base_OnLeftClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_base_OnLeftDoubleClick", (PyCFunction) _wrap_PyCompositeShape_base_OnLeftDoubleClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_base_OnRightClick", (PyCFunction) _wrap_PyCompositeShape_base_OnRightClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_base_OnSize", (PyCFunction) _wrap_PyCompositeShape_base_OnSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_base_OnMovePre", (PyCFunction) _wrap_PyCompositeShape_base_OnMovePre, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_base_OnMovePost", (PyCFunction) _wrap_PyCompositeShape_base_OnMovePost, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_base_OnDragLeft", (PyCFunction) _wrap_PyCompositeShape_base_OnDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_base_OnBeginDragLeft", (PyCFunction) _wrap_PyCompositeShape_base_OnBeginDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_base_OnEndDragLeft", (PyCFunction) _wrap_PyCompositeShape_base_OnEndDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_base_OnDragRight", (PyCFunction) _wrap_PyCompositeShape_base_OnDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_base_OnBeginDragRight", (PyCFunction) _wrap_PyCompositeShape_base_OnBeginDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_base_OnEndDragRight", (PyCFunction) _wrap_PyCompositeShape_base_OnEndDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_base_OnDrawOutline", (PyCFunction) _wrap_PyCompositeShape_base_OnDrawOutline, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_base_OnDrawControlPoints", (PyCFunction) _wrap_PyCompositeShape_base_OnDrawControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_base_OnEraseControlPoints", (PyCFunction) _wrap_PyCompositeShape_base_OnEraseControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_base_OnMoveLink", (PyCFunction) _wrap_PyCompositeShape_base_OnMoveLink, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_base_OnSizingDragLeft", (PyCFunction) _wrap_PyCompositeShape_base_OnSizingDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_base_OnSizingBeginDragLeft", (PyCFunction) _wrap_PyCompositeShape_base_OnSizingBeginDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_base_OnSizingEndDragLeft", (PyCFunction) _wrap_PyCompositeShape_base_OnSizingEndDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_base_OnBeginSize", (PyCFunction) _wrap_PyCompositeShape_base_OnBeginSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_base_OnEndSize", (PyCFunction) _wrap_PyCompositeShape_base_OnEndSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_swigregister", PyCompositeShape_swigregister, METH_VARARGS },
+        { (char *)"new_PyDividedShape", (PyCFunction) _wrap_new_PyDividedShape, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDividedShape__setCallbackInfo", (PyCFunction) _wrap_PyDividedShape__setCallbackInfo, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDividedShape_EditRegions", (PyCFunction) _wrap_PyDividedShape_EditRegions, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDividedShape_SetRegionSizes", (PyCFunction) _wrap_PyDividedShape_SetRegionSizes, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDividedShape_base_OnDelete", (PyCFunction) _wrap_PyDividedShape_base_OnDelete, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDividedShape_base_OnDraw", (PyCFunction) _wrap_PyDividedShape_base_OnDraw, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDividedShape_base_OnDrawContents", (PyCFunction) _wrap_PyDividedShape_base_OnDrawContents, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDividedShape_base_OnDrawBranches", (PyCFunction) _wrap_PyDividedShape_base_OnDrawBranches, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDividedShape_base_OnMoveLinks", (PyCFunction) _wrap_PyDividedShape_base_OnMoveLinks, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDividedShape_base_OnErase", (PyCFunction) _wrap_PyDividedShape_base_OnErase, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDividedShape_base_OnEraseContents", (PyCFunction) _wrap_PyDividedShape_base_OnEraseContents, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDividedShape_base_OnHighlight", (PyCFunction) _wrap_PyDividedShape_base_OnHighlight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDividedShape_base_OnLeftClick", (PyCFunction) _wrap_PyDividedShape_base_OnLeftClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDividedShape_base_OnLeftDoubleClick", (PyCFunction) _wrap_PyDividedShape_base_OnLeftDoubleClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDividedShape_base_OnRightClick", (PyCFunction) _wrap_PyDividedShape_base_OnRightClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDividedShape_base_OnSize", (PyCFunction) _wrap_PyDividedShape_base_OnSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDividedShape_base_OnMovePre", (PyCFunction) _wrap_PyDividedShape_base_OnMovePre, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDividedShape_base_OnMovePost", (PyCFunction) _wrap_PyDividedShape_base_OnMovePost, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDividedShape_base_OnDragLeft", (PyCFunction) _wrap_PyDividedShape_base_OnDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDividedShape_base_OnBeginDragLeft", (PyCFunction) _wrap_PyDividedShape_base_OnBeginDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDividedShape_base_OnEndDragLeft", (PyCFunction) _wrap_PyDividedShape_base_OnEndDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDividedShape_base_OnDragRight", (PyCFunction) _wrap_PyDividedShape_base_OnDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDividedShape_base_OnBeginDragRight", (PyCFunction) _wrap_PyDividedShape_base_OnBeginDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDividedShape_base_OnEndDragRight", (PyCFunction) _wrap_PyDividedShape_base_OnEndDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDividedShape_base_OnDrawOutline", (PyCFunction) _wrap_PyDividedShape_base_OnDrawOutline, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDividedShape_base_OnDrawControlPoints", (PyCFunction) _wrap_PyDividedShape_base_OnDrawControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDividedShape_base_OnEraseControlPoints", (PyCFunction) _wrap_PyDividedShape_base_OnEraseControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDividedShape_base_OnMoveLink", (PyCFunction) _wrap_PyDividedShape_base_OnMoveLink, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDividedShape_base_OnSizingDragLeft", (PyCFunction) _wrap_PyDividedShape_base_OnSizingDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDividedShape_base_OnSizingBeginDragLeft", (PyCFunction) _wrap_PyDividedShape_base_OnSizingBeginDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDividedShape_base_OnSizingEndDragLeft", (PyCFunction) _wrap_PyDividedShape_base_OnSizingEndDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDividedShape_base_OnBeginSize", (PyCFunction) _wrap_PyDividedShape_base_OnBeginSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDividedShape_base_OnEndSize", (PyCFunction) _wrap_PyDividedShape_base_OnEndSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDividedShape_swigregister", PyDividedShape_swigregister, METH_VARARGS },
+        { (char *)"new_PyDivisionShape", (PyCFunction) _wrap_new_PyDivisionShape, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape__setCallbackInfo", (PyCFunction) _wrap_PyDivisionShape__setCallbackInfo, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_AdjustBottom", (PyCFunction) _wrap_PyDivisionShape_AdjustBottom, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_AdjustLeft", (PyCFunction) _wrap_PyDivisionShape_AdjustLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_AdjustRight", (PyCFunction) _wrap_PyDivisionShape_AdjustRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_AdjustTop", (PyCFunction) _wrap_PyDivisionShape_AdjustTop, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_Divide", (PyCFunction) _wrap_PyDivisionShape_Divide, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_EditEdge", (PyCFunction) _wrap_PyDivisionShape_EditEdge, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_GetBottomSide", (PyCFunction) _wrap_PyDivisionShape_GetBottomSide, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_GetHandleSide", (PyCFunction) _wrap_PyDivisionShape_GetHandleSide, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_GetLeftSide", (PyCFunction) _wrap_PyDivisionShape_GetLeftSide, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_GetLeftSideColour", (PyCFunction) _wrap_PyDivisionShape_GetLeftSideColour, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_GetLeftSidePen", (PyCFunction) _wrap_PyDivisionShape_GetLeftSidePen, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_GetRightSide", (PyCFunction) _wrap_PyDivisionShape_GetRightSide, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_GetTopSide", (PyCFunction) _wrap_PyDivisionShape_GetTopSide, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_GetTopSidePen", (PyCFunction) _wrap_PyDivisionShape_GetTopSidePen, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_ResizeAdjoining", (PyCFunction) _wrap_PyDivisionShape_ResizeAdjoining, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_PopupMenu", (PyCFunction) _wrap_PyDivisionShape_PopupMenu, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_SetBottomSide", (PyCFunction) _wrap_PyDivisionShape_SetBottomSide, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_SetHandleSide", (PyCFunction) _wrap_PyDivisionShape_SetHandleSide, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_SetLeftSide", (PyCFunction) _wrap_PyDivisionShape_SetLeftSide, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_SetLeftSideColour", (PyCFunction) _wrap_PyDivisionShape_SetLeftSideColour, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_SetLeftSidePen", (PyCFunction) _wrap_PyDivisionShape_SetLeftSidePen, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_SetRightSide", (PyCFunction) _wrap_PyDivisionShape_SetRightSide, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_SetTopSide", (PyCFunction) _wrap_PyDivisionShape_SetTopSide, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_SetTopSideColour", (PyCFunction) _wrap_PyDivisionShape_SetTopSideColour, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_SetTopSidePen", (PyCFunction) _wrap_PyDivisionShape_SetTopSidePen, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_base_OnDelete", (PyCFunction) _wrap_PyDivisionShape_base_OnDelete, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_base_OnDraw", (PyCFunction) _wrap_PyDivisionShape_base_OnDraw, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_base_OnDrawContents", (PyCFunction) _wrap_PyDivisionShape_base_OnDrawContents, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_base_OnDrawBranches", (PyCFunction) _wrap_PyDivisionShape_base_OnDrawBranches, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_base_OnMoveLinks", (PyCFunction) _wrap_PyDivisionShape_base_OnMoveLinks, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_base_OnErase", (PyCFunction) _wrap_PyDivisionShape_base_OnErase, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_base_OnEraseContents", (PyCFunction) _wrap_PyDivisionShape_base_OnEraseContents, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_base_OnHighlight", (PyCFunction) _wrap_PyDivisionShape_base_OnHighlight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_base_OnLeftClick", (PyCFunction) _wrap_PyDivisionShape_base_OnLeftClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_base_OnLeftDoubleClick", (PyCFunction) _wrap_PyDivisionShape_base_OnLeftDoubleClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_base_OnRightClick", (PyCFunction) _wrap_PyDivisionShape_base_OnRightClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_base_OnSize", (PyCFunction) _wrap_PyDivisionShape_base_OnSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_base_OnMovePre", (PyCFunction) _wrap_PyDivisionShape_base_OnMovePre, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_base_OnMovePost", (PyCFunction) _wrap_PyDivisionShape_base_OnMovePost, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_base_OnDragLeft", (PyCFunction) _wrap_PyDivisionShape_base_OnDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_base_OnBeginDragLeft", (PyCFunction) _wrap_PyDivisionShape_base_OnBeginDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_base_OnEndDragLeft", (PyCFunction) _wrap_PyDivisionShape_base_OnEndDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_base_OnDragRight", (PyCFunction) _wrap_PyDivisionShape_base_OnDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_base_OnBeginDragRight", (PyCFunction) _wrap_PyDivisionShape_base_OnBeginDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_base_OnEndDragRight", (PyCFunction) _wrap_PyDivisionShape_base_OnEndDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_base_OnDrawOutline", (PyCFunction) _wrap_PyDivisionShape_base_OnDrawOutline, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_base_OnDrawControlPoints", (PyCFunction) _wrap_PyDivisionShape_base_OnDrawControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_base_OnEraseControlPoints", (PyCFunction) _wrap_PyDivisionShape_base_OnEraseControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_base_OnMoveLink", (PyCFunction) _wrap_PyDivisionShape_base_OnMoveLink, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_base_OnSizingDragLeft", (PyCFunction) _wrap_PyDivisionShape_base_OnSizingDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_base_OnSizingBeginDragLeft", (PyCFunction) _wrap_PyDivisionShape_base_OnSizingBeginDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_base_OnSizingEndDragLeft", (PyCFunction) _wrap_PyDivisionShape_base_OnSizingEndDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_base_OnBeginSize", (PyCFunction) _wrap_PyDivisionShape_base_OnBeginSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_base_OnEndSize", (PyCFunction) _wrap_PyDivisionShape_base_OnEndSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_swigregister", PyDivisionShape_swigregister, METH_VARARGS },
+        { (char *)"new_PyEllipseShape", (PyCFunction) _wrap_new_PyEllipseShape, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyEllipseShape__setCallbackInfo", (PyCFunction) _wrap_PyEllipseShape__setCallbackInfo, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyEllipseShape_base_OnDraw", (PyCFunction) _wrap_PyEllipseShape_base_OnDraw, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyEllipseShape_base_OnDrawContents", (PyCFunction) _wrap_PyEllipseShape_base_OnDrawContents, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyEllipseShape_base_OnDrawBranches", (PyCFunction) _wrap_PyEllipseShape_base_OnDrawBranches, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyEllipseShape_base_OnMoveLinks", (PyCFunction) _wrap_PyEllipseShape_base_OnMoveLinks, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyEllipseShape_base_OnErase", (PyCFunction) _wrap_PyEllipseShape_base_OnErase, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyEllipseShape_base_OnEraseContents", (PyCFunction) _wrap_PyEllipseShape_base_OnEraseContents, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyEllipseShape_base_OnHighlight", (PyCFunction) _wrap_PyEllipseShape_base_OnHighlight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyEllipseShape_base_OnLeftClick", (PyCFunction) _wrap_PyEllipseShape_base_OnLeftClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyEllipseShape_base_OnLeftDoubleClick", (PyCFunction) _wrap_PyEllipseShape_base_OnLeftDoubleClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyEllipseShape_base_OnRightClick", (PyCFunction) _wrap_PyEllipseShape_base_OnRightClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyEllipseShape_base_OnSize", (PyCFunction) _wrap_PyEllipseShape_base_OnSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyEllipseShape_base_OnMovePre", (PyCFunction) _wrap_PyEllipseShape_base_OnMovePre, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyEllipseShape_base_OnMovePost", (PyCFunction) _wrap_PyEllipseShape_base_OnMovePost, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyEllipseShape_base_OnDragLeft", (PyCFunction) _wrap_PyEllipseShape_base_OnDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyEllipseShape_base_OnBeginDragLeft", (PyCFunction) _wrap_PyEllipseShape_base_OnBeginDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyEllipseShape_base_OnEndDragLeft", (PyCFunction) _wrap_PyEllipseShape_base_OnEndDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyEllipseShape_base_OnDragRight", (PyCFunction) _wrap_PyEllipseShape_base_OnDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyEllipseShape_base_OnBeginDragRight", (PyCFunction) _wrap_PyEllipseShape_base_OnBeginDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyEllipseShape_base_OnEndDragRight", (PyCFunction) _wrap_PyEllipseShape_base_OnEndDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyEllipseShape_base_OnDrawOutline", (PyCFunction) _wrap_PyEllipseShape_base_OnDrawOutline, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyEllipseShape_base_OnDrawControlPoints", (PyCFunction) _wrap_PyEllipseShape_base_OnDrawControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyEllipseShape_base_OnEraseControlPoints", (PyCFunction) _wrap_PyEllipseShape_base_OnEraseControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyEllipseShape_base_OnMoveLink", (PyCFunction) _wrap_PyEllipseShape_base_OnMoveLink, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyEllipseShape_base_OnSizingDragLeft", (PyCFunction) _wrap_PyEllipseShape_base_OnSizingDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyEllipseShape_base_OnSizingBeginDragLeft", (PyCFunction) _wrap_PyEllipseShape_base_OnSizingBeginDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyEllipseShape_base_OnSizingEndDragLeft", (PyCFunction) _wrap_PyEllipseShape_base_OnSizingEndDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyEllipseShape_base_OnBeginSize", (PyCFunction) _wrap_PyEllipseShape_base_OnBeginSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyEllipseShape_base_OnEndSize", (PyCFunction) _wrap_PyEllipseShape_base_OnEndSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyEllipseShape_swigregister", PyEllipseShape_swigregister, METH_VARARGS },
+        { (char *)"new_PyCircleShape", (PyCFunction) _wrap_new_PyCircleShape, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCircleShape__setCallbackInfo", (PyCFunction) _wrap_PyCircleShape__setCallbackInfo, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCircleShape_base_OnDraw", (PyCFunction) _wrap_PyCircleShape_base_OnDraw, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCircleShape_base_OnDrawContents", (PyCFunction) _wrap_PyCircleShape_base_OnDrawContents, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCircleShape_base_OnDrawBranches", (PyCFunction) _wrap_PyCircleShape_base_OnDrawBranches, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCircleShape_base_OnMoveLinks", (PyCFunction) _wrap_PyCircleShape_base_OnMoveLinks, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCircleShape_base_OnErase", (PyCFunction) _wrap_PyCircleShape_base_OnErase, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCircleShape_base_OnEraseContents", (PyCFunction) _wrap_PyCircleShape_base_OnEraseContents, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCircleShape_base_OnHighlight", (PyCFunction) _wrap_PyCircleShape_base_OnHighlight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCircleShape_base_OnLeftClick", (PyCFunction) _wrap_PyCircleShape_base_OnLeftClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCircleShape_base_OnLeftDoubleClick", (PyCFunction) _wrap_PyCircleShape_base_OnLeftDoubleClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCircleShape_base_OnRightClick", (PyCFunction) _wrap_PyCircleShape_base_OnRightClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCircleShape_base_OnSize", (PyCFunction) _wrap_PyCircleShape_base_OnSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCircleShape_base_OnMovePre", (PyCFunction) _wrap_PyCircleShape_base_OnMovePre, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCircleShape_base_OnMovePost", (PyCFunction) _wrap_PyCircleShape_base_OnMovePost, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCircleShape_base_OnDragLeft", (PyCFunction) _wrap_PyCircleShape_base_OnDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCircleShape_base_OnBeginDragLeft", (PyCFunction) _wrap_PyCircleShape_base_OnBeginDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCircleShape_base_OnEndDragLeft", (PyCFunction) _wrap_PyCircleShape_base_OnEndDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCircleShape_base_OnDragRight", (PyCFunction) _wrap_PyCircleShape_base_OnDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCircleShape_base_OnBeginDragRight", (PyCFunction) _wrap_PyCircleShape_base_OnBeginDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCircleShape_base_OnEndDragRight", (PyCFunction) _wrap_PyCircleShape_base_OnEndDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCircleShape_base_OnDrawOutline", (PyCFunction) _wrap_PyCircleShape_base_OnDrawOutline, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCircleShape_base_OnDrawControlPoints", (PyCFunction) _wrap_PyCircleShape_base_OnDrawControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCircleShape_base_OnEraseControlPoints", (PyCFunction) _wrap_PyCircleShape_base_OnEraseControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCircleShape_base_OnMoveLink", (PyCFunction) _wrap_PyCircleShape_base_OnMoveLink, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCircleShape_base_OnSizingDragLeft", (PyCFunction) _wrap_PyCircleShape_base_OnSizingDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCircleShape_base_OnSizingBeginDragLeft", (PyCFunction) _wrap_PyCircleShape_base_OnSizingBeginDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCircleShape_base_OnSizingEndDragLeft", (PyCFunction) _wrap_PyCircleShape_base_OnSizingEndDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCircleShape_base_OnBeginSize", (PyCFunction) _wrap_PyCircleShape_base_OnBeginSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCircleShape_base_OnEndSize", (PyCFunction) _wrap_PyCircleShape_base_OnEndSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCircleShape_swigregister", PyCircleShape_swigregister, METH_VARARGS },
+        { (char *)"new_ArrowHead", (PyCFunction) _wrap_new_ArrowHead, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"delete_ArrowHead", (PyCFunction) _wrap_delete_ArrowHead, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ArrowHead__GetType", (PyCFunction) _wrap_ArrowHead__GetType, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ArrowHead_GetPosition", (PyCFunction) _wrap_ArrowHead_GetPosition, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ArrowHead_SetPosition", (PyCFunction) _wrap_ArrowHead_SetPosition, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ArrowHead_GetXOffset", (PyCFunction) _wrap_ArrowHead_GetXOffset, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ArrowHead_GetYOffset", (PyCFunction) _wrap_ArrowHead_GetYOffset, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ArrowHead_GetSpacing", (PyCFunction) _wrap_ArrowHead_GetSpacing, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ArrowHead_GetSize", (PyCFunction) _wrap_ArrowHead_GetSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ArrowHead_GetName", (PyCFunction) _wrap_ArrowHead_GetName, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ArrowHead_SetXOffset", (PyCFunction) _wrap_ArrowHead_SetXOffset, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ArrowHead_SetYOffset", (PyCFunction) _wrap_ArrowHead_SetYOffset, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ArrowHead_GetMetaFile", (PyCFunction) _wrap_ArrowHead_GetMetaFile, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ArrowHead_GetId", (PyCFunction) _wrap_ArrowHead_GetId, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ArrowHead_GetArrowEnd", (PyCFunction) _wrap_ArrowHead_GetArrowEnd, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ArrowHead_GetArrowSize", (PyCFunction) _wrap_ArrowHead_GetArrowSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ArrowHead_SetSize", (PyCFunction) _wrap_ArrowHead_SetSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ArrowHead_SetSpacing", (PyCFunction) _wrap_ArrowHead_SetSpacing, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ArrowHead_swigregister", ArrowHead_swigregister, METH_VARARGS },
+        { (char *)"new_PyLineShape", (PyCFunction) _wrap_new_PyLineShape, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape__setCallbackInfo", (PyCFunction) _wrap_PyLineShape__setCallbackInfo, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_AddArrow", (PyCFunction) _wrap_PyLineShape_AddArrow, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_AddArrowOrdered", (PyCFunction) _wrap_PyLineShape_AddArrowOrdered, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_ClearArrow", (PyCFunction) _wrap_PyLineShape_ClearArrow, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_ClearArrowsAtPosition", (PyCFunction) _wrap_PyLineShape_ClearArrowsAtPosition, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_DrawArrow", (PyCFunction) _wrap_PyLineShape_DrawArrow, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_DeleteArrowHeadId", (PyCFunction) _wrap_PyLineShape_DeleteArrowHeadId, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_DeleteArrowHead", (PyCFunction) _wrap_PyLineShape_DeleteArrowHead, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_DeleteLineControlPoint", (PyCFunction) _wrap_PyLineShape_DeleteLineControlPoint, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_DrawArrows", (PyCFunction) _wrap_PyLineShape_DrawArrows, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_DrawRegion", (PyCFunction) _wrap_PyLineShape_DrawRegion, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_EraseRegion", (PyCFunction) _wrap_PyLineShape_EraseRegion, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_FindArrowHeadId", (PyCFunction) _wrap_PyLineShape_FindArrowHeadId, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_FindArrowHead", (PyCFunction) _wrap_PyLineShape_FindArrowHead, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_FindLineEndPoints", (PyCFunction) _wrap_PyLineShape_FindLineEndPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_FindLinePosition", (PyCFunction) _wrap_PyLineShape_FindLinePosition, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_FindMinimumWidth", (PyCFunction) _wrap_PyLineShape_FindMinimumWidth, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_FindNth", (PyCFunction) _wrap_PyLineShape_FindNth, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_GetAttachmentFrom", (PyCFunction) _wrap_PyLineShape_GetAttachmentFrom, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_GetAttachmentTo", (PyCFunction) _wrap_PyLineShape_GetAttachmentTo, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_GetEnds", (PyCFunction) _wrap_PyLineShape_GetEnds, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_GetFrom", (PyCFunction) _wrap_PyLineShape_GetFrom, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_GetLabelPosition", (PyCFunction) _wrap_PyLineShape_GetLabelPosition, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_GetNextControlPoint", (PyCFunction) _wrap_PyLineShape_GetNextControlPoint, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_GetTo", (PyCFunction) _wrap_PyLineShape_GetTo, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_Initialise", (PyCFunction) _wrap_PyLineShape_Initialise, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_InsertLineControlPoint", (PyCFunction) _wrap_PyLineShape_InsertLineControlPoint, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_IsEnd", (PyCFunction) _wrap_PyLineShape_IsEnd, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_IsSpline", (PyCFunction) _wrap_PyLineShape_IsSpline, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_MakeLineControlPoints", (PyCFunction) _wrap_PyLineShape_MakeLineControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_GetLineControlPoints", (PyCFunction) _wrap_PyLineShape_GetLineControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_SetAttachmentFrom", (PyCFunction) _wrap_PyLineShape_SetAttachmentFrom, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_SetAttachments", (PyCFunction) _wrap_PyLineShape_SetAttachments, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_SetAttachmentTo", (PyCFunction) _wrap_PyLineShape_SetAttachmentTo, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_SetEnds", (PyCFunction) _wrap_PyLineShape_SetEnds, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_SetFrom", (PyCFunction) _wrap_PyLineShape_SetFrom, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_SetIgnoreOffsets", (PyCFunction) _wrap_PyLineShape_SetIgnoreOffsets, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_SetSpline", (PyCFunction) _wrap_PyLineShape_SetSpline, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_SetTo", (PyCFunction) _wrap_PyLineShape_SetTo, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_Straighten", (PyCFunction) _wrap_PyLineShape_Straighten, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_Unlink", (PyCFunction) _wrap_PyLineShape_Unlink, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_base_OnDraw", (PyCFunction) _wrap_PyLineShape_base_OnDraw, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_base_OnDrawContents", (PyCFunction) _wrap_PyLineShape_base_OnDrawContents, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_base_OnDrawBranches", (PyCFunction) _wrap_PyLineShape_base_OnDrawBranches, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_base_OnMoveLinks", (PyCFunction) _wrap_PyLineShape_base_OnMoveLinks, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_base_OnErase", (PyCFunction) _wrap_PyLineShape_base_OnErase, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_base_OnEraseContents", (PyCFunction) _wrap_PyLineShape_base_OnEraseContents, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_base_OnHighlight", (PyCFunction) _wrap_PyLineShape_base_OnHighlight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_base_OnLeftClick", (PyCFunction) _wrap_PyLineShape_base_OnLeftClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_base_OnLeftDoubleClick", (PyCFunction) _wrap_PyLineShape_base_OnLeftDoubleClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_base_OnRightClick", (PyCFunction) _wrap_PyLineShape_base_OnRightClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_base_OnSize", (PyCFunction) _wrap_PyLineShape_base_OnSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_base_OnMovePre", (PyCFunction) _wrap_PyLineShape_base_OnMovePre, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_base_OnMovePost", (PyCFunction) _wrap_PyLineShape_base_OnMovePost, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_base_OnDragLeft", (PyCFunction) _wrap_PyLineShape_base_OnDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_base_OnBeginDragLeft", (PyCFunction) _wrap_PyLineShape_base_OnBeginDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_base_OnEndDragLeft", (PyCFunction) _wrap_PyLineShape_base_OnEndDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_base_OnDragRight", (PyCFunction) _wrap_PyLineShape_base_OnDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_base_OnBeginDragRight", (PyCFunction) _wrap_PyLineShape_base_OnBeginDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_base_OnEndDragRight", (PyCFunction) _wrap_PyLineShape_base_OnEndDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_base_OnDrawOutline", (PyCFunction) _wrap_PyLineShape_base_OnDrawOutline, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_base_OnDrawControlPoints", (PyCFunction) _wrap_PyLineShape_base_OnDrawControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_base_OnEraseControlPoints", (PyCFunction) _wrap_PyLineShape_base_OnEraseControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_base_OnMoveLink", (PyCFunction) _wrap_PyLineShape_base_OnMoveLink, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_base_OnSizingDragLeft", (PyCFunction) _wrap_PyLineShape_base_OnSizingDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_base_OnSizingBeginDragLeft", (PyCFunction) _wrap_PyLineShape_base_OnSizingBeginDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_base_OnSizingEndDragLeft", (PyCFunction) _wrap_PyLineShape_base_OnSizingEndDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_base_OnBeginSize", (PyCFunction) _wrap_PyLineShape_base_OnBeginSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_base_OnEndSize", (PyCFunction) _wrap_PyLineShape_base_OnEndSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_swigregister", PyLineShape_swigregister, METH_VARARGS },
+        { (char *)"new_PyPolygonShape", (PyCFunction) _wrap_new_PyPolygonShape, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape__setCallbackInfo", (PyCFunction) _wrap_PyPolygonShape__setCallbackInfo, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_Create", (PyCFunction) _wrap_PyPolygonShape_Create, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_AddPolygonPoint", (PyCFunction) _wrap_PyPolygonShape_AddPolygonPoint, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_CalculatePolygonCentre", (PyCFunction) _wrap_PyPolygonShape_CalculatePolygonCentre, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_DeletePolygonPoint", (PyCFunction) _wrap_PyPolygonShape_DeletePolygonPoint, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_GetPoints", (PyCFunction) _wrap_PyPolygonShape_GetPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_UpdateOriginalPoints", (PyCFunction) _wrap_PyPolygonShape_UpdateOriginalPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_base_OnDraw", (PyCFunction) _wrap_PyPolygonShape_base_OnDraw, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_base_OnDrawContents", (PyCFunction) _wrap_PyPolygonShape_base_OnDrawContents, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_base_OnDrawBranches", (PyCFunction) _wrap_PyPolygonShape_base_OnDrawBranches, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_base_OnMoveLinks", (PyCFunction) _wrap_PyPolygonShape_base_OnMoveLinks, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_base_OnErase", (PyCFunction) _wrap_PyPolygonShape_base_OnErase, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_base_OnEraseContents", (PyCFunction) _wrap_PyPolygonShape_base_OnEraseContents, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_base_OnHighlight", (PyCFunction) _wrap_PyPolygonShape_base_OnHighlight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_base_OnLeftClick", (PyCFunction) _wrap_PyPolygonShape_base_OnLeftClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_base_OnLeftDoubleClick", (PyCFunction) _wrap_PyPolygonShape_base_OnLeftDoubleClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_base_OnRightClick", (PyCFunction) _wrap_PyPolygonShape_base_OnRightClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_base_OnSize", (PyCFunction) _wrap_PyPolygonShape_base_OnSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_base_OnMovePre", (PyCFunction) _wrap_PyPolygonShape_base_OnMovePre, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_base_OnMovePost", (PyCFunction) _wrap_PyPolygonShape_base_OnMovePost, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_base_OnDragLeft", (PyCFunction) _wrap_PyPolygonShape_base_OnDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_base_OnBeginDragLeft", (PyCFunction) _wrap_PyPolygonShape_base_OnBeginDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_base_OnEndDragLeft", (PyCFunction) _wrap_PyPolygonShape_base_OnEndDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_base_OnDragRight", (PyCFunction) _wrap_PyPolygonShape_base_OnDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_base_OnBeginDragRight", (PyCFunction) _wrap_PyPolygonShape_base_OnBeginDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_base_OnEndDragRight", (PyCFunction) _wrap_PyPolygonShape_base_OnEndDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_base_OnDrawOutline", (PyCFunction) _wrap_PyPolygonShape_base_OnDrawOutline, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_base_OnDrawControlPoints", (PyCFunction) _wrap_PyPolygonShape_base_OnDrawControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_base_OnEraseControlPoints", (PyCFunction) _wrap_PyPolygonShape_base_OnEraseControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_base_OnMoveLink", (PyCFunction) _wrap_PyPolygonShape_base_OnMoveLink, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_base_OnSizingDragLeft", (PyCFunction) _wrap_PyPolygonShape_base_OnSizingDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_base_OnSizingBeginDragLeft", (PyCFunction) _wrap_PyPolygonShape_base_OnSizingBeginDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_base_OnSizingEndDragLeft", (PyCFunction) _wrap_PyPolygonShape_base_OnSizingEndDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_base_OnBeginSize", (PyCFunction) _wrap_PyPolygonShape_base_OnBeginSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_base_OnEndSize", (PyCFunction) _wrap_PyPolygonShape_base_OnEndSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_swigregister", PyPolygonShape_swigregister, METH_VARARGS },
+        { (char *)"new_PyTextShape", (PyCFunction) _wrap_new_PyTextShape, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyTextShape__setCallbackInfo", (PyCFunction) _wrap_PyTextShape__setCallbackInfo, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyTextShape_base_OnDelete", (PyCFunction) _wrap_PyTextShape_base_OnDelete, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyTextShape_base_OnDraw", (PyCFunction) _wrap_PyTextShape_base_OnDraw, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyTextShape_base_OnDrawContents", (PyCFunction) _wrap_PyTextShape_base_OnDrawContents, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyTextShape_base_OnDrawBranches", (PyCFunction) _wrap_PyTextShape_base_OnDrawBranches, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyTextShape_base_OnMoveLinks", (PyCFunction) _wrap_PyTextShape_base_OnMoveLinks, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyTextShape_base_OnErase", (PyCFunction) _wrap_PyTextShape_base_OnErase, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyTextShape_base_OnEraseContents", (PyCFunction) _wrap_PyTextShape_base_OnEraseContents, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyTextShape_base_OnHighlight", (PyCFunction) _wrap_PyTextShape_base_OnHighlight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyTextShape_base_OnLeftClick", (PyCFunction) _wrap_PyTextShape_base_OnLeftClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyTextShape_base_OnLeftDoubleClick", (PyCFunction) _wrap_PyTextShape_base_OnLeftDoubleClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyTextShape_base_OnRightClick", (PyCFunction) _wrap_PyTextShape_base_OnRightClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyTextShape_base_OnSize", (PyCFunction) _wrap_PyTextShape_base_OnSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyTextShape_base_OnMovePre", (PyCFunction) _wrap_PyTextShape_base_OnMovePre, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyTextShape_base_OnMovePost", (PyCFunction) _wrap_PyTextShape_base_OnMovePost, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyTextShape_base_OnDragLeft", (PyCFunction) _wrap_PyTextShape_base_OnDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyTextShape_base_OnBeginDragLeft", (PyCFunction) _wrap_PyTextShape_base_OnBeginDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyTextShape_base_OnEndDragLeft", (PyCFunction) _wrap_PyTextShape_base_OnEndDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyTextShape_base_OnDragRight", (PyCFunction) _wrap_PyTextShape_base_OnDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyTextShape_base_OnBeginDragRight", (PyCFunction) _wrap_PyTextShape_base_OnBeginDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyTextShape_base_OnEndDragRight", (PyCFunction) _wrap_PyTextShape_base_OnEndDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyTextShape_base_OnDrawOutline", (PyCFunction) _wrap_PyTextShape_base_OnDrawOutline, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyTextShape_base_OnDrawControlPoints", (PyCFunction) _wrap_PyTextShape_base_OnDrawControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyTextShape_base_OnEraseControlPoints", (PyCFunction) _wrap_PyTextShape_base_OnEraseControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyTextShape_base_OnMoveLink", (PyCFunction) _wrap_PyTextShape_base_OnMoveLink, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyTextShape_base_OnSizingDragLeft", (PyCFunction) _wrap_PyTextShape_base_OnSizingDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyTextShape_base_OnSizingBeginDragLeft", (PyCFunction) _wrap_PyTextShape_base_OnSizingBeginDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyTextShape_base_OnSizingEndDragLeft", (PyCFunction) _wrap_PyTextShape_base_OnSizingEndDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyTextShape_base_OnBeginSize", (PyCFunction) _wrap_PyTextShape_base_OnBeginSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyTextShape_base_OnEndSize", (PyCFunction) _wrap_PyTextShape_base_OnEndSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyTextShape_swigregister", PyTextShape_swigregister, METH_VARARGS },
+        { (char *)"new_Diagram", (PyCFunction) _wrap_new_Diagram, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"Diagram_AddShape", (PyCFunction) _wrap_Diagram_AddShape, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"Diagram_Clear", (PyCFunction) _wrap_Diagram_Clear, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"Diagram_DeleteAllShapes", (PyCFunction) _wrap_Diagram_DeleteAllShapes, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"Diagram_DrawOutline", (PyCFunction) _wrap_Diagram_DrawOutline, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"Diagram_FindShape", (PyCFunction) _wrap_Diagram_FindShape, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"Diagram_GetCanvas", (PyCFunction) _wrap_Diagram_GetCanvas, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"Diagram_GetCount", (PyCFunction) _wrap_Diagram_GetCount, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"Diagram_GetGridSpacing", (PyCFunction) _wrap_Diagram_GetGridSpacing, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"Diagram_GetMouseTolerance", (PyCFunction) _wrap_Diagram_GetMouseTolerance, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"Diagram_GetShapeList", (PyCFunction) _wrap_Diagram_GetShapeList, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"Diagram_GetQuickEditMode", (PyCFunction) _wrap_Diagram_GetQuickEditMode, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"Diagram_GetSnapToGrid", (PyCFunction) _wrap_Diagram_GetSnapToGrid, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"Diagram_InsertShape", (PyCFunction) _wrap_Diagram_InsertShape, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"Diagram_RecentreAll", (PyCFunction) _wrap_Diagram_RecentreAll, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"Diagram_Redraw", (PyCFunction) _wrap_Diagram_Redraw, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"Diagram_RemoveAllShapes", (PyCFunction) _wrap_Diagram_RemoveAllShapes, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"Diagram_RemoveShape", (PyCFunction) _wrap_Diagram_RemoveShape, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"Diagram_SetCanvas", (PyCFunction) _wrap_Diagram_SetCanvas, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"Diagram_SetGridSpacing", (PyCFunction) _wrap_Diagram_SetGridSpacing, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"Diagram_SetMouseTolerance", (PyCFunction) _wrap_Diagram_SetMouseTolerance, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"Diagram_SetQuickEditMode", (PyCFunction) _wrap_Diagram_SetQuickEditMode, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"Diagram_SetSnapToGrid", (PyCFunction) _wrap_Diagram_SetSnapToGrid, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"Diagram_ShowAll", (PyCFunction) _wrap_Diagram_ShowAll, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"Diagram_Snap", (PyCFunction) _wrap_Diagram_Snap, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"Diagram_swigregister", Diagram_swigregister, METH_VARARGS },
+        { (char *)"new_PyShapeCanvas", (PyCFunction) _wrap_new_PyShapeCanvas, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeCanvas__setCallbackInfo", (PyCFunction) _wrap_PyShapeCanvas__setCallbackInfo, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeCanvas_AddShape", (PyCFunction) _wrap_PyShapeCanvas_AddShape, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeCanvas_FindShape", (PyCFunction) _wrap_PyShapeCanvas_FindShape, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeCanvas_FindFirstSensitiveShape", (PyCFunction) _wrap_PyShapeCanvas_FindFirstSensitiveShape, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeCanvas_GetDiagram", (PyCFunction) _wrap_PyShapeCanvas_GetDiagram, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeCanvas_GetQuickEditMode", (PyCFunction) _wrap_PyShapeCanvas_GetQuickEditMode, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeCanvas_InsertShape", (PyCFunction) _wrap_PyShapeCanvas_InsertShape, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeCanvas_base_OnBeginDragLeft", (PyCFunction) _wrap_PyShapeCanvas_base_OnBeginDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeCanvas_base_OnBeginDragRight", (PyCFunction) _wrap_PyShapeCanvas_base_OnBeginDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeCanvas_base_OnEndDragLeft", (PyCFunction) _wrap_PyShapeCanvas_base_OnEndDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeCanvas_base_OnEndDragRight", (PyCFunction) _wrap_PyShapeCanvas_base_OnEndDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeCanvas_base_OnDragLeft", (PyCFunction) _wrap_PyShapeCanvas_base_OnDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeCanvas_base_OnDragRight", (PyCFunction) _wrap_PyShapeCanvas_base_OnDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeCanvas_base_OnLeftClick", (PyCFunction) _wrap_PyShapeCanvas_base_OnLeftClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeCanvas_base_OnRightClick", (PyCFunction) _wrap_PyShapeCanvas_base_OnRightClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeCanvas_Redraw", (PyCFunction) _wrap_PyShapeCanvas_Redraw, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeCanvas_RemoveShape", (PyCFunction) _wrap_PyShapeCanvas_RemoveShape, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeCanvas_SetDiagram", (PyCFunction) _wrap_PyShapeCanvas_SetDiagram, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeCanvas_Snap", (PyCFunction) _wrap_PyShapeCanvas_Snap, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeCanvas_swigregister", PyShapeCanvas_swigregister, METH_VARARGS },
+        { (char *)"OGLInitialize", (PyCFunction) _wrap_OGLInitialize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"OGLCleanUp", (PyCFunction) _wrap_OGLCleanUp, METH_VARARGS | METH_KEYWORDS },
+        { NULL, NULL }
+};
+
+
+/* -------- TYPE CONVERSION AND EQUIVALENCE RULES (BEGIN) -------- */
+
+static void *_p_wxScrolledWindowTo_p_wxPanel(void *x) {
+    return (void *)((wxPanel *)  ((wxScrolledWindow *) x));
+}
+static void *_p_wxPyVScrolledWindowTo_p_wxPanel(void *x) {
+    return (void *)((wxPanel *)  ((wxPyVScrolledWindow *) x));
+}
+static void *_p_wxPyVListBoxTo_p_wxPanel(void *x) {
+    return (void *)((wxPanel *) (wxPyVScrolledWindow *) ((wxPyVListBox *) x));
+}
+static void *_p_wxPyHtmlListBoxTo_p_wxPanel(void *x) {
+    return (void *)((wxPanel *) (wxPyVScrolledWindow *)(wxPyVListBox *) ((wxPyHtmlListBox *) x));
+}
+static void *_p_wxPyPanelTo_p_wxPanel(void *x) {
+    return (void *)((wxPanel *)  ((wxPyPanel *) x));
+}
+static void *_p_wxPreviewCanvasTo_p_wxPanel(void *x) {
+    return (void *)((wxPanel *) (wxScrolledWindow *) ((wxPreviewCanvas *) x));
+}
+static void *_p_wxPreviewControlBarTo_p_wxPanel(void *x) {
+    return (void *)((wxPanel *)  ((wxPreviewControlBar *) x));
+}
+static void *_p_wxPyPreviewControlBarTo_p_wxPanel(void *x) {
+    return (void *)((wxPanel *) (wxPreviewControlBar *) ((wxPyPreviewControlBar *) x));
+}
+static void *_p_wxPyShapeCanvasTo_p_wxPanel(void *x) {
+    return (void *)((wxPanel *) (wxScrolledWindow *) ((wxPyShapeCanvas *) x));
+}
+static void *_p_wxPreviewCanvasTo_p_wxScrolledWindow(void *x) {
+    return (void *)((wxScrolledWindow *)  ((wxPreviewCanvas *) x));
+}
+static void *_p_wxPyShapeCanvasTo_p_wxScrolledWindow(void *x) {
+    return (void *)((wxScrolledWindow *)  ((wxPyShapeCanvas *) x));
+}
+static void *_p_wxSplashScreenTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxFrame *) ((wxSplashScreen *) x));
+}
+static void *_p_wxMiniFrameTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxFrame *) ((wxMiniFrame *) x));
+}
+static void *_p_wxPyPanelTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxPanel *) ((wxPyPanel *) x));
+}
+static void *_p_wxMenuBarTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *)  ((wxMenuBar *) x));
+}
+static void *_p_wxFindReplaceDialogTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxDialog *) ((wxFindReplaceDialog *) x));
+}
+static void *_p_wxProgressDialogTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxFrame *) ((wxProgressDialog *) x));
+}
+static void *_p_wxMessageDialogTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxDialog *) ((wxMessageDialog *) x));
+}
+static void *_p_wxTextEntryDialogTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxDialog *) ((wxTextEntryDialog *) x));
+}
+static void *_p_wxSingleChoiceDialogTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxDialog *) ((wxSingleChoiceDialog *) x));
+}
+static void *_p_wxMultiChoiceDialogTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxDialog *) ((wxMultiChoiceDialog *) x));
+}
+static void *_p_wxFileDialogTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxDialog *) ((wxFileDialog *) x));
+}
+static void *_p_wxPanelTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *)  ((wxPanel *) x));
+}
+static void *_p_wxStatusBarTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *)  ((wxStatusBar *) x));
+}
+static void *_p_wxMDIClientWindowTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *)  ((wxMDIClientWindow *) x));
+}
+static void *_p_wxPyVScrolledWindowTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxPanel *) ((wxPyVScrolledWindow *) x));
+}
+static void *_p_wxTipWindowTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxFrame *) ((wxTipWindow *) x));
+}
+static void *_p_wxPyPopupTransientWindowTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxPopupWindow *) ((wxPyPopupTransientWindow *) x));
+}
+static void *_p_wxPopupWindowTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *)  ((wxPopupWindow *) x));
+}
+static void *_p_wxSashLayoutWindowTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxSashWindow *) ((wxSashLayoutWindow *) x));
+}
+static void *_p_wxScrolledWindowTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxPanel *) ((wxScrolledWindow *) x));
+}
+static void *_p_wxTopLevelWindowTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *)  ((wxTopLevelWindow *) x));
+}
+static void *_p_wxSplashScreenWindowTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *)  ((wxSplashScreenWindow *) x));
+}
+static void *_p_wxSplitterWindowTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *)  ((wxSplitterWindow *) x));
+}
+static void *_p_wxSashWindowTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *)  ((wxSashWindow *) x));
+}
+static void *_p_wxControlTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *)  ((wxControl *) x));
+}
+static void *_p_wxPreviewFrameTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxFrame *) ((wxPreviewFrame *) x));
+}
+static void *_p_wxPyPreviewFrameTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxFrame *)(wxPreviewFrame *) ((wxPyPreviewFrame *) x));
+}
+static void *_p_wxMDIChildFrameTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxFrame *) ((wxMDIChildFrame *) x));
+}
+static void *_p_wxControlWithItemsTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *) ((wxControlWithItems *) x));
+}
+static void *_p_wxPyWindowTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *)  ((wxPyWindow *) x));
+}
+static void *_p_wxPreviewCanvasTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxPanel *)(wxScrolledWindow *) ((wxPreviewCanvas *) x));
+}
+static void *_p_wxPyShapeCanvasTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxPanel *)(wxScrolledWindow *) ((wxPyShapeCanvas *) x));
+}
+static void *_p_wxPyHtmlListBoxTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxPanel *)(wxPyVScrolledWindow *)(wxPyVListBox *) ((wxPyHtmlListBox *) x));
+}
+static void *_p_wxPyVListBoxTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxPanel *)(wxPyVScrolledWindow *) ((wxPyVListBox *) x));
+}
+static void *_p_wxPreviewControlBarTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxPanel *) ((wxPreviewControlBar *) x));
+}
+static void *_p_wxPyPreviewControlBarTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxPanel *)(wxPreviewControlBar *) ((wxPyPreviewControlBar *) x));
+}
+static void *_p_wxFrameTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *) ((wxFrame *) x));
+}
+static void *_p_wxFontDialogTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxDialog *) ((wxFontDialog *) x));
+}
+static void *_p_wxDirDialogTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxDialog *) ((wxDirDialog *) x));
+}
+static void *_p_wxColourDialogTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxDialog *) ((wxColourDialog *) x));
+}
+static void *_p_wxDialogTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *) ((wxDialog *) x));
+}
+static void *_p_wxPageSetupDialogTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxDialog *) ((wxPageSetupDialog *) x));
+}
+static void *_p_wxPrintDialogTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxDialog *) ((wxPrintDialog *) x));
+}
+static void *_p_wxMDIParentFrameTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxFrame *) ((wxMDIParentFrame *) x));
+}
+static void *_p_wxLayoutConstraintsTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxLayoutConstraints *) x));
+}
+static void *_p_wxQueryLayoutInfoEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxQueryLayoutInfoEvent *) x));
+}
+static void *_p_wxPyControlPointTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxPyShapeEvtHandler *)(wxPyShape *)(wxPyRectangleShape *) ((wxPyControlPoint *) x));
+}
+static void *_p_wxPreviewFrameTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxFrame *) ((wxPreviewFrame *) x));
+}
+static void *_p_wxPyPreviewFrameTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxFrame *)(wxPreviewFrame *) ((wxPyPreviewFrame *) x));
+}
+static void *_p_wxGBSizerItemTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxSizerItem *) ((wxGBSizerItem *) x));
+}
+static void *_p_wxSizerItemTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxSizerItem *) x));
+}
+static void *_p_wxScrollEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxScrollEvent *) x));
+}
+static void *_p_wxIndividualLayoutConstraintTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxIndividualLayoutConstraint *) x));
+}
+static void *_p_wxOGLConstraintTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxOGLConstraint *) x));
+}
+static void *_p_wxStaticBoxSizerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxSizer *)(wxBoxSizer *) ((wxStaticBoxSizer *) x));
+}
+static void *_p_wxBoxSizerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxSizer *) ((wxBoxSizer *) x));
+}
+static void *_p_wxSizerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxSizer *) x));
+}
+static void *_p_wxPyDrawnShapeTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxPyShapeEvtHandler *)(wxPyShape *)(wxPyRectangleShape *) ((wxPyDrawnShape *) x));
+}
+static void *_p_wxPyDivisionShapeTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxPyShapeEvtHandler *)(wxPyShape *)(wxPyRectangleShape *)(wxPyCompositeShape *) ((wxPyDivisionShape *) x));
+}
+static void *_p_wxPyPolygonShapeTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxPyShapeEvtHandler *)(wxPyShape *) ((wxPyPolygonShape *) x));
+}
+static void *_p_wxGridBagSizerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxSizer *)(wxGridSizer *)(wxFlexGridSizer *) ((wxGridBagSizer *) x));
+}
+static void *_p_wxUpdateUIEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxUpdateUIEvent *) x));
+}
+static void *_p_wxArrowHeadTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxArrowHead *) x));
+}
+static void *_p_wxPyPanelTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxPanel *) ((wxPyPanel *) x));
+}
+static void *_p_wxEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxEvent *) x));
+}
+static void *_p_wxFontDataTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxFontData *) x));
+}
+static void *_p_wxPrintDataTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxPrintData *) x));
+}
+static void *_p_wxFlexGridSizerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxSizer *)(wxGridSizer *) ((wxFlexGridSizer *) x));
+}
+static void *_p_wxGridSizerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxSizer *) ((wxGridSizer *) x));
+}
+static void *_p_wxInitDialogEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxInitDialogEvent *) x));
+}
+static void *_p_wxLayoutAlgorithmTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxLayoutAlgorithm *) x));
+}
+static void *_p_wxTaskBarIconTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *) ((wxTaskBarIcon *) x));
+}
+static void *_p_wxFindDialogEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxFindDialogEvent *) x));
+}
+static void *_p_wxPaintEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxPaintEvent *) x));
+}
+static void *_p_wxNcPaintEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxNcPaintEvent *) x));
+}
+static void *_p_wxPaletteChangedEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxPaletteChangedEvent *) x));
+}
+static void *_p_wxDisplayChangedEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxDisplayChangedEvent *) x));
+}
+static void *_p_wxMouseCaptureChangedEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxMouseCaptureChangedEvent *) x));
+}
+static void *_p_wxSysColourChangedEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxSysColourChangedEvent *) x));
+}
+static void *_p_wxPreviewCanvasTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxPanel *)(wxScrolledWindow *) ((wxPreviewCanvas *) x));
+}
+static void *_p_wxPyShapeCanvasTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxPanel *)(wxScrolledWindow *) ((wxPyShapeCanvas *) x));
+}
+static void *_p_wxControlTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *) ((wxControl *) x));
+}
+static void *_p_wxPyEllipseShapeTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxPyShapeEvtHandler *)(wxPyShape *) ((wxPyEllipseShape *) x));
+}
+static void *_p_wxSetCursorEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxSetCursorEvent *) x));
+}
+static void *_p_wxSplitterEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *)(wxNotifyEvent *) ((wxSplitterEvent *) x));
+}
+static void *_p_wxFSFileTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxFSFile *) x));
+}
+static void *_p_wxFindReplaceDataTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxFindReplaceData *) x));
+}
+static void *_p_wxPyBitmapShapeTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxPyShapeEvtHandler *)(wxPyShape *)(wxPyRectangleShape *) ((wxPyBitmapShape *) x));
+}
+static void *_p_wxPySizerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxSizer *) ((wxPySizer *) x));
+}
+static void *_p_wxMDIChildFrameTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxFrame *) ((wxMDIChildFrame *) x));
+}
+static void *_p_wxColourDataTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxColourData *) x));
+}
+static void *_p_wxPyEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxPyEvent *) x));
+}
+static void *_p_wxNotifyEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxNotifyEvent *) x));
+}
+static void *_p_wxPyWindowTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *) ((wxPyWindow *) x));
+}
+static void *_p_wxSplashScreenTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxFrame *) ((wxSplashScreen *) x));
+}
+static void *_p_wxFileDialogTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxFileDialog *) x));
+}
+static void *_p_wxMultiChoiceDialogTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxMultiChoiceDialog *) x));
+}
+static void *_p_wxSingleChoiceDialogTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxSingleChoiceDialog *) x));
+}
+static void *_p_wxTextEntryDialogTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxTextEntryDialog *) x));
+}
+static void *_p_wxMessageDialogTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxMessageDialog *) x));
+}
+static void *_p_wxProgressDialogTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxFrame *) ((wxProgressDialog *) x));
+}
+static void *_p_wxFindReplaceDialogTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxFindReplaceDialog *) x));
+}
+static void *_p_wxShowEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxShowEvent *) x));
+}
+static void *_p_wxPrinterTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxPrinter *) x));
+}
+static void *_p_wxMenuItemTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxMenuItem *) x));
+}
+static void *_p_wxIdleEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxIdleEvent *) x));
+}
+static void *_p_wxWindowCreateEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxWindowCreateEvent *) x));
+}
+static void *_p_wxQueryNewPaletteEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxQueryNewPaletteEvent *) x));
+}
+static void *_p_wxMaximizeEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxMaximizeEvent *) x));
+}
+static void *_p_wxIconizeEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxIconizeEvent *) x));
+}
+static void *_p_wxSizeEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxSizeEvent *) x));
+}
+static void *_p_wxMoveEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxMoveEvent *) x));
+}
+static void *_p_wxActivateEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxActivateEvent *) x));
+}
+static void *_p_wxXPMHandlerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxImageHandler *) ((wxXPMHandler *) x));
+}
+static void *_p_wxPNMHandlerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxImageHandler *) ((wxPNMHandler *) x));
+}
+static void *_p_wxJPEGHandlerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxImageHandler *) ((wxJPEGHandler *) x));
+}
+static void *_p_wxPCXHandlerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxImageHandler *) ((wxPCXHandler *) x));
+}
+static void *_p_wxGIFHandlerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxImageHandler *) ((wxGIFHandler *) x));
+}
+static void *_p_wxPNGHandlerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxImageHandler *) ((wxPNGHandler *) x));
+}
+static void *_p_wxANIHandlerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxImageHandler *)(wxBMPHandler *)(wxICOHandler *)(wxCURHandler *) ((wxANIHandler *) x));
+}
+static void *_p_wxCURHandlerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxImageHandler *)(wxBMPHandler *)(wxICOHandler *) ((wxCURHandler *) x));
+}
+static void *_p_wxICOHandlerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxImageHandler *)(wxBMPHandler *) ((wxICOHandler *) x));
+}
+static void *_p_wxBMPHandlerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxImageHandler *) ((wxBMPHandler *) x));
+}
+static void *_p_wxImageHandlerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxImageHandler *) x));
+}
+static void *_p_wxTIFFHandlerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxImageHandler *) ((wxTIFFHandler *) x));
+}
+static void *_p_wxEvtHandlerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxEvtHandler *) x));
+}
+static void *_p_wxCalculateLayoutEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxCalculateLayoutEvent *) x));
+}
+static void *_p_wxPyShapeEvtHandlerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxPyShapeEvtHandler *) x));
+}
+static void *_p_wxPyVListBoxTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxPanel *)(wxPyVScrolledWindow *) ((wxPyVListBox *) x));
+}
+static void *_p_wxPyHtmlListBoxTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxPanel *)(wxPyVScrolledWindow *)(wxPyVListBox *) ((wxPyHtmlListBox *) x));
+}
+static void *_p_wxPyTextShapeTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxPyShapeEvtHandler *)(wxPyShape *)(wxPyRectangleShape *) ((wxPyTextShape *) x));
+}
+static void *_p_wxAcceleratorTableTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxAcceleratorTable *) x));
+}
+static void *_p_wxPyDividedShapeTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxPyShapeEvtHandler *)(wxPyShape *)(wxPyRectangleShape *) ((wxPyDividedShape *) x));
+}
+static void *_p_wxMiniFrameTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxFrame *) ((wxMiniFrame *) x));
+}
+static void *_p_wxImageTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxImage *) x));
+}
+static void *_p_wxFrameTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *) ((wxFrame *) x));
+}
+static void *_p_wxPyPrintoutTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxPyPrintout *) x));
+}
+static void *_p_wxScrollWinEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxScrollWinEvent *) x));
+}
+static void *_p_wxTaskBarIconEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxTaskBarIconEvent *) x));
+}
+static void *_p_wxDiagramTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxDiagram *) x));
+}
+static void *_p_wxStatusBarTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *) ((wxStatusBar *) x));
+}
+static void *_p_wxMDIParentFrameTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxFrame *) ((wxMDIParentFrame *) x));
+}
+static void *_p_wxWindowDestroyEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxWindowDestroyEvent *) x));
+}
+static void *_p_wxNavigationKeyEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxNavigationKeyEvent *) x));
+}
+static void *_p_wxKeyEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxKeyEvent *) x));
+}
+static void *_p_wxScrolledWindowTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxPanel *) ((wxScrolledWindow *) x));
+}
+static void *_p_wxWindowTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *) ((wxWindow *) x));
+}
+static void *_p_wxMenuTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *) ((wxMenu *) x));
+}
+static void *_p_wxMenuBarTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *) ((wxMenuBar *) x));
+}
+static void *_p_wxTopLevelWindowTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *) ((wxTopLevelWindow *) x));
+}
+static void *_p_wxSplashScreenWindowTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *) ((wxSplashScreenWindow *) x));
+}
+static void *_p_wxSplitterWindowTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *) ((wxSplitterWindow *) x));
+}
+static void *_p_wxSashWindowTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *) ((wxSashWindow *) x));
+}
+static void *_p_wxSashLayoutWindowTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxSashWindow *) ((wxSashLayoutWindow *) x));
+}
+static void *_p_wxPopupWindowTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *) ((wxPopupWindow *) x));
+}
+static void *_p_wxPyPopupTransientWindowTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxPopupWindow *) ((wxPyPopupTransientWindow *) x));
+}
+static void *_p_wxTipWindowTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxFrame *) ((wxTipWindow *) x));
+}
+static void *_p_wxPyVScrolledWindowTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxPanel *) ((wxPyVScrolledWindow *) x));
+}
+static void *_p_wxMDIClientWindowTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *) ((wxMDIClientWindow *) x));
+}
+static void *_p_wxSashEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxSashEvent *) x));
+}
+static void *_p_wxPrintPreviewTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxPrintPreview *) x));
+}
+static void *_p_wxPyPrintPreviewTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxPrintPreview *) ((wxPyPrintPreview *) x));
+}
+static void *_p_wxPanelTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *) ((wxPanel *) x));
+}
+static void *_p_wxDialogTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *) ((wxDialog *) x));
+}
+static void *_p_wxColourDialogTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxColourDialog *) x));
+}
+static void *_p_wxDirDialogTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxDirDialog *) x));
+}
+static void *_p_wxFontDialogTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxFontDialog *) x));
+}
+static void *_p_wxPageSetupDialogTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxPageSetupDialog *) x));
+}
+static void *_p_wxPrintDialogTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxPrintDialog *) x));
+}
+static void *_p_wxPyShapeTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxPyShapeEvtHandler *) ((wxPyShape *) x));
+}
+static void *_p_wxFileSystemTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxFileSystem *) x));
+}
+static void *_p_wxContextMenuEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxContextMenuEvent *) x));
+}
+static void *_p_wxMenuEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxMenuEvent *) x));
+}
+static void *_p_wxPyAppTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *) ((wxPyApp *) x));
+}
+static void *_p_wxCloseEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxCloseEvent *) x));
+}
+static void *_p_wxMouseEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxMouseEvent *) x));
+}
+static void *_p_wxEraseEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxEraseEvent *) x));
+}
+static void *_p_wxPyCommandEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxPyCommandEvent *) x));
+}
+static void *_p_wxCommandEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxCommandEvent *) x));
+}
+static void *_p_wxPreviewControlBarTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxPanel *) ((wxPreviewControlBar *) x));
+}
+static void *_p_wxPyPreviewControlBarTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxPanel *)(wxPreviewControlBar *) ((wxPyPreviewControlBar *) x));
+}
+static void *_p_wxDropFilesEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxDropFilesEvent *) x));
+}
+static void *_p_wxFocusEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxFocusEvent *) x));
+}
+static void *_p_wxChildFocusEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxChildFocusEvent *) x));
+}
+static void *_p_wxPyRectangleShapeTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxPyShapeEvtHandler *)(wxPyShape *) ((wxPyRectangleShape *) x));
+}
+static void *_p_wxPyCompositeShapeTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxPyShapeEvtHandler *)(wxPyShape *)(wxPyRectangleShape *) ((wxPyCompositeShape *) x));
+}
+static void *_p_wxPyCircleShapeTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxPyShapeEvtHandler *)(wxPyShape *)(wxPyEllipseShape *) ((wxPyCircleShape *) x));
+}
+static void *_p_wxPyLineShapeTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxPyShapeEvtHandler *)(wxPyShape *) ((wxPyLineShape *) x));
+}
+static void *_p_wxPseudoMetaFileTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxPseudoMetaFile *) x));
+}
+static void *_p_wxControlWithItemsTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *) ((wxControlWithItems *) x));
+}
+static void *_p_wxPageSetupDialogDataTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxPageSetupDialogData *) x));
+}
+static void *_p_wxPrintDialogDataTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxPrintDialogData *) x));
+}
+static void *_p_wxPyValidatorTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxValidator *) ((wxPyValidator *) x));
+}
+static void *_p_wxValidatorTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *) ((wxValidator *) x));
+}
+static void *_p_wxShapeRegionTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxShapeRegion *) x));
+}
+static void *_p_wxPyRectangleShapeTo_p_wxPyShapeEvtHandler(void *x) {
+    return (void *)((wxPyShapeEvtHandler *) (wxPyShape *) ((wxPyRectangleShape *) x));
+}
+static void *_p_wxPyBitmapShapeTo_p_wxPyShapeEvtHandler(void *x) {
+    return (void *)((wxPyShapeEvtHandler *) (wxPyShape *)(wxPyRectangleShape *) ((wxPyBitmapShape *) x));
+}
+static void *_p_wxPyCompositeShapeTo_p_wxPyShapeEvtHandler(void *x) {
+    return (void *)((wxPyShapeEvtHandler *) (wxPyShape *)(wxPyRectangleShape *) ((wxPyCompositeShape *) x));
+}
+static void *_p_wxPyCircleShapeTo_p_wxPyShapeEvtHandler(void *x) {
+    return (void *)((wxPyShapeEvtHandler *) (wxPyShape *)(wxPyEllipseShape *) ((wxPyCircleShape *) x));
+}
+static void *_p_wxPyLineShapeTo_p_wxPyShapeEvtHandler(void *x) {
+    return (void *)((wxPyShapeEvtHandler *) (wxPyShape *) ((wxPyLineShape *) x));
+}
+static void *_p_wxPyTextShapeTo_p_wxPyShapeEvtHandler(void *x) {
+    return (void *)((wxPyShapeEvtHandler *) (wxPyShape *)(wxPyRectangleShape *) ((wxPyTextShape *) x));
+}
+static void *_p_wxPyControlPointTo_p_wxPyShapeEvtHandler(void *x) {
+    return (void *)((wxPyShapeEvtHandler *) (wxPyShape *)(wxPyRectangleShape *) ((wxPyControlPoint *) x));
+}
+static void *_p_wxPyDrawnShapeTo_p_wxPyShapeEvtHandler(void *x) {
+    return (void *)((wxPyShapeEvtHandler *) (wxPyShape *)(wxPyRectangleShape *) ((wxPyDrawnShape *) x));
+}
+static void *_p_wxPyDivisionShapeTo_p_wxPyShapeEvtHandler(void *x) {
+    return (void *)((wxPyShapeEvtHandler *) (wxPyShape *)(wxPyRectangleShape *)(wxPyCompositeShape *) ((wxPyDivisionShape *) x));
+}
+static void *_p_wxPyPolygonShapeTo_p_wxPyShapeEvtHandler(void *x) {
+    return (void *)((wxPyShapeEvtHandler *) (wxPyShape *) ((wxPyPolygonShape *) x));
+}
+static void *_p_wxPyDividedShapeTo_p_wxPyShapeEvtHandler(void *x) {
+    return (void *)((wxPyShapeEvtHandler *) (wxPyShape *)(wxPyRectangleShape *) ((wxPyDividedShape *) x));
+}
+static void *_p_wxPyShapeTo_p_wxPyShapeEvtHandler(void *x) {
+    return (void *)((wxPyShapeEvtHandler *)  ((wxPyShape *) x));
+}
+static void *_p_wxPyEllipseShapeTo_p_wxPyShapeEvtHandler(void *x) {
+    return (void *)((wxPyShapeEvtHandler *) (wxPyShape *) ((wxPyEllipseShape *) x));
+}
+static void *_p_wxSplashScreenTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxFrame *) ((wxSplashScreen *) x));
+}
+static void *_p_wxMiniFrameTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxFrame *) ((wxMiniFrame *) x));
+}
+static void *_p_wxPyPanelTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxPanel *) ((wxPyPanel *) x));
+}
+static void *_p_wxMenuBarTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *) ((wxMenuBar *) x));
+}
+static void *_p_wxValidatorTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *)  ((wxValidator *) x));
+}
+static void *_p_wxPyValidatorTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxValidator *) ((wxPyValidator *) x));
+}
+static void *_p_wxMenuTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *)  ((wxMenu *) x));
+}
+static void *_p_wxTextEntryDialogTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxTextEntryDialog *) x));
+}
+static void *_p_wxSingleChoiceDialogTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxSingleChoiceDialog *) x));
+}
+static void *_p_wxMultiChoiceDialogTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxMultiChoiceDialog *) x));
+}
+static void *_p_wxFileDialogTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxFileDialog *) x));
+}
+static void *_p_wxMessageDialogTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxMessageDialog *) x));
+}
+static void *_p_wxProgressDialogTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxFrame *) ((wxProgressDialog *) x));
+}
+static void *_p_wxFindReplaceDialogTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxFindReplaceDialog *) x));
+}
+static void *_p_wxPanelTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *) ((wxPanel *) x));
+}
+static void *_p_wxStatusBarTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *) ((wxStatusBar *) x));
+}
+static void *_p_wxPyVScrolledWindowTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxPanel *) ((wxPyVScrolledWindow *) x));
+}
+static void *_p_wxTipWindowTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxFrame *) ((wxTipWindow *) x));
+}
+static void *_p_wxPyPopupTransientWindowTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxPopupWindow *) ((wxPyPopupTransientWindow *) x));
+}
+static void *_p_wxPopupWindowTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *) ((wxPopupWindow *) x));
+}
+static void *_p_wxSashLayoutWindowTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxSashWindow *) ((wxSashLayoutWindow *) x));
+}
+static void *_p_wxSashWindowTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *) ((wxSashWindow *) x));
+}
+static void *_p_wxSplitterWindowTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *) ((wxSplitterWindow *) x));
+}
+static void *_p_wxSplashScreenWindowTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *) ((wxSplashScreenWindow *) x));
+}
+static void *_p_wxWindowTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *)  ((wxWindow *) x));
+}
+static void *_p_wxScrolledWindowTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxPanel *) ((wxScrolledWindow *) x));
+}
+static void *_p_wxTopLevelWindowTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *) ((wxTopLevelWindow *) x));
+}
+static void *_p_wxMDIClientWindowTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *) ((wxMDIClientWindow *) x));
+}
+static void *_p_wxControlTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *) ((wxControl *) x));
+}
+static void *_p_wxPreviewFrameTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxFrame *) ((wxPreviewFrame *) x));
+}
+static void *_p_wxPyPreviewFrameTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxFrame *)(wxPreviewFrame *) ((wxPyPreviewFrame *) x));
+}
+static void *_p_wxMDIChildFrameTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxFrame *) ((wxMDIChildFrame *) x));
+}
+static void *_p_wxPyAppTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *)  ((wxPyApp *) x));
+}
+static void *_p_wxControlWithItemsTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *) ((wxControlWithItems *) x));
+}
+static void *_p_wxPyWindowTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *) ((wxPyWindow *) x));
+}
+static void *_p_wxPreviewCanvasTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxPanel *)(wxScrolledWindow *) ((wxPreviewCanvas *) x));
+}
+static void *_p_wxPyShapeCanvasTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxPanel *)(wxScrolledWindow *) ((wxPyShapeCanvas *) x));
+}
+static void *_p_wxPyHtmlListBoxTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxPanel *)(wxPyVScrolledWindow *)(wxPyVListBox *) ((wxPyHtmlListBox *) x));
+}
+static void *_p_wxPyVListBoxTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxPanel *)(wxPyVScrolledWindow *) ((wxPyVListBox *) x));
+}
+static void *_p_wxPreviewControlBarTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxPanel *) ((wxPreviewControlBar *) x));
+}
+static void *_p_wxPyPreviewControlBarTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxPanel *)(wxPreviewControlBar *) ((wxPyPreviewControlBar *) x));
+}
+static void *_p_wxTaskBarIconTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *)  ((wxTaskBarIcon *) x));
+}
+static void *_p_wxFrameTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *) ((wxFrame *) x));
+}
+static void *_p_wxFontDialogTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxFontDialog *) x));
+}
+static void *_p_wxDirDialogTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxDirDialog *) x));
+}
+static void *_p_wxColourDialogTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxColourDialog *) x));
+}
+static void *_p_wxDialogTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *) ((wxDialog *) x));
+}
+static void *_p_wxPageSetupDialogTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxPageSetupDialog *) x));
+}
+static void *_p_wxPrintDialogTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxPrintDialog *) x));
+}
+static void *_p_wxMDIParentFrameTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxFrame *) ((wxMDIParentFrame *) x));
+}
+static void *_p_wxPyCircleShapeTo_p_wxPyEllipseShape(void *x) {
+    return (void *)((wxPyEllipseShape *)  ((wxPyCircleShape *) x));
+}
+static void *_p_wxPyRectangleShapeTo_p_wxPyShape(void *x) {
+    return (void *)((wxPyShape *)  ((wxPyRectangleShape *) x));
+}
+static void *_p_wxPyBitmapShapeTo_p_wxPyShape(void *x) {
+    return (void *)((wxPyShape *) (wxPyRectangleShape *) ((wxPyBitmapShape *) x));
+}
+static void *_p_wxPyCompositeShapeTo_p_wxPyShape(void *x) {
+    return (void *)((wxPyShape *) (wxPyRectangleShape *) ((wxPyCompositeShape *) x));
+}
+static void *_p_wxPyCircleShapeTo_p_wxPyShape(void *x) {
+    return (void *)((wxPyShape *) (wxPyEllipseShape *) ((wxPyCircleShape *) x));
+}
+static void *_p_wxPyLineShapeTo_p_wxPyShape(void *x) {
+    return (void *)((wxPyShape *)  ((wxPyLineShape *) x));
+}
+static void *_p_wxPyTextShapeTo_p_wxPyShape(void *x) {
+    return (void *)((wxPyShape *) (wxPyRectangleShape *) ((wxPyTextShape *) x));
+}
+static void *_p_wxPyControlPointTo_p_wxPyShape(void *x) {
+    return (void *)((wxPyShape *) (wxPyRectangleShape *) ((wxPyControlPoint *) x));
+}
+static void *_p_wxPyDrawnShapeTo_p_wxPyShape(void *x) {
+    return (void *)((wxPyShape *) (wxPyRectangleShape *) ((wxPyDrawnShape *) x));
+}
+static void *_p_wxPyDivisionShapeTo_p_wxPyShape(void *x) {
+    return (void *)((wxPyShape *) (wxPyRectangleShape *)(wxPyCompositeShape *) ((wxPyDivisionShape *) x));
+}
+static void *_p_wxPyPolygonShapeTo_p_wxPyShape(void *x) {
+    return (void *)((wxPyShape *)  ((wxPyPolygonShape *) x));
+}
+static void *_p_wxPyDividedShapeTo_p_wxPyShape(void *x) {
+    return (void *)((wxPyShape *) (wxPyRectangleShape *) ((wxPyDividedShape *) x));
+}
+static void *_p_wxPyEllipseShapeTo_p_wxPyShape(void *x) {
+    return (void *)((wxPyShape *)  ((wxPyEllipseShape *) x));
+}
+static void *_p_wxPyBitmapShapeTo_p_wxPyRectangleShape(void *x) {
+    return (void *)((wxPyRectangleShape *)  ((wxPyBitmapShape *) x));
+}
+static void *_p_wxPyCompositeShapeTo_p_wxPyRectangleShape(void *x) {
+    return (void *)((wxPyRectangleShape *)  ((wxPyCompositeShape *) x));
+}
+static void *_p_wxPyTextShapeTo_p_wxPyRectangleShape(void *x) {
+    return (void *)((wxPyRectangleShape *)  ((wxPyTextShape *) x));
+}
+static void *_p_wxPyControlPointTo_p_wxPyRectangleShape(void *x) {
+    return (void *)((wxPyRectangleShape *)  ((wxPyControlPoint *) x));
+}
+static void *_p_wxPyDrawnShapeTo_p_wxPyRectangleShape(void *x) {
+    return (void *)((wxPyRectangleShape *)  ((wxPyDrawnShape *) x));
+}
+static void *_p_wxPyDivisionShapeTo_p_wxPyRectangleShape(void *x) {
+    return (void *)((wxPyRectangleShape *) (wxPyCompositeShape *) ((wxPyDivisionShape *) x));
+}
+static void *_p_wxPyDividedShapeTo_p_wxPyRectangleShape(void *x) {
+    return (void *)((wxPyRectangleShape *)  ((wxPyDividedShape *) x));
+}
+static void *_p_wxPyDivisionShapeTo_p_wxPyCompositeShape(void *x) {
+    return (void *)((wxPyCompositeShape *)  ((wxPyDivisionShape *) x));
+}
+static swig_type_info _swigt__p_wxOGLConstraint[] = {{"_p_wxOGLConstraint", 0, "wxOGLConstraint *", 0},{"_p_wxOGLConstraint"},{0}};
+static swig_type_info _swigt__p_wxBrush[] = {{"_p_wxBrush", 0, "wxBrush *", 0},{"_p_wxBrush"},{0}};
+static swig_type_info _swigt__p_wxColour[] = {{"_p_wxColour", 0, "wxColour *", 0},{"_p_wxColour"},{0}};
+static swig_type_info _swigt__p_wxShapeRegion[] = {{"_p_wxShapeRegion", 0, "wxShapeRegion *", 0},{"_p_wxShapeRegion"},{0}};
+static swig_type_info _swigt__p_wxDC[] = {{"_p_wxDC", 0, "wxDC *", 0},{"_p_wxDC"},{0}};
+static swig_type_info _swigt__p_wxRealPoint[] = {{"_p_wxRealPoint", 0, "wxRealPoint *", 0},{"_p_wxRealPoint"},{0}};
+static swig_type_info _swigt__p_wxPyControlPoint[] = {{"_p_wxPyControlPoint", 0, "wxPyControlPoint *", 0},{"_p_wxPyControlPoint"},{0}};
+static swig_type_info _swigt__p_wxArrowHead[] = {{"_p_wxArrowHead", 0, "wxArrowHead *", 0},{"_p_wxArrowHead"},{0}};
+static swig_type_info _swigt__p_wxStringList[] = {{"_p_wxStringList", 0, "wxStringList *", 0},{"_p_wxStringList"},{0}};
+static swig_type_info _swigt__p_wxPanel[] = {{"_p_wxPanel", 0, "wxPanel *", 0},{"_p_wxPanel"},{"_p_wxScrolledWindow", _p_wxScrolledWindowTo_p_wxPanel},{"_p_wxPyVScrolledWindow", _p_wxPyVScrolledWindowTo_p_wxPanel},{"_p_wxPyVListBox", _p_wxPyVListBoxTo_p_wxPanel},{"_p_wxPyHtmlListBox", _p_wxPyHtmlListBoxTo_p_wxPanel},{"_p_wxPyPanel", _p_wxPyPanelTo_p_wxPanel},{"_p_wxPreviewCanvas", _p_wxPreviewCanvasTo_p_wxPanel},{"_p_wxPyShapeCanvas", _p_wxPyShapeCanvasTo_p_wxPanel},{"_p_wxPreviewControlBar", _p_wxPreviewControlBarTo_p_wxPanel},{"_p_wxPyPreviewControlBar", _p_wxPyPreviewControlBarTo_p_wxPanel},{0}};
+static swig_type_info _swigt__p_bool[] = {{"_p_bool", 0, "bool *", 0},{"_p_bool"},{0}};
+static swig_type_info _swigt__p_wxList[] = {{"_p_wxList", 0, "wxList *", 0},{"_p_wxList"},{0}};
+static swig_type_info _swigt__p_wxFont[] = {{"_p_wxFont", 0, "wxFont *", 0},{"_p_wxFont"},{0}};
+static swig_type_info _swigt__p_wxScrolledWindow[] = {{"_p_wxScrolledWindow", 0, "wxScrolledWindow *", 0},{"_p_wxScrolledWindow"},{"_p_wxPreviewCanvas", _p_wxPreviewCanvasTo_p_wxScrolledWindow},{"_p_wxPyShapeCanvas", _p_wxPyShapeCanvasTo_p_wxScrolledWindow},{0}};
+static swig_type_info _swigt__p_wxWindow[] = {{"_p_wxWindow", 0, "wxWindow *", 0},{"_p_wxSplashScreen", _p_wxSplashScreenTo_p_wxWindow},{"_p_wxMiniFrame", _p_wxMiniFrameTo_p_wxWindow},{"_p_wxPyPanel", _p_wxPyPanelTo_p_wxWindow},{"_p_wxMenuBar", _p_wxMenuBarTo_p_wxWindow},{"_p_wxFindReplaceDialog", _p_wxFindReplaceDialogTo_p_wxWindow},{"_p_wxProgressDialog", _p_wxProgressDialogTo_p_wxWindow},{"_p_wxMessageDialog", _p_wxMessageDialogTo_p_wxWindow},{"_p_wxTextEntryDialog", _p_wxTextEntryDialogTo_p_wxWindow},{"_p_wxSingleChoiceDialog", _p_wxSingleChoiceDialogTo_p_wxWindow},{"_p_wxMultiChoiceDialog", _p_wxMultiChoiceDialogTo_p_wxWindow},{"_p_wxFileDialog", _p_wxFileDialogTo_p_wxWindow},{"_p_wxPanel", _p_wxPanelTo_p_wxWindow},{"_p_wxStatusBar", _p_wxStatusBarTo_p_wxWindow},{"_p_wxMDIClientWindow", _p_wxMDIClientWindowTo_p_wxWindow},{"_p_wxTipWindow", _p_wxTipWindowTo_p_wxWindow},{"_p_wxPyPopupTransientWindow", _p_wxPyPopupTransientWindowTo_p_wxWindow},{"_p_wxPopupWindow", _p_wxPopupWindowTo_p_wxWindow},{"_p_wxSashLayoutWindow", _p_wxSashLayoutWindowTo_p_wxWindow},{"_p_wxTopLevelWindow", _p_wxTopLevelWindowTo_p_wxWindow},{"_p_wxSplashScreenWindow", _p_wxSplashScreenWindowTo_p_wxWindow},{"_p_wxSplitterWindow", _p_wxSplitterWindowTo_p_wxWindow},{"_p_wxSashWindow", _p_wxSashWindowTo_p_wxWindow},{"_p_wxPyVScrolledWindow", _p_wxPyVScrolledWindowTo_p_wxWindow},{"_p_wxWindow"},{"_p_wxScrolledWindow", _p_wxScrolledWindowTo_p_wxWindow},{"_p_wxPreviewFrame", _p_wxPreviewFrameTo_p_wxWindow},{"_p_wxPyPreviewFrame", _p_wxPyPreviewFrameTo_p_wxWindow},{"_p_wxControl", _p_wxControlTo_p_wxWindow},{"_p_wxMDIChildFrame", _p_wxMDIChildFrameTo_p_wxWindow},{"_p_wxControlWithItems", _p_wxControlWithItemsTo_p_wxWindow},{"_p_wxPyShapeCanvas", _p_wxPyShapeCanvasTo_p_wxWindow},{"_p_wxPreviewCanvas", _p_wxPreviewCanvasTo_p_wxWindow},{"_p_wxPyWindow", _p_wxPyWindowTo_p_wxWindow},{"_p_wxPyHtmlListBox", _p_wxPyHtmlListBoxTo_p_wxWindow},{"_p_wxPyVListBox", _p_wxPyVListBoxTo_p_wxWindow},{"_p_wxPyPreviewControlBar", _p_wxPyPreviewControlBarTo_p_wxWindow},{"_p_wxPreviewControlBar", _p_wxPreviewControlBarTo_p_wxWindow},{"_p_wxFrame", _p_wxFrameTo_p_wxWindow},{"_p_wxFontDialog", _p_wxFontDialogTo_p_wxWindow},{"_p_wxDirDialog", _p_wxDirDialogTo_p_wxWindow},{"_p_wxColourDialog", _p_wxColourDialogTo_p_wxWindow},{"_p_wxDialog", _p_wxDialogTo_p_wxWindow},{"_p_wxPageSetupDialog", _p_wxPageSetupDialogTo_p_wxWindow},{"_p_wxPrintDialog", _p_wxPrintDialogTo_p_wxWindow},{"_p_wxMDIParentFrame", _p_wxMDIParentFrameTo_p_wxWindow},{0}};
+static swig_type_info _swigt__p_double[] = {{"_p_double", 0, "double *", 0},{"_p_double"},{0}};
+static swig_type_info _swigt__p_wxPyDivisionShape[] = {{"_p_wxPyDivisionShape", 0, "wxPyDivisionShape *", 0},{"_p_wxPyDivisionShape"},{0}};
+static swig_type_info _swigt__p_wxPyDrawnShape[] = {{"_p_wxPyDrawnShape", 0, "wxPyDrawnShape *", 0},{"_p_wxPyDrawnShape"},{0}};
+static swig_type_info _swigt__p_wxPyPolygonShape[] = {{"_p_wxPyPolygonShape", 0, "wxPyPolygonShape *", 0},{"_p_wxPyPolygonShape"},{0}};
+static swig_type_info _swigt__p_wxBitmap[] = {{"_p_wxBitmap", 0, "wxBitmap *", 0},{"_p_wxBitmap"},{0}};
+static swig_type_info _swigt__p_wxObject[] = {{"_p_wxObject", 0, "wxObject *", 0},{"_p_wxQueryLayoutInfoEvent", _p_wxQueryLayoutInfoEventTo_p_wxObject},{"_p_wxLayoutConstraints", _p_wxLayoutConstraintsTo_p_wxObject},{"_p_wxPyControlPoint", _p_wxPyControlPointTo_p_wxObject},{"_p_wxPreviewFrame", _p_wxPreviewFrameTo_p_wxObject},{"_p_wxPyPreviewFrame", _p_wxPyPreviewFrameTo_p_wxObject},{"_p_wxGBSizerItem", _p_wxGBSizerItemTo_p_wxObject},{"_p_wxSizerItem", _p_wxSizerItemTo_p_wxObject},{"_p_wxScrollEvent", _p_wxScrollEventTo_p_wxObject},{"_p_wxIndividualLayoutConstraint", _p_wxIndividualLayoutConstraintTo_p_wxObject},{"_p_wxOGLConstraint", _p_wxOGLConstraintTo_p_wxObject},{"_p_wxPyPolygonShape", _p_wxPyPolygonShapeTo_p_wxObject},{"_p_wxPyDivisionShape", _p_wxPyDivisionShapeTo_p_wxObject},{"_p_wxPyDrawnShape", _p_wxPyDrawnShapeTo_p_wxObject},{"_p_wxSizer", _p_wxSizerTo_p_wxObject},{"_p_wxBoxSizer", _p_wxBoxSizerTo_p_wxObject},{"_p_wxStaticBoxSizer", _p_wxStaticBoxSizerTo_p_wxObject},{"_p_wxGridBagSizer", _p_wxGridBagSizerTo_p_wxObject},{"_p_wxUpdateUIEvent", _p_wxUpdateUIEventTo_p_wxObject},{"_p_wxArrowHead", _p_wxArrowHeadTo_p_wxObject},{"_p_wxPyPanel", _p_wxPyPanelTo_p_wxObject},{"_p_wxMenu", _p_wxMenuTo_p_wxObject},{"_p_wxFontData", _p_wxFontDataTo_p_wxObject},{"_p_wxPrintData", _p_wxPrintDataTo_p_wxObject},{"_p_wxEvent", _p_wxEventTo_p_wxObject},{"_p_wxFlexGridSizer", _p_wxFlexGridSizerTo_p_wxObject},{"_p_wxGridSizer", _p_wxGridSizerTo_p_wxObject},{"_p_wxTaskBarIcon", _p_wxTaskBarIconTo_p_wxObject},{"_p_wxLayoutAlgorithm", _p_wxLayoutAlgorithmTo_p_wxObject},{"_p_wxInitDialogEvent", _p_wxInitDialogEventTo_p_wxObject},{"_p_wxFindDialogEvent", _p_wxFindDialogEventTo_p_wxObject},{"_p_wxPaintEvent", _p_wxPaintEventTo_p_wxObject},{"_p_wxNcPaintEvent", _p_wxNcPaintEventTo_p_wxObject},{"_p_wxDisplayChangedEvent", _p_wxDisplayChangedEventTo_p_wxObject},{"_p_wxPaletteChangedEvent", _p_wxPaletteChangedEventTo_p_wxObject},{"_p_wxMouseCaptureChangedEvent", _p_wxMouseCaptureChangedEventTo_p_wxObject},{"_p_wxSysColourChangedEvent", _p_wxSysColourChangedEventTo_p_wxObject},{"_p_wxPreviewCanvas", _p_wxPreviewCanvasTo_p_wxObject},{"_p_wxPyShapeCanvas", _p_wxPyShapeCanvasTo_p_wxObject},{"_p_wxControl", _p_wxControlTo_p_wxObject},{"_p_wxPyEllipseShape", _p_wxPyEllipseShapeTo_p_wxObject},{"_p_wxSetCursorEvent", _p_wxSetCursorEventTo_p_wxObject},{"_p_wxSplitterEvent", _p_wxSplitterEventTo_p_wxObject},{"_p_wxFSFile", _p_wxFSFileTo_p_wxObject},{"_p_wxFindReplaceData", _p_wxFindReplaceDataTo_p_wxObject},{"_p_wxPyBitmapShape", _p_wxPyBitmapShapeTo_p_wxObject},{"_p_wxPySizer", _p_wxPySizerTo_p_wxObject},{"_p_wxMDIChildFrame", _p_wxMDIChildFrameTo_p_wxObject},{"_p_wxColourData", _p_wxColourDataTo_p_wxObject},{"_p_wxPyEvent", _p_wxPyEventTo_p_wxObject},{"_p_wxNotifyEvent", _p_wxNotifyEventTo_p_wxObject},{"_p_wxPyWindow", _p_wxPyWindowTo_p_wxObject},{"_p_wxSplashScreen", _p_wxSplashScreenTo_p_wxObject},{"_p_wxFileDialog", _p_wxFileDialogTo_p_wxObject},{"_p_wxMultiChoiceDialog", _p_wxMultiChoiceDialogTo_p_wxObject},{"_p_wxSingleChoiceDialog", _p_wxSingleChoiceDialogTo_p_wxObject},{"_p_wxTextEntryDialog", _p_wxTextEntryDialogTo_p_wxObject},{"_p_wxMessageDialog", _p_wxMessageDialogTo_p_wxObject},{"_p_wxProgressDialog", _p_wxProgressDialogTo_p_wxObject},{"_p_wxFindReplaceDialog", _p_wxFindReplaceDialogTo_p_wxObject},{"_p_wxShowEvent", _p_wxShowEventTo_p_wxObject},{"_p_wxPrinter", _p_wxPrinterTo_p_wxObject},{"_p_wxMenuItem", _p_wxMenuItemTo_p_wxObject},{"_p_wxIdleEvent", _p_wxIdleEventTo_p_wxObject},{"_p_wxWindowCreateEvent", _p_wxWindowCreateEventTo_p_wxObject},{"_p_wxQueryNewPaletteEvent", _p_wxQueryNewPaletteEventTo_p_wxObject},{"_p_wxMaximizeEvent", _p_wxMaximizeEventTo_p_wxObject},{"_p_wxIconizeEvent", _p_wxIconizeEventTo_p_wxObject},{"_p_wxSizeEvent", _p_wxSizeEventTo_p_wxObject},{"_p_wxMoveEvent", _p_wxMoveEventTo_p_wxObject},{"_p_wxActivateEvent", _p_wxActivateEventTo_p_wxObject},{"_p_wxJPEGHandler", _p_wxJPEGHandlerTo_p_wxObject},{"_p_wxPCXHandler", _p_wxPCXHandlerTo_p_wxObject},{"_p_wxPNMHandler", _p_wxPNMHandlerTo_p_wxObject},{"_p_wxXPMHandler", _p_wxXPMHandlerTo_p_wxObject},{"_p_wxGIFHandler", _p_wxGIFHandlerTo_p_wxObject},{"_p_wxPNGHandler", _p_wxPNGHandlerTo_p_wxObject},{"_p_wxANIHandler", _p_wxANIHandlerTo_p_wxObject},{"_p_wxCURHandler", _p_wxCURHandlerTo_p_wxObject},{"_p_wxICOHandler", _p_wxICOHandlerTo_p_wxObject},{"_p_wxBMPHandler", _p_wxBMPHandlerTo_p_wxObject},{"_p_wxImageHandler", _p_wxImageHandlerTo_p_wxObject},{"_p_wxTIFFHandler", _p_wxTIFFHandlerTo_p_wxObject},{"_p_wxEvtHandler", _p_wxEvtHandlerTo_p_wxObject},{"_p_wxCalculateLayoutEvent", _p_wxCalculateLayoutEventTo_p_wxObject},{"_p_wxPyShapeEvtHandler", _p_wxPyShapeEvtHandlerTo_p_wxObject},{"_p_wxPyVListBox", _p_wxPyVListBoxTo_p_wxObject},{"_p_wxPyHtmlListBox", _p_wxPyHtmlListBoxTo_p_wxObject},{"_p_wxPyTextShape", _p_wxPyTextShapeTo_p_wxObject},{"_p_wxPyDividedShape", _p_wxPyDividedShapeTo_p_wxObject},{"_p_wxAcceleratorTable", _p_wxAcceleratorTableTo_p_wxObject},{"_p_wxMiniFrame", _p_wxMiniFrameTo_p_wxObject},{"_p_wxImage", _p_wxImageTo_p_wxObject},{"_p_wxFrame", _p_wxFrameTo_p_wxObject},{"_p_wxPyPrintout", _p_wxPyPrintoutTo_p_wxObject},{"_p_wxScrollWinEvent", _p_wxScrollWinEventTo_p_wxObject},{"_p_wxTaskBarIconEvent", _p_wxTaskBarIconEventTo_p_wxObject},{"_p_wxDiagram", _p_wxDiagramTo_p_wxObject},{"_p_wxStatusBar", _p_wxStatusBarTo_p_wxObject},{"_p_wxMDIParentFrame", _p_wxMDIParentFrameTo_p_wxObject},{"_p_wxObject"},{"_p_wxWindowDestroyEvent", _p_wxWindowDestroyEventTo_p_wxObject},{"_p_wxNavigationKeyEvent", _p_wxNavigationKeyEventTo_p_wxObject},{"_p_wxKeyEvent", _p_wxKeyEventTo_p_wxObject},{"_p_wxMenuBar", _p_wxMenuBarTo_p_wxObject},{"_p_wxScrolledWindow", _p_wxScrolledWindowTo_p_wxObject},{"_p_wxPyVScrolledWindow", _p_wxPyVScrolledWindowTo_p_wxObject},{"_p_wxMDIClientWindow", _p_wxMDIClientWindowTo_p_wxObject},{"_p_wxTopLevelWindow", _p_wxTopLevelWindowTo_p_wxObject},{"_p_wxWindow", _p_wxWindowTo_p_wxObject},{"_p_wxSashWindow", _p_wxSashWindowTo_p_wxObject},{"_p_wxSplitterWindow", _p_wxSplitterWindowTo_p_wxObject},{"_p_wxSplashScreenWindow", _p_wxSplashScreenWindowTo_p_wxObject},{"_p_wxSashLayoutWindow", _p_wxSashLayoutWindowTo_p_wxObject},{"_p_wxPopupWindow", _p_wxPopupWindowTo_p_wxObject},{"_p_wxPyPopupTransientWindow", _p_wxPyPopupTransientWindowTo_p_wxObject},{"_p_wxTipWindow", _p_wxTipWindowTo_p_wxObject},{"_p_wxSashEvent", _p_wxSashEventTo_p_wxObject},{"_p_wxPrintPreview", _p_wxPrintPreviewTo_p_wxObject},{"_p_wxPyPrintPreview", _p_wxPyPrintPreviewTo_p_wxObject},{"_p_wxPanel", _p_wxPanelTo_p_wxObject},{"_p_wxFontDialog", _p_wxFontDialogTo_p_wxObject},{"_p_wxDirDialog", _p_wxDirDialogTo_p_wxObject},{"_p_wxColourDialog", _p_wxColourDialogTo_p_wxObject},{"_p_wxDialog", _p_wxDialogTo_p_wxObject},{"_p_wxPageSetupDialog", _p_wxPageSetupDialogTo_p_wxObject},{"_p_wxPrintDialog", _p_wxPrintDialogTo_p_wxObject},{"_p_wxPyShape", _p_wxPyShapeTo_p_wxObject},{"_p_wxFileSystem", _p_wxFileSystemTo_p_wxObject},{"_p_wxContextMenuEvent", _p_wxContextMenuEventTo_p_wxObject},{"_p_wxMenuEvent", _p_wxMenuEventTo_p_wxObject},{"_p_wxPyApp", _p_wxPyAppTo_p_wxObject},{"_p_wxCloseEvent", _p_wxCloseEventTo_p_wxObject},{"_p_wxMouseEvent", _p_wxMouseEventTo_p_wxObject},{"_p_wxEraseEvent", _p_wxEraseEventTo_p_wxObject},{"_p_wxPyCommandEvent", _p_wxPyCommandEventTo_p_wxObject},{"_p_wxCommandEvent", _p_wxCommandEventTo_p_wxObject},{"_p_wxPreviewControlBar", _p_wxPreviewControlBarTo_p_wxObject},{"_p_wxPyPreviewControlBar", _p_wxPyPreviewControlBarTo_p_wxObject},{"_p_wxPyCircleShape", _p_wxPyCircleShapeTo_p_wxObject},{"_p_wxPyLineShape", _p_wxPyLineShapeTo_p_wxObject},{"_p_wxPyCompositeShape", _p_wxPyCompositeShapeTo_p_wxObject},{"_p_wxPyRectangleShape", _p_wxPyRectangleShapeTo_p_wxObject},{"_p_wxDropFilesEvent", _p_wxDropFilesEventTo_p_wxObject},{"_p_wxFocusEvent", _p_wxFocusEventTo_p_wxObject},{"_p_wxChildFocusEvent", _p_wxChildFocusEventTo_p_wxObject},{"_p_wxPseudoMetaFile", _p_wxPseudoMetaFileTo_p_wxObject},{"_p_wxControlWithItems", _p_wxControlWithItemsTo_p_wxObject},{"_p_wxPageSetupDialogData", _p_wxPageSetupDialogDataTo_p_wxObject},{"_p_wxPrintDialogData", _p_wxPrintDialogDataTo_p_wxObject},{"_p_wxValidator", _p_wxValidatorTo_p_wxObject},{"_p_wxPyValidator", _p_wxPyValidatorTo_p_wxObject},{"_p_wxShapeRegion", _p_wxShapeRegionTo_p_wxObject},{0}};
+static swig_type_info _swigt__p_wxPyBitmapShape[] = {{"_p_wxPyBitmapShape", 0, "wxPyBitmapShape *", 0},{"_p_wxPyBitmapShape"},{0}};
+static swig_type_info _swigt__p_wxString[] = {{"_p_wxString", 0, "wxString *", 0},{"_p_wxString"},{0}};
+static swig_type_info _swigt__p_wxPyShapeEvtHandler[] = {{"_p_wxPyShapeEvtHandler", 0, "wxPyShapeEvtHandler *", 0},{"_p_wxPyControlPoint", _p_wxPyControlPointTo_p_wxPyShapeEvtHandler},{"_p_wxPyRectangleShape", _p_wxPyRectangleShapeTo_p_wxPyShapeEvtHandler},{"_p_wxPyCompositeShape", _p_wxPyCompositeShapeTo_p_wxPyShapeEvtHandler},{"_p_wxPyCircleShape", _p_wxPyCircleShapeTo_p_wxPyShapeEvtHandler},{"_p_wxPyLineShape", _p_wxPyLineShapeTo_p_wxPyShapeEvtHandler},{"_p_wxPyDividedShape", _p_wxPyDividedShapeTo_p_wxPyShapeEvtHandler},{"_p_wxPyEllipseShape", _p_wxPyEllipseShapeTo_p_wxPyShapeEvtHandler},{"_p_wxPyPolygonShape", _p_wxPyPolygonShapeTo_p_wxPyShapeEvtHandler},{"_p_wxPyDrawnShape", _p_wxPyDrawnShapeTo_p_wxPyShapeEvtHandler},{"_p_wxPyDivisionShape", _p_wxPyDivisionShapeTo_p_wxPyShapeEvtHandler},{"_p_wxPyShape", _p_wxPyShapeTo_p_wxPyShapeEvtHandler},{"_p_wxPyShapeEvtHandler"},{"_p_wxPyBitmapShape", _p_wxPyBitmapShapeTo_p_wxPyShapeEvtHandler},{"_p_wxPyTextShape", _p_wxPyTextShapeTo_p_wxPyShapeEvtHandler},{0}};
+static swig_type_info _swigt__p_wxEvtHandler[] = {{"_p_wxEvtHandler", 0, "wxEvtHandler *", 0},{"_p_wxSplashScreen", _p_wxSplashScreenTo_p_wxEvtHandler},{"_p_wxMiniFrame", _p_wxMiniFrameTo_p_wxEvtHandler},{"_p_wxPyPanel", _p_wxPyPanelTo_p_wxEvtHandler},{"_p_wxMenuBar", _p_wxMenuBarTo_p_wxEvtHandler},{"_p_wxValidator", _p_wxValidatorTo_p_wxEvtHandler},{"_p_wxPyValidator", _p_wxPyValidatorTo_p_wxEvtHandler},{"_p_wxFindReplaceDialog", _p_wxFindReplaceDialogTo_p_wxEvtHandler},{"_p_wxTextEntryDialog", _p_wxTextEntryDialogTo_p_wxEvtHandler},{"_p_wxSingleChoiceDialog", _p_wxSingleChoiceDialogTo_p_wxEvtHandler},{"_p_wxMultiChoiceDialog", _p_wxMultiChoiceDialogTo_p_wxEvtHandler},{"_p_wxFileDialog", _p_wxFileDialogTo_p_wxEvtHandler},{"_p_wxMessageDialog", _p_wxMessageDialogTo_p_wxEvtHandler},{"_p_wxProgressDialog", _p_wxProgressDialogTo_p_wxEvtHandler},{"_p_wxPanel", _p_wxPanelTo_p_wxEvtHandler},{"_p_wxStatusBar", _p_wxStatusBarTo_p_wxEvtHandler},{"_p_wxTipWindow", _p_wxTipWindowTo_p_wxEvtHandler},{"_p_wxPyPopupTransientWindow", _p_wxPyPopupTransientWindowTo_p_wxEvtHandler},{"_p_wxPopupWindow", _p_wxPopupWindowTo_p_wxEvtHandler},{"_p_wxSashLayoutWindow", _p_wxSashLayoutWindowTo_p_wxEvtHandler},{"_p_wxSplashScreenWindow", _p_wxSplashScreenWindowTo_p_wxEvtHandler},{"_p_wxSplitterWindow", _p_wxSplitterWindowTo_p_wxEvtHandler},{"_p_wxSashWindow", _p_wxSashWindowTo_p_wxEvtHandler},{"_p_wxWindow", _p_wxWindowTo_p_wxEvtHandler},{"_p_wxTopLevelWindow", _p_wxTopLevelWindowTo_p_wxEvtHandler},{"_p_wxMDIClientWindow", _p_wxMDIClientWindowTo_p_wxEvtHandler},{"_p_wxPyVScrolledWindow", _p_wxPyVScrolledWindowTo_p_wxEvtHandler},{"_p_wxScrolledWindow", _p_wxScrolledWindowTo_p_wxEvtHandler},{"_p_wxPyPreviewFrame", _p_wxPyPreviewFrameTo_p_wxEvtHandler},{"_p_wxPreviewFrame", _p_wxPreviewFrameTo_p_wxEvtHandler},{"_p_wxControl", _p_wxControlTo_p_wxEvtHandler},{"_p_wxMDIChildFrame", _p_wxMDIChildFrameTo_p_wxEvtHandler},{"_p_wxPyApp", _p_wxPyAppTo_p_wxEvtHandler},{"_p_wxControlWithItems", _p_wxControlWithItemsTo_p_wxEvtHandler},{"_p_wxEvtHandler"},{"_p_wxPyShapeCanvas", _p_wxPyShapeCanvasTo_p_wxEvtHandler},{"_p_wxPreviewCanvas", _p_wxPreviewCanvasTo_p_wxEvtHandler},{"_p_wxPyWindow", _p_wxPyWindowTo_p_wxEvtHandler},{"_p_wxPyHtmlListBox", _p_wxPyHtmlListBoxTo_p_wxEvtHandler},{"_p_wxPyVListBox", _p_wxPyVListBoxTo_p_wxEvtHandler},{"_p_wxPyPreviewControlBar", _p_wxPyPreviewControlBarTo_p_wxEvtHandler},{"_p_wxPreviewControlBar", _p_wxPreviewControlBarTo_p_wxEvtHandler},{"_p_wxTaskBarIcon", _p_wxTaskBarIconTo_p_wxEvtHandler},{"_p_wxFrame", _p_wxFrameTo_p_wxEvtHandler},{"_p_wxFontDialog", _p_wxFontDialogTo_p_wxEvtHandler},{"_p_wxDirDialog", _p_wxDirDialogTo_p_wxEvtHandler},{"_p_wxColourDialog", _p_wxColourDialogTo_p_wxEvtHandler},{"_p_wxDialog", _p_wxDialogTo_p_wxEvtHandler},{"_p_wxPageSetupDialog", _p_wxPageSetupDialogTo_p_wxEvtHandler},{"_p_wxPrintDialog", _p_wxPrintDialogTo_p_wxEvtHandler},{"_p_wxMenu", _p_wxMenuTo_p_wxEvtHandler},{"_p_wxMDIParentFrame", _p_wxMDIParentFrameTo_p_wxEvtHandler},{0}};
+static swig_type_info _swigt__p_wxPyEllipseShape[] = {{"_p_wxPyEllipseShape", 0, "wxPyEllipseShape *", 0},{"_p_wxPyCircleShape", _p_wxPyCircleShapeTo_p_wxPyEllipseShape},{"_p_wxPyEllipseShape"},{0}};
+static swig_type_info _swigt__p_wxPyShapeCanvas[] = {{"_p_wxPyShapeCanvas", 0, "wxPyShapeCanvas *", 0},{"_p_wxPyShapeCanvas"},{0}};
+static swig_type_info _swigt__p_wxPoint[] = {{"_p_wxPoint", 0, "wxPoint *", 0},{"_p_wxPoint"},{0}};
+static swig_type_info _swigt__p_wxDiagram[] = {{"_p_wxDiagram", 0, "wxDiagram *", 0},{"_p_wxDiagram"},{0}};
+static swig_type_info _swigt__p_wxPyShape[] = {{"_p_wxPyShape", 0, "wxPyShape *", 0},{"_p_wxPyRectangleShape", _p_wxPyRectangleShapeTo_p_wxPyShape},{"_p_wxPyBitmapShape", _p_wxPyBitmapShapeTo_p_wxPyShape},{"_p_wxPyCompositeShape", _p_wxPyCompositeShapeTo_p_wxPyShape},{"_p_wxPyCircleShape", _p_wxPyCircleShapeTo_p_wxPyShape},{"_p_wxPyLineShape", _p_wxPyLineShapeTo_p_wxPyShape},{"_p_wxPyTextShape", _p_wxPyTextShapeTo_p_wxPyShape},{"_p_wxPyDivisionShape", _p_wxPyDivisionShapeTo_p_wxPyShape},{"_p_wxPyControlPoint", _p_wxPyControlPointTo_p_wxPyShape},{"_p_wxPyDrawnShape", _p_wxPyDrawnShapeTo_p_wxPyShape},{"_p_wxPyPolygonShape", _p_wxPyPolygonShapeTo_p_wxPyShape},{"_p_wxPyDividedShape", _p_wxPyDividedShapeTo_p_wxPyShape},{"_p_wxPyShape"},{"_p_wxPyEllipseShape", _p_wxPyEllipseShapeTo_p_wxPyShape},{0}};
+static swig_type_info _swigt__p_wxClassInfo[] = {{"_p_wxClassInfo", 0, "wxClassInfo *", 0},{"_p_wxClassInfo"},{0}};
+static swig_type_info _swigt__p_wxPyLineShape[] = {{"_p_wxPyLineShape", 0, "wxPyLineShape *", 0},{"_p_wxPyLineShape"},{0}};
+static swig_type_info _swigt__p_wxPyRectangleShape[] = {{"_p_wxPyRectangleShape", 0, "wxPyRectangleShape *", 0},{"_p_wxPyRectangleShape"},{"_p_wxPyBitmapShape", _p_wxPyBitmapShapeTo_p_wxPyRectangleShape},{"_p_wxPyCompositeShape", _p_wxPyCompositeShapeTo_p_wxPyRectangleShape},{"_p_wxPyTextShape", _p_wxPyTextShapeTo_p_wxPyRectangleShape},{"_p_wxPyDivisionShape", _p_wxPyDivisionShapeTo_p_wxPyRectangleShape},{"_p_wxPyControlPoint", _p_wxPyControlPointTo_p_wxPyRectangleShape},{"_p_wxPyDrawnShape", _p_wxPyDrawnShapeTo_p_wxPyRectangleShape},{"_p_wxPyDividedShape", _p_wxPyDividedShapeTo_p_wxPyRectangleShape},{0}};
+static swig_type_info _swigt__p_wxPyCompositeShape[] = {{"_p_wxPyCompositeShape", 0, "wxPyCompositeShape *", 0},{"_p_wxPyCompositeShape"},{"_p_wxPyDivisionShape", _p_wxPyDivisionShapeTo_p_wxPyCompositeShape},{0}};
+static swig_type_info _swigt__p_wxPyCircleShape[] = {{"_p_wxPyCircleShape", 0, "wxPyCircleShape *", 0},{"_p_wxPyCircleShape"},{0}};
+static swig_type_info _swigt__p_wxPen[] = {{"_p_wxPen", 0, "wxPen *", 0},{"_p_wxPen"},{0}};
+static swig_type_info _swigt__p_int[] = {{"_p_int", 0, "int *", 0},{"_p_int"},{0}};
+static swig_type_info _swigt__p_wxPseudoMetaFile[] = {{"_p_wxPseudoMetaFile", 0, "wxPseudoMetaFile *", 0},{"_p_wxPseudoMetaFile"},{0}};
+static swig_type_info _swigt__p_wxPyTextShape[] = {{"_p_wxPyTextShape", 0, "wxPyTextShape *", 0},{"_p_wxPyTextShape"},{0}};
+static swig_type_info _swigt__p_wxPyDividedShape[] = {{"_p_wxPyDividedShape", 0, "wxPyDividedShape *", 0},{"_p_wxPyDividedShape"},{0}};
+
+static swig_type_info *swig_types_initial[] = {
+_swigt__p_wxOGLConstraint, 
+_swigt__p_wxBrush, 
+_swigt__p_wxColour, 
+_swigt__p_wxShapeRegion, 
+_swigt__p_wxDC, 
+_swigt__p_wxRealPoint, 
+_swigt__p_wxPyControlPoint, 
+_swigt__p_wxArrowHead, 
+_swigt__p_wxStringList, 
+_swigt__p_wxPanel, 
+_swigt__p_bool, 
+_swigt__p_wxList, 
+_swigt__p_wxFont, 
+_swigt__p_wxScrolledWindow, 
+_swigt__p_wxWindow, 
+_swigt__p_double, 
+_swigt__p_wxPyDivisionShape, 
+_swigt__p_wxPyDrawnShape, 
+_swigt__p_wxPyPolygonShape, 
+_swigt__p_wxBitmap, 
+_swigt__p_wxObject, 
+_swigt__p_wxPyBitmapShape, 
+_swigt__p_wxString, 
+_swigt__p_wxPyShapeEvtHandler, 
+_swigt__p_wxEvtHandler, 
+_swigt__p_wxPyEllipseShape, 
+_swigt__p_wxPyShapeCanvas, 
+_swigt__p_wxPoint, 
+_swigt__p_wxDiagram, 
+_swigt__p_wxPyShape, 
+_swigt__p_wxClassInfo, 
+_swigt__p_wxPyLineShape, 
+_swigt__p_wxPyRectangleShape, 
+_swigt__p_wxPyCompositeShape, 
+_swigt__p_wxPyCircleShape, 
+_swigt__p_wxPen, 
+_swigt__p_int, 
+_swigt__p_wxPseudoMetaFile, 
+_swigt__p_wxPyTextShape, 
+_swigt__p_wxPyDividedShape, 
+0
+};
+
+
+/* -------- TYPE CONVERSION AND EQUIVALENCE RULES (END) -------- */
+
+static swig_const_info swig_const_table[] = {
+{ SWIG_PY_INT,     (char *)"oglMETAFLAGS_OUTLINE", (long) oglMETAFLAGS_OUTLINE, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"oglMETAFLAGS_ATTACHMENTS", (long) oglMETAFLAGS_ATTACHMENTS, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"KEY_SHIFT", (long) KEY_SHIFT, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"KEY_CTRL", (long) KEY_CTRL, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"ARROW_NONE", (long) ARROW_NONE, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"ARROW_END", (long) ARROW_END, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"ARROW_BOTH", (long) ARROW_BOTH, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"ARROW_MIDDLE", (long) ARROW_MIDDLE, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"ARROW_START", (long) ARROW_START, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"ARROW_HOLLOW_CIRCLE", (long) ARROW_HOLLOW_CIRCLE, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"ARROW_FILLED_CIRCLE", (long) ARROW_FILLED_CIRCLE, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"ARROW_ARROW", (long) ARROW_ARROW, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"ARROW_SINGLE_OBLIQUE", (long) ARROW_SINGLE_OBLIQUE, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"ARROW_DOUBLE_OBLIQUE", (long) ARROW_DOUBLE_OBLIQUE, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"ARROW_METAFILE", (long) ARROW_METAFILE, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"ARROW_POSITION_END", (long) ARROW_POSITION_END, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"ARROW_POSITION_START", (long) ARROW_POSITION_START, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"CONTROL_POINT_VERTICAL", (long) CONTROL_POINT_VERTICAL, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"CONTROL_POINT_HORIZONTAL", (long) CONTROL_POINT_HORIZONTAL, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"CONTROL_POINT_DIAGONAL", (long) CONTROL_POINT_DIAGONAL, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"CONTROL_POINT_ENDPOINT_TO", (long) CONTROL_POINT_ENDPOINT_TO, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"CONTROL_POINT_ENDPOINT_FROM", (long) CONTROL_POINT_ENDPOINT_FROM, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"CONTROL_POINT_LINE", (long) CONTROL_POINT_LINE, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"FORMAT_NONE", (long) FORMAT_NONE, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"FORMAT_CENTRE_HORIZ", (long) FORMAT_CENTRE_HORIZ, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"FORMAT_CENTRE_VERT", (long) FORMAT_CENTRE_VERT, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"FORMAT_SIZE_TO_CONTENTS", (long) FORMAT_SIZE_TO_CONTENTS, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"LINE_ALIGNMENT_HORIZ", (long) LINE_ALIGNMENT_HORIZ, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"LINE_ALIGNMENT_VERT", (long) LINE_ALIGNMENT_VERT, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"LINE_ALIGNMENT_TO_NEXT_HANDLE", (long) LINE_ALIGNMENT_TO_NEXT_HANDLE, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"LINE_ALIGNMENT_NONE", (long) LINE_ALIGNMENT_NONE, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"SHADOW_NONE", (long) SHADOW_NONE, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"SHADOW_LEFT", (long) SHADOW_LEFT, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"SHADOW_RIGHT", (long) SHADOW_RIGHT, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"OP_CLICK_LEFT", (long) OP_CLICK_LEFT, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"OP_CLICK_RIGHT", (long) OP_CLICK_RIGHT, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"OP_DRAG_LEFT", (long) OP_DRAG_LEFT, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"OP_DRAG_RIGHT", (long) OP_DRAG_RIGHT, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"OP_ALL", (long) OP_ALL, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"ATTACHMENT_MODE_NONE", (long) ATTACHMENT_MODE_NONE, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"ATTACHMENT_MODE_EDGE", (long) ATTACHMENT_MODE_EDGE, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"ATTACHMENT_MODE_BRANCHING", (long) ATTACHMENT_MODE_BRANCHING, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"BRANCHING_ATTACHMENT_NORMAL", (long) BRANCHING_ATTACHMENT_NORMAL, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"BRANCHING_ATTACHMENT_BLOB", (long) BRANCHING_ATTACHMENT_BLOB, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"gyCONSTRAINT_CENTRED_VERTICALLY", (long) gyCONSTRAINT_CENTRED_VERTICALLY, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"gyCONSTRAINT_CENTRED_HORIZONTALLY", (long) gyCONSTRAINT_CENTRED_HORIZONTALLY, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"gyCONSTRAINT_CENTRED_BOTH", (long) gyCONSTRAINT_CENTRED_BOTH, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"gyCONSTRAINT_LEFT_OF", (long) gyCONSTRAINT_LEFT_OF, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"gyCONSTRAINT_RIGHT_OF", (long) gyCONSTRAINT_RIGHT_OF, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"gyCONSTRAINT_ABOVE", (long) gyCONSTRAINT_ABOVE, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"gyCONSTRAINT_BELOW", (long) gyCONSTRAINT_BELOW, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"gyCONSTRAINT_ALIGNED_TOP", (long) gyCONSTRAINT_ALIGNED_TOP, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"gyCONSTRAINT_ALIGNED_BOTTOM", (long) gyCONSTRAINT_ALIGNED_BOTTOM, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"gyCONSTRAINT_ALIGNED_LEFT", (long) gyCONSTRAINT_ALIGNED_LEFT, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"gyCONSTRAINT_ALIGNED_RIGHT", (long) gyCONSTRAINT_ALIGNED_RIGHT, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"gyCONSTRAINT_MIDALIGNED_TOP", (long) gyCONSTRAINT_MIDALIGNED_TOP, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"gyCONSTRAINT_MIDALIGNED_BOTTOM", (long) gyCONSTRAINT_MIDALIGNED_BOTTOM, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"gyCONSTRAINT_MIDALIGNED_LEFT", (long) gyCONSTRAINT_MIDALIGNED_LEFT, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"gyCONSTRAINT_MIDALIGNED_RIGHT", (long) gyCONSTRAINT_MIDALIGNED_RIGHT, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"DIVISION_SIDE_NONE", (long) DIVISION_SIDE_NONE, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"DIVISION_SIDE_LEFT", (long) DIVISION_SIDE_LEFT, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"DIVISION_SIDE_TOP", (long) DIVISION_SIDE_TOP, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"DIVISION_SIDE_RIGHT", (long) DIVISION_SIDE_RIGHT, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"DIVISION_SIDE_BOTTOM", (long) DIVISION_SIDE_BOTTOM, 0, 0, 0},
+{0}};
+
+#ifdef __cplusplus
+}
+#endif
+
+#ifdef __cplusplus
+extern "C"
+#endif
+SWIGEXPORT(void) SWIG_init(void) {
+    static PyObject *SWIG_globals = 0; 
+    static int       typeinit = 0;
+    PyObject *m, *d;
+    int       i;
+    if (!SWIG_globals) SWIG_globals = SWIG_newvarlink();
+    m = Py_InitModule((char *) SWIG_name, SwigMethods);
+    d = PyModule_GetDict(m);
+    
+    if (!typeinit) {
+        for (i = 0; swig_types_initial[i]; i++) {
+            swig_types[i] = SWIG_TypeRegister(swig_types_initial[i]);
+        }
+        typeinit = 1;
+    }
+    SWIG_InstallConstants(d,swig_const_table);
+    
+    
+    
+    //     initoglbasicc();
+    //     initoglshapesc();
+    //     initoglshapes2c();
+    //     initoglcanvasc();
+    
+    
+    wxPyPtrTypeMap_Add("wxControlPoint", "wxPyControlPoint");
+    wxPyPtrTypeMap_Add("wxShapeCanvas", "wxPyShapeCanvas");
+    wxPyPtrTypeMap_Add("wxShapeEvtHandler", "wxPyShapeEvtHandler");
+    wxPyPtrTypeMap_Add("wxShape", "wxPyShape");
+    wxPyPtrTypeMap_Add("wxRectangleShape", "wxPyRectangleShape");
+    wxPyPtrTypeMap_Add("wxDrawnShape", "wxPyDrawnShape");
+    wxPyPtrTypeMap_Add("wxCompositeShape", "wxPyCompositeShape");
+    wxPyPtrTypeMap_Add("wxDividedShape", "wxPyDividedShape");
+    wxPyPtrTypeMap_Add("wxDivisionShape", "wxPyDivisionShape");
+    wxPyPtrTypeMap_Add("wxEllipseShape", "wxPyEllipseShape");
+    wxPyPtrTypeMap_Add("wxCircleShape", "wxPyCircleShape");
+    wxPyPtrTypeMap_Add("wxLineShape", "wxPyLineShape");
+    wxPyPtrTypeMap_Add("wxPolygonShape", "wxPyPolygonShape");
+    wxPyPtrTypeMap_Add("wxTextShape", "wxPyTextShape");
+    
+    
+}
+
diff --git a/wxPython/contrib/ogl/msw/ogl.py b/wxPython/contrib/ogl/msw/ogl.py
new file mode 100644 (file)
index 0000000..750f38a
--- /dev/null
@@ -0,0 +1,3828 @@
+# This file was created automatically by SWIG.
+# Don't modify this file, modify the SWIG interface instead.
+
+import _ogl
+
+import windows
+import core
+wx = core 
+#---------------------------------------------------------------------------
+
+class ShapeRegion(core.Object):
+    """"""
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxShapeRegion instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__() -> ShapeRegion"""
+        newobj = _ogl.new_ShapeRegion(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+    def SetText(*args, **kwargs):
+        """SetText(wxString s)"""
+        return _ogl.ShapeRegion_SetText(*args, **kwargs)
+
+    def SetFont(*args, **kwargs):
+        """SetFont(wxFont f)"""
+        return _ogl.ShapeRegion_SetFont(*args, **kwargs)
+
+    def SetMinSize(*args, **kwargs):
+        """SetMinSize(double w, double h)"""
+        return _ogl.ShapeRegion_SetMinSize(*args, **kwargs)
+
+    def SetSize(*args, **kwargs):
+        """SetSize(double w, double h)"""
+        return _ogl.ShapeRegion_SetSize(*args, **kwargs)
+
+    def SetPosition(*args, **kwargs):
+        """SetPosition(double x, double y)"""
+        return _ogl.ShapeRegion_SetPosition(*args, **kwargs)
+
+    def SetProportions(*args, **kwargs):
+        """SetProportions(double x, double y)"""
+        return _ogl.ShapeRegion_SetProportions(*args, **kwargs)
+
+    def SetFormatMode(*args, **kwargs):
+        """SetFormatMode(int mode)"""
+        return _ogl.ShapeRegion_SetFormatMode(*args, **kwargs)
+
+    def SetName(*args, **kwargs):
+        """SetName(wxString s)"""
+        return _ogl.ShapeRegion_SetName(*args, **kwargs)
+
+    def SetColour(*args, **kwargs):
+        """SetColour(wxString col)"""
+        return _ogl.ShapeRegion_SetColour(*args, **kwargs)
+
+    def GetText(*args, **kwargs):
+        """GetText() -> wxString"""
+        return _ogl.ShapeRegion_GetText(*args, **kwargs)
+
+    def GetFont(*args, **kwargs):
+        """GetFont() -> wxFont"""
+        return _ogl.ShapeRegion_GetFont(*args, **kwargs)
+
+    def GetMinSize(*args, **kwargs):
+        """GetMinSize(double OUTPUT, double OUTPUT)"""
+        return _ogl.ShapeRegion_GetMinSize(*args, **kwargs)
+
+    def GetProportion(*args, **kwargs):
+        """GetProportion(double OUTPUT, double OUTPUT)"""
+        return _ogl.ShapeRegion_GetProportion(*args, **kwargs)
+
+    def GetSize(*args, **kwargs):
+        """GetSize(double OUTPUT, double OUTPUT)"""
+        return _ogl.ShapeRegion_GetSize(*args, **kwargs)
+
+    def GetPosition(*args, **kwargs):
+        """GetPosition(double OUTPUT, double OUTPUT)"""
+        return _ogl.ShapeRegion_GetPosition(*args, **kwargs)
+
+    def GetFormatMode(*args, **kwargs):
+        """GetFormatMode() -> int"""
+        return _ogl.ShapeRegion_GetFormatMode(*args, **kwargs)
+
+    def GetName(*args, **kwargs):
+        """GetName() -> wxString"""
+        return _ogl.ShapeRegion_GetName(*args, **kwargs)
+
+    def GetColour(*args, **kwargs):
+        """GetColour() -> wxString"""
+        return _ogl.ShapeRegion_GetColour(*args, **kwargs)
+
+    def GetActualColourObject(*args, **kwargs):
+        """GetActualColourObject() -> wxColour"""
+        return _ogl.ShapeRegion_GetActualColourObject(*args, **kwargs)
+
+    def GetFormattedText(*args, **kwargs):
+        """GetFormattedText() -> wxList"""
+        return _ogl.ShapeRegion_GetFormattedText(*args, **kwargs)
+
+    def GetPenColour(*args, **kwargs):
+        """GetPenColour() -> wxString"""
+        return _ogl.ShapeRegion_GetPenColour(*args, **kwargs)
+
+    def GetPenStyle(*args, **kwargs):
+        """GetPenStyle() -> int"""
+        return _ogl.ShapeRegion_GetPenStyle(*args, **kwargs)
+
+    def SetPenStyle(*args, **kwargs):
+        """SetPenStyle(int style)"""
+        return _ogl.ShapeRegion_SetPenStyle(*args, **kwargs)
+
+    def SetPenColour(*args, **kwargs):
+        """SetPenColour(wxString col)"""
+        return _ogl.ShapeRegion_SetPenColour(*args, **kwargs)
+
+    def GetActualPen(*args, **kwargs):
+        """GetActualPen() -> wxPen"""
+        return _ogl.ShapeRegion_GetActualPen(*args, **kwargs)
+
+    def GetWidth(*args, **kwargs):
+        """GetWidth() -> double"""
+        return _ogl.ShapeRegion_GetWidth(*args, **kwargs)
+
+    def GetHeight(*args, **kwargs):
+        """GetHeight() -> double"""
+        return _ogl.ShapeRegion_GetHeight(*args, **kwargs)
+
+    def ClearText(*args, **kwargs):
+        """ClearText()"""
+        return _ogl.ShapeRegion_ClearText(*args, **kwargs)
+
+
+class ShapeRegionPtr(ShapeRegion):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = ShapeRegion
+_ogl.ShapeRegion_swigregister(ShapeRegionPtr)
+
+class PyShapeEvtHandler(core.Object):
+    """"""
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxPyShapeEvtHandler instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__(PyShapeEvtHandler prev=None, PyShape shape=None) -> PyShapeEvtHandler"""
+        newobj = _ogl.new_PyShapeEvtHandler(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+        self._setOORandCallbackInfo(PyShapeEvtHandler)
+
+    def _setCallbackInfo(*args, **kwargs):
+        """_setCallbackInfo(PyObject self, PyObject _class)"""
+        return _ogl.PyShapeEvtHandler__setCallbackInfo(*args, **kwargs)
+
+    def _setOORInfo(*args, **kwargs):
+        """_setOORInfo(PyObject _self)"""
+        return _ogl.PyShapeEvtHandler__setOORInfo(*args, **kwargs)
+
+    def _setOORandCallbackInfo(self, _class):
+        self._setOORInfo(self)
+        self._setCallbackInfo(self, _class)
+
+    def SetShape(*args, **kwargs):
+        """SetShape(PyShape sh)"""
+        return _ogl.PyShapeEvtHandler_SetShape(*args, **kwargs)
+
+    def GetShape(*args, **kwargs):
+        """GetShape() -> PyShape"""
+        return _ogl.PyShapeEvtHandler_GetShape(*args, **kwargs)
+
+    def SetPreviousHandler(*args, **kwargs):
+        """SetPreviousHandler(PyShapeEvtHandler handler)"""
+        return _ogl.PyShapeEvtHandler_SetPreviousHandler(*args, **kwargs)
+
+    def GetPreviousHandler(*args, **kwargs):
+        """GetPreviousHandler() -> PyShapeEvtHandler"""
+        return _ogl.PyShapeEvtHandler_GetPreviousHandler(*args, **kwargs)
+
+    def CreateNewCopy(*args, **kwargs):
+        """CreateNewCopy() -> PyShapeEvtHandler"""
+        return _ogl.PyShapeEvtHandler_CreateNewCopy(*args, **kwargs)
+
+    def base_OnDelete(*args, **kwargs):
+        """base_OnDelete()"""
+        return _ogl.PyShapeEvtHandler_base_OnDelete(*args, **kwargs)
+
+    def base_OnDraw(*args, **kwargs):
+        """base_OnDraw(wxDC dc)"""
+        return _ogl.PyShapeEvtHandler_base_OnDraw(*args, **kwargs)
+
+    def base_OnDrawContents(*args, **kwargs):
+        """base_OnDrawContents(wxDC dc)"""
+        return _ogl.PyShapeEvtHandler_base_OnDrawContents(*args, **kwargs)
+
+    def base_OnDrawBranches(*args, **kwargs):
+        """base_OnDrawBranches(wxDC dc, bool erase=False)"""
+        return _ogl.PyShapeEvtHandler_base_OnDrawBranches(*args, **kwargs)
+
+    def base_OnMoveLinks(*args, **kwargs):
+        """base_OnMoveLinks(wxDC dc)"""
+        return _ogl.PyShapeEvtHandler_base_OnMoveLinks(*args, **kwargs)
+
+    def base_OnErase(*args, **kwargs):
+        """base_OnErase(wxDC dc)"""
+        return _ogl.PyShapeEvtHandler_base_OnErase(*args, **kwargs)
+
+    def base_OnEraseContents(*args, **kwargs):
+        """base_OnEraseContents(wxDC dc)"""
+        return _ogl.PyShapeEvtHandler_base_OnEraseContents(*args, **kwargs)
+
+    def base_OnHighlight(*args, **kwargs):
+        """base_OnHighlight(wxDC dc)"""
+        return _ogl.PyShapeEvtHandler_base_OnHighlight(*args, **kwargs)
+
+    def base_OnLeftClick(*args, **kwargs):
+        """base_OnLeftClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyShapeEvtHandler_base_OnLeftClick(*args, **kwargs)
+
+    def base_OnLeftDoubleClick(*args, **kwargs):
+        """base_OnLeftDoubleClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyShapeEvtHandler_base_OnLeftDoubleClick(*args, **kwargs)
+
+    def base_OnRightClick(*args, **kwargs):
+        """base_OnRightClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyShapeEvtHandler_base_OnRightClick(*args, **kwargs)
+
+    def base_OnSize(*args, **kwargs):
+        """base_OnSize(double x, double y)"""
+        return _ogl.PyShapeEvtHandler_base_OnSize(*args, **kwargs)
+
+    def base_OnMovePre(*args, **kwargs):
+        """base_OnMovePre(wxDC dc, double x, double y, double old_x, double old_y, 
+    bool display=True) -> bool"""
+        return _ogl.PyShapeEvtHandler_base_OnMovePre(*args, **kwargs)
+
+    def base_OnMovePost(*args, **kwargs):
+        """base_OnMovePost(wxDC dc, double x, double y, double old_x, double old_y, 
+    bool display=True)"""
+        return _ogl.PyShapeEvtHandler_base_OnMovePost(*args, **kwargs)
+
+    def base_OnDragLeft(*args, **kwargs):
+        """base_OnDragLeft(bool draw, double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyShapeEvtHandler_base_OnDragLeft(*args, **kwargs)
+
+    def base_OnBeginDragLeft(*args, **kwargs):
+        """base_OnBeginDragLeft(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyShapeEvtHandler_base_OnBeginDragLeft(*args, **kwargs)
+
+    def base_OnEndDragLeft(*args, **kwargs):
+        """base_OnEndDragLeft(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyShapeEvtHandler_base_OnEndDragLeft(*args, **kwargs)
+
+    def base_OnDragRight(*args, **kwargs):
+        """base_OnDragRight(bool draw, double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyShapeEvtHandler_base_OnDragRight(*args, **kwargs)
+
+    def base_OnBeginDragRight(*args, **kwargs):
+        """base_OnBeginDragRight(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyShapeEvtHandler_base_OnBeginDragRight(*args, **kwargs)
+
+    def base_OnEndDragRight(*args, **kwargs):
+        """base_OnEndDragRight(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyShapeEvtHandler_base_OnEndDragRight(*args, **kwargs)
+
+    def base_OnDrawOutline(*args, **kwargs):
+        """base_OnDrawOutline(wxDC dc, double x, double y, double w, double h)"""
+        return _ogl.PyShapeEvtHandler_base_OnDrawOutline(*args, **kwargs)
+
+    def base_OnDrawControlPoints(*args, **kwargs):
+        """base_OnDrawControlPoints(wxDC dc)"""
+        return _ogl.PyShapeEvtHandler_base_OnDrawControlPoints(*args, **kwargs)
+
+    def base_OnEraseControlPoints(*args, **kwargs):
+        """base_OnEraseControlPoints(wxDC dc)"""
+        return _ogl.PyShapeEvtHandler_base_OnEraseControlPoints(*args, **kwargs)
+
+    def base_OnMoveLink(*args, **kwargs):
+        """base_OnMoveLink(wxDC dc, bool moveControlPoints=True)"""
+        return _ogl.PyShapeEvtHandler_base_OnMoveLink(*args, **kwargs)
+
+    def base_OnSizingDragLeft(*args, **kwargs):
+        """base_OnSizingDragLeft(PyControlPoint pt, bool draw, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyShapeEvtHandler_base_OnSizingDragLeft(*args, **kwargs)
+
+    def base_OnSizingBeginDragLeft(*args, **kwargs):
+        """base_OnSizingBeginDragLeft(PyControlPoint pt, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyShapeEvtHandler_base_OnSizingBeginDragLeft(*args, **kwargs)
+
+    def base_OnSizingEndDragLeft(*args, **kwargs):
+        """base_OnSizingEndDragLeft(PyControlPoint pt, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyShapeEvtHandler_base_OnSizingEndDragLeft(*args, **kwargs)
+
+    def base_OnBeginSize(*args, **kwargs):
+        """base_OnBeginSize(double w, double h)"""
+        return _ogl.PyShapeEvtHandler_base_OnBeginSize(*args, **kwargs)
+
+    def base_OnEndSize(*args, **kwargs):
+        """base_OnEndSize(double w, double h)"""
+        return _ogl.PyShapeEvtHandler_base_OnEndSize(*args, **kwargs)
+
+
+class PyShapeEvtHandlerPtr(PyShapeEvtHandler):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = PyShapeEvtHandler
+_ogl.PyShapeEvtHandler_swigregister(PyShapeEvtHandlerPtr)
+
+class PyShape(PyShapeEvtHandler):
+    """"""
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxPyShape instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__(PyShapeCanvas can=None) -> PyShape"""
+        newobj = _ogl.new_PyShape(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+        self._setOORandCallbackInfo(PyShapeEvtHandler)
+
+    def _setCallbackInfo(*args, **kwargs):
+        """_setCallbackInfo(PyObject self, PyObject _class)"""
+        return _ogl.PyShape__setCallbackInfo(*args, **kwargs)
+
+    def GetBoundingBoxMax(*args, **kwargs):
+        """GetBoundingBoxMax(double OUTPUT, double OUTPUT)"""
+        return _ogl.PyShape_GetBoundingBoxMax(*args, **kwargs)
+
+    def GetBoundingBoxMin(*args, **kwargs):
+        """GetBoundingBoxMin(double OUTPUT, double OUTPUT)"""
+        return _ogl.PyShape_GetBoundingBoxMin(*args, **kwargs)
+
+    def GetPerimeterPoint(*args, **kwargs):
+        """GetPerimeterPoint(double x1, double y1, double x2, double y2, double OUTPUT, 
+    double OUTPUT) -> bool"""
+        return _ogl.PyShape_GetPerimeterPoint(*args, **kwargs)
+
+    def GetCanvas(*args, **kwargs):
+        """GetCanvas() -> PyShapeCanvas"""
+        return _ogl.PyShape_GetCanvas(*args, **kwargs)
+
+    def SetCanvas(*args, **kwargs):
+        """SetCanvas(PyShapeCanvas the_canvas)"""
+        return _ogl.PyShape_SetCanvas(*args, **kwargs)
+
+    def AddToCanvas(*args, **kwargs):
+        """AddToCanvas(PyShapeCanvas the_canvas, PyShape addAfter=None)"""
+        return _ogl.PyShape_AddToCanvas(*args, **kwargs)
+
+    def InsertInCanvas(*args, **kwargs):
+        """InsertInCanvas(PyShapeCanvas the_canvas)"""
+        return _ogl.PyShape_InsertInCanvas(*args, **kwargs)
+
+    def RemoveFromCanvas(*args, **kwargs):
+        """RemoveFromCanvas(PyShapeCanvas the_canvas)"""
+        return _ogl.PyShape_RemoveFromCanvas(*args, **kwargs)
+
+    def GetX(*args, **kwargs):
+        """GetX() -> double"""
+        return _ogl.PyShape_GetX(*args, **kwargs)
+
+    def GetY(*args, **kwargs):
+        """GetY() -> double"""
+        return _ogl.PyShape_GetY(*args, **kwargs)
+
+    def SetX(*args, **kwargs):
+        """SetX(double x)"""
+        return _ogl.PyShape_SetX(*args, **kwargs)
+
+    def SetY(*args, **kwargs):
+        """SetY(double y)"""
+        return _ogl.PyShape_SetY(*args, **kwargs)
+
+    def GetParent(*args, **kwargs):
+        """GetParent() -> PyShape"""
+        return _ogl.PyShape_GetParent(*args, **kwargs)
+
+    def SetParent(*args, **kwargs):
+        """SetParent(PyShape p)"""
+        return _ogl.PyShape_SetParent(*args, **kwargs)
+
+    def GetTopAncestor(*args, **kwargs):
+        """GetTopAncestor() -> PyShape"""
+        return _ogl.PyShape_GetTopAncestor(*args, **kwargs)
+
+    def GetChildren(*args, **kwargs):
+        """GetChildren() -> PyObject"""
+        return _ogl.PyShape_GetChildren(*args, **kwargs)
+
+    def Unlink(*args, **kwargs):
+        """Unlink()"""
+        return _ogl.PyShape_Unlink(*args, **kwargs)
+
+    def SetDrawHandles(*args, **kwargs):
+        """SetDrawHandles(bool drawH)"""
+        return _ogl.PyShape_SetDrawHandles(*args, **kwargs)
+
+    def GetDrawHandles(*args, **kwargs):
+        """GetDrawHandles() -> bool"""
+        return _ogl.PyShape_GetDrawHandles(*args, **kwargs)
+
+    def MakeControlPoints(*args, **kwargs):
+        """MakeControlPoints()"""
+        return _ogl.PyShape_MakeControlPoints(*args, **kwargs)
+
+    def DeleteControlPoints(*args, **kwargs):
+        """DeleteControlPoints(wxDC dc=None)"""
+        return _ogl.PyShape_DeleteControlPoints(*args, **kwargs)
+
+    def ResetControlPoints(*args, **kwargs):
+        """ResetControlPoints()"""
+        return _ogl.PyShape_ResetControlPoints(*args, **kwargs)
+
+    def GetEventHandler(*args, **kwargs):
+        """GetEventHandler() -> PyShapeEvtHandler"""
+        return _ogl.PyShape_GetEventHandler(*args, **kwargs)
+
+    def SetEventHandler(*args, **kwargs):
+        """SetEventHandler(PyShapeEvtHandler handler)"""
+        return _ogl.PyShape_SetEventHandler(*args, **kwargs)
+
+    def MakeMandatoryControlPoints(*args, **kwargs):
+        """MakeMandatoryControlPoints()"""
+        return _ogl.PyShape_MakeMandatoryControlPoints(*args, **kwargs)
+
+    def ResetMandatoryControlPoints(*args, **kwargs):
+        """ResetMandatoryControlPoints()"""
+        return _ogl.PyShape_ResetMandatoryControlPoints(*args, **kwargs)
+
+    def Recompute(*args, **kwargs):
+        """Recompute() -> bool"""
+        return _ogl.PyShape_Recompute(*args, **kwargs)
+
+    def CalculateSize(*args, **kwargs):
+        """CalculateSize()"""
+        return _ogl.PyShape_CalculateSize(*args, **kwargs)
+
+    def Select(*args, **kwargs):
+        """Select(bool select=True, wxDC dc=None)"""
+        return _ogl.PyShape_Select(*args, **kwargs)
+
+    def SetHighlight(*args, **kwargs):
+        """SetHighlight(bool hi=True, bool recurse=False)"""
+        return _ogl.PyShape_SetHighlight(*args, **kwargs)
+
+    def IsHighlighted(*args, **kwargs):
+        """IsHighlighted() -> bool"""
+        return _ogl.PyShape_IsHighlighted(*args, **kwargs)
+
+    def Selected(*args, **kwargs):
+        """Selected() -> bool"""
+        return _ogl.PyShape_Selected(*args, **kwargs)
+
+    def AncestorSelected(*args, **kwargs):
+        """AncestorSelected() -> bool"""
+        return _ogl.PyShape_AncestorSelected(*args, **kwargs)
+
+    def SetSensitivityFilter(*args, **kwargs):
+        """SetSensitivityFilter(int sens=OP_ALL, bool recursive=False)"""
+        return _ogl.PyShape_SetSensitivityFilter(*args, **kwargs)
+
+    def GetSensitivityFilter(*args, **kwargs):
+        """GetSensitivityFilter() -> int"""
+        return _ogl.PyShape_GetSensitivityFilter(*args, **kwargs)
+
+    def SetDraggable(*args, **kwargs):
+        """SetDraggable(bool drag, bool recursive=False)"""
+        return _ogl.PyShape_SetDraggable(*args, **kwargs)
+
+    def SetFixedSize(*args, **kwargs):
+        """SetFixedSize(bool x, bool y)"""
+        return _ogl.PyShape_SetFixedSize(*args, **kwargs)
+
+    def GetFixedSize(*args, **kwargs):
+        """GetFixedSize(bool OUTPUT, bool OUTPUT)"""
+        return _ogl.PyShape_GetFixedSize(*args, **kwargs)
+
+    def GetFixedWidth(*args, **kwargs):
+        """GetFixedWidth() -> bool"""
+        return _ogl.PyShape_GetFixedWidth(*args, **kwargs)
+
+    def GetFixedHeight(*args, **kwargs):
+        """GetFixedHeight() -> bool"""
+        return _ogl.PyShape_GetFixedHeight(*args, **kwargs)
+
+    def SetSpaceAttachments(*args, **kwargs):
+        """SetSpaceAttachments(bool sp)"""
+        return _ogl.PyShape_SetSpaceAttachments(*args, **kwargs)
+
+    def GetSpaceAttachments(*args, **kwargs):
+        """GetSpaceAttachments() -> bool"""
+        return _ogl.PyShape_GetSpaceAttachments(*args, **kwargs)
+
+    def SetShadowMode(*args, **kwargs):
+        """SetShadowMode(int mode, bool redraw=False)"""
+        return _ogl.PyShape_SetShadowMode(*args, **kwargs)
+
+    def GetShadowMode(*args, **kwargs):
+        """GetShadowMode() -> int"""
+        return _ogl.PyShape_GetShadowMode(*args, **kwargs)
+
+    def HitTest(*args, **kwargs):
+        """HitTest(double x, double y, int OUTPUT, double OUTPUT) -> bool"""
+        return _ogl.PyShape_HitTest(*args, **kwargs)
+
+    def SetCentreResize(*args, **kwargs):
+        """SetCentreResize(bool cr)"""
+        return _ogl.PyShape_SetCentreResize(*args, **kwargs)
+
+    def GetCentreResize(*args, **kwargs):
+        """GetCentreResize() -> bool"""
+        return _ogl.PyShape_GetCentreResize(*args, **kwargs)
+
+    def SetMaintainAspectRatio(*args, **kwargs):
+        """SetMaintainAspectRatio(bool ar)"""
+        return _ogl.PyShape_SetMaintainAspectRatio(*args, **kwargs)
+
+    def GetMaintainAspectRatio(*args, **kwargs):
+        """GetMaintainAspectRatio() -> bool"""
+        return _ogl.PyShape_GetMaintainAspectRatio(*args, **kwargs)
+
+    def GetLines(*args, **kwargs):
+        """GetLines() -> PyObject"""
+        return _ogl.PyShape_GetLines(*args, **kwargs)
+
+    def SetDisableLabel(*args, **kwargs):
+        """SetDisableLabel(bool flag)"""
+        return _ogl.PyShape_SetDisableLabel(*args, **kwargs)
+
+    def GetDisableLabel(*args, **kwargs):
+        """GetDisableLabel() -> bool"""
+        return _ogl.PyShape_GetDisableLabel(*args, **kwargs)
+
+    def SetAttachmentMode(*args, **kwargs):
+        """SetAttachmentMode(int mode)"""
+        return _ogl.PyShape_SetAttachmentMode(*args, **kwargs)
+
+    def GetAttachmentMode(*args, **kwargs):
+        """GetAttachmentMode() -> int"""
+        return _ogl.PyShape_GetAttachmentMode(*args, **kwargs)
+
+    def SetId(*args, **kwargs):
+        """SetId(long i)"""
+        return _ogl.PyShape_SetId(*args, **kwargs)
+
+    def GetId(*args, **kwargs):
+        """GetId() -> long"""
+        return _ogl.PyShape_GetId(*args, **kwargs)
+
+    def SetPen(*args, **kwargs):
+        """SetPen(wxPen pen)"""
+        return _ogl.PyShape_SetPen(*args, **kwargs)
+
+    def SetBrush(*args, **kwargs):
+        """SetBrush(wxBrush brush)"""
+        return _ogl.PyShape_SetBrush(*args, **kwargs)
+
+    def SetClientData(self, data):
+        self.clientData = data
+    def GetClientData(self):
+        if hasattr(self, 'clientData'):
+            return self.clientData
+        else:
+            return None
+
+    def Show(*args, **kwargs):
+        """Show(bool show)"""
+        return _ogl.PyShape_Show(*args, **kwargs)
+
+    def IsShown(*args, **kwargs):
+        """IsShown() -> bool"""
+        return _ogl.PyShape_IsShown(*args, **kwargs)
+
+    def Move(*args, **kwargs):
+        """Move(wxDC dc, double x1, double y1, bool display=True)"""
+        return _ogl.PyShape_Move(*args, **kwargs)
+
+    def Erase(*args, **kwargs):
+        """Erase(wxDC dc)"""
+        return _ogl.PyShape_Erase(*args, **kwargs)
+
+    def EraseContents(*args, **kwargs):
+        """EraseContents(wxDC dc)"""
+        return _ogl.PyShape_EraseContents(*args, **kwargs)
+
+    def Draw(*args, **kwargs):
+        """Draw(wxDC dc)"""
+        return _ogl.PyShape_Draw(*args, **kwargs)
+
+    def Flash(*args, **kwargs):
+        """Flash()"""
+        return _ogl.PyShape_Flash(*args, **kwargs)
+
+    def MoveLinks(*args, **kwargs):
+        """MoveLinks(wxDC dc)"""
+        return _ogl.PyShape_MoveLinks(*args, **kwargs)
+
+    def DrawContents(*args, **kwargs):
+        """DrawContents(wxDC dc)"""
+        return _ogl.PyShape_DrawContents(*args, **kwargs)
+
+    def SetSize(*args, **kwargs):
+        """SetSize(double x, double y, bool recursive=True)"""
+        return _ogl.PyShape_SetSize(*args, **kwargs)
+
+    def SetAttachmentSize(*args, **kwargs):
+        """SetAttachmentSize(double x, double y)"""
+        return _ogl.PyShape_SetAttachmentSize(*args, **kwargs)
+
+    def Attach(*args, **kwargs):
+        """Attach(PyShapeCanvas can)"""
+        return _ogl.PyShape_Attach(*args, **kwargs)
+
+    def Detach(*args, **kwargs):
+        """Detach()"""
+        return _ogl.PyShape_Detach(*args, **kwargs)
+
+    def Constrain(*args, **kwargs):
+        """Constrain() -> bool"""
+        return _ogl.PyShape_Constrain(*args, **kwargs)
+
+    def AddLine(*args, **kwargs):
+        """AddLine(PyLineShape line, PyShape other, int attachFrom=0, 
+    int attachTo=0, int positionFrom=-1, int positionTo=-1)"""
+        return _ogl.PyShape_AddLine(*args, **kwargs)
+
+    def GetLinePosition(*args, **kwargs):
+        """GetLinePosition(PyLineShape line) -> int"""
+        return _ogl.PyShape_GetLinePosition(*args, **kwargs)
+
+    def AddText(*args, **kwargs):
+        """AddText(wxString string)"""
+        return _ogl.PyShape_AddText(*args, **kwargs)
+
+    def GetPen(*args, **kwargs):
+        """GetPen() -> wxPen"""
+        return _ogl.PyShape_GetPen(*args, **kwargs)
+
+    def GetBrush(*args, **kwargs):
+        """GetBrush() -> wxBrush"""
+        return _ogl.PyShape_GetBrush(*args, **kwargs)
+
+    def SetDefaultRegionSize(*args, **kwargs):
+        """SetDefaultRegionSize()"""
+        return _ogl.PyShape_SetDefaultRegionSize(*args, **kwargs)
+
+    def FormatText(*args, **kwargs):
+        """FormatText(wxDC dc, wxString s, int regionId=0)"""
+        return _ogl.PyShape_FormatText(*args, **kwargs)
+
+    def SetFormatMode(*args, **kwargs):
+        """SetFormatMode(int mode, int regionId=0)"""
+        return _ogl.PyShape_SetFormatMode(*args, **kwargs)
+
+    def GetFormatMode(*args, **kwargs):
+        """GetFormatMode(int regionId=0) -> int"""
+        return _ogl.PyShape_GetFormatMode(*args, **kwargs)
+
+    def SetFont(*args, **kwargs):
+        """SetFont(wxFont font, int regionId=0)"""
+        return _ogl.PyShape_SetFont(*args, **kwargs)
+
+    def GetFont(*args, **kwargs):
+        """GetFont(int regionId=0) -> wxFont"""
+        return _ogl.PyShape_GetFont(*args, **kwargs)
+
+    def SetTextColour(*args, **kwargs):
+        """SetTextColour(wxString colour, int regionId=0)"""
+        return _ogl.PyShape_SetTextColour(*args, **kwargs)
+
+    def GetTextColour(*args, **kwargs):
+        """GetTextColour(int regionId=0) -> wxString"""
+        return _ogl.PyShape_GetTextColour(*args, **kwargs)
+
+    def GetNumberOfTextRegions(*args, **kwargs):
+        """GetNumberOfTextRegions() -> int"""
+        return _ogl.PyShape_GetNumberOfTextRegions(*args, **kwargs)
+
+    def SetRegionName(*args, **kwargs):
+        """SetRegionName(wxString name, int regionId=0)"""
+        return _ogl.PyShape_SetRegionName(*args, **kwargs)
+
+    def GetRegionName(*args, **kwargs):
+        """GetRegionName(int regionId) -> wxString"""
+        return _ogl.PyShape_GetRegionName(*args, **kwargs)
+
+    def GetRegionId(*args, **kwargs):
+        """GetRegionId(wxString name) -> int"""
+        return _ogl.PyShape_GetRegionId(*args, **kwargs)
+
+    def NameRegions(*args, **kwargs):
+        """NameRegions(wxString parentName="")"""
+        return _ogl.PyShape_NameRegions(*args, **kwargs)
+
+    def GetRegions(*args, **kwargs):
+        """GetRegions() -> PyObject"""
+        return _ogl.PyShape_GetRegions(*args, **kwargs)
+
+    def AddRegion(*args, **kwargs):
+        """AddRegion(ShapeRegion region)"""
+        return _ogl.PyShape_AddRegion(*args, **kwargs)
+
+    def ClearRegions(*args, **kwargs):
+        """ClearRegions()"""
+        return _ogl.PyShape_ClearRegions(*args, **kwargs)
+
+    def AssignNewIds(*args, **kwargs):
+        """AssignNewIds()"""
+        return _ogl.PyShape_AssignNewIds(*args, **kwargs)
+
+    def FindRegion(*args, **kwargs):
+        """FindRegion(wxString regionName, int OUTPUT) -> PyShape"""
+        return _ogl.PyShape_FindRegion(*args, **kwargs)
+
+    def FindRegionNames(*args, **kwargs):
+        """FindRegionNames(wxStringList list)"""
+        return _ogl.PyShape_FindRegionNames(*args, **kwargs)
+
+    def ClearText(*args, **kwargs):
+        """ClearText(int regionId=0)"""
+        return _ogl.PyShape_ClearText(*args, **kwargs)
+
+    def RemoveLine(*args, **kwargs):
+        """RemoveLine(PyLineShape line)"""
+        return _ogl.PyShape_RemoveLine(*args, **kwargs)
+
+    def GetAttachmentPosition(*args, **kwargs):
+        """GetAttachmentPosition(int attachment, double OUTPUT, double OUTPUT, int nth=0, 
+    int no_arcs=1, PyLineShape line=None) -> bool"""
+        return _ogl.PyShape_GetAttachmentPosition(*args, **kwargs)
+
+    def GetNumberOfAttachments(*args, **kwargs):
+        """GetNumberOfAttachments() -> int"""
+        return _ogl.PyShape_GetNumberOfAttachments(*args, **kwargs)
+
+    def AttachmentIsValid(*args, **kwargs):
+        """AttachmentIsValid(int attachment) -> bool"""
+        return _ogl.PyShape_AttachmentIsValid(*args, **kwargs)
+
+    def GetAttachmentPositionEdge(*args, **kwargs):
+        """GetAttachmentPositionEdge(int attachment, double OUTPUT, double OUTPUT, int nth=0, 
+    int no_arcs=1, PyLineShape line=None) -> bool"""
+        return _ogl.PyShape_GetAttachmentPositionEdge(*args, **kwargs)
+
+    def CalcSimpleAttachment(*args, **kwargs):
+        """CalcSimpleAttachment(RealPoint pt1, RealPoint pt2, int nth, int noArcs, 
+    PyLineShape line) -> RealPoint"""
+        return _ogl.PyShape_CalcSimpleAttachment(*args, **kwargs)
+
+    def AttachmentSortTest(*args, **kwargs):
+        """AttachmentSortTest(int attachmentPoint, RealPoint pt1, RealPoint pt2) -> bool"""
+        return _ogl.PyShape_AttachmentSortTest(*args, **kwargs)
+
+    def EraseLinks(*args, **kwargs):
+        """EraseLinks(wxDC dc, int attachment=-1, bool recurse=False)"""
+        return _ogl.PyShape_EraseLinks(*args, **kwargs)
+
+    def DrawLinks(*args, **kwargs):
+        """DrawLinks(wxDC dc, int attachment=-1, bool recurse=False)"""
+        return _ogl.PyShape_DrawLinks(*args, **kwargs)
+
+    def MoveLineToNewAttachment(*args, **kwargs):
+        """MoveLineToNewAttachment(wxDC dc, PyLineShape to_move, double x, double y) -> bool"""
+        return _ogl.PyShape_MoveLineToNewAttachment(*args, **kwargs)
+
+    def ApplyAttachmentOrdering(*args, **kwargs):
+        """ApplyAttachmentOrdering(PyObject linesToSort)"""
+        return _ogl.PyShape_ApplyAttachmentOrdering(*args, **kwargs)
+
+    def GetBranchingAttachmentRoot(*args, **kwargs):
+        """GetBranchingAttachmentRoot(int attachment) -> RealPoint"""
+        return _ogl.PyShape_GetBranchingAttachmentRoot(*args, **kwargs)
+
+    def GetBranchingAttachmentInfo(*args, **kwargs):
+        """GetBranchingAttachmentInfo(int attachment, RealPoint root, RealPoint neck, RealPoint shoulder1, 
+    RealPoint shoulder2) -> bool"""
+        return _ogl.PyShape_GetBranchingAttachmentInfo(*args, **kwargs)
+
+    def GetBranchingAttachmentPoint(*args, **kwargs):
+        """GetBranchingAttachmentPoint(int attachment, int n, RealPoint attachmentPoint, RealPoint stemPoint) -> bool"""
+        return _ogl.PyShape_GetBranchingAttachmentPoint(*args, **kwargs)
+
+    def GetAttachmentLineCount(*args, **kwargs):
+        """GetAttachmentLineCount(int attachment) -> int"""
+        return _ogl.PyShape_GetAttachmentLineCount(*args, **kwargs)
+
+    def SetBranchNeckLength(*args, **kwargs):
+        """SetBranchNeckLength(int len)"""
+        return _ogl.PyShape_SetBranchNeckLength(*args, **kwargs)
+
+    def GetBranchNeckLength(*args, **kwargs):
+        """GetBranchNeckLength() -> int"""
+        return _ogl.PyShape_GetBranchNeckLength(*args, **kwargs)
+
+    def SetBranchStemLength(*args, **kwargs):
+        """SetBranchStemLength(int len)"""
+        return _ogl.PyShape_SetBranchStemLength(*args, **kwargs)
+
+    def GetBranchStemLength(*args, **kwargs):
+        """GetBranchStemLength() -> int"""
+        return _ogl.PyShape_GetBranchStemLength(*args, **kwargs)
+
+    def SetBranchSpacing(*args, **kwargs):
+        """SetBranchSpacing(int len)"""
+        return _ogl.PyShape_SetBranchSpacing(*args, **kwargs)
+
+    def GetBranchSpacing(*args, **kwargs):
+        """GetBranchSpacing() -> int"""
+        return _ogl.PyShape_GetBranchSpacing(*args, **kwargs)
+
+    def SetBranchStyle(*args, **kwargs):
+        """SetBranchStyle(long style)"""
+        return _ogl.PyShape_SetBranchStyle(*args, **kwargs)
+
+    def GetBranchStyle(*args, **kwargs):
+        """GetBranchStyle() -> long"""
+        return _ogl.PyShape_GetBranchStyle(*args, **kwargs)
+
+    def PhysicalToLogicalAttachment(*args, **kwargs):
+        """PhysicalToLogicalAttachment(int physicalAttachment) -> int"""
+        return _ogl.PyShape_PhysicalToLogicalAttachment(*args, **kwargs)
+
+    def LogicalToPhysicalAttachment(*args, **kwargs):
+        """LogicalToPhysicalAttachment(int logicalAttachment) -> int"""
+        return _ogl.PyShape_LogicalToPhysicalAttachment(*args, **kwargs)
+
+    def Draggable(*args, **kwargs):
+        """Draggable() -> bool"""
+        return _ogl.PyShape_Draggable(*args, **kwargs)
+
+    def HasDescendant(*args, **kwargs):
+        """HasDescendant(PyShape image) -> bool"""
+        return _ogl.PyShape_HasDescendant(*args, **kwargs)
+
+    def CreateNewCopy(*args, **kwargs):
+        """CreateNewCopy(bool resetMapping=True, bool recompute=True) -> PyShape"""
+        return _ogl.PyShape_CreateNewCopy(*args, **kwargs)
+
+    def Copy(*args, **kwargs):
+        """Copy(PyShape copy)"""
+        return _ogl.PyShape_Copy(*args, **kwargs)
+
+    def CopyWithHandler(*args, **kwargs):
+        """CopyWithHandler(PyShape copy)"""
+        return _ogl.PyShape_CopyWithHandler(*args, **kwargs)
+
+    def Rotate(*args, **kwargs):
+        """Rotate(double x, double y, double theta)"""
+        return _ogl.PyShape_Rotate(*args, **kwargs)
+
+    def GetRotation(*args, **kwargs):
+        """GetRotation() -> double"""
+        return _ogl.PyShape_GetRotation(*args, **kwargs)
+
+    def ClearAttachments(*args, **kwargs):
+        """ClearAttachments()"""
+        return _ogl.PyShape_ClearAttachments(*args, **kwargs)
+
+    def Recentre(*args, **kwargs):
+        """Recentre(wxDC dc)"""
+        return _ogl.PyShape_Recentre(*args, **kwargs)
+
+    def ClearPointList(*args, **kwargs):
+        """ClearPointList(wxList list)"""
+        return _ogl.PyShape_ClearPointList(*args, **kwargs)
+
+    def GetBackgroundPen(*args, **kwargs):
+        """GetBackgroundPen() -> wxPen"""
+        return _ogl.PyShape_GetBackgroundPen(*args, **kwargs)
+
+    def GetBackgroundBrush(*args, **kwargs):
+        """GetBackgroundBrush() -> wxBrush"""
+        return _ogl.PyShape_GetBackgroundBrush(*args, **kwargs)
+
+    def base_OnDelete(*args, **kwargs):
+        """base_OnDelete()"""
+        return _ogl.PyShape_base_OnDelete(*args, **kwargs)
+
+    def base_OnDraw(*args, **kwargs):
+        """base_OnDraw(wxDC dc)"""
+        return _ogl.PyShape_base_OnDraw(*args, **kwargs)
+
+    def base_OnDrawContents(*args, **kwargs):
+        """base_OnDrawContents(wxDC dc)"""
+        return _ogl.PyShape_base_OnDrawContents(*args, **kwargs)
+
+    def base_OnDrawBranches(*args, **kwargs):
+        """base_OnDrawBranches(wxDC dc, bool erase=False)"""
+        return _ogl.PyShape_base_OnDrawBranches(*args, **kwargs)
+
+    def base_OnMoveLinks(*args, **kwargs):
+        """base_OnMoveLinks(wxDC dc)"""
+        return _ogl.PyShape_base_OnMoveLinks(*args, **kwargs)
+
+    def base_OnErase(*args, **kwargs):
+        """base_OnErase(wxDC dc)"""
+        return _ogl.PyShape_base_OnErase(*args, **kwargs)
+
+    def base_OnEraseContents(*args, **kwargs):
+        """base_OnEraseContents(wxDC dc)"""
+        return _ogl.PyShape_base_OnEraseContents(*args, **kwargs)
+
+    def base_OnHighlight(*args, **kwargs):
+        """base_OnHighlight(wxDC dc)"""
+        return _ogl.PyShape_base_OnHighlight(*args, **kwargs)
+
+    def base_OnLeftClick(*args, **kwargs):
+        """base_OnLeftClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyShape_base_OnLeftClick(*args, **kwargs)
+
+    def base_OnLeftDoubleClick(*args, **kwargs):
+        """base_OnLeftDoubleClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyShape_base_OnLeftDoubleClick(*args, **kwargs)
+
+    def base_OnRightClick(*args, **kwargs):
+        """base_OnRightClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyShape_base_OnRightClick(*args, **kwargs)
+
+    def base_OnSize(*args, **kwargs):
+        """base_OnSize(double x, double y)"""
+        return _ogl.PyShape_base_OnSize(*args, **kwargs)
+
+    def base_OnMovePre(*args, **kwargs):
+        """base_OnMovePre(wxDC dc, double x, double y, double old_x, double old_y, 
+    bool display=True) -> bool"""
+        return _ogl.PyShape_base_OnMovePre(*args, **kwargs)
+
+    def base_OnMovePost(*args, **kwargs):
+        """base_OnMovePost(wxDC dc, double x, double y, double old_x, double old_y, 
+    bool display=True)"""
+        return _ogl.PyShape_base_OnMovePost(*args, **kwargs)
+
+    def base_OnDragLeft(*args, **kwargs):
+        """base_OnDragLeft(bool draw, double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyShape_base_OnDragLeft(*args, **kwargs)
+
+    def base_OnBeginDragLeft(*args, **kwargs):
+        """base_OnBeginDragLeft(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyShape_base_OnBeginDragLeft(*args, **kwargs)
+
+    def base_OnEndDragLeft(*args, **kwargs):
+        """base_OnEndDragLeft(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyShape_base_OnEndDragLeft(*args, **kwargs)
+
+    def base_OnDragRight(*args, **kwargs):
+        """base_OnDragRight(bool draw, double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyShape_base_OnDragRight(*args, **kwargs)
+
+    def base_OnBeginDragRight(*args, **kwargs):
+        """base_OnBeginDragRight(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyShape_base_OnBeginDragRight(*args, **kwargs)
+
+    def base_OnEndDragRight(*args, **kwargs):
+        """base_OnEndDragRight(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyShape_base_OnEndDragRight(*args, **kwargs)
+
+    def base_OnDrawOutline(*args, **kwargs):
+        """base_OnDrawOutline(wxDC dc, double x, double y, double w, double h)"""
+        return _ogl.PyShape_base_OnDrawOutline(*args, **kwargs)
+
+    def base_OnDrawControlPoints(*args, **kwargs):
+        """base_OnDrawControlPoints(wxDC dc)"""
+        return _ogl.PyShape_base_OnDrawControlPoints(*args, **kwargs)
+
+    def base_OnEraseControlPoints(*args, **kwargs):
+        """base_OnEraseControlPoints(wxDC dc)"""
+        return _ogl.PyShape_base_OnEraseControlPoints(*args, **kwargs)
+
+    def base_OnMoveLink(*args, **kwargs):
+        """base_OnMoveLink(wxDC dc, bool moveControlPoints=True)"""
+        return _ogl.PyShape_base_OnMoveLink(*args, **kwargs)
+
+    def base_OnSizingDragLeft(*args, **kwargs):
+        """base_OnSizingDragLeft(PyControlPoint pt, bool draw, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyShape_base_OnSizingDragLeft(*args, **kwargs)
+
+    def base_OnSizingBeginDragLeft(*args, **kwargs):
+        """base_OnSizingBeginDragLeft(PyControlPoint pt, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyShape_base_OnSizingBeginDragLeft(*args, **kwargs)
+
+    def base_OnSizingEndDragLeft(*args, **kwargs):
+        """base_OnSizingEndDragLeft(PyControlPoint pt, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyShape_base_OnSizingEndDragLeft(*args, **kwargs)
+
+    def base_OnBeginSize(*args, **kwargs):
+        """base_OnBeginSize(double w, double h)"""
+        return _ogl.PyShape_base_OnBeginSize(*args, **kwargs)
+
+    def base_OnEndSize(*args, **kwargs):
+        """base_OnEndSize(double w, double h)"""
+        return _ogl.PyShape_base_OnEndSize(*args, **kwargs)
+
+
+class PyShapePtr(PyShape):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = PyShape
+_ogl.PyShape_swigregister(PyShapePtr)
+
+oglMETAFLAGS_OUTLINE = _ogl.oglMETAFLAGS_OUTLINE
+oglMETAFLAGS_ATTACHMENTS = _ogl.oglMETAFLAGS_ATTACHMENTS
+class PseudoMetaFile(core.Object):
+    """"""
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxPseudoMetaFile instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__() -> PseudoMetaFile"""
+        newobj = _ogl.new_PseudoMetaFile(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+    def __del__(self, destroy=_ogl.delete_PseudoMetaFile):
+        """__del__()"""
+        try:
+            if self.thisown: destroy(self)
+        except: pass
+
+    def Draw(*args, **kwargs):
+        """Draw(wxDC dc, double xoffset, double yoffset)"""
+        return _ogl.PseudoMetaFile_Draw(*args, **kwargs)
+
+    def Clear(*args, **kwargs):
+        """Clear()"""
+        return _ogl.PseudoMetaFile_Clear(*args, **kwargs)
+
+    def Copy(*args, **kwargs):
+        """Copy(PseudoMetaFile copy)"""
+        return _ogl.PseudoMetaFile_Copy(*args, **kwargs)
+
+    def Scale(*args, **kwargs):
+        """Scale(double sx, double sy)"""
+        return _ogl.PseudoMetaFile_Scale(*args, **kwargs)
+
+    def ScaleTo(*args, **kwargs):
+        """ScaleTo(double w, double h)"""
+        return _ogl.PseudoMetaFile_ScaleTo(*args, **kwargs)
+
+    def Translate(*args, **kwargs):
+        """Translate(double x, double y)"""
+        return _ogl.PseudoMetaFile_Translate(*args, **kwargs)
+
+    def Rotate(*args, **kwargs):
+        """Rotate(double x, double y, double theta)"""
+        return _ogl.PseudoMetaFile_Rotate(*args, **kwargs)
+
+    def LoadFromMetaFile(*args, **kwargs):
+        """LoadFromMetaFile(wxString filename, double width, double height) -> bool"""
+        return _ogl.PseudoMetaFile_LoadFromMetaFile(*args, **kwargs)
+
+    def GetBounds(*args, **kwargs):
+        """GetBounds(double minX, double minY, double maxX, double maxY)"""
+        return _ogl.PseudoMetaFile_GetBounds(*args, **kwargs)
+
+    def CalculateSize(*args, **kwargs):
+        """CalculateSize(PyDrawnShape shape)"""
+        return _ogl.PseudoMetaFile_CalculateSize(*args, **kwargs)
+
+    def SetRotateable(*args, **kwargs):
+        """SetRotateable(bool rot)"""
+        return _ogl.PseudoMetaFile_SetRotateable(*args, **kwargs)
+
+    def GetRotateable(*args, **kwargs):
+        """GetRotateable() -> bool"""
+        return _ogl.PseudoMetaFile_GetRotateable(*args, **kwargs)
+
+    def SetSize(*args, **kwargs):
+        """SetSize(double w, double h)"""
+        return _ogl.PseudoMetaFile_SetSize(*args, **kwargs)
+
+    def SetFillBrush(*args, **kwargs):
+        """SetFillBrush(wxBrush brush)"""
+        return _ogl.PseudoMetaFile_SetFillBrush(*args, **kwargs)
+
+    def GetFillBrush(*args, **kwargs):
+        """GetFillBrush() -> wxBrush"""
+        return _ogl.PseudoMetaFile_GetFillBrush(*args, **kwargs)
+
+    def SetOutlinePen(*args, **kwargs):
+        """SetOutlinePen(wxPen pen)"""
+        return _ogl.PseudoMetaFile_SetOutlinePen(*args, **kwargs)
+
+    def GetOutlinePen(*args, **kwargs):
+        """GetOutlinePen() -> wxPen"""
+        return _ogl.PseudoMetaFile_GetOutlinePen(*args, **kwargs)
+
+    def SetOutlineOp(*args, **kwargs):
+        """SetOutlineOp(int op)"""
+        return _ogl.PseudoMetaFile_SetOutlineOp(*args, **kwargs)
+
+    def GetOutlineOp(*args, **kwargs):
+        """GetOutlineOp() -> int"""
+        return _ogl.PseudoMetaFile_GetOutlineOp(*args, **kwargs)
+
+    def IsValid(*args, **kwargs):
+        """IsValid() -> bool"""
+        return _ogl.PseudoMetaFile_IsValid(*args, **kwargs)
+
+    def DrawLine(*args, **kwargs):
+        """DrawLine(Point pt1, Point pt2)"""
+        return _ogl.PseudoMetaFile_DrawLine(*args, **kwargs)
+
+    def DrawRectangle(*args, **kwargs):
+        """DrawRectangle(Rect rect)"""
+        return _ogl.PseudoMetaFile_DrawRectangle(*args, **kwargs)
+
+    def DrawRoundedRectangle(*args, **kwargs):
+        """DrawRoundedRectangle(Rect rect, double radius)"""
+        return _ogl.PseudoMetaFile_DrawRoundedRectangle(*args, **kwargs)
+
+    def DrawArc(*args, **kwargs):
+        """DrawArc(Point centrePt, Point startPt, Point endPt)"""
+        return _ogl.PseudoMetaFile_DrawArc(*args, **kwargs)
+
+    def DrawEllipticArc(*args, **kwargs):
+        """DrawEllipticArc(Rect rect, double startAngle, double endAngle)"""
+        return _ogl.PseudoMetaFile_DrawEllipticArc(*args, **kwargs)
+
+    def DrawEllipse(*args, **kwargs):
+        """DrawEllipse(Rect rect)"""
+        return _ogl.PseudoMetaFile_DrawEllipse(*args, **kwargs)
+
+    def DrawPoint(*args, **kwargs):
+        """DrawPoint(Point pt)"""
+        return _ogl.PseudoMetaFile_DrawPoint(*args, **kwargs)
+
+    def DrawText(*args, **kwargs):
+        """DrawText(wxString text, Point pt)"""
+        return _ogl.PseudoMetaFile_DrawText(*args, **kwargs)
+
+    def DrawLines(*args, **kwargs):
+        """DrawLines(int PCOUNT, Point points)"""
+        return _ogl.PseudoMetaFile_DrawLines(*args, **kwargs)
+
+    def DrawPolygon(*args, **kwargs):
+        """DrawPolygon(int PCOUNT, Point points, int flags=0)"""
+        return _ogl.PseudoMetaFile_DrawPolygon(*args, **kwargs)
+
+    def DrawSpline(*args, **kwargs):
+        """DrawSpline(int PCOUNT, Point points)"""
+        return _ogl.PseudoMetaFile_DrawSpline(*args, **kwargs)
+
+    def SetClippingRect(*args, **kwargs):
+        """SetClippingRect(Rect rect)"""
+        return _ogl.PseudoMetaFile_SetClippingRect(*args, **kwargs)
+
+    def DestroyClippingRect(*args, **kwargs):
+        """DestroyClippingRect()"""
+        return _ogl.PseudoMetaFile_DestroyClippingRect(*args, **kwargs)
+
+    def SetPen(*args, **kwargs):
+        """SetPen(wxPen pen, bool isOutline=FALSE)"""
+        return _ogl.PseudoMetaFile_SetPen(*args, **kwargs)
+
+    def SetBrush(*args, **kwargs):
+        """SetBrush(wxBrush brush, bool isFill=FALSE)"""
+        return _ogl.PseudoMetaFile_SetBrush(*args, **kwargs)
+
+    def SetFont(*args, **kwargs):
+        """SetFont(wxFont font)"""
+        return _ogl.PseudoMetaFile_SetFont(*args, **kwargs)
+
+    def SetTextColour(*args, **kwargs):
+        """SetTextColour(wxColour colour)"""
+        return _ogl.PseudoMetaFile_SetTextColour(*args, **kwargs)
+
+    def SetBackgroundColour(*args, **kwargs):
+        """SetBackgroundColour(wxColour colour)"""
+        return _ogl.PseudoMetaFile_SetBackgroundColour(*args, **kwargs)
+
+    def SetBackgroundMode(*args, **kwargs):
+        """SetBackgroundMode(int mode)"""
+        return _ogl.PseudoMetaFile_SetBackgroundMode(*args, **kwargs)
+
+
+class PseudoMetaFilePtr(PseudoMetaFile):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = PseudoMetaFile
+_ogl.PseudoMetaFile_swigregister(PseudoMetaFilePtr)
+
+class PyRectangleShape(PyShape):
+    """"""
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxPyRectangleShape instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__(double width=0.0, double height=0.0) -> PyRectangleShape"""
+        newobj = _ogl.new_PyRectangleShape(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+        self._setOORandCallbackInfo(PyRectangleShape)
+
+    def _setCallbackInfo(*args, **kwargs):
+        """_setCallbackInfo(PyObject self, PyObject _class)"""
+        return _ogl.PyRectangleShape__setCallbackInfo(*args, **kwargs)
+
+    def SetCornerRadius(*args, **kwargs):
+        """SetCornerRadius(double radius)"""
+        return _ogl.PyRectangleShape_SetCornerRadius(*args, **kwargs)
+
+    def base_OnDelete(*args, **kwargs):
+        """base_OnDelete()"""
+        return _ogl.PyRectangleShape_base_OnDelete(*args, **kwargs)
+
+    def base_OnDraw(*args, **kwargs):
+        """base_OnDraw(wxDC dc)"""
+        return _ogl.PyRectangleShape_base_OnDraw(*args, **kwargs)
+
+    def base_OnDrawContents(*args, **kwargs):
+        """base_OnDrawContents(wxDC dc)"""
+        return _ogl.PyRectangleShape_base_OnDrawContents(*args, **kwargs)
+
+    def base_OnDrawBranches(*args, **kwargs):
+        """base_OnDrawBranches(wxDC dc, bool erase=FALSE)"""
+        return _ogl.PyRectangleShape_base_OnDrawBranches(*args, **kwargs)
+
+    def base_OnMoveLinks(*args, **kwargs):
+        """base_OnMoveLinks(wxDC dc)"""
+        return _ogl.PyRectangleShape_base_OnMoveLinks(*args, **kwargs)
+
+    def base_OnErase(*args, **kwargs):
+        """base_OnErase(wxDC dc)"""
+        return _ogl.PyRectangleShape_base_OnErase(*args, **kwargs)
+
+    def base_OnEraseContents(*args, **kwargs):
+        """base_OnEraseContents(wxDC dc)"""
+        return _ogl.PyRectangleShape_base_OnEraseContents(*args, **kwargs)
+
+    def base_OnHighlight(*args, **kwargs):
+        """base_OnHighlight(wxDC dc)"""
+        return _ogl.PyRectangleShape_base_OnHighlight(*args, **kwargs)
+
+    def base_OnLeftClick(*args, **kwargs):
+        """base_OnLeftClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyRectangleShape_base_OnLeftClick(*args, **kwargs)
+
+    def base_OnLeftDoubleClick(*args, **kwargs):
+        """base_OnLeftDoubleClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyRectangleShape_base_OnLeftDoubleClick(*args, **kwargs)
+
+    def base_OnRightClick(*args, **kwargs):
+        """base_OnRightClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyRectangleShape_base_OnRightClick(*args, **kwargs)
+
+    def base_OnSize(*args, **kwargs):
+        """base_OnSize(double x, double y)"""
+        return _ogl.PyRectangleShape_base_OnSize(*args, **kwargs)
+
+    def base_OnMovePre(*args, **kwargs):
+        """base_OnMovePre(wxDC dc, double x, double y, double old_x, double old_y, 
+    bool display=True) -> bool"""
+        return _ogl.PyRectangleShape_base_OnMovePre(*args, **kwargs)
+
+    def base_OnMovePost(*args, **kwargs):
+        """base_OnMovePost(wxDC dc, double x, double y, double old_x, double old_y, 
+    bool display=True)"""
+        return _ogl.PyRectangleShape_base_OnMovePost(*args, **kwargs)
+
+    def base_OnDragLeft(*args, **kwargs):
+        """base_OnDragLeft(bool draw, double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyRectangleShape_base_OnDragLeft(*args, **kwargs)
+
+    def base_OnBeginDragLeft(*args, **kwargs):
+        """base_OnBeginDragLeft(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyRectangleShape_base_OnBeginDragLeft(*args, **kwargs)
+
+    def base_OnEndDragLeft(*args, **kwargs):
+        """base_OnEndDragLeft(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyRectangleShape_base_OnEndDragLeft(*args, **kwargs)
+
+    def base_OnDragRight(*args, **kwargs):
+        """base_OnDragRight(bool draw, double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyRectangleShape_base_OnDragRight(*args, **kwargs)
+
+    def base_OnBeginDragRight(*args, **kwargs):
+        """base_OnBeginDragRight(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyRectangleShape_base_OnBeginDragRight(*args, **kwargs)
+
+    def base_OnEndDragRight(*args, **kwargs):
+        """base_OnEndDragRight(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyRectangleShape_base_OnEndDragRight(*args, **kwargs)
+
+    def base_OnDrawOutline(*args, **kwargs):
+        """base_OnDrawOutline(wxDC dc, double x, double y, double w, double h)"""
+        return _ogl.PyRectangleShape_base_OnDrawOutline(*args, **kwargs)
+
+    def base_OnDrawControlPoints(*args, **kwargs):
+        """base_OnDrawControlPoints(wxDC dc)"""
+        return _ogl.PyRectangleShape_base_OnDrawControlPoints(*args, **kwargs)
+
+    def base_OnEraseControlPoints(*args, **kwargs):
+        """base_OnEraseControlPoints(wxDC dc)"""
+        return _ogl.PyRectangleShape_base_OnEraseControlPoints(*args, **kwargs)
+
+    def base_OnMoveLink(*args, **kwargs):
+        """base_OnMoveLink(wxDC dc, bool moveControlPoints=True)"""
+        return _ogl.PyRectangleShape_base_OnMoveLink(*args, **kwargs)
+
+    def base_OnSizingDragLeft(*args, **kwargs):
+        """base_OnSizingDragLeft(PyControlPoint pt, bool draw, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyRectangleShape_base_OnSizingDragLeft(*args, **kwargs)
+
+    def base_OnSizingBeginDragLeft(*args, **kwargs):
+        """base_OnSizingBeginDragLeft(PyControlPoint pt, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyRectangleShape_base_OnSizingBeginDragLeft(*args, **kwargs)
+
+    def base_OnSizingEndDragLeft(*args, **kwargs):
+        """base_OnSizingEndDragLeft(PyControlPoint pt, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyRectangleShape_base_OnSizingEndDragLeft(*args, **kwargs)
+
+    def base_OnBeginSize(*args, **kwargs):
+        """base_OnBeginSize(double w, double h)"""
+        return _ogl.PyRectangleShape_base_OnBeginSize(*args, **kwargs)
+
+    def base_OnEndSize(*args, **kwargs):
+        """base_OnEndSize(double w, double h)"""
+        return _ogl.PyRectangleShape_base_OnEndSize(*args, **kwargs)
+
+
+class PyRectangleShapePtr(PyRectangleShape):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = PyRectangleShape
+_ogl.PyRectangleShape_swigregister(PyRectangleShapePtr)
+
+class PyControlPoint(PyRectangleShape):
+    """"""
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxPyControlPoint instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__(PyShapeCanvas the_canvas=None, PyShape object=None, 
+    double size=0.0, double the_xoffset=0.0, double the_yoffset=0.0, 
+    int the_type=0) -> PyControlPoint"""
+        newobj = _ogl.new_PyControlPoint(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+        self._setOORandCallbackInfo(PyControlPoint)
+
+    def _setCallbackInfo(*args, **kwargs):
+        """_setCallbackInfo(PyObject self, PyObject _class)"""
+        return _ogl.PyControlPoint__setCallbackInfo(*args, **kwargs)
+
+    def SetCornerRadius(*args, **kwargs):
+        """SetCornerRadius(double radius)"""
+        return _ogl.PyControlPoint_SetCornerRadius(*args, **kwargs)
+
+    def base_OnDelete(*args, **kwargs):
+        """base_OnDelete()"""
+        return _ogl.PyControlPoint_base_OnDelete(*args, **kwargs)
+
+    def base_OnDraw(*args, **kwargs):
+        """base_OnDraw(wxDC dc)"""
+        return _ogl.PyControlPoint_base_OnDraw(*args, **kwargs)
+
+    def base_OnDrawContents(*args, **kwargs):
+        """base_OnDrawContents(wxDC dc)"""
+        return _ogl.PyControlPoint_base_OnDrawContents(*args, **kwargs)
+
+    def base_OnDrawBranches(*args, **kwargs):
+        """base_OnDrawBranches(wxDC dc, bool erase=FALSE)"""
+        return _ogl.PyControlPoint_base_OnDrawBranches(*args, **kwargs)
+
+    def base_OnMoveLinks(*args, **kwargs):
+        """base_OnMoveLinks(wxDC dc)"""
+        return _ogl.PyControlPoint_base_OnMoveLinks(*args, **kwargs)
+
+    def base_OnErase(*args, **kwargs):
+        """base_OnErase(wxDC dc)"""
+        return _ogl.PyControlPoint_base_OnErase(*args, **kwargs)
+
+    def base_OnEraseContents(*args, **kwargs):
+        """base_OnEraseContents(wxDC dc)"""
+        return _ogl.PyControlPoint_base_OnEraseContents(*args, **kwargs)
+
+    def base_OnHighlight(*args, **kwargs):
+        """base_OnHighlight(wxDC dc)"""
+        return _ogl.PyControlPoint_base_OnHighlight(*args, **kwargs)
+
+    def base_OnLeftClick(*args, **kwargs):
+        """base_OnLeftClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyControlPoint_base_OnLeftClick(*args, **kwargs)
+
+    def base_OnLeftDoubleClick(*args, **kwargs):
+        """base_OnLeftDoubleClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyControlPoint_base_OnLeftDoubleClick(*args, **kwargs)
+
+    def base_OnRightClick(*args, **kwargs):
+        """base_OnRightClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyControlPoint_base_OnRightClick(*args, **kwargs)
+
+    def base_OnSize(*args, **kwargs):
+        """base_OnSize(double x, double y)"""
+        return _ogl.PyControlPoint_base_OnSize(*args, **kwargs)
+
+    def base_OnMovePre(*args, **kwargs):
+        """base_OnMovePre(wxDC dc, double x, double y, double old_x, double old_y, 
+    bool display=True) -> bool"""
+        return _ogl.PyControlPoint_base_OnMovePre(*args, **kwargs)
+
+    def base_OnMovePost(*args, **kwargs):
+        """base_OnMovePost(wxDC dc, double x, double y, double old_x, double old_y, 
+    bool display=True)"""
+        return _ogl.PyControlPoint_base_OnMovePost(*args, **kwargs)
+
+    def base_OnDragLeft(*args, **kwargs):
+        """base_OnDragLeft(bool draw, double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyControlPoint_base_OnDragLeft(*args, **kwargs)
+
+    def base_OnBeginDragLeft(*args, **kwargs):
+        """base_OnBeginDragLeft(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyControlPoint_base_OnBeginDragLeft(*args, **kwargs)
+
+    def base_OnEndDragLeft(*args, **kwargs):
+        """base_OnEndDragLeft(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyControlPoint_base_OnEndDragLeft(*args, **kwargs)
+
+    def base_OnDragRight(*args, **kwargs):
+        """base_OnDragRight(bool draw, double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyControlPoint_base_OnDragRight(*args, **kwargs)
+
+    def base_OnBeginDragRight(*args, **kwargs):
+        """base_OnBeginDragRight(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyControlPoint_base_OnBeginDragRight(*args, **kwargs)
+
+    def base_OnEndDragRight(*args, **kwargs):
+        """base_OnEndDragRight(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyControlPoint_base_OnEndDragRight(*args, **kwargs)
+
+    def base_OnDrawOutline(*args, **kwargs):
+        """base_OnDrawOutline(wxDC dc, double x, double y, double w, double h)"""
+        return _ogl.PyControlPoint_base_OnDrawOutline(*args, **kwargs)
+
+    def base_OnDrawControlPoints(*args, **kwargs):
+        """base_OnDrawControlPoints(wxDC dc)"""
+        return _ogl.PyControlPoint_base_OnDrawControlPoints(*args, **kwargs)
+
+    def base_OnEraseControlPoints(*args, **kwargs):
+        """base_OnEraseControlPoints(wxDC dc)"""
+        return _ogl.PyControlPoint_base_OnEraseControlPoints(*args, **kwargs)
+
+    def base_OnMoveLink(*args, **kwargs):
+        """base_OnMoveLink(wxDC dc, bool moveControlPoints=True)"""
+        return _ogl.PyControlPoint_base_OnMoveLink(*args, **kwargs)
+
+    def base_OnSizingDragLeft(*args, **kwargs):
+        """base_OnSizingDragLeft(PyControlPoint pt, bool draw, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyControlPoint_base_OnSizingDragLeft(*args, **kwargs)
+
+    def base_OnSizingBeginDragLeft(*args, **kwargs):
+        """base_OnSizingBeginDragLeft(PyControlPoint pt, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyControlPoint_base_OnSizingBeginDragLeft(*args, **kwargs)
+
+    def base_OnSizingEndDragLeft(*args, **kwargs):
+        """base_OnSizingEndDragLeft(PyControlPoint pt, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyControlPoint_base_OnSizingEndDragLeft(*args, **kwargs)
+
+    def base_OnBeginSize(*args, **kwargs):
+        """base_OnBeginSize(double w, double h)"""
+        return _ogl.PyControlPoint_base_OnBeginSize(*args, **kwargs)
+
+    def base_OnEndSize(*args, **kwargs):
+        """base_OnEndSize(double w, double h)"""
+        return _ogl.PyControlPoint_base_OnEndSize(*args, **kwargs)
+
+
+class PyControlPointPtr(PyControlPoint):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = PyControlPoint
+_ogl.PyControlPoint_swigregister(PyControlPointPtr)
+
+class PyBitmapShape(PyRectangleShape):
+    """"""
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxPyBitmapShape instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__() -> PyBitmapShape"""
+        newobj = _ogl.new_PyBitmapShape(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+        self._setOORandCallbackInfo(PyBitmapShape)
+
+    def _setCallbackInfo(*args, **kwargs):
+        """_setCallbackInfo(PyObject self, PyObject _class)"""
+        return _ogl.PyBitmapShape__setCallbackInfo(*args, **kwargs)
+
+    def GetBitmap(*args, **kwargs):
+        """GetBitmap() -> wxBitmap"""
+        return _ogl.PyBitmapShape_GetBitmap(*args, **kwargs)
+
+    def GetFilename(*args, **kwargs):
+        """GetFilename() -> wxString"""
+        return _ogl.PyBitmapShape_GetFilename(*args, **kwargs)
+
+    def SetBitmap(*args, **kwargs):
+        """SetBitmap(wxBitmap bitmap)"""
+        return _ogl.PyBitmapShape_SetBitmap(*args, **kwargs)
+
+    def SetFilename(*args, **kwargs):
+        """SetFilename(wxString filename)"""
+        return _ogl.PyBitmapShape_SetFilename(*args, **kwargs)
+
+    def base_OnDelete(*args, **kwargs):
+        """base_OnDelete()"""
+        return _ogl.PyBitmapShape_base_OnDelete(*args, **kwargs)
+
+    def base_OnDraw(*args, **kwargs):
+        """base_OnDraw(wxDC dc)"""
+        return _ogl.PyBitmapShape_base_OnDraw(*args, **kwargs)
+
+    def base_OnDrawContents(*args, **kwargs):
+        """base_OnDrawContents(wxDC dc)"""
+        return _ogl.PyBitmapShape_base_OnDrawContents(*args, **kwargs)
+
+    def base_OnDrawBranches(*args, **kwargs):
+        """base_OnDrawBranches(wxDC dc, bool erase=FALSE)"""
+        return _ogl.PyBitmapShape_base_OnDrawBranches(*args, **kwargs)
+
+    def base_OnMoveLinks(*args, **kwargs):
+        """base_OnMoveLinks(wxDC dc)"""
+        return _ogl.PyBitmapShape_base_OnMoveLinks(*args, **kwargs)
+
+    def base_OnErase(*args, **kwargs):
+        """base_OnErase(wxDC dc)"""
+        return _ogl.PyBitmapShape_base_OnErase(*args, **kwargs)
+
+    def base_OnEraseContents(*args, **kwargs):
+        """base_OnEraseContents(wxDC dc)"""
+        return _ogl.PyBitmapShape_base_OnEraseContents(*args, **kwargs)
+
+    def base_OnHighlight(*args, **kwargs):
+        """base_OnHighlight(wxDC dc)"""
+        return _ogl.PyBitmapShape_base_OnHighlight(*args, **kwargs)
+
+    def base_OnLeftClick(*args, **kwargs):
+        """base_OnLeftClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyBitmapShape_base_OnLeftClick(*args, **kwargs)
+
+    def base_OnLeftDoubleClick(*args, **kwargs):
+        """base_OnLeftDoubleClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyBitmapShape_base_OnLeftDoubleClick(*args, **kwargs)
+
+    def base_OnRightClick(*args, **kwargs):
+        """base_OnRightClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyBitmapShape_base_OnRightClick(*args, **kwargs)
+
+    def base_OnSize(*args, **kwargs):
+        """base_OnSize(double x, double y)"""
+        return _ogl.PyBitmapShape_base_OnSize(*args, **kwargs)
+
+    def base_OnMovePre(*args, **kwargs):
+        """base_OnMovePre(wxDC dc, double x, double y, double old_x, double old_y, 
+    bool display=True) -> bool"""
+        return _ogl.PyBitmapShape_base_OnMovePre(*args, **kwargs)
+
+    def base_OnMovePost(*args, **kwargs):
+        """base_OnMovePost(wxDC dc, double x, double y, double old_x, double old_y, 
+    bool display=True)"""
+        return _ogl.PyBitmapShape_base_OnMovePost(*args, **kwargs)
+
+    def base_OnDragLeft(*args, **kwargs):
+        """base_OnDragLeft(bool draw, double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyBitmapShape_base_OnDragLeft(*args, **kwargs)
+
+    def base_OnBeginDragLeft(*args, **kwargs):
+        """base_OnBeginDragLeft(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyBitmapShape_base_OnBeginDragLeft(*args, **kwargs)
+
+    def base_OnEndDragLeft(*args, **kwargs):
+        """base_OnEndDragLeft(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyBitmapShape_base_OnEndDragLeft(*args, **kwargs)
+
+    def base_OnDragRight(*args, **kwargs):
+        """base_OnDragRight(bool draw, double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyBitmapShape_base_OnDragRight(*args, **kwargs)
+
+    def base_OnBeginDragRight(*args, **kwargs):
+        """base_OnBeginDragRight(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyBitmapShape_base_OnBeginDragRight(*args, **kwargs)
+
+    def base_OnEndDragRight(*args, **kwargs):
+        """base_OnEndDragRight(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyBitmapShape_base_OnEndDragRight(*args, **kwargs)
+
+    def base_OnDrawOutline(*args, **kwargs):
+        """base_OnDrawOutline(wxDC dc, double x, double y, double w, double h)"""
+        return _ogl.PyBitmapShape_base_OnDrawOutline(*args, **kwargs)
+
+    def base_OnDrawControlPoints(*args, **kwargs):
+        """base_OnDrawControlPoints(wxDC dc)"""
+        return _ogl.PyBitmapShape_base_OnDrawControlPoints(*args, **kwargs)
+
+    def base_OnEraseControlPoints(*args, **kwargs):
+        """base_OnEraseControlPoints(wxDC dc)"""
+        return _ogl.PyBitmapShape_base_OnEraseControlPoints(*args, **kwargs)
+
+    def base_OnMoveLink(*args, **kwargs):
+        """base_OnMoveLink(wxDC dc, bool moveControlPoints=True)"""
+        return _ogl.PyBitmapShape_base_OnMoveLink(*args, **kwargs)
+
+    def base_OnSizingDragLeft(*args, **kwargs):
+        """base_OnSizingDragLeft(PyControlPoint pt, bool draw, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyBitmapShape_base_OnSizingDragLeft(*args, **kwargs)
+
+    def base_OnSizingBeginDragLeft(*args, **kwargs):
+        """base_OnSizingBeginDragLeft(PyControlPoint pt, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyBitmapShape_base_OnSizingBeginDragLeft(*args, **kwargs)
+
+    def base_OnSizingEndDragLeft(*args, **kwargs):
+        """base_OnSizingEndDragLeft(PyControlPoint pt, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyBitmapShape_base_OnSizingEndDragLeft(*args, **kwargs)
+
+    def base_OnBeginSize(*args, **kwargs):
+        """base_OnBeginSize(double w, double h)"""
+        return _ogl.PyBitmapShape_base_OnBeginSize(*args, **kwargs)
+
+    def base_OnEndSize(*args, **kwargs):
+        """base_OnEndSize(double w, double h)"""
+        return _ogl.PyBitmapShape_base_OnEndSize(*args, **kwargs)
+
+
+class PyBitmapShapePtr(PyBitmapShape):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = PyBitmapShape
+_ogl.PyBitmapShape_swigregister(PyBitmapShapePtr)
+
+class PyDrawnShape(PyRectangleShape):
+    """"""
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxPyDrawnShape instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__() -> PyDrawnShape"""
+        newobj = _ogl.new_PyDrawnShape(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+        self._setOORandCallbackInfo(PyDrawnShape)
+
+    def _setCallbackInfo(*args, **kwargs):
+        """_setCallbackInfo(PyObject self, PyObject _class)"""
+        return _ogl.PyDrawnShape__setCallbackInfo(*args, **kwargs)
+
+    def CalculateSize(*args, **kwargs):
+        """CalculateSize()"""
+        return _ogl.PyDrawnShape_CalculateSize(*args, **kwargs)
+
+    def DestroyClippingRect(*args, **kwargs):
+        """DestroyClippingRect()"""
+        return _ogl.PyDrawnShape_DestroyClippingRect(*args, **kwargs)
+
+    def DrawArc(*args, **kwargs):
+        """DrawArc(Point centrePoint, Point startPoint, Point endPoint)"""
+        return _ogl.PyDrawnShape_DrawArc(*args, **kwargs)
+
+    def DrawAtAngle(*args, **kwargs):
+        """DrawAtAngle(int angle)"""
+        return _ogl.PyDrawnShape_DrawAtAngle(*args, **kwargs)
+
+    def DrawEllipticArc(*args, **kwargs):
+        """DrawEllipticArc(Rect rect, double startAngle, double endAngle)"""
+        return _ogl.PyDrawnShape_DrawEllipticArc(*args, **kwargs)
+
+    def DrawLine(*args, **kwargs):
+        """DrawLine(Point point1, Point point2)"""
+        return _ogl.PyDrawnShape_DrawLine(*args, **kwargs)
+
+    def DrawLines(*args, **kwargs):
+        """DrawLines(int PCOUNT, Point points)"""
+        return _ogl.PyDrawnShape_DrawLines(*args, **kwargs)
+
+    def DrawPoint(*args, **kwargs):
+        """DrawPoint(Point point)"""
+        return _ogl.PyDrawnShape_DrawPoint(*args, **kwargs)
+
+    def DrawPolygon(*args, **kwargs):
+        """DrawPolygon(int PCOUNT, Point points, int flags=0)"""
+        return _ogl.PyDrawnShape_DrawPolygon(*args, **kwargs)
+
+    def DrawRectangle(*args, **kwargs):
+        """DrawRectangle(Rect rect)"""
+        return _ogl.PyDrawnShape_DrawRectangle(*args, **kwargs)
+
+    def DrawRoundedRectangle(*args, **kwargs):
+        """DrawRoundedRectangle(Rect rect, double radius)"""
+        return _ogl.PyDrawnShape_DrawRoundedRectangle(*args, **kwargs)
+
+    def DrawSpline(*args, **kwargs):
+        """DrawSpline(int PCOUNT, Point points)"""
+        return _ogl.PyDrawnShape_DrawSpline(*args, **kwargs)
+
+    def DrawText(*args, **kwargs):
+        """DrawText(wxString text, Point point)"""
+        return _ogl.PyDrawnShape_DrawText(*args, **kwargs)
+
+    def GetAngle(*args, **kwargs):
+        """GetAngle() -> int"""
+        return _ogl.PyDrawnShape_GetAngle(*args, **kwargs)
+
+    def GetMetaFile(*args, **kwargs):
+        """GetMetaFile() -> PseudoMetaFile"""
+        return _ogl.PyDrawnShape_GetMetaFile(*args, **kwargs)
+
+    def GetRotation(*args, **kwargs):
+        """GetRotation() -> double"""
+        return _ogl.PyDrawnShape_GetRotation(*args, **kwargs)
+
+    def LoadFromMetaFile(*args, **kwargs):
+        """LoadFromMetaFile(wxString filename) -> bool"""
+        return _ogl.PyDrawnShape_LoadFromMetaFile(*args, **kwargs)
+
+    def Rotate(*args, **kwargs):
+        """Rotate(double x, double y, double theta)"""
+        return _ogl.PyDrawnShape_Rotate(*args, **kwargs)
+
+    def SetClippingRect(*args, **kwargs):
+        """SetClippingRect(Rect rect)"""
+        return _ogl.PyDrawnShape_SetClippingRect(*args, **kwargs)
+
+    def SetDrawnBackgroundColour(*args, **kwargs):
+        """SetDrawnBackgroundColour(wxColour colour)"""
+        return _ogl.PyDrawnShape_SetDrawnBackgroundColour(*args, **kwargs)
+
+    def SetDrawnBackgroundMode(*args, **kwargs):
+        """SetDrawnBackgroundMode(int mode)"""
+        return _ogl.PyDrawnShape_SetDrawnBackgroundMode(*args, **kwargs)
+
+    def SetDrawnBrush(*args, **kwargs):
+        """SetDrawnBrush(wxBrush pen, bool isOutline=FALSE)"""
+        return _ogl.PyDrawnShape_SetDrawnBrush(*args, **kwargs)
+
+    def SetDrawnFont(*args, **kwargs):
+        """SetDrawnFont(wxFont font)"""
+        return _ogl.PyDrawnShape_SetDrawnFont(*args, **kwargs)
+
+    def SetDrawnPen(*args, **kwargs):
+        """SetDrawnPen(wxPen pen, bool isOutline=FALSE)"""
+        return _ogl.PyDrawnShape_SetDrawnPen(*args, **kwargs)
+
+    def SetDrawnTextColour(*args, **kwargs):
+        """SetDrawnTextColour(wxColour colour)"""
+        return _ogl.PyDrawnShape_SetDrawnTextColour(*args, **kwargs)
+
+    def Scale(*args, **kwargs):
+        """Scale(double sx, double sy)"""
+        return _ogl.PyDrawnShape_Scale(*args, **kwargs)
+
+    def SetSaveToFile(*args, **kwargs):
+        """SetSaveToFile(bool save)"""
+        return _ogl.PyDrawnShape_SetSaveToFile(*args, **kwargs)
+
+    def Translate(*args, **kwargs):
+        """Translate(double x, double y)"""
+        return _ogl.PyDrawnShape_Translate(*args, **kwargs)
+
+    def base_OnDelete(*args, **kwargs):
+        """base_OnDelete()"""
+        return _ogl.PyDrawnShape_base_OnDelete(*args, **kwargs)
+
+    def base_OnDraw(*args, **kwargs):
+        """base_OnDraw(wxDC dc)"""
+        return _ogl.PyDrawnShape_base_OnDraw(*args, **kwargs)
+
+    def base_OnDrawContents(*args, **kwargs):
+        """base_OnDrawContents(wxDC dc)"""
+        return _ogl.PyDrawnShape_base_OnDrawContents(*args, **kwargs)
+
+    def base_OnDrawBranches(*args, **kwargs):
+        """base_OnDrawBranches(wxDC dc, bool erase=FALSE)"""
+        return _ogl.PyDrawnShape_base_OnDrawBranches(*args, **kwargs)
+
+    def base_OnMoveLinks(*args, **kwargs):
+        """base_OnMoveLinks(wxDC dc)"""
+        return _ogl.PyDrawnShape_base_OnMoveLinks(*args, **kwargs)
+
+    def base_OnErase(*args, **kwargs):
+        """base_OnErase(wxDC dc)"""
+        return _ogl.PyDrawnShape_base_OnErase(*args, **kwargs)
+
+    def base_OnEraseContents(*args, **kwargs):
+        """base_OnEraseContents(wxDC dc)"""
+        return _ogl.PyDrawnShape_base_OnEraseContents(*args, **kwargs)
+
+    def base_OnHighlight(*args, **kwargs):
+        """base_OnHighlight(wxDC dc)"""
+        return _ogl.PyDrawnShape_base_OnHighlight(*args, **kwargs)
+
+    def base_OnLeftClick(*args, **kwargs):
+        """base_OnLeftClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyDrawnShape_base_OnLeftClick(*args, **kwargs)
+
+    def base_OnLeftDoubleClick(*args, **kwargs):
+        """base_OnLeftDoubleClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyDrawnShape_base_OnLeftDoubleClick(*args, **kwargs)
+
+    def base_OnRightClick(*args, **kwargs):
+        """base_OnRightClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyDrawnShape_base_OnRightClick(*args, **kwargs)
+
+    def base_OnSize(*args, **kwargs):
+        """base_OnSize(double x, double y)"""
+        return _ogl.PyDrawnShape_base_OnSize(*args, **kwargs)
+
+    def base_OnMovePre(*args, **kwargs):
+        """base_OnMovePre(wxDC dc, double x, double y, double old_x, double old_y, 
+    bool display=True) -> bool"""
+        return _ogl.PyDrawnShape_base_OnMovePre(*args, **kwargs)
+
+    def base_OnMovePost(*args, **kwargs):
+        """base_OnMovePost(wxDC dc, double x, double y, double old_x, double old_y, 
+    bool display=True)"""
+        return _ogl.PyDrawnShape_base_OnMovePost(*args, **kwargs)
+
+    def base_OnDragLeft(*args, **kwargs):
+        """base_OnDragLeft(bool draw, double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyDrawnShape_base_OnDragLeft(*args, **kwargs)
+
+    def base_OnBeginDragLeft(*args, **kwargs):
+        """base_OnBeginDragLeft(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyDrawnShape_base_OnBeginDragLeft(*args, **kwargs)
+
+    def base_OnEndDragLeft(*args, **kwargs):
+        """base_OnEndDragLeft(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyDrawnShape_base_OnEndDragLeft(*args, **kwargs)
+
+    def base_OnDragRight(*args, **kwargs):
+        """base_OnDragRight(bool draw, double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyDrawnShape_base_OnDragRight(*args, **kwargs)
+
+    def base_OnBeginDragRight(*args, **kwargs):
+        """base_OnBeginDragRight(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyDrawnShape_base_OnBeginDragRight(*args, **kwargs)
+
+    def base_OnEndDragRight(*args, **kwargs):
+        """base_OnEndDragRight(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyDrawnShape_base_OnEndDragRight(*args, **kwargs)
+
+    def base_OnDrawOutline(*args, **kwargs):
+        """base_OnDrawOutline(wxDC dc, double x, double y, double w, double h)"""
+        return _ogl.PyDrawnShape_base_OnDrawOutline(*args, **kwargs)
+
+    def base_OnDrawControlPoints(*args, **kwargs):
+        """base_OnDrawControlPoints(wxDC dc)"""
+        return _ogl.PyDrawnShape_base_OnDrawControlPoints(*args, **kwargs)
+
+    def base_OnEraseControlPoints(*args, **kwargs):
+        """base_OnEraseControlPoints(wxDC dc)"""
+        return _ogl.PyDrawnShape_base_OnEraseControlPoints(*args, **kwargs)
+
+    def base_OnMoveLink(*args, **kwargs):
+        """base_OnMoveLink(wxDC dc, bool moveControlPoints=True)"""
+        return _ogl.PyDrawnShape_base_OnMoveLink(*args, **kwargs)
+
+    def base_OnSizingDragLeft(*args, **kwargs):
+        """base_OnSizingDragLeft(PyControlPoint pt, bool draw, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyDrawnShape_base_OnSizingDragLeft(*args, **kwargs)
+
+    def base_OnSizingBeginDragLeft(*args, **kwargs):
+        """base_OnSizingBeginDragLeft(PyControlPoint pt, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyDrawnShape_base_OnSizingBeginDragLeft(*args, **kwargs)
+
+    def base_OnSizingEndDragLeft(*args, **kwargs):
+        """base_OnSizingEndDragLeft(PyControlPoint pt, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyDrawnShape_base_OnSizingEndDragLeft(*args, **kwargs)
+
+    def base_OnBeginSize(*args, **kwargs):
+        """base_OnBeginSize(double w, double h)"""
+        return _ogl.PyDrawnShape_base_OnBeginSize(*args, **kwargs)
+
+    def base_OnEndSize(*args, **kwargs):
+        """base_OnEndSize(double w, double h)"""
+        return _ogl.PyDrawnShape_base_OnEndSize(*args, **kwargs)
+
+
+class PyDrawnShapePtr(PyDrawnShape):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = PyDrawnShape
+_ogl.PyDrawnShape_swigregister(PyDrawnShapePtr)
+
+class OGLConstraint(core.Object):
+    """"""
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxOGLConstraint instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__(int type, PyShape constraining, PyObject constrained) -> OGLConstraint"""
+        newobj = _ogl.new_OGLConstraint(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+    def Evaluate(*args, **kwargs):
+        """Evaluate() -> bool"""
+        return _ogl.OGLConstraint_Evaluate(*args, **kwargs)
+
+    def SetSpacing(*args, **kwargs):
+        """SetSpacing(double x, double y)"""
+        return _ogl.OGLConstraint_SetSpacing(*args, **kwargs)
+
+    def Equals(*args, **kwargs):
+        """Equals(double a, double b) -> bool"""
+        return _ogl.OGLConstraint_Equals(*args, **kwargs)
+
+
+class OGLConstraintPtr(OGLConstraint):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = OGLConstraint
+_ogl.OGLConstraint_swigregister(OGLConstraintPtr)
+
+class PyCompositeShape(PyRectangleShape):
+    """"""
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxPyCompositeShape instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__() -> PyCompositeShape"""
+        newobj = _ogl.new_PyCompositeShape(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+        self._setOORandCallbackInfo(PyCompositeShape)
+
+    def _setCallbackInfo(*args, **kwargs):
+        """_setCallbackInfo(PyObject self, PyObject _class)"""
+        return _ogl.PyCompositeShape__setCallbackInfo(*args, **kwargs)
+
+    def AddChild(*args, **kwargs):
+        """AddChild(PyShape child, PyShape addAfter=None)"""
+        return _ogl.PyCompositeShape_AddChild(*args, **kwargs)
+
+    def AddConstraint(*args, **kwargs):
+        """AddConstraint(OGLConstraint constraint) -> OGLConstraint"""
+        return _ogl.PyCompositeShape_AddConstraint(*args, **kwargs)
+
+    def AddConstrainedShapes(*args, **kwargs):
+        """AddConstrainedShapes(int type, PyShape constraining, PyObject constrained) -> OGLConstraint"""
+        return _ogl.PyCompositeShape_AddConstrainedShapes(*args, **kwargs)
+
+    def AddSimpleConstraint(*args, **kwargs):
+        """AddSimpleConstraint(int type, PyShape constraining, PyShape constrained) -> OGLConstraint"""
+        return _ogl.PyCompositeShape_AddSimpleConstraint(*args, **kwargs)
+
+    def CalculateSize(*args, **kwargs):
+        """CalculateSize()"""
+        return _ogl.PyCompositeShape_CalculateSize(*args, **kwargs)
+
+    def ContainsDivision(*args, **kwargs):
+        """ContainsDivision(PyDivisionShape division) -> bool"""
+        return _ogl.PyCompositeShape_ContainsDivision(*args, **kwargs)
+
+    def DeleteConstraint(*args, **kwargs):
+        """DeleteConstraint(OGLConstraint constraint)"""
+        return _ogl.PyCompositeShape_DeleteConstraint(*args, **kwargs)
+
+    def DeleteConstraintsInvolvingChild(*args, **kwargs):
+        """DeleteConstraintsInvolvingChild(PyShape child)"""
+        return _ogl.PyCompositeShape_DeleteConstraintsInvolvingChild(*args, **kwargs)
+
+    def FindContainerImage(*args, **kwargs):
+        """FindContainerImage() -> PyShape"""
+        return _ogl.PyCompositeShape_FindContainerImage(*args, **kwargs)
+
+    def GetConstraints(*args, **kwargs):
+        """GetConstraints() -> PyObject"""
+        return _ogl.PyCompositeShape_GetConstraints(*args, **kwargs)
+
+    def GetDivisions(*args, **kwargs):
+        """GetDivisions() -> PyObject"""
+        return _ogl.PyCompositeShape_GetDivisions(*args, **kwargs)
+
+    def MakeContainer(*args, **kwargs):
+        """MakeContainer()"""
+        return _ogl.PyCompositeShape_MakeContainer(*args, **kwargs)
+
+    def Recompute(*args, **kwargs):
+        """Recompute() -> bool"""
+        return _ogl.PyCompositeShape_Recompute(*args, **kwargs)
+
+    def RemoveChild(*args, **kwargs):
+        """RemoveChild(PyShape child)"""
+        return _ogl.PyCompositeShape_RemoveChild(*args, **kwargs)
+
+    def base_OnDelete(*args, **kwargs):
+        """base_OnDelete()"""
+        return _ogl.PyCompositeShape_base_OnDelete(*args, **kwargs)
+
+    def base_OnDraw(*args, **kwargs):
+        """base_OnDraw(wxDC dc)"""
+        return _ogl.PyCompositeShape_base_OnDraw(*args, **kwargs)
+
+    def base_OnDrawContents(*args, **kwargs):
+        """base_OnDrawContents(wxDC dc)"""
+        return _ogl.PyCompositeShape_base_OnDrawContents(*args, **kwargs)
+
+    def base_OnDrawBranches(*args, **kwargs):
+        """base_OnDrawBranches(wxDC dc, bool erase=FALSE)"""
+        return _ogl.PyCompositeShape_base_OnDrawBranches(*args, **kwargs)
+
+    def base_OnMoveLinks(*args, **kwargs):
+        """base_OnMoveLinks(wxDC dc)"""
+        return _ogl.PyCompositeShape_base_OnMoveLinks(*args, **kwargs)
+
+    def base_OnErase(*args, **kwargs):
+        """base_OnErase(wxDC dc)"""
+        return _ogl.PyCompositeShape_base_OnErase(*args, **kwargs)
+
+    def base_OnEraseContents(*args, **kwargs):
+        """base_OnEraseContents(wxDC dc)"""
+        return _ogl.PyCompositeShape_base_OnEraseContents(*args, **kwargs)
+
+    def base_OnHighlight(*args, **kwargs):
+        """base_OnHighlight(wxDC dc)"""
+        return _ogl.PyCompositeShape_base_OnHighlight(*args, **kwargs)
+
+    def base_OnLeftClick(*args, **kwargs):
+        """base_OnLeftClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyCompositeShape_base_OnLeftClick(*args, **kwargs)
+
+    def base_OnLeftDoubleClick(*args, **kwargs):
+        """base_OnLeftDoubleClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyCompositeShape_base_OnLeftDoubleClick(*args, **kwargs)
+
+    def base_OnRightClick(*args, **kwargs):
+        """base_OnRightClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyCompositeShape_base_OnRightClick(*args, **kwargs)
+
+    def base_OnSize(*args, **kwargs):
+        """base_OnSize(double x, double y)"""
+        return _ogl.PyCompositeShape_base_OnSize(*args, **kwargs)
+
+    def base_OnMovePre(*args, **kwargs):
+        """base_OnMovePre(wxDC dc, double x, double y, double old_x, double old_y, 
+    bool display=True) -> bool"""
+        return _ogl.PyCompositeShape_base_OnMovePre(*args, **kwargs)
+
+    def base_OnMovePost(*args, **kwargs):
+        """base_OnMovePost(wxDC dc, double x, double y, double old_x, double old_y, 
+    bool display=True)"""
+        return _ogl.PyCompositeShape_base_OnMovePost(*args, **kwargs)
+
+    def base_OnDragLeft(*args, **kwargs):
+        """base_OnDragLeft(bool draw, double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyCompositeShape_base_OnDragLeft(*args, **kwargs)
+
+    def base_OnBeginDragLeft(*args, **kwargs):
+        """base_OnBeginDragLeft(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyCompositeShape_base_OnBeginDragLeft(*args, **kwargs)
+
+    def base_OnEndDragLeft(*args, **kwargs):
+        """base_OnEndDragLeft(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyCompositeShape_base_OnEndDragLeft(*args, **kwargs)
+
+    def base_OnDragRight(*args, **kwargs):
+        """base_OnDragRight(bool draw, double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyCompositeShape_base_OnDragRight(*args, **kwargs)
+
+    def base_OnBeginDragRight(*args, **kwargs):
+        """base_OnBeginDragRight(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyCompositeShape_base_OnBeginDragRight(*args, **kwargs)
+
+    def base_OnEndDragRight(*args, **kwargs):
+        """base_OnEndDragRight(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyCompositeShape_base_OnEndDragRight(*args, **kwargs)
+
+    def base_OnDrawOutline(*args, **kwargs):
+        """base_OnDrawOutline(wxDC dc, double x, double y, double w, double h)"""
+        return _ogl.PyCompositeShape_base_OnDrawOutline(*args, **kwargs)
+
+    def base_OnDrawControlPoints(*args, **kwargs):
+        """base_OnDrawControlPoints(wxDC dc)"""
+        return _ogl.PyCompositeShape_base_OnDrawControlPoints(*args, **kwargs)
+
+    def base_OnEraseControlPoints(*args, **kwargs):
+        """base_OnEraseControlPoints(wxDC dc)"""
+        return _ogl.PyCompositeShape_base_OnEraseControlPoints(*args, **kwargs)
+
+    def base_OnMoveLink(*args, **kwargs):
+        """base_OnMoveLink(wxDC dc, bool moveControlPoints=True)"""
+        return _ogl.PyCompositeShape_base_OnMoveLink(*args, **kwargs)
+
+    def base_OnSizingDragLeft(*args, **kwargs):
+        """base_OnSizingDragLeft(PyControlPoint pt, bool draw, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyCompositeShape_base_OnSizingDragLeft(*args, **kwargs)
+
+    def base_OnSizingBeginDragLeft(*args, **kwargs):
+        """base_OnSizingBeginDragLeft(PyControlPoint pt, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyCompositeShape_base_OnSizingBeginDragLeft(*args, **kwargs)
+
+    def base_OnSizingEndDragLeft(*args, **kwargs):
+        """base_OnSizingEndDragLeft(PyControlPoint pt, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyCompositeShape_base_OnSizingEndDragLeft(*args, **kwargs)
+
+    def base_OnBeginSize(*args, **kwargs):
+        """base_OnBeginSize(double w, double h)"""
+        return _ogl.PyCompositeShape_base_OnBeginSize(*args, **kwargs)
+
+    def base_OnEndSize(*args, **kwargs):
+        """base_OnEndSize(double w, double h)"""
+        return _ogl.PyCompositeShape_base_OnEndSize(*args, **kwargs)
+
+
+class PyCompositeShapePtr(PyCompositeShape):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = PyCompositeShape
+_ogl.PyCompositeShape_swigregister(PyCompositeShapePtr)
+
+class PyDividedShape(PyRectangleShape):
+    """"""
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxPyDividedShape instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__(double width=0.0, double height=0.0) -> PyDividedShape"""
+        newobj = _ogl.new_PyDividedShape(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+        self._setOORandCallbackInfo(PyDividedShape)
+
+    def _setCallbackInfo(*args, **kwargs):
+        """_setCallbackInfo(PyObject self, PyObject _class)"""
+        return _ogl.PyDividedShape__setCallbackInfo(*args, **kwargs)
+
+    def EditRegions(*args, **kwargs):
+        """EditRegions()"""
+        return _ogl.PyDividedShape_EditRegions(*args, **kwargs)
+
+    def SetRegionSizes(*args, **kwargs):
+        """SetRegionSizes()"""
+        return _ogl.PyDividedShape_SetRegionSizes(*args, **kwargs)
+
+    def base_OnDelete(*args, **kwargs):
+        """base_OnDelete()"""
+        return _ogl.PyDividedShape_base_OnDelete(*args, **kwargs)
+
+    def base_OnDraw(*args, **kwargs):
+        """base_OnDraw(wxDC dc)"""
+        return _ogl.PyDividedShape_base_OnDraw(*args, **kwargs)
+
+    def base_OnDrawContents(*args, **kwargs):
+        """base_OnDrawContents(wxDC dc)"""
+        return _ogl.PyDividedShape_base_OnDrawContents(*args, **kwargs)
+
+    def base_OnDrawBranches(*args, **kwargs):
+        """base_OnDrawBranches(wxDC dc, bool erase=FALSE)"""
+        return _ogl.PyDividedShape_base_OnDrawBranches(*args, **kwargs)
+
+    def base_OnMoveLinks(*args, **kwargs):
+        """base_OnMoveLinks(wxDC dc)"""
+        return _ogl.PyDividedShape_base_OnMoveLinks(*args, **kwargs)
+
+    def base_OnErase(*args, **kwargs):
+        """base_OnErase(wxDC dc)"""
+        return _ogl.PyDividedShape_base_OnErase(*args, **kwargs)
+
+    def base_OnEraseContents(*args, **kwargs):
+        """base_OnEraseContents(wxDC dc)"""
+        return _ogl.PyDividedShape_base_OnEraseContents(*args, **kwargs)
+
+    def base_OnHighlight(*args, **kwargs):
+        """base_OnHighlight(wxDC dc)"""
+        return _ogl.PyDividedShape_base_OnHighlight(*args, **kwargs)
+
+    def base_OnLeftClick(*args, **kwargs):
+        """base_OnLeftClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyDividedShape_base_OnLeftClick(*args, **kwargs)
+
+    def base_OnLeftDoubleClick(*args, **kwargs):
+        """base_OnLeftDoubleClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyDividedShape_base_OnLeftDoubleClick(*args, **kwargs)
+
+    def base_OnRightClick(*args, **kwargs):
+        """base_OnRightClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyDividedShape_base_OnRightClick(*args, **kwargs)
+
+    def base_OnSize(*args, **kwargs):
+        """base_OnSize(double x, double y)"""
+        return _ogl.PyDividedShape_base_OnSize(*args, **kwargs)
+
+    def base_OnMovePre(*args, **kwargs):
+        """base_OnMovePre(wxDC dc, double x, double y, double old_x, double old_y, 
+    bool display=True) -> bool"""
+        return _ogl.PyDividedShape_base_OnMovePre(*args, **kwargs)
+
+    def base_OnMovePost(*args, **kwargs):
+        """base_OnMovePost(wxDC dc, double x, double y, double old_x, double old_y, 
+    bool display=True)"""
+        return _ogl.PyDividedShape_base_OnMovePost(*args, **kwargs)
+
+    def base_OnDragLeft(*args, **kwargs):
+        """base_OnDragLeft(bool draw, double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyDividedShape_base_OnDragLeft(*args, **kwargs)
+
+    def base_OnBeginDragLeft(*args, **kwargs):
+        """base_OnBeginDragLeft(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyDividedShape_base_OnBeginDragLeft(*args, **kwargs)
+
+    def base_OnEndDragLeft(*args, **kwargs):
+        """base_OnEndDragLeft(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyDividedShape_base_OnEndDragLeft(*args, **kwargs)
+
+    def base_OnDragRight(*args, **kwargs):
+        """base_OnDragRight(bool draw, double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyDividedShape_base_OnDragRight(*args, **kwargs)
+
+    def base_OnBeginDragRight(*args, **kwargs):
+        """base_OnBeginDragRight(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyDividedShape_base_OnBeginDragRight(*args, **kwargs)
+
+    def base_OnEndDragRight(*args, **kwargs):
+        """base_OnEndDragRight(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyDividedShape_base_OnEndDragRight(*args, **kwargs)
+
+    def base_OnDrawOutline(*args, **kwargs):
+        """base_OnDrawOutline(wxDC dc, double x, double y, double w, double h)"""
+        return _ogl.PyDividedShape_base_OnDrawOutline(*args, **kwargs)
+
+    def base_OnDrawControlPoints(*args, **kwargs):
+        """base_OnDrawControlPoints(wxDC dc)"""
+        return _ogl.PyDividedShape_base_OnDrawControlPoints(*args, **kwargs)
+
+    def base_OnEraseControlPoints(*args, **kwargs):
+        """base_OnEraseControlPoints(wxDC dc)"""
+        return _ogl.PyDividedShape_base_OnEraseControlPoints(*args, **kwargs)
+
+    def base_OnMoveLink(*args, **kwargs):
+        """base_OnMoveLink(wxDC dc, bool moveControlPoints=True)"""
+        return _ogl.PyDividedShape_base_OnMoveLink(*args, **kwargs)
+
+    def base_OnSizingDragLeft(*args, **kwargs):
+        """base_OnSizingDragLeft(PyControlPoint pt, bool draw, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyDividedShape_base_OnSizingDragLeft(*args, **kwargs)
+
+    def base_OnSizingBeginDragLeft(*args, **kwargs):
+        """base_OnSizingBeginDragLeft(PyControlPoint pt, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyDividedShape_base_OnSizingBeginDragLeft(*args, **kwargs)
+
+    def base_OnSizingEndDragLeft(*args, **kwargs):
+        """base_OnSizingEndDragLeft(PyControlPoint pt, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyDividedShape_base_OnSizingEndDragLeft(*args, **kwargs)
+
+    def base_OnBeginSize(*args, **kwargs):
+        """base_OnBeginSize(double w, double h)"""
+        return _ogl.PyDividedShape_base_OnBeginSize(*args, **kwargs)
+
+    def base_OnEndSize(*args, **kwargs):
+        """base_OnEndSize(double w, double h)"""
+        return _ogl.PyDividedShape_base_OnEndSize(*args, **kwargs)
+
+
+class PyDividedShapePtr(PyDividedShape):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = PyDividedShape
+_ogl.PyDividedShape_swigregister(PyDividedShapePtr)
+
+class PyDivisionShape(PyCompositeShape):
+    """"""
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxPyDivisionShape instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__() -> PyDivisionShape"""
+        newobj = _ogl.new_PyDivisionShape(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+        self._setOORandCallbackInfo(PyDivisionShape)
+
+    def _setCallbackInfo(*args, **kwargs):
+        """_setCallbackInfo(PyObject self, PyObject _class)"""
+        return _ogl.PyDivisionShape__setCallbackInfo(*args, **kwargs)
+
+    def AdjustBottom(*args, **kwargs):
+        """AdjustBottom(double bottom, bool test)"""
+        return _ogl.PyDivisionShape_AdjustBottom(*args, **kwargs)
+
+    def AdjustLeft(*args, **kwargs):
+        """AdjustLeft(double left, bool test)"""
+        return _ogl.PyDivisionShape_AdjustLeft(*args, **kwargs)
+
+    def AdjustRight(*args, **kwargs):
+        """AdjustRight(double right, bool test)"""
+        return _ogl.PyDivisionShape_AdjustRight(*args, **kwargs)
+
+    def AdjustTop(*args, **kwargs):
+        """AdjustTop(double top, bool test)"""
+        return _ogl.PyDivisionShape_AdjustTop(*args, **kwargs)
+
+    def Divide(*args, **kwargs):
+        """Divide(int direction)"""
+        return _ogl.PyDivisionShape_Divide(*args, **kwargs)
+
+    def EditEdge(*args, **kwargs):
+        """EditEdge(int side)"""
+        return _ogl.PyDivisionShape_EditEdge(*args, **kwargs)
+
+    def GetBottomSide(*args, **kwargs):
+        """GetBottomSide() -> PyDivisionShape"""
+        return _ogl.PyDivisionShape_GetBottomSide(*args, **kwargs)
+
+    def GetHandleSide(*args, **kwargs):
+        """GetHandleSide() -> int"""
+        return _ogl.PyDivisionShape_GetHandleSide(*args, **kwargs)
+
+    def GetLeftSide(*args, **kwargs):
+        """GetLeftSide() -> PyDivisionShape"""
+        return _ogl.PyDivisionShape_GetLeftSide(*args, **kwargs)
+
+    def GetLeftSideColour(*args, **kwargs):
+        """GetLeftSideColour() -> wxString"""
+        return _ogl.PyDivisionShape_GetLeftSideColour(*args, **kwargs)
+
+    def GetLeftSidePen(*args, **kwargs):
+        """GetLeftSidePen() -> wxPen"""
+        return _ogl.PyDivisionShape_GetLeftSidePen(*args, **kwargs)
+
+    def GetRightSide(*args, **kwargs):
+        """GetRightSide() -> PyDivisionShape"""
+        return _ogl.PyDivisionShape_GetRightSide(*args, **kwargs)
+
+    def GetTopSide(*args, **kwargs):
+        """GetTopSide() -> PyDivisionShape"""
+        return _ogl.PyDivisionShape_GetTopSide(*args, **kwargs)
+
+    def GetTopSidePen(*args, **kwargs):
+        """GetTopSidePen() -> wxPen"""
+        return _ogl.PyDivisionShape_GetTopSidePen(*args, **kwargs)
+
+    def ResizeAdjoining(*args, **kwargs):
+        """ResizeAdjoining(int side, double newPos, bool test)"""
+        return _ogl.PyDivisionShape_ResizeAdjoining(*args, **kwargs)
+
+    def PopupMenu(*args, **kwargs):
+        """PopupMenu(double x, double y)"""
+        return _ogl.PyDivisionShape_PopupMenu(*args, **kwargs)
+
+    def SetBottomSide(*args, **kwargs):
+        """SetBottomSide(PyDivisionShape shape)"""
+        return _ogl.PyDivisionShape_SetBottomSide(*args, **kwargs)
+
+    def SetHandleSide(*args, **kwargs):
+        """SetHandleSide(int side)"""
+        return _ogl.PyDivisionShape_SetHandleSide(*args, **kwargs)
+
+    def SetLeftSide(*args, **kwargs):
+        """SetLeftSide(PyDivisionShape shape)"""
+        return _ogl.PyDivisionShape_SetLeftSide(*args, **kwargs)
+
+    def SetLeftSideColour(*args, **kwargs):
+        """SetLeftSideColour(wxString colour)"""
+        return _ogl.PyDivisionShape_SetLeftSideColour(*args, **kwargs)
+
+    def SetLeftSidePen(*args, **kwargs):
+        """SetLeftSidePen(wxPen pen)"""
+        return _ogl.PyDivisionShape_SetLeftSidePen(*args, **kwargs)
+
+    def SetRightSide(*args, **kwargs):
+        """SetRightSide(PyDivisionShape shape)"""
+        return _ogl.PyDivisionShape_SetRightSide(*args, **kwargs)
+
+    def SetTopSide(*args, **kwargs):
+        """SetTopSide(PyDivisionShape shape)"""
+        return _ogl.PyDivisionShape_SetTopSide(*args, **kwargs)
+
+    def SetTopSideColour(*args, **kwargs):
+        """SetTopSideColour(wxString colour)"""
+        return _ogl.PyDivisionShape_SetTopSideColour(*args, **kwargs)
+
+    def SetTopSidePen(*args, **kwargs):
+        """SetTopSidePen(wxPen pen)"""
+        return _ogl.PyDivisionShape_SetTopSidePen(*args, **kwargs)
+
+    def base_OnDelete(*args, **kwargs):
+        """base_OnDelete()"""
+        return _ogl.PyDivisionShape_base_OnDelete(*args, **kwargs)
+
+    def base_OnDraw(*args, **kwargs):
+        """base_OnDraw(wxDC dc)"""
+        return _ogl.PyDivisionShape_base_OnDraw(*args, **kwargs)
+
+    def base_OnDrawContents(*args, **kwargs):
+        """base_OnDrawContents(wxDC dc)"""
+        return _ogl.PyDivisionShape_base_OnDrawContents(*args, **kwargs)
+
+    def base_OnDrawBranches(*args, **kwargs):
+        """base_OnDrawBranches(wxDC dc, bool erase=FALSE)"""
+        return _ogl.PyDivisionShape_base_OnDrawBranches(*args, **kwargs)
+
+    def base_OnMoveLinks(*args, **kwargs):
+        """base_OnMoveLinks(wxDC dc)"""
+        return _ogl.PyDivisionShape_base_OnMoveLinks(*args, **kwargs)
+
+    def base_OnErase(*args, **kwargs):
+        """base_OnErase(wxDC dc)"""
+        return _ogl.PyDivisionShape_base_OnErase(*args, **kwargs)
+
+    def base_OnEraseContents(*args, **kwargs):
+        """base_OnEraseContents(wxDC dc)"""
+        return _ogl.PyDivisionShape_base_OnEraseContents(*args, **kwargs)
+
+    def base_OnHighlight(*args, **kwargs):
+        """base_OnHighlight(wxDC dc)"""
+        return _ogl.PyDivisionShape_base_OnHighlight(*args, **kwargs)
+
+    def base_OnLeftClick(*args, **kwargs):
+        """base_OnLeftClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyDivisionShape_base_OnLeftClick(*args, **kwargs)
+
+    def base_OnLeftDoubleClick(*args, **kwargs):
+        """base_OnLeftDoubleClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyDivisionShape_base_OnLeftDoubleClick(*args, **kwargs)
+
+    def base_OnRightClick(*args, **kwargs):
+        """base_OnRightClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyDivisionShape_base_OnRightClick(*args, **kwargs)
+
+    def base_OnSize(*args, **kwargs):
+        """base_OnSize(double x, double y)"""
+        return _ogl.PyDivisionShape_base_OnSize(*args, **kwargs)
+
+    def base_OnMovePre(*args, **kwargs):
+        """base_OnMovePre(wxDC dc, double x, double y, double old_x, double old_y, 
+    bool display=True) -> bool"""
+        return _ogl.PyDivisionShape_base_OnMovePre(*args, **kwargs)
+
+    def base_OnMovePost(*args, **kwargs):
+        """base_OnMovePost(wxDC dc, double x, double y, double old_x, double old_y, 
+    bool display=True)"""
+        return _ogl.PyDivisionShape_base_OnMovePost(*args, **kwargs)
+
+    def base_OnDragLeft(*args, **kwargs):
+        """base_OnDragLeft(bool draw, double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyDivisionShape_base_OnDragLeft(*args, **kwargs)
+
+    def base_OnBeginDragLeft(*args, **kwargs):
+        """base_OnBeginDragLeft(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyDivisionShape_base_OnBeginDragLeft(*args, **kwargs)
+
+    def base_OnEndDragLeft(*args, **kwargs):
+        """base_OnEndDragLeft(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyDivisionShape_base_OnEndDragLeft(*args, **kwargs)
+
+    def base_OnDragRight(*args, **kwargs):
+        """base_OnDragRight(bool draw, double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyDivisionShape_base_OnDragRight(*args, **kwargs)
+
+    def base_OnBeginDragRight(*args, **kwargs):
+        """base_OnBeginDragRight(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyDivisionShape_base_OnBeginDragRight(*args, **kwargs)
+
+    def base_OnEndDragRight(*args, **kwargs):
+        """base_OnEndDragRight(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyDivisionShape_base_OnEndDragRight(*args, **kwargs)
+
+    def base_OnDrawOutline(*args, **kwargs):
+        """base_OnDrawOutline(wxDC dc, double x, double y, double w, double h)"""
+        return _ogl.PyDivisionShape_base_OnDrawOutline(*args, **kwargs)
+
+    def base_OnDrawControlPoints(*args, **kwargs):
+        """base_OnDrawControlPoints(wxDC dc)"""
+        return _ogl.PyDivisionShape_base_OnDrawControlPoints(*args, **kwargs)
+
+    def base_OnEraseControlPoints(*args, **kwargs):
+        """base_OnEraseControlPoints(wxDC dc)"""
+        return _ogl.PyDivisionShape_base_OnEraseControlPoints(*args, **kwargs)
+
+    def base_OnMoveLink(*args, **kwargs):
+        """base_OnMoveLink(wxDC dc, bool moveControlPoints=True)"""
+        return _ogl.PyDivisionShape_base_OnMoveLink(*args, **kwargs)
+
+    def base_OnSizingDragLeft(*args, **kwargs):
+        """base_OnSizingDragLeft(PyControlPoint pt, bool draw, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyDivisionShape_base_OnSizingDragLeft(*args, **kwargs)
+
+    def base_OnSizingBeginDragLeft(*args, **kwargs):
+        """base_OnSizingBeginDragLeft(PyControlPoint pt, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyDivisionShape_base_OnSizingBeginDragLeft(*args, **kwargs)
+
+    def base_OnSizingEndDragLeft(*args, **kwargs):
+        """base_OnSizingEndDragLeft(PyControlPoint pt, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyDivisionShape_base_OnSizingEndDragLeft(*args, **kwargs)
+
+    def base_OnBeginSize(*args, **kwargs):
+        """base_OnBeginSize(double w, double h)"""
+        return _ogl.PyDivisionShape_base_OnBeginSize(*args, **kwargs)
+
+    def base_OnEndSize(*args, **kwargs):
+        """base_OnEndSize(double w, double h)"""
+        return _ogl.PyDivisionShape_base_OnEndSize(*args, **kwargs)
+
+
+class PyDivisionShapePtr(PyDivisionShape):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = PyDivisionShape
+_ogl.PyDivisionShape_swigregister(PyDivisionShapePtr)
+
+class PyEllipseShape(PyShape):
+    """"""
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxPyEllipseShape instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__(double width=0.0, double height=0.0) -> PyEllipseShape"""
+        newobj = _ogl.new_PyEllipseShape(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+        self._setOORandCallbackInfo(PyEllipseShape)
+
+    def _setCallbackInfo(*args, **kwargs):
+        """_setCallbackInfo(PyObject self, PyObject _class)"""
+        return _ogl.PyEllipseShape__setCallbackInfo(*args, **kwargs)
+
+    def base_OnDraw(*args, **kwargs):
+        """base_OnDraw(wxDC dc)"""
+        return _ogl.PyEllipseShape_base_OnDraw(*args, **kwargs)
+
+    def base_OnDrawContents(*args, **kwargs):
+        """base_OnDrawContents(wxDC dc)"""
+        return _ogl.PyEllipseShape_base_OnDrawContents(*args, **kwargs)
+
+    def base_OnDrawBranches(*args, **kwargs):
+        """base_OnDrawBranches(wxDC dc, bool erase=FALSE)"""
+        return _ogl.PyEllipseShape_base_OnDrawBranches(*args, **kwargs)
+
+    def base_OnMoveLinks(*args, **kwargs):
+        """base_OnMoveLinks(wxDC dc)"""
+        return _ogl.PyEllipseShape_base_OnMoveLinks(*args, **kwargs)
+
+    def base_OnErase(*args, **kwargs):
+        """base_OnErase(wxDC dc)"""
+        return _ogl.PyEllipseShape_base_OnErase(*args, **kwargs)
+
+    def base_OnEraseContents(*args, **kwargs):
+        """base_OnEraseContents(wxDC dc)"""
+        return _ogl.PyEllipseShape_base_OnEraseContents(*args, **kwargs)
+
+    def base_OnHighlight(*args, **kwargs):
+        """base_OnHighlight(wxDC dc)"""
+        return _ogl.PyEllipseShape_base_OnHighlight(*args, **kwargs)
+
+    def base_OnLeftClick(*args, **kwargs):
+        """base_OnLeftClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyEllipseShape_base_OnLeftClick(*args, **kwargs)
+
+    def base_OnLeftDoubleClick(*args, **kwargs):
+        """base_OnLeftDoubleClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyEllipseShape_base_OnLeftDoubleClick(*args, **kwargs)
+
+    def base_OnRightClick(*args, **kwargs):
+        """base_OnRightClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyEllipseShape_base_OnRightClick(*args, **kwargs)
+
+    def base_OnSize(*args, **kwargs):
+        """base_OnSize(double x, double y)"""
+        return _ogl.PyEllipseShape_base_OnSize(*args, **kwargs)
+
+    def base_OnMovePre(*args, **kwargs):
+        """base_OnMovePre(wxDC dc, double x, double y, double old_x, double old_y, 
+    bool display=True) -> bool"""
+        return _ogl.PyEllipseShape_base_OnMovePre(*args, **kwargs)
+
+    def base_OnMovePost(*args, **kwargs):
+        """base_OnMovePost(wxDC dc, double x, double y, double old_x, double old_y, 
+    bool display=True)"""
+        return _ogl.PyEllipseShape_base_OnMovePost(*args, **kwargs)
+
+    def base_OnDragLeft(*args, **kwargs):
+        """base_OnDragLeft(bool draw, double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyEllipseShape_base_OnDragLeft(*args, **kwargs)
+
+    def base_OnBeginDragLeft(*args, **kwargs):
+        """base_OnBeginDragLeft(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyEllipseShape_base_OnBeginDragLeft(*args, **kwargs)
+
+    def base_OnEndDragLeft(*args, **kwargs):
+        """base_OnEndDragLeft(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyEllipseShape_base_OnEndDragLeft(*args, **kwargs)
+
+    def base_OnDragRight(*args, **kwargs):
+        """base_OnDragRight(bool draw, double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyEllipseShape_base_OnDragRight(*args, **kwargs)
+
+    def base_OnBeginDragRight(*args, **kwargs):
+        """base_OnBeginDragRight(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyEllipseShape_base_OnBeginDragRight(*args, **kwargs)
+
+    def base_OnEndDragRight(*args, **kwargs):
+        """base_OnEndDragRight(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyEllipseShape_base_OnEndDragRight(*args, **kwargs)
+
+    def base_OnDrawOutline(*args, **kwargs):
+        """base_OnDrawOutline(wxDC dc, double x, double y, double w, double h)"""
+        return _ogl.PyEllipseShape_base_OnDrawOutline(*args, **kwargs)
+
+    def base_OnDrawControlPoints(*args, **kwargs):
+        """base_OnDrawControlPoints(wxDC dc)"""
+        return _ogl.PyEllipseShape_base_OnDrawControlPoints(*args, **kwargs)
+
+    def base_OnEraseControlPoints(*args, **kwargs):
+        """base_OnEraseControlPoints(wxDC dc)"""
+        return _ogl.PyEllipseShape_base_OnEraseControlPoints(*args, **kwargs)
+
+    def base_OnMoveLink(*args, **kwargs):
+        """base_OnMoveLink(wxDC dc, bool moveControlPoints=True)"""
+        return _ogl.PyEllipseShape_base_OnMoveLink(*args, **kwargs)
+
+    def base_OnSizingDragLeft(*args, **kwargs):
+        """base_OnSizingDragLeft(PyControlPoint pt, bool draw, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyEllipseShape_base_OnSizingDragLeft(*args, **kwargs)
+
+    def base_OnSizingBeginDragLeft(*args, **kwargs):
+        """base_OnSizingBeginDragLeft(PyControlPoint pt, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyEllipseShape_base_OnSizingBeginDragLeft(*args, **kwargs)
+
+    def base_OnSizingEndDragLeft(*args, **kwargs):
+        """base_OnSizingEndDragLeft(PyControlPoint pt, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyEllipseShape_base_OnSizingEndDragLeft(*args, **kwargs)
+
+    def base_OnBeginSize(*args, **kwargs):
+        """base_OnBeginSize(double w, double h)"""
+        return _ogl.PyEllipseShape_base_OnBeginSize(*args, **kwargs)
+
+    def base_OnEndSize(*args, **kwargs):
+        """base_OnEndSize(double w, double h)"""
+        return _ogl.PyEllipseShape_base_OnEndSize(*args, **kwargs)
+
+
+class PyEllipseShapePtr(PyEllipseShape):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = PyEllipseShape
+_ogl.PyEllipseShape_swigregister(PyEllipseShapePtr)
+
+class PyCircleShape(PyEllipseShape):
+    """"""
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxPyCircleShape instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__(double width=0.0) -> PyCircleShape"""
+        newobj = _ogl.new_PyCircleShape(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+        self._setOORandCallbackInfo(PyCircleShape)
+
+    def _setCallbackInfo(*args, **kwargs):
+        """_setCallbackInfo(PyObject self, PyObject _class)"""
+        return _ogl.PyCircleShape__setCallbackInfo(*args, **kwargs)
+
+    def base_OnDraw(*args, **kwargs):
+        """base_OnDraw(wxDC dc)"""
+        return _ogl.PyCircleShape_base_OnDraw(*args, **kwargs)
+
+    def base_OnDrawContents(*args, **kwargs):
+        """base_OnDrawContents(wxDC dc)"""
+        return _ogl.PyCircleShape_base_OnDrawContents(*args, **kwargs)
+
+    def base_OnDrawBranches(*args, **kwargs):
+        """base_OnDrawBranches(wxDC dc, bool erase=FALSE)"""
+        return _ogl.PyCircleShape_base_OnDrawBranches(*args, **kwargs)
+
+    def base_OnMoveLinks(*args, **kwargs):
+        """base_OnMoveLinks(wxDC dc)"""
+        return _ogl.PyCircleShape_base_OnMoveLinks(*args, **kwargs)
+
+    def base_OnErase(*args, **kwargs):
+        """base_OnErase(wxDC dc)"""
+        return _ogl.PyCircleShape_base_OnErase(*args, **kwargs)
+
+    def base_OnEraseContents(*args, **kwargs):
+        """base_OnEraseContents(wxDC dc)"""
+        return _ogl.PyCircleShape_base_OnEraseContents(*args, **kwargs)
+
+    def base_OnHighlight(*args, **kwargs):
+        """base_OnHighlight(wxDC dc)"""
+        return _ogl.PyCircleShape_base_OnHighlight(*args, **kwargs)
+
+    def base_OnLeftClick(*args, **kwargs):
+        """base_OnLeftClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyCircleShape_base_OnLeftClick(*args, **kwargs)
+
+    def base_OnLeftDoubleClick(*args, **kwargs):
+        """base_OnLeftDoubleClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyCircleShape_base_OnLeftDoubleClick(*args, **kwargs)
+
+    def base_OnRightClick(*args, **kwargs):
+        """base_OnRightClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyCircleShape_base_OnRightClick(*args, **kwargs)
+
+    def base_OnSize(*args, **kwargs):
+        """base_OnSize(double x, double y)"""
+        return _ogl.PyCircleShape_base_OnSize(*args, **kwargs)
+
+    def base_OnMovePre(*args, **kwargs):
+        """base_OnMovePre(wxDC dc, double x, double y, double old_x, double old_y, 
+    bool display=True) -> bool"""
+        return _ogl.PyCircleShape_base_OnMovePre(*args, **kwargs)
+
+    def base_OnMovePost(*args, **kwargs):
+        """base_OnMovePost(wxDC dc, double x, double y, double old_x, double old_y, 
+    bool display=True)"""
+        return _ogl.PyCircleShape_base_OnMovePost(*args, **kwargs)
+
+    def base_OnDragLeft(*args, **kwargs):
+        """base_OnDragLeft(bool draw, double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyCircleShape_base_OnDragLeft(*args, **kwargs)
+
+    def base_OnBeginDragLeft(*args, **kwargs):
+        """base_OnBeginDragLeft(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyCircleShape_base_OnBeginDragLeft(*args, **kwargs)
+
+    def base_OnEndDragLeft(*args, **kwargs):
+        """base_OnEndDragLeft(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyCircleShape_base_OnEndDragLeft(*args, **kwargs)
+
+    def base_OnDragRight(*args, **kwargs):
+        """base_OnDragRight(bool draw, double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyCircleShape_base_OnDragRight(*args, **kwargs)
+
+    def base_OnBeginDragRight(*args, **kwargs):
+        """base_OnBeginDragRight(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyCircleShape_base_OnBeginDragRight(*args, **kwargs)
+
+    def base_OnEndDragRight(*args, **kwargs):
+        """base_OnEndDragRight(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyCircleShape_base_OnEndDragRight(*args, **kwargs)
+
+    def base_OnDrawOutline(*args, **kwargs):
+        """base_OnDrawOutline(wxDC dc, double x, double y, double w, double h)"""
+        return _ogl.PyCircleShape_base_OnDrawOutline(*args, **kwargs)
+
+    def base_OnDrawControlPoints(*args, **kwargs):
+        """base_OnDrawControlPoints(wxDC dc)"""
+        return _ogl.PyCircleShape_base_OnDrawControlPoints(*args, **kwargs)
+
+    def base_OnEraseControlPoints(*args, **kwargs):
+        """base_OnEraseControlPoints(wxDC dc)"""
+        return _ogl.PyCircleShape_base_OnEraseControlPoints(*args, **kwargs)
+
+    def base_OnMoveLink(*args, **kwargs):
+        """base_OnMoveLink(wxDC dc, bool moveControlPoints=True)"""
+        return _ogl.PyCircleShape_base_OnMoveLink(*args, **kwargs)
+
+    def base_OnSizingDragLeft(*args, **kwargs):
+        """base_OnSizingDragLeft(PyControlPoint pt, bool draw, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyCircleShape_base_OnSizingDragLeft(*args, **kwargs)
+
+    def base_OnSizingBeginDragLeft(*args, **kwargs):
+        """base_OnSizingBeginDragLeft(PyControlPoint pt, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyCircleShape_base_OnSizingBeginDragLeft(*args, **kwargs)
+
+    def base_OnSizingEndDragLeft(*args, **kwargs):
+        """base_OnSizingEndDragLeft(PyControlPoint pt, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyCircleShape_base_OnSizingEndDragLeft(*args, **kwargs)
+
+    def base_OnBeginSize(*args, **kwargs):
+        """base_OnBeginSize(double w, double h)"""
+        return _ogl.PyCircleShape_base_OnBeginSize(*args, **kwargs)
+
+    def base_OnEndSize(*args, **kwargs):
+        """base_OnEndSize(double w, double h)"""
+        return _ogl.PyCircleShape_base_OnEndSize(*args, **kwargs)
+
+
+class PyCircleShapePtr(PyCircleShape):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = PyCircleShape
+_ogl.PyCircleShape_swigregister(PyCircleShapePtr)
+
+class ArrowHead(core.Object):
+    """"""
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxArrowHead instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__(int type=0, int end=0, double size=0.0, double dist=0.0, 
+    wxString name=wxPyEmptyString, PseudoMetaFile mf=None, 
+    long arrowId=-1) -> ArrowHead"""
+        newobj = _ogl.new_ArrowHead(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+    def __del__(self, destroy=_ogl.delete_ArrowHead):
+        """__del__()"""
+        try:
+            if self.thisown: destroy(self)
+        except: pass
+
+    def _GetType(*args, **kwargs):
+        """_GetType() -> int"""
+        return _ogl.ArrowHead__GetType(*args, **kwargs)
+
+    def GetPosition(*args, **kwargs):
+        """GetPosition() -> int"""
+        return _ogl.ArrowHead_GetPosition(*args, **kwargs)
+
+    def SetPosition(*args, **kwargs):
+        """SetPosition(int pos)"""
+        return _ogl.ArrowHead_SetPosition(*args, **kwargs)
+
+    def GetXOffset(*args, **kwargs):
+        """GetXOffset() -> double"""
+        return _ogl.ArrowHead_GetXOffset(*args, **kwargs)
+
+    def GetYOffset(*args, **kwargs):
+        """GetYOffset() -> double"""
+        return _ogl.ArrowHead_GetYOffset(*args, **kwargs)
+
+    def GetSpacing(*args, **kwargs):
+        """GetSpacing() -> double"""
+        return _ogl.ArrowHead_GetSpacing(*args, **kwargs)
+
+    def GetSize(*args, **kwargs):
+        """GetSize() -> double"""
+        return _ogl.ArrowHead_GetSize(*args, **kwargs)
+
+    def GetName(*args, **kwargs):
+        """GetName() -> wxString"""
+        return _ogl.ArrowHead_GetName(*args, **kwargs)
+
+    def SetXOffset(*args, **kwargs):
+        """SetXOffset(double x)"""
+        return _ogl.ArrowHead_SetXOffset(*args, **kwargs)
+
+    def SetYOffset(*args, **kwargs):
+        """SetYOffset(double y)"""
+        return _ogl.ArrowHead_SetYOffset(*args, **kwargs)
+
+    def GetMetaFile(*args, **kwargs):
+        """GetMetaFile() -> PseudoMetaFile"""
+        return _ogl.ArrowHead_GetMetaFile(*args, **kwargs)
+
+    def GetId(*args, **kwargs):
+        """GetId() -> long"""
+        return _ogl.ArrowHead_GetId(*args, **kwargs)
+
+    def GetArrowEnd(*args, **kwargs):
+        """GetArrowEnd() -> int"""
+        return _ogl.ArrowHead_GetArrowEnd(*args, **kwargs)
+
+    def GetArrowSize(*args, **kwargs):
+        """GetArrowSize() -> double"""
+        return _ogl.ArrowHead_GetArrowSize(*args, **kwargs)
+
+    def SetSize(*args, **kwargs):
+        """SetSize(double size)"""
+        return _ogl.ArrowHead_SetSize(*args, **kwargs)
+
+    def SetSpacing(*args, **kwargs):
+        """SetSpacing(double sp)"""
+        return _ogl.ArrowHead_SetSpacing(*args, **kwargs)
+
+
+class ArrowHeadPtr(ArrowHead):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = ArrowHead
+_ogl.ArrowHead_swigregister(ArrowHeadPtr)
+
+class PyLineShape(PyShape):
+    """"""
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxPyLineShape instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__() -> PyLineShape"""
+        newobj = _ogl.new_PyLineShape(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+        self._setOORandCallbackInfo(PyLineShape)
+
+    def _setCallbackInfo(*args, **kwargs):
+        """_setCallbackInfo(PyObject self, PyObject _class)"""
+        return _ogl.PyLineShape__setCallbackInfo(*args, **kwargs)
+
+    def AddArrow(*args, **kwargs):
+        """AddArrow(int type, int end=ARROW_POSITION_END, double arrowSize=10.0, 
+    double xOffset=0.0, wxString name=wxPyEmptyString, 
+    PseudoMetaFile mf=None, long arrowId=-1)"""
+        return _ogl.PyLineShape_AddArrow(*args, **kwargs)
+
+    def AddArrowOrdered(*args, **kwargs):
+        """AddArrowOrdered(ArrowHead arrow, PyObject referenceList, int end)"""
+        return _ogl.PyLineShape_AddArrowOrdered(*args, **kwargs)
+
+    def ClearArrow(*args, **kwargs):
+        """ClearArrow(wxString name) -> bool"""
+        return _ogl.PyLineShape_ClearArrow(*args, **kwargs)
+
+    def ClearArrowsAtPosition(*args, **kwargs):
+        """ClearArrowsAtPosition(int position=-1)"""
+        return _ogl.PyLineShape_ClearArrowsAtPosition(*args, **kwargs)
+
+    def DrawArrow(*args, **kwargs):
+        """DrawArrow(wxDC dc, ArrowHead arrow, double xOffset, bool proportionalOffset)"""
+        return _ogl.PyLineShape_DrawArrow(*args, **kwargs)
+
+    def DeleteArrowHeadId(*args, **kwargs):
+        """DeleteArrowHeadId(long arrowId) -> bool"""
+        return _ogl.PyLineShape_DeleteArrowHeadId(*args, **kwargs)
+
+    def DeleteArrowHead(*args, **kwargs):
+        """DeleteArrowHead(int position, wxString name) -> bool"""
+        return _ogl.PyLineShape_DeleteArrowHead(*args, **kwargs)
+
+    def DeleteLineControlPoint(*args, **kwargs):
+        """DeleteLineControlPoint() -> bool"""
+        return _ogl.PyLineShape_DeleteLineControlPoint(*args, **kwargs)
+
+    def DrawArrows(*args, **kwargs):
+        """DrawArrows(wxDC dc)"""
+        return _ogl.PyLineShape_DrawArrows(*args, **kwargs)
+
+    def DrawRegion(*args, **kwargs):
+        """DrawRegion(wxDC dc, ShapeRegion region, double x, double y)"""
+        return _ogl.PyLineShape_DrawRegion(*args, **kwargs)
+
+    def EraseRegion(*args, **kwargs):
+        """EraseRegion(wxDC dc, ShapeRegion region, double x, double y)"""
+        return _ogl.PyLineShape_EraseRegion(*args, **kwargs)
+
+    def FindArrowHeadId(*args, **kwargs):
+        """FindArrowHeadId(long arrowId) -> ArrowHead"""
+        return _ogl.PyLineShape_FindArrowHeadId(*args, **kwargs)
+
+    def FindArrowHead(*args, **kwargs):
+        """FindArrowHead(int position, wxString name) -> ArrowHead"""
+        return _ogl.PyLineShape_FindArrowHead(*args, **kwargs)
+
+    def FindLineEndPoints(*args, **kwargs):
+        """FindLineEndPoints(double OUTPUT, double OUTPUT, double OUTPUT, double OUTPUT)"""
+        return _ogl.PyLineShape_FindLineEndPoints(*args, **kwargs)
+
+    def FindLinePosition(*args, **kwargs):
+        """FindLinePosition(double x, double y) -> int"""
+        return _ogl.PyLineShape_FindLinePosition(*args, **kwargs)
+
+    def FindMinimumWidth(*args, **kwargs):
+        """FindMinimumWidth() -> double"""
+        return _ogl.PyLineShape_FindMinimumWidth(*args, **kwargs)
+
+    def FindNth(*args, **kwargs):
+        """FindNth(PyShape image, int OUTPUT, int OUTPUT, bool incoming)"""
+        return _ogl.PyLineShape_FindNth(*args, **kwargs)
+
+    def GetAttachmentFrom(*args, **kwargs):
+        """GetAttachmentFrom() -> int"""
+        return _ogl.PyLineShape_GetAttachmentFrom(*args, **kwargs)
+
+    def GetAttachmentTo(*args, **kwargs):
+        """GetAttachmentTo() -> int"""
+        return _ogl.PyLineShape_GetAttachmentTo(*args, **kwargs)
+
+    def GetEnds(*args, **kwargs):
+        """GetEnds(double OUTPUT, double OUTPUT, double OUTPUT, double OUTPUT)"""
+        return _ogl.PyLineShape_GetEnds(*args, **kwargs)
+
+    def GetFrom(*args, **kwargs):
+        """GetFrom() -> PyShape"""
+        return _ogl.PyLineShape_GetFrom(*args, **kwargs)
+
+    def GetLabelPosition(*args, **kwargs):
+        """GetLabelPosition(int position, double OUTPUT, double OUTPUT)"""
+        return _ogl.PyLineShape_GetLabelPosition(*args, **kwargs)
+
+    def GetNextControlPoint(*args, **kwargs):
+        """GetNextControlPoint(PyShape shape) -> RealPoint"""
+        return _ogl.PyLineShape_GetNextControlPoint(*args, **kwargs)
+
+    def GetTo(*args, **kwargs):
+        """GetTo() -> PyShape"""
+        return _ogl.PyLineShape_GetTo(*args, **kwargs)
+
+    def Initialise(*args, **kwargs):
+        """Initialise()"""
+        return _ogl.PyLineShape_Initialise(*args, **kwargs)
+
+    def InsertLineControlPoint(*args, **kwargs):
+        """InsertLineControlPoint(wxDC dc)"""
+        return _ogl.PyLineShape_InsertLineControlPoint(*args, **kwargs)
+
+    def IsEnd(*args, **kwargs):
+        """IsEnd(PyShape shape) -> bool"""
+        return _ogl.PyLineShape_IsEnd(*args, **kwargs)
+
+    def IsSpline(*args, **kwargs):
+        """IsSpline() -> bool"""
+        return _ogl.PyLineShape_IsSpline(*args, **kwargs)
+
+    def MakeLineControlPoints(*args, **kwargs):
+        """MakeLineControlPoints(int n)"""
+        return _ogl.PyLineShape_MakeLineControlPoints(*args, **kwargs)
+
+    def GetLineControlPoints(*args, **kwargs):
+        """GetLineControlPoints() -> PyObject"""
+        return _ogl.PyLineShape_GetLineControlPoints(*args, **kwargs)
+
+    def SetAttachmentFrom(*args, **kwargs):
+        """SetAttachmentFrom(int fromAttach)"""
+        return _ogl.PyLineShape_SetAttachmentFrom(*args, **kwargs)
+
+    def SetAttachments(*args, **kwargs):
+        """SetAttachments(int fromAttach, int toAttach)"""
+        return _ogl.PyLineShape_SetAttachments(*args, **kwargs)
+
+    def SetAttachmentTo(*args, **kwargs):
+        """SetAttachmentTo(int toAttach)"""
+        return _ogl.PyLineShape_SetAttachmentTo(*args, **kwargs)
+
+    def SetEnds(*args, **kwargs):
+        """SetEnds(double x1, double y1, double x2, double y2)"""
+        return _ogl.PyLineShape_SetEnds(*args, **kwargs)
+
+    def SetFrom(*args, **kwargs):
+        """SetFrom(PyShape object)"""
+        return _ogl.PyLineShape_SetFrom(*args, **kwargs)
+
+    def SetIgnoreOffsets(*args, **kwargs):
+        """SetIgnoreOffsets(bool ignore)"""
+        return _ogl.PyLineShape_SetIgnoreOffsets(*args, **kwargs)
+
+    def SetSpline(*args, **kwargs):
+        """SetSpline(bool spline)"""
+        return _ogl.PyLineShape_SetSpline(*args, **kwargs)
+
+    def SetTo(*args, **kwargs):
+        """SetTo(PyShape object)"""
+        return _ogl.PyLineShape_SetTo(*args, **kwargs)
+
+    def Straighten(*args, **kwargs):
+        """Straighten(wxDC dc=None)"""
+        return _ogl.PyLineShape_Straighten(*args, **kwargs)
+
+    def Unlink(*args, **kwargs):
+        """Unlink()"""
+        return _ogl.PyLineShape_Unlink(*args, **kwargs)
+
+    def base_OnDraw(*args, **kwargs):
+        """base_OnDraw(wxDC dc)"""
+        return _ogl.PyLineShape_base_OnDraw(*args, **kwargs)
+
+    def base_OnDrawContents(*args, **kwargs):
+        """base_OnDrawContents(wxDC dc)"""
+        return _ogl.PyLineShape_base_OnDrawContents(*args, **kwargs)
+
+    def base_OnDrawBranches(*args, **kwargs):
+        """base_OnDrawBranches(wxDC dc, bool erase=FALSE)"""
+        return _ogl.PyLineShape_base_OnDrawBranches(*args, **kwargs)
+
+    def base_OnMoveLinks(*args, **kwargs):
+        """base_OnMoveLinks(wxDC dc)"""
+        return _ogl.PyLineShape_base_OnMoveLinks(*args, **kwargs)
+
+    def base_OnErase(*args, **kwargs):
+        """base_OnErase(wxDC dc)"""
+        return _ogl.PyLineShape_base_OnErase(*args, **kwargs)
+
+    def base_OnEraseContents(*args, **kwargs):
+        """base_OnEraseContents(wxDC dc)"""
+        return _ogl.PyLineShape_base_OnEraseContents(*args, **kwargs)
+
+    def base_OnHighlight(*args, **kwargs):
+        """base_OnHighlight(wxDC dc)"""
+        return _ogl.PyLineShape_base_OnHighlight(*args, **kwargs)
+
+    def base_OnLeftClick(*args, **kwargs):
+        """base_OnLeftClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyLineShape_base_OnLeftClick(*args, **kwargs)
+
+    def base_OnLeftDoubleClick(*args, **kwargs):
+        """base_OnLeftDoubleClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyLineShape_base_OnLeftDoubleClick(*args, **kwargs)
+
+    def base_OnRightClick(*args, **kwargs):
+        """base_OnRightClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyLineShape_base_OnRightClick(*args, **kwargs)
+
+    def base_OnSize(*args, **kwargs):
+        """base_OnSize(double x, double y)"""
+        return _ogl.PyLineShape_base_OnSize(*args, **kwargs)
+
+    def base_OnMovePre(*args, **kwargs):
+        """base_OnMovePre(wxDC dc, double x, double y, double old_x, double old_y, 
+    bool display=True) -> bool"""
+        return _ogl.PyLineShape_base_OnMovePre(*args, **kwargs)
+
+    def base_OnMovePost(*args, **kwargs):
+        """base_OnMovePost(wxDC dc, double x, double y, double old_x, double old_y, 
+    bool display=True)"""
+        return _ogl.PyLineShape_base_OnMovePost(*args, **kwargs)
+
+    def base_OnDragLeft(*args, **kwargs):
+        """base_OnDragLeft(bool draw, double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyLineShape_base_OnDragLeft(*args, **kwargs)
+
+    def base_OnBeginDragLeft(*args, **kwargs):
+        """base_OnBeginDragLeft(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyLineShape_base_OnBeginDragLeft(*args, **kwargs)
+
+    def base_OnEndDragLeft(*args, **kwargs):
+        """base_OnEndDragLeft(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyLineShape_base_OnEndDragLeft(*args, **kwargs)
+
+    def base_OnDragRight(*args, **kwargs):
+        """base_OnDragRight(bool draw, double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyLineShape_base_OnDragRight(*args, **kwargs)
+
+    def base_OnBeginDragRight(*args, **kwargs):
+        """base_OnBeginDragRight(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyLineShape_base_OnBeginDragRight(*args, **kwargs)
+
+    def base_OnEndDragRight(*args, **kwargs):
+        """base_OnEndDragRight(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyLineShape_base_OnEndDragRight(*args, **kwargs)
+
+    def base_OnDrawOutline(*args, **kwargs):
+        """base_OnDrawOutline(wxDC dc, double x, double y, double w, double h)"""
+        return _ogl.PyLineShape_base_OnDrawOutline(*args, **kwargs)
+
+    def base_OnDrawControlPoints(*args, **kwargs):
+        """base_OnDrawControlPoints(wxDC dc)"""
+        return _ogl.PyLineShape_base_OnDrawControlPoints(*args, **kwargs)
+
+    def base_OnEraseControlPoints(*args, **kwargs):
+        """base_OnEraseControlPoints(wxDC dc)"""
+        return _ogl.PyLineShape_base_OnEraseControlPoints(*args, **kwargs)
+
+    def base_OnMoveLink(*args, **kwargs):
+        """base_OnMoveLink(wxDC dc, bool moveControlPoints=True)"""
+        return _ogl.PyLineShape_base_OnMoveLink(*args, **kwargs)
+
+    def base_OnSizingDragLeft(*args, **kwargs):
+        """base_OnSizingDragLeft(PyControlPoint pt, bool draw, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyLineShape_base_OnSizingDragLeft(*args, **kwargs)
+
+    def base_OnSizingBeginDragLeft(*args, **kwargs):
+        """base_OnSizingBeginDragLeft(PyControlPoint pt, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyLineShape_base_OnSizingBeginDragLeft(*args, **kwargs)
+
+    def base_OnSizingEndDragLeft(*args, **kwargs):
+        """base_OnSizingEndDragLeft(PyControlPoint pt, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyLineShape_base_OnSizingEndDragLeft(*args, **kwargs)
+
+    def base_OnBeginSize(*args, **kwargs):
+        """base_OnBeginSize(double w, double h)"""
+        return _ogl.PyLineShape_base_OnBeginSize(*args, **kwargs)
+
+    def base_OnEndSize(*args, **kwargs):
+        """base_OnEndSize(double w, double h)"""
+        return _ogl.PyLineShape_base_OnEndSize(*args, **kwargs)
+
+
+class PyLineShapePtr(PyLineShape):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = PyLineShape
+_ogl.PyLineShape_swigregister(PyLineShapePtr)
+
+class PyPolygonShape(PyShape):
+    """"""
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxPyPolygonShape instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__() -> PyPolygonShape"""
+        newobj = _ogl.new_PyPolygonShape(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+        self._setOORandCallbackInfo(PyPolygonShape)
+
+    def _setCallbackInfo(*args, **kwargs):
+        """_setCallbackInfo(PyObject self, PyObject _class)"""
+        return _ogl.PyPolygonShape__setCallbackInfo(*args, **kwargs)
+
+    def Create(*args, **kwargs):
+        """Create(PyObject points) -> PyObject"""
+        return _ogl.PyPolygonShape_Create(*args, **kwargs)
+
+    def AddPolygonPoint(*args, **kwargs):
+        """AddPolygonPoint(int pos=0)"""
+        return _ogl.PyPolygonShape_AddPolygonPoint(*args, **kwargs)
+
+    def CalculatePolygonCentre(*args, **kwargs):
+        """CalculatePolygonCentre()"""
+        return _ogl.PyPolygonShape_CalculatePolygonCentre(*args, **kwargs)
+
+    def DeletePolygonPoint(*args, **kwargs):
+        """DeletePolygonPoint(int pos=0)"""
+        return _ogl.PyPolygonShape_DeletePolygonPoint(*args, **kwargs)
+
+    def GetPoints(*args, **kwargs):
+        """GetPoints() -> PyObject"""
+        return _ogl.PyPolygonShape_GetPoints(*args, **kwargs)
+
+    def UpdateOriginalPoints(*args, **kwargs):
+        """UpdateOriginalPoints()"""
+        return _ogl.PyPolygonShape_UpdateOriginalPoints(*args, **kwargs)
+
+    def base_OnDraw(*args, **kwargs):
+        """base_OnDraw(wxDC dc)"""
+        return _ogl.PyPolygonShape_base_OnDraw(*args, **kwargs)
+
+    def base_OnDrawContents(*args, **kwargs):
+        """base_OnDrawContents(wxDC dc)"""
+        return _ogl.PyPolygonShape_base_OnDrawContents(*args, **kwargs)
+
+    def base_OnDrawBranches(*args, **kwargs):
+        """base_OnDrawBranches(wxDC dc, bool erase=FALSE)"""
+        return _ogl.PyPolygonShape_base_OnDrawBranches(*args, **kwargs)
+
+    def base_OnMoveLinks(*args, **kwargs):
+        """base_OnMoveLinks(wxDC dc)"""
+        return _ogl.PyPolygonShape_base_OnMoveLinks(*args, **kwargs)
+
+    def base_OnErase(*args, **kwargs):
+        """base_OnErase(wxDC dc)"""
+        return _ogl.PyPolygonShape_base_OnErase(*args, **kwargs)
+
+    def base_OnEraseContents(*args, **kwargs):
+        """base_OnEraseContents(wxDC dc)"""
+        return _ogl.PyPolygonShape_base_OnEraseContents(*args, **kwargs)
+
+    def base_OnHighlight(*args, **kwargs):
+        """base_OnHighlight(wxDC dc)"""
+        return _ogl.PyPolygonShape_base_OnHighlight(*args, **kwargs)
+
+    def base_OnLeftClick(*args, **kwargs):
+        """base_OnLeftClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyPolygonShape_base_OnLeftClick(*args, **kwargs)
+
+    def base_OnLeftDoubleClick(*args, **kwargs):
+        """base_OnLeftDoubleClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyPolygonShape_base_OnLeftDoubleClick(*args, **kwargs)
+
+    def base_OnRightClick(*args, **kwargs):
+        """base_OnRightClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyPolygonShape_base_OnRightClick(*args, **kwargs)
+
+    def base_OnSize(*args, **kwargs):
+        """base_OnSize(double x, double y)"""
+        return _ogl.PyPolygonShape_base_OnSize(*args, **kwargs)
+
+    def base_OnMovePre(*args, **kwargs):
+        """base_OnMovePre(wxDC dc, double x, double y, double old_x, double old_y, 
+    bool display=True) -> bool"""
+        return _ogl.PyPolygonShape_base_OnMovePre(*args, **kwargs)
+
+    def base_OnMovePost(*args, **kwargs):
+        """base_OnMovePost(wxDC dc, double x, double y, double old_x, double old_y, 
+    bool display=True)"""
+        return _ogl.PyPolygonShape_base_OnMovePost(*args, **kwargs)
+
+    def base_OnDragLeft(*args, **kwargs):
+        """base_OnDragLeft(bool draw, double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyPolygonShape_base_OnDragLeft(*args, **kwargs)
+
+    def base_OnBeginDragLeft(*args, **kwargs):
+        """base_OnBeginDragLeft(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyPolygonShape_base_OnBeginDragLeft(*args, **kwargs)
+
+    def base_OnEndDragLeft(*args, **kwargs):
+        """base_OnEndDragLeft(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyPolygonShape_base_OnEndDragLeft(*args, **kwargs)
+
+    def base_OnDragRight(*args, **kwargs):
+        """base_OnDragRight(bool draw, double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyPolygonShape_base_OnDragRight(*args, **kwargs)
+
+    def base_OnBeginDragRight(*args, **kwargs):
+        """base_OnBeginDragRight(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyPolygonShape_base_OnBeginDragRight(*args, **kwargs)
+
+    def base_OnEndDragRight(*args, **kwargs):
+        """base_OnEndDragRight(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyPolygonShape_base_OnEndDragRight(*args, **kwargs)
+
+    def base_OnDrawOutline(*args, **kwargs):
+        """base_OnDrawOutline(wxDC dc, double x, double y, double w, double h)"""
+        return _ogl.PyPolygonShape_base_OnDrawOutline(*args, **kwargs)
+
+    def base_OnDrawControlPoints(*args, **kwargs):
+        """base_OnDrawControlPoints(wxDC dc)"""
+        return _ogl.PyPolygonShape_base_OnDrawControlPoints(*args, **kwargs)
+
+    def base_OnEraseControlPoints(*args, **kwargs):
+        """base_OnEraseControlPoints(wxDC dc)"""
+        return _ogl.PyPolygonShape_base_OnEraseControlPoints(*args, **kwargs)
+
+    def base_OnMoveLink(*args, **kwargs):
+        """base_OnMoveLink(wxDC dc, bool moveControlPoints=True)"""
+        return _ogl.PyPolygonShape_base_OnMoveLink(*args, **kwargs)
+
+    def base_OnSizingDragLeft(*args, **kwargs):
+        """base_OnSizingDragLeft(PyControlPoint pt, bool draw, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyPolygonShape_base_OnSizingDragLeft(*args, **kwargs)
+
+    def base_OnSizingBeginDragLeft(*args, **kwargs):
+        """base_OnSizingBeginDragLeft(PyControlPoint pt, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyPolygonShape_base_OnSizingBeginDragLeft(*args, **kwargs)
+
+    def base_OnSizingEndDragLeft(*args, **kwargs):
+        """base_OnSizingEndDragLeft(PyControlPoint pt, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyPolygonShape_base_OnSizingEndDragLeft(*args, **kwargs)
+
+    def base_OnBeginSize(*args, **kwargs):
+        """base_OnBeginSize(double w, double h)"""
+        return _ogl.PyPolygonShape_base_OnBeginSize(*args, **kwargs)
+
+    def base_OnEndSize(*args, **kwargs):
+        """base_OnEndSize(double w, double h)"""
+        return _ogl.PyPolygonShape_base_OnEndSize(*args, **kwargs)
+
+
+class PyPolygonShapePtr(PyPolygonShape):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = PyPolygonShape
+_ogl.PyPolygonShape_swigregister(PyPolygonShapePtr)
+
+class PyTextShape(PyRectangleShape):
+    """"""
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxPyTextShape instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__(double width=0.0, double height=0.0) -> PyTextShape"""
+        newobj = _ogl.new_PyTextShape(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+        self._setOORandCallbackInfo(PyTextShape)
+
+    def _setCallbackInfo(*args, **kwargs):
+        """_setCallbackInfo(PyObject self, PyObject _class)"""
+        return _ogl.PyTextShape__setCallbackInfo(*args, **kwargs)
+
+    def base_OnDelete(*args, **kwargs):
+        """base_OnDelete()"""
+        return _ogl.PyTextShape_base_OnDelete(*args, **kwargs)
+
+    def base_OnDraw(*args, **kwargs):
+        """base_OnDraw(wxDC dc)"""
+        return _ogl.PyTextShape_base_OnDraw(*args, **kwargs)
+
+    def base_OnDrawContents(*args, **kwargs):
+        """base_OnDrawContents(wxDC dc)"""
+        return _ogl.PyTextShape_base_OnDrawContents(*args, **kwargs)
+
+    def base_OnDrawBranches(*args, **kwargs):
+        """base_OnDrawBranches(wxDC dc, bool erase=FALSE)"""
+        return _ogl.PyTextShape_base_OnDrawBranches(*args, **kwargs)
+
+    def base_OnMoveLinks(*args, **kwargs):
+        """base_OnMoveLinks(wxDC dc)"""
+        return _ogl.PyTextShape_base_OnMoveLinks(*args, **kwargs)
+
+    def base_OnErase(*args, **kwargs):
+        """base_OnErase(wxDC dc)"""
+        return _ogl.PyTextShape_base_OnErase(*args, **kwargs)
+
+    def base_OnEraseContents(*args, **kwargs):
+        """base_OnEraseContents(wxDC dc)"""
+        return _ogl.PyTextShape_base_OnEraseContents(*args, **kwargs)
+
+    def base_OnHighlight(*args, **kwargs):
+        """base_OnHighlight(wxDC dc)"""
+        return _ogl.PyTextShape_base_OnHighlight(*args, **kwargs)
+
+    def base_OnLeftClick(*args, **kwargs):
+        """base_OnLeftClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyTextShape_base_OnLeftClick(*args, **kwargs)
+
+    def base_OnLeftDoubleClick(*args, **kwargs):
+        """base_OnLeftDoubleClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyTextShape_base_OnLeftDoubleClick(*args, **kwargs)
+
+    def base_OnRightClick(*args, **kwargs):
+        """base_OnRightClick(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyTextShape_base_OnRightClick(*args, **kwargs)
+
+    def base_OnSize(*args, **kwargs):
+        """base_OnSize(double x, double y)"""
+        return _ogl.PyTextShape_base_OnSize(*args, **kwargs)
+
+    def base_OnMovePre(*args, **kwargs):
+        """base_OnMovePre(wxDC dc, double x, double y, double old_x, double old_y, 
+    bool display=True) -> bool"""
+        return _ogl.PyTextShape_base_OnMovePre(*args, **kwargs)
+
+    def base_OnMovePost(*args, **kwargs):
+        """base_OnMovePost(wxDC dc, double x, double y, double old_x, double old_y, 
+    bool display=True)"""
+        return _ogl.PyTextShape_base_OnMovePost(*args, **kwargs)
+
+    def base_OnDragLeft(*args, **kwargs):
+        """base_OnDragLeft(bool draw, double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyTextShape_base_OnDragLeft(*args, **kwargs)
+
+    def base_OnBeginDragLeft(*args, **kwargs):
+        """base_OnBeginDragLeft(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyTextShape_base_OnBeginDragLeft(*args, **kwargs)
+
+    def base_OnEndDragLeft(*args, **kwargs):
+        """base_OnEndDragLeft(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyTextShape_base_OnEndDragLeft(*args, **kwargs)
+
+    def base_OnDragRight(*args, **kwargs):
+        """base_OnDragRight(bool draw, double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyTextShape_base_OnDragRight(*args, **kwargs)
+
+    def base_OnBeginDragRight(*args, **kwargs):
+        """base_OnBeginDragRight(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyTextShape_base_OnBeginDragRight(*args, **kwargs)
+
+    def base_OnEndDragRight(*args, **kwargs):
+        """base_OnEndDragRight(double x, double y, int keys=0, int attachment=0)"""
+        return _ogl.PyTextShape_base_OnEndDragRight(*args, **kwargs)
+
+    def base_OnDrawOutline(*args, **kwargs):
+        """base_OnDrawOutline(wxDC dc, double x, double y, double w, double h)"""
+        return _ogl.PyTextShape_base_OnDrawOutline(*args, **kwargs)
+
+    def base_OnDrawControlPoints(*args, **kwargs):
+        """base_OnDrawControlPoints(wxDC dc)"""
+        return _ogl.PyTextShape_base_OnDrawControlPoints(*args, **kwargs)
+
+    def base_OnEraseControlPoints(*args, **kwargs):
+        """base_OnEraseControlPoints(wxDC dc)"""
+        return _ogl.PyTextShape_base_OnEraseControlPoints(*args, **kwargs)
+
+    def base_OnMoveLink(*args, **kwargs):
+        """base_OnMoveLink(wxDC dc, bool moveControlPoints=True)"""
+        return _ogl.PyTextShape_base_OnMoveLink(*args, **kwargs)
+
+    def base_OnSizingDragLeft(*args, **kwargs):
+        """base_OnSizingDragLeft(PyControlPoint pt, bool draw, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyTextShape_base_OnSizingDragLeft(*args, **kwargs)
+
+    def base_OnSizingBeginDragLeft(*args, **kwargs):
+        """base_OnSizingBeginDragLeft(PyControlPoint pt, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyTextShape_base_OnSizingBeginDragLeft(*args, **kwargs)
+
+    def base_OnSizingEndDragLeft(*args, **kwargs):
+        """base_OnSizingEndDragLeft(PyControlPoint pt, double x, double y, int keys=0, 
+    int attachment=0)"""
+        return _ogl.PyTextShape_base_OnSizingEndDragLeft(*args, **kwargs)
+
+    def base_OnBeginSize(*args, **kwargs):
+        """base_OnBeginSize(double w, double h)"""
+        return _ogl.PyTextShape_base_OnBeginSize(*args, **kwargs)
+
+    def base_OnEndSize(*args, **kwargs):
+        """base_OnEndSize(double w, double h)"""
+        return _ogl.PyTextShape_base_OnEndSize(*args, **kwargs)
+
+
+class PyTextShapePtr(PyTextShape):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = PyTextShape
+_ogl.PyTextShape_swigregister(PyTextShapePtr)
+
+class Diagram(core.Object):
+    """"""
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxDiagram instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__() -> Diagram"""
+        newobj = _ogl.new_Diagram(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+    def AddShape(*args, **kwargs):
+        """AddShape(PyShape shape, PyShape addAfter=None)"""
+        return _ogl.Diagram_AddShape(*args, **kwargs)
+
+    def Clear(*args, **kwargs):
+        """Clear(wxDC dc)"""
+        return _ogl.Diagram_Clear(*args, **kwargs)
+
+    def DeleteAllShapes(*args, **kwargs):
+        """DeleteAllShapes()"""
+        return _ogl.Diagram_DeleteAllShapes(*args, **kwargs)
+
+    def DrawOutline(*args, **kwargs):
+        """DrawOutline(wxDC dc, double x1, double y1, double x2, double y2)"""
+        return _ogl.Diagram_DrawOutline(*args, **kwargs)
+
+    def FindShape(*args, **kwargs):
+        """FindShape(long id) -> PyShape"""
+        return _ogl.Diagram_FindShape(*args, **kwargs)
+
+    def GetCanvas(*args, **kwargs):
+        """GetCanvas() -> PyShapeCanvas"""
+        return _ogl.Diagram_GetCanvas(*args, **kwargs)
+
+    def GetCount(*args, **kwargs):
+        """GetCount() -> int"""
+        return _ogl.Diagram_GetCount(*args, **kwargs)
+
+    def GetGridSpacing(*args, **kwargs):
+        """GetGridSpacing() -> double"""
+        return _ogl.Diagram_GetGridSpacing(*args, **kwargs)
+
+    def GetMouseTolerance(*args, **kwargs):
+        """GetMouseTolerance() -> int"""
+        return _ogl.Diagram_GetMouseTolerance(*args, **kwargs)
+
+    def GetShapeList(*args, **kwargs):
+        """GetShapeList() -> PyObject"""
+        return _ogl.Diagram_GetShapeList(*args, **kwargs)
+
+    def GetQuickEditMode(*args, **kwargs):
+        """GetQuickEditMode() -> bool"""
+        return _ogl.Diagram_GetQuickEditMode(*args, **kwargs)
+
+    def GetSnapToGrid(*args, **kwargs):
+        """GetSnapToGrid() -> bool"""
+        return _ogl.Diagram_GetSnapToGrid(*args, **kwargs)
+
+    def InsertShape(*args, **kwargs):
+        """InsertShape(PyShape shape)"""
+        return _ogl.Diagram_InsertShape(*args, **kwargs)
+
+    def RecentreAll(*args, **kwargs):
+        """RecentreAll(wxDC dc)"""
+        return _ogl.Diagram_RecentreAll(*args, **kwargs)
+
+    def Redraw(*args, **kwargs):
+        """Redraw(wxDC dc)"""
+        return _ogl.Diagram_Redraw(*args, **kwargs)
+
+    def RemoveAllShapes(*args, **kwargs):
+        """RemoveAllShapes()"""
+        return _ogl.Diagram_RemoveAllShapes(*args, **kwargs)
+
+    def RemoveShape(*args, **kwargs):
+        """RemoveShape(PyShape shape)"""
+        return _ogl.Diagram_RemoveShape(*args, **kwargs)
+
+    def SetCanvas(*args, **kwargs):
+        """SetCanvas(PyShapeCanvas canvas)"""
+        return _ogl.Diagram_SetCanvas(*args, **kwargs)
+
+    def SetGridSpacing(*args, **kwargs):
+        """SetGridSpacing(double spacing)"""
+        return _ogl.Diagram_SetGridSpacing(*args, **kwargs)
+
+    def SetMouseTolerance(*args, **kwargs):
+        """SetMouseTolerance(int tolerance)"""
+        return _ogl.Diagram_SetMouseTolerance(*args, **kwargs)
+
+    def SetQuickEditMode(*args, **kwargs):
+        """SetQuickEditMode(bool mode)"""
+        return _ogl.Diagram_SetQuickEditMode(*args, **kwargs)
+
+    def SetSnapToGrid(*args, **kwargs):
+        """SetSnapToGrid(bool snap)"""
+        return _ogl.Diagram_SetSnapToGrid(*args, **kwargs)
+
+    def ShowAll(*args, **kwargs):
+        """ShowAll(bool show)"""
+        return _ogl.Diagram_ShowAll(*args, **kwargs)
+
+    def Snap(*args, **kwargs):
+        """Snap(double INOUT, double INOUT)"""
+        return _ogl.Diagram_Snap(*args, **kwargs)
+
+
+class DiagramPtr(Diagram):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = Diagram
+_ogl.Diagram_swigregister(DiagramPtr)
+
+class PyShapeCanvas(windows.ScrolledWindow):
+    """"""
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxPyShapeCanvas instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__(Window parent=None, int id=-1, Point pos=DefaultPosition, 
+    Size size=DefaultSize, long style=BORDER, 
+    wxString name=wxPyShapeCanvasNameStr) -> PyShapeCanvas"""
+        newobj = _ogl.new_PyShapeCanvas(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+    def _setCallbackInfo(*args, **kwargs):
+        """_setCallbackInfo(PyObject self, PyObject _class)"""
+        return _ogl.PyShapeCanvas__setCallbackInfo(*args, **kwargs)
+
+    def _setOORandCallbackInfo(self, _class):
+        self._setOORInfo(self)
+        self._setCallbackInfo(self, _class)
+
+    def AddShape(*args, **kwargs):
+        """AddShape(PyShape shape, PyShape addAfter=None)"""
+        return _ogl.PyShapeCanvas_AddShape(*args, **kwargs)
+
+    def FindShape(*args, **kwargs):
+        """FindShape(double x1, double y, int OUTPUT, wxClassInfo info=None, 
+    PyShape notImage=None) -> PyShape"""
+        return _ogl.PyShapeCanvas_FindShape(*args, **kwargs)
+
+    def FindFirstSensitiveShape(*args, **kwargs):
+        """FindFirstSensitiveShape(double x1, double y, int OUTPUT, int op) -> PyShape"""
+        return _ogl.PyShapeCanvas_FindFirstSensitiveShape(*args, **kwargs)
+
+    def GetDiagram(*args, **kwargs):
+        """GetDiagram() -> Diagram"""
+        return _ogl.PyShapeCanvas_GetDiagram(*args, **kwargs)
+
+    def GetQuickEditMode(*args, **kwargs):
+        """GetQuickEditMode() -> bool"""
+        return _ogl.PyShapeCanvas_GetQuickEditMode(*args, **kwargs)
+
+    def InsertShape(*args, **kwargs):
+        """InsertShape(PyShape shape)"""
+        return _ogl.PyShapeCanvas_InsertShape(*args, **kwargs)
+
+    def base_OnBeginDragLeft(*args, **kwargs):
+        """base_OnBeginDragLeft(double x, double y, int keys=0)"""
+        return _ogl.PyShapeCanvas_base_OnBeginDragLeft(*args, **kwargs)
+
+    def base_OnBeginDragRight(*args, **kwargs):
+        """base_OnBeginDragRight(double x, double y, int keys=0)"""
+        return _ogl.PyShapeCanvas_base_OnBeginDragRight(*args, **kwargs)
+
+    def base_OnEndDragLeft(*args, **kwargs):
+        """base_OnEndDragLeft(double x, double y, int keys=0)"""
+        return _ogl.PyShapeCanvas_base_OnEndDragLeft(*args, **kwargs)
+
+    def base_OnEndDragRight(*args, **kwargs):
+        """base_OnEndDragRight(double x, double y, int keys=0)"""
+        return _ogl.PyShapeCanvas_base_OnEndDragRight(*args, **kwargs)
+
+    def base_OnDragLeft(*args, **kwargs):
+        """base_OnDragLeft(bool draw, double x, double y, int keys=0)"""
+        return _ogl.PyShapeCanvas_base_OnDragLeft(*args, **kwargs)
+
+    def base_OnDragRight(*args, **kwargs):
+        """base_OnDragRight(bool draw, double x, double y, int keys=0)"""
+        return _ogl.PyShapeCanvas_base_OnDragRight(*args, **kwargs)
+
+    def base_OnLeftClick(*args, **kwargs):
+        """base_OnLeftClick(double x, double y, int keys=0)"""
+        return _ogl.PyShapeCanvas_base_OnLeftClick(*args, **kwargs)
+
+    def base_OnRightClick(*args, **kwargs):
+        """base_OnRightClick(double x, double y, int keys=0)"""
+        return _ogl.PyShapeCanvas_base_OnRightClick(*args, **kwargs)
+
+    def Redraw(*args, **kwargs):
+        """Redraw(wxDC dc)"""
+        return _ogl.PyShapeCanvas_Redraw(*args, **kwargs)
+
+    def RemoveShape(*args, **kwargs):
+        """RemoveShape(PyShape shape)"""
+        return _ogl.PyShapeCanvas_RemoveShape(*args, **kwargs)
+
+    def SetDiagram(*args, **kwargs):
+        """SetDiagram(Diagram diagram)"""
+        return _ogl.PyShapeCanvas_SetDiagram(*args, **kwargs)
+
+    def Snap(*args, **kwargs):
+        """Snap(double INOUT, double INOUT)"""
+        return _ogl.PyShapeCanvas_Snap(*args, **kwargs)
+
+    def GetShapeList(self):
+        return self.GetDiagram().GetShapeList()
+
+
+class PyShapeCanvasPtr(PyShapeCanvas):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = PyShapeCanvas
+_ogl.PyShapeCanvas_swigregister(PyShapeCanvasPtr)
+
+# Aliases    
+ShapeCanvas =       PyShapeCanvas
+ShapeEvtHandler =   PyShapeEvtHandler
+Shape =             PyShape
+RectangleShape =    PyRectangleShape
+BitmapShape =       PyBitmapShape
+DrawnShape =        PyDrawnShape
+CompositeShape =    PyCompositeShape
+DividedShape =      PyDividedShape
+DivisionShape =     PyDivisionShape
+EllipseShape =      PyEllipseShape
+CircleShape =       PyCircleShape
+LineShape =         PyLineShape
+PolygonShape =      PyPolygonShape
+TextShape =         PyTextShape
+ControlPoint =      PyControlPoint
+
+KEY_SHIFT = _ogl.KEY_SHIFT
+KEY_CTRL = _ogl.KEY_CTRL
+ARROW_NONE = _ogl.ARROW_NONE
+ARROW_END = _ogl.ARROW_END
+ARROW_BOTH = _ogl.ARROW_BOTH
+ARROW_MIDDLE = _ogl.ARROW_MIDDLE
+ARROW_START = _ogl.ARROW_START
+ARROW_HOLLOW_CIRCLE = _ogl.ARROW_HOLLOW_CIRCLE
+ARROW_FILLED_CIRCLE = _ogl.ARROW_FILLED_CIRCLE
+ARROW_ARROW = _ogl.ARROW_ARROW
+ARROW_SINGLE_OBLIQUE = _ogl.ARROW_SINGLE_OBLIQUE
+ARROW_DOUBLE_OBLIQUE = _ogl.ARROW_DOUBLE_OBLIQUE
+ARROW_METAFILE = _ogl.ARROW_METAFILE
+ARROW_POSITION_END = _ogl.ARROW_POSITION_END
+ARROW_POSITION_START = _ogl.ARROW_POSITION_START
+CONTROL_POINT_VERTICAL = _ogl.CONTROL_POINT_VERTICAL
+CONTROL_POINT_HORIZONTAL = _ogl.CONTROL_POINT_HORIZONTAL
+CONTROL_POINT_DIAGONAL = _ogl.CONTROL_POINT_DIAGONAL
+CONTROL_POINT_ENDPOINT_TO = _ogl.CONTROL_POINT_ENDPOINT_TO
+CONTROL_POINT_ENDPOINT_FROM = _ogl.CONTROL_POINT_ENDPOINT_FROM
+CONTROL_POINT_LINE = _ogl.CONTROL_POINT_LINE
+FORMAT_NONE = _ogl.FORMAT_NONE
+FORMAT_CENTRE_HORIZ = _ogl.FORMAT_CENTRE_HORIZ
+FORMAT_CENTRE_VERT = _ogl.FORMAT_CENTRE_VERT
+FORMAT_SIZE_TO_CONTENTS = _ogl.FORMAT_SIZE_TO_CONTENTS
+LINE_ALIGNMENT_HORIZ = _ogl.LINE_ALIGNMENT_HORIZ
+LINE_ALIGNMENT_VERT = _ogl.LINE_ALIGNMENT_VERT
+LINE_ALIGNMENT_TO_NEXT_HANDLE = _ogl.LINE_ALIGNMENT_TO_NEXT_HANDLE
+LINE_ALIGNMENT_NONE = _ogl.LINE_ALIGNMENT_NONE
+SHADOW_NONE = _ogl.SHADOW_NONE
+SHADOW_LEFT = _ogl.SHADOW_LEFT
+SHADOW_RIGHT = _ogl.SHADOW_RIGHT
+OP_CLICK_LEFT = _ogl.OP_CLICK_LEFT
+OP_CLICK_RIGHT = _ogl.OP_CLICK_RIGHT
+OP_DRAG_LEFT = _ogl.OP_DRAG_LEFT
+OP_DRAG_RIGHT = _ogl.OP_DRAG_RIGHT
+OP_ALL = _ogl.OP_ALL
+ATTACHMENT_MODE_NONE = _ogl.ATTACHMENT_MODE_NONE
+ATTACHMENT_MODE_EDGE = _ogl.ATTACHMENT_MODE_EDGE
+ATTACHMENT_MODE_BRANCHING = _ogl.ATTACHMENT_MODE_BRANCHING
+BRANCHING_ATTACHMENT_NORMAL = _ogl.BRANCHING_ATTACHMENT_NORMAL
+BRANCHING_ATTACHMENT_BLOB = _ogl.BRANCHING_ATTACHMENT_BLOB
+gyCONSTRAINT_CENTRED_VERTICALLY = _ogl.gyCONSTRAINT_CENTRED_VERTICALLY
+gyCONSTRAINT_CENTRED_HORIZONTALLY = _ogl.gyCONSTRAINT_CENTRED_HORIZONTALLY
+gyCONSTRAINT_CENTRED_BOTH = _ogl.gyCONSTRAINT_CENTRED_BOTH
+gyCONSTRAINT_LEFT_OF = _ogl.gyCONSTRAINT_LEFT_OF
+gyCONSTRAINT_RIGHT_OF = _ogl.gyCONSTRAINT_RIGHT_OF
+gyCONSTRAINT_ABOVE = _ogl.gyCONSTRAINT_ABOVE
+gyCONSTRAINT_BELOW = _ogl.gyCONSTRAINT_BELOW
+gyCONSTRAINT_ALIGNED_TOP = _ogl.gyCONSTRAINT_ALIGNED_TOP
+gyCONSTRAINT_ALIGNED_BOTTOM = _ogl.gyCONSTRAINT_ALIGNED_BOTTOM
+gyCONSTRAINT_ALIGNED_LEFT = _ogl.gyCONSTRAINT_ALIGNED_LEFT
+gyCONSTRAINT_ALIGNED_RIGHT = _ogl.gyCONSTRAINT_ALIGNED_RIGHT
+gyCONSTRAINT_MIDALIGNED_TOP = _ogl.gyCONSTRAINT_MIDALIGNED_TOP
+gyCONSTRAINT_MIDALIGNED_BOTTOM = _ogl.gyCONSTRAINT_MIDALIGNED_BOTTOM
+gyCONSTRAINT_MIDALIGNED_LEFT = _ogl.gyCONSTRAINT_MIDALIGNED_LEFT
+gyCONSTRAINT_MIDALIGNED_RIGHT = _ogl.gyCONSTRAINT_MIDALIGNED_RIGHT
+DIVISION_SIDE_NONE = _ogl.DIVISION_SIDE_NONE
+DIVISION_SIDE_LEFT = _ogl.DIVISION_SIDE_LEFT
+DIVISION_SIDE_TOP = _ogl.DIVISION_SIDE_TOP
+DIVISION_SIDE_RIGHT = _ogl.DIVISION_SIDE_RIGHT
+DIVISION_SIDE_BOTTOM = _ogl.DIVISION_SIDE_BOTTOM
+
+def OGLInitialize(*args, **kwargs):
+    """OGLInitialize()"""
+    return _ogl.OGLInitialize(*args, **kwargs)
+
+def OGLCleanUp(*args, **kwargs):
+    """OGLCleanUp()"""
+    return _ogl.OGLCleanUp(*args, **kwargs)
+
diff --git a/wxPython/contrib/ogl/msw/ogl_wrap.cpp b/wxPython/contrib/ogl/msw/ogl_wrap.cpp
new file mode 100644 (file)
index 0000000..5b40b52
--- /dev/null
@@ -0,0 +1,27764 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.20
+ * 
+ * This file is not intended to be easily readable and contains a number of 
+ * coding conventions designed to improve portability and efficiency. Do not make
+ * changes to this file unless you know what you are doing--modify the SWIG 
+ * interface file instead. 
+ * ----------------------------------------------------------------------------- */
+
+#define SWIGPYTHON
+#define SWIG_NOINCLUDE
+
+#ifdef __cplusplus
+template<class T> class SwigValueWrapper {
+    T *tt;
+public:
+    SwigValueWrapper() : tt(0) { }
+    SwigValueWrapper(const SwigValueWrapper<T>& rhs) : tt(new T(*rhs.tt)) { }
+    SwigValueWrapper(const T& t) : tt(new T(t)) { }
+    ~SwigValueWrapper() { delete tt; } 
+    SwigValueWrapper& operator=(const T& t) { delete tt; tt = new T(t); return *this; }
+    operator T&() const { return *tt; }
+    T *operator&() { return tt; }
+private:
+    SwigValueWrapper& operator=(const SwigValueWrapper<T>& rhs);
+};                                                    
+#endif
+
+
+#include "Python.h"
+
+/*************************************************************** -*- c -*-
+ * python/precommon.swg
+ *
+ * Rename all exported symbols from common.swg, to avoid symbol
+ * clashes if multiple interpreters are included
+ *
+ ************************************************************************/
+
+#define SWIG_TypeRegister    SWIG_Python_TypeRegister
+#define SWIG_TypeCheck       SWIG_Python_TypeCheck
+#define SWIG_TypeCast        SWIG_Python_TypeCast
+#define SWIG_TypeDynamicCast SWIG_Python_TypeDynamicCast
+#define SWIG_TypeName        SWIG_Python_TypeName
+#define SWIG_TypeQuery       SWIG_Python_TypeQuery
+#define SWIG_TypeClientData  SWIG_Python_TypeClientData
+
+
+/***********************************************************************
+ * common.swg for wxPython
+ *
+ * Include only the function prototypes and such from SWIG's common.swg,
+ * but not the runtime functions themselves.  This helps keep the
+ * wrapper files clean of unnecessary stuff that is in the libpy.c file
+ * anyway.
+ *
+ ************************************************************************/
+
+#include <string.h>
+
+#if defined(_WIN32) || defined(__WIN32__)
+#       if defined(_MSC_VER)
+#               if defined(STATIC_LINKED)
+#                       define SWIGEXPORT(a) a
+#                       define SWIGIMPORT(a) extern a
+#               else
+#                       define SWIGEXPORT(a) __declspec(dllexport) a
+#                       define SWIGIMPORT(a) extern a
+#               endif
+#       else
+#               if defined(__BORLANDC__)
+#                       define SWIGEXPORT(a) a _export
+#                       define SWIGIMPORT(a) a _export
+#               else
+#                       define SWIGEXPORT(a) a
+#                       define SWIGIMPORT(a) a
+#               endif
+#       endif
+#else
+#       define SWIGEXPORT(a) a
+#       define SWIGIMPORT(a) a
+#endif
+
+#ifdef SWIG_GLOBAL
+#define SWIGRUNTIME(a) SWIGEXPORT(a)
+#else
+#define SWIGRUNTIME(a) static a
+#endif
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef void *(*swig_converter_func)(void *);
+typedef struct swig_type_info *(*swig_dycast_func)(void **);
+
+typedef struct swig_type_info {
+  const char             *name;                 
+  swig_converter_func     converter;
+  const char             *str;
+  void                   *clientdata;  
+  swig_dycast_func        dcast;
+  struct swig_type_info  *next;
+  struct swig_type_info  *prev;
+} swig_type_info;
+
+
+SWIGIMPORT(swig_type_info *) SWIG_TypeRegister(swig_type_info *);
+SWIGIMPORT(swig_type_info *) SWIG_TypeCheck(char *c, swig_type_info *);
+SWIGIMPORT(void *)           SWIG_TypeCast(swig_type_info *, void *);
+SWIGIMPORT(swig_type_info *) SWIG_TypeDynamicCast(swig_type_info *, void **);
+SWIGIMPORT(const char *)     SWIG_TypeName(const swig_type_info *);
+SWIGIMPORT(swig_type_info *) SWIG_TypeQuery(const char *);
+SWIGIMPORT(void)             SWIG_TypeClientData(swig_type_info *, void *);
+
+
+#ifdef __cplusplus
+}
+
+#endif
+
+/***********************************************************************
+ * pyrun.swg for wxPython
+ *
+ * Include only the function prototypes and such from SWIG's pyrun.swg,
+ * but not the runtime functions themselves.  This helps keep the
+ * wrapper files clean of unnecessary stuff that is in the libpy.c file
+ * anyway.
+ *
+ ************************************************************************/
+
+
+#include "Python.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define SWIG_PY_INT     1
+#define SWIG_PY_FLOAT   2
+#define SWIG_PY_STRING  3
+#define SWIG_PY_POINTER 4
+#define SWIG_PY_BINARY  5
+
+/* Flags for pointer conversion */
+
+#define SWIG_POINTER_EXCEPTION     0x1
+#define SWIG_POINTER_DISOWN        0x2
+
+/* Exception handling in wrappers */
+#define SWIG_fail   goto fail
+
+/* Constant information structure */
+typedef struct swig_const_info {
+    int type;
+    char *name;
+    long lvalue;
+    double dvalue;
+    void   *pvalue;
+    swig_type_info **ptype;
+} swig_const_info;
+
+
+
+/* Common SWIG API */
+#define SWIG_ConvertPtr(obj, pp, type, flags) \
+  SWIG_Python_ConvertPtr(obj, pp, type, flags)
+#define SWIG_NewPointerObj(p, type, flags) \
+  SWIG_Python_NewPointerObj(p, type, flags)
+#define SWIG_MustGetPtr(p, type, argnum, flags) \
+  SWIG_Python_MustGetPtr(p, type, argnum, flags)
+
+/* Python-specific SWIG API */
+#define SWIG_newvarlink() \
+  SWIG_Python_newvarlink()
+#define SWIG_addvarlink(p, name, get_attr, set_attr) \
+  SWIG_Python_addvarlink(p, name, get_attr, set_attr)
+#define SWIG_ConvertPacked(obj, ptr, sz, ty, flags) \
+  SWIG_Python_ConvertPacked(obj, ptr, sz, ty, flags)
+#define SWIG_PackData(c, ptr, sz) \
+  SWIG_Python_PackData(c, ptr, sz)
+#define SWIG_UnpackData(c, ptr, sz) \
+  SWIG_Python_UnpackData(c, ptr, sz)
+#define SWIG_NewPackedObj(ptr, sz, type) \
+  SWIG_Python_NewPackedObj(ptr, sz, type)
+#define SWIG_InstallConstants(d, constants) \
+  SWIG_Python_InstallConstants(d, constants)
+
+
+SWIGEXPORT(int)               SWIG_Python_ConvertPtr(PyObject *, void **, swig_type_info *, int);
+SWIGEXPORT(PyObject *)        SWIG_Python_NewPointerObj(void *, swig_type_info *,int own);
+SWIGEXPORT(void *)           SWIG_Python_MustGetPtr(PyObject *, swig_type_info *, int, int);
+
+SWIGEXPORT(PyObject *)        SWIG_Python_newvarlink(void);
+SWIGEXPORT(void)              SWIG_Python_addvarlink(PyObject *, char *, PyObject *(*)(void), int (*)(PyObject *));
+SWIGEXPORT(int)               SWIG_Python_ConvertPacked(PyObject *, void *, int sz, swig_type_info *, int);
+SWIGEXPORT(char *)            SWIG_Python_PackData(char *c, void *, int);
+SWIGEXPORT(char *)            SWIG_Python_UnpackData(char *c, void *, int);
+SWIGEXPORT(PyObject *)        SWIG_Python_NewPackedObj(void *, int sz, swig_type_info *);
+SWIGEXPORT(void)              SWIG_Python_InstallConstants(PyObject *d, swig_const_info constants[]);
+
+
+/* Contract support */
+
+#define SWIG_contract_assert(expr, msg) if (!(expr)) { PyErr_SetString(PyExc_RuntimeError, (char *) msg ); goto fail; } else
+
+
+#ifdef __cplusplus
+}
+#endif
+
+
+
+/* -------- TYPES TABLE (BEGIN) -------- */
+
+#define  SWIGTYPE_p_wxOGLConstraint swig_types[0] 
+#define  SWIGTYPE_p_wxBrush swig_types[1] 
+#define  SWIGTYPE_p_wxColour swig_types[2] 
+#define  SWIGTYPE_p_wxShapeRegion swig_types[3] 
+#define  SWIGTYPE_p_wxDC swig_types[4] 
+#define  SWIGTYPE_p_wxRealPoint swig_types[5] 
+#define  SWIGTYPE_p_wxPyControlPoint swig_types[6] 
+#define  SWIGTYPE_p_wxArrowHead swig_types[7] 
+#define  SWIGTYPE_p_wxStringList swig_types[8] 
+#define  SWIGTYPE_p_wxPanel swig_types[9] 
+#define  SWIGTYPE_p_bool swig_types[10] 
+#define  SWIGTYPE_p_wxList swig_types[11] 
+#define  SWIGTYPE_p_wxFont swig_types[12] 
+#define  SWIGTYPE_p_wxScrolledWindow swig_types[13] 
+#define  SWIGTYPE_p_wxWindow swig_types[14] 
+#define  SWIGTYPE_p_double swig_types[15] 
+#define  SWIGTYPE_p_wxPyDivisionShape swig_types[16] 
+#define  SWIGTYPE_p_wxPyDrawnShape swig_types[17] 
+#define  SWIGTYPE_p_wxPyPolygonShape swig_types[18] 
+#define  SWIGTYPE_p_wxBitmap swig_types[19] 
+#define  SWIGTYPE_p_wxObject swig_types[20] 
+#define  SWIGTYPE_p_wxPyBitmapShape swig_types[21] 
+#define  SWIGTYPE_p_wxString swig_types[22] 
+#define  SWIGTYPE_p_wxPyShapeEvtHandler swig_types[23] 
+#define  SWIGTYPE_p_wxEvtHandler swig_types[24] 
+#define  SWIGTYPE_p_wxPyEllipseShape swig_types[25] 
+#define  SWIGTYPE_p_wxPyShapeCanvas swig_types[26] 
+#define  SWIGTYPE_p_wxPoint swig_types[27] 
+#define  SWIGTYPE_p_wxDiagram swig_types[28] 
+#define  SWIGTYPE_p_wxPyShape swig_types[29] 
+#define  SWIGTYPE_p_wxClassInfo swig_types[30] 
+#define  SWIGTYPE_p_wxPyLineShape swig_types[31] 
+#define  SWIGTYPE_p_wxPyRectangleShape swig_types[32] 
+#define  SWIGTYPE_p_wxPyCompositeShape swig_types[33] 
+#define  SWIGTYPE_p_wxPyCircleShape swig_types[34] 
+#define  SWIGTYPE_p_wxPen swig_types[35] 
+#define  SWIGTYPE_p_int swig_types[36] 
+#define  SWIGTYPE_p_wxPseudoMetaFile swig_types[37] 
+#define  SWIGTYPE_p_wxPyTextShape swig_types[38] 
+#define  SWIGTYPE_p_wxPyDividedShape swig_types[39] 
+static swig_type_info *swig_types[41];
+
+/* -------- TYPES TABLE (END) -------- */
+
+
+/*-----------------------------------------------
+              @(target):= _ogl.so
+  ------------------------------------------------*/
+#define SWIG_init    init_ogl
+
+#define SWIG_name    "_ogl"
+
+#include "wx/wxPython/wxPython.h"
+#include "wx/wxPython/pyclasses.h"
+#include "oglhelpers.h"
+
+
+    static const wxString wxPyEmptyString(wxT(""));
+
+
+static PyObject* t_output_helper(PyObject* target, PyObject* o) {
+    PyObject*   o2;
+    PyObject*   o3;
+
+    if (!target) {                   
+        target = o;
+    } else if (target == Py_None) {  
+        Py_DECREF(Py_None);
+        target = o;
+    } else {                         
+        if (!PyTuple_Check(target)) {
+            o2 = target;
+            target = PyTuple_New(1);
+            PyTuple_SetItem(target, 0, o2);
+        }
+        o3 = PyTuple_New(1);            
+        PyTuple_SetItem(o3, 0, o);      
+
+        o2 = target;
+        target = PySequence_Concat(o2, o3); 
+        Py_DECREF(o2);                      
+        Py_DECREF(o3);
+    }
+    return target;
+}
+
+
+    WXSHAPE_IMP_CALLBACKS(wxPyShapeEvtHandler,wxShapeEvtHandler);
+
+void wxPyShapeEvtHandler__setOORInfo(wxPyShapeEvtHandler *self,PyObject *_self){
+            self->SetClientObject(new wxPyOORClientData(_self));
+        }
+
+    WXSHAPE_IMP_CALLBACKS(wxPyShape, wxShape);
+
+PyObject *wxPyShape_GetChildren(wxPyShape *self){
+            wxList& list = self->GetChildren();
+            return wxPy_ConvertShapeList(&list);
+        }
+PyObject *wxPyShape_GetLines(wxPyShape *self){
+            wxList& list = self->GetLines();
+            return wxPy_ConvertShapeList(&list);
+        }
+PyObject *wxPyShape_GetRegions(wxPyShape *self){
+            wxList& list = self->GetRegions();
+            return wxPy_ConvertList(&list);
+        }
+void wxPyShape_ApplyAttachmentOrdering(wxPyShape *self,PyObject *linesToSort){
+            wxList* list = wxPy_wxListHelper(linesToSort, wxT("wxPyLineShape"));
+            self->ApplyAttachmentOrdering(*list);
+            delete list;
+        }
+
+// Using this macro can sometimes provoke an Internal Compiler Error in MSVC
+// 6, so instead I'l just expand it out by hand...
+//    WXSHAPE_IMP_CALLBACKS(wxPyRectangleShape, wxRectangleShape);
+
+    IMP_PYCALLBACK__                (wxPyRectangleShape, wxRectangleShape,  OnDelete);
+    IMP_PYCALLBACK__DC              (wxPyRectangleShape, wxRectangleShape,  OnDraw);
+    IMP_PYCALLBACK__DC              (wxPyRectangleShape, wxRectangleShape,  OnDrawContents);
+    IMP_PYCALLBACK__DCBOOL          (wxPyRectangleShape, wxRectangleShape,  OnDrawBranches);
+    IMP_PYCALLBACK__DC              (wxPyRectangleShape, wxRectangleShape,  OnMoveLinks);
+    IMP_PYCALLBACK__DC              (wxPyRectangleShape, wxRectangleShape,  OnErase);
+    IMP_PYCALLBACK__DC              (wxPyRectangleShape, wxRectangleShape,  OnEraseContents);
+    IMP_PYCALLBACK__DC              (wxPyRectangleShape, wxRectangleShape,  OnHighlight);
+    IMP_PYCALLBACK__2DBL2INT        (wxPyRectangleShape, wxRectangleShape,  OnLeftClick);
+    IMP_PYCALLBACK__2DBL2INT        (wxPyRectangleShape, wxRectangleShape,  OnLeftDoubleClick);
+    IMP_PYCALLBACK__2DBL2INT        (wxPyRectangleShape, wxRectangleShape,  OnRightClick);
+    IMP_PYCALLBACK__2DBL            (wxPyRectangleShape, wxRectangleShape,  OnSize);
+    IMP_PYCALLBACK_BOOL_DC4DBLBOOL  (wxPyRectangleShape, wxRectangleShape,  OnMovePre);
+    IMP_PYCALLBACK__DC4DBLBOOL      (wxPyRectangleShape, wxRectangleShape,  OnMovePost);
+    IMP_PYCALLBACK__BOOL2DBL2INT    (wxPyRectangleShape, wxRectangleShape,  OnDragLeft);
+    IMP_PYCALLBACK__2DBL2INT        (wxPyRectangleShape, wxRectangleShape,  OnBeginDragLeft);
+    IMP_PYCALLBACK__2DBL2INT        (wxPyRectangleShape, wxRectangleShape,  OnEndDragLeft);
+    IMP_PYCALLBACK__BOOL2DBL2INT    (wxPyRectangleShape, wxRectangleShape,  OnDragRight);
+    IMP_PYCALLBACK__2DBL2INT        (wxPyRectangleShape, wxRectangleShape,  OnBeginDragRight);
+    IMP_PYCALLBACK__2DBL2INT        (wxPyRectangleShape, wxRectangleShape,  OnEndDragRight);
+    IMP_PYCALLBACK__DC4DBL          (wxPyRectangleShape, wxRectangleShape,  OnDrawOutline);
+    IMP_PYCALLBACK__DC              (wxPyRectangleShape, wxRectangleShape,  OnDrawControlPoints);
+    IMP_PYCALLBACK__DC              (wxPyRectangleShape, wxRectangleShape,  OnEraseControlPoints);
+    IMP_PYCALLBACK__DCBOOL          (wxPyRectangleShape, wxRectangleShape,  OnMoveLink);
+    IMP_PYCALLBACK__WXCPBOOL2DBL2INT(wxPyRectangleShape, wxRectangleShape,  OnSizingDragLeft);
+    IMP_PYCALLBACK__WXCP2DBL2INT    (wxPyRectangleShape, wxRectangleShape,  OnSizingBeginDragLeft);
+    IMP_PYCALLBACK__WXCP2DBL2INT    (wxPyRectangleShape, wxRectangleShape,  OnSizingEndDragLeft);
+    IMP_PYCALLBACK__2DBL            (wxPyRectangleShape, wxRectangleShape,  OnBeginSize);
+    IMP_PYCALLBACK__2DBL            (wxPyRectangleShape, wxRectangleShape,  OnEndSize)
+        
+
+
+    WXSHAPE_IMP_CALLBACKS(wxPyControlPoint, wxControlPoint);
+
+
+    WXSHAPE_IMP_CALLBACKS(wxPyBitmapShape, wxBitmapShape);
+
+
+    WXSHAPE_IMP_CALLBACKS(wxPyDrawnShape, wxDrawnShape);
+
+wxOGLConstraint *new_wxOGLConstraint(int type,wxPyShape *constraining,PyObject *constrained){
+            wxList* list = wxPy_wxListHelper(constrained, wxT("wxPyShape"));
+            wxOGLConstraint* rv = new wxOGLConstraint(type, constraining, *list);
+            delete list;
+            return rv;
+        }
+
+    WXSHAPE_IMP_CALLBACKS(wxPyCompositeShape, wxCompositeShape);
+
+wxOGLConstraint *wxPyCompositeShape_AddConstrainedShapes(wxPyCompositeShape *self,int type,wxPyShape *constraining,PyObject *constrained){
+            wxList* list = wxPy_wxListHelper(constrained, wxT("wxPyShape"));
+            wxOGLConstraint* rv = self->AddConstraint(type, constraining, *list);
+            delete list;
+            return rv;
+        }
+PyObject *wxPyCompositeShape_GetConstraints(wxPyCompositeShape *self){
+            wxList& list = self->GetConstraints();
+            return wxPy_ConvertList(&list);
+        }
+PyObject *wxPyCompositeShape_GetDivisions(wxPyCompositeShape *self){
+            wxList& list = self->GetDivisions();
+            return wxPy_ConvertShapeList(&list);
+        }
+
+    WXSHAPE_IMP_CALLBACKS(wxPyDividedShape, wxDividedShape);
+
+
+    WXSHAPE_IMP_CALLBACKS(wxPyDivisionShape, wxDivisionShape);
+
+
+    WXSHAPE_IMP_CALLBACKS(wxPyEllipseShape, wxEllipseShape);
+
+
+    WXSHAPE_IMP_CALLBACKS(wxPyCircleShape, wxCircleShape);
+
+
+    WXSHAPE_IMP_CALLBACKS(wxPyLineShape, wxLineShape);
+
+void wxPyLineShape_AddArrowOrdered(wxPyLineShape *self,wxArrowHead *arrow,PyObject *referenceList,int end){
+            wxList* list = wxPy_wxListHelper(referenceList, wxT("wxArrowHead"));
+            self->AddArrowOrdered(arrow, *list, end);
+            delete list;
+        }
+PyObject *wxPyLineShape_GetLineControlPoints(wxPyLineShape *self){
+            wxList* list = self->GetLineControlPoints();
+            return wxPy_ConvertShapeList(list);
+        }
+
+    WXSHAPE_IMP_CALLBACKS(wxPyPolygonShape, wxPolygonShape);
+
+PyObject *wxPyPolygonShape_Create(wxPyPolygonShape *self,PyObject *points){
+            wxList* list = wxPy_wxRealPoint_ListHelper(points);
+            if (list) {
+                self->Create(list);
+                Py_INCREF(Py_None);
+                return Py_None;
+            }
+            else return NULL;
+        }
+PyObject *wxPyPolygonShape_GetPoints(wxPyPolygonShape *self){
+            wxList* list = self->GetPoints();
+            PyObject*   pyList;
+            PyObject*   pyObj;
+            wxObject*   wxObj;
+            wxNode*     node = list->GetFirst();
+
+            wxPyBeginBlockThreads();
+            pyList = PyList_New(0);
+            while (node) {
+                wxObj = node->GetData();
+                pyObj = wxPyConstructObject(wxObj, wxT("wxRealPoint"), 0);
+                PyList_Append(pyList, pyObj);
+                node = node->GetNext();
+            }
+            wxPyEndBlockThreads();
+            return pyList;
+        }
+
+    WXSHAPE_IMP_CALLBACKS(wxPyTextShape, wxTextShape);
+
+
+    // Put some wx default wxChar* values into wxStrings.
+    DECLARE_DEF_STRING(ShapeCanvasNameStr);
+
+PyObject *wxDiagram_GetShapeList(wxDiagram *self){
+            wxList* list = self->GetShapeList();
+            return wxPy_ConvertShapeList(list);
+        }
+
+    IMP_PYCALLBACK__2DBLINT(wxPyShapeCanvas, wxShapeCanvas, OnBeginDragLeft);
+    IMP_PYCALLBACK__2DBLINT(wxPyShapeCanvas, wxShapeCanvas, OnBeginDragRight);
+    IMP_PYCALLBACK__2DBLINT(wxPyShapeCanvas, wxShapeCanvas, OnEndDragLeft);
+    IMP_PYCALLBACK__2DBLINT(wxPyShapeCanvas, wxShapeCanvas, OnEndDragRight);
+    IMP_PYCALLBACK__BOOL2DBLINT(wxPyShapeCanvas, wxShapeCanvas, OnDragLeft);
+    IMP_PYCALLBACK__BOOL2DBLINT(wxPyShapeCanvas, wxShapeCanvas, OnDragRight);
+    IMP_PYCALLBACK__2DBLINT(wxPyShapeCanvas, wxShapeCanvas, OnLeftClick);
+    IMP_PYCALLBACK__2DBLINT(wxPyShapeCanvas, wxShapeCanvas, OnRightClick);
+
+
+//---------------------------------------------------------------------------
+
+// Convert from a Python list to a list of className objects.  This one will
+// work for any class for the VERY generic cases, but beyond that the helper
+// needs to know more about the type.
+wxList* wxPy_wxListHelper(PyObject* pyList, const wxChar* className) {
+    wxPyBeginBlockThreads();
+    if (!PyList_Check(pyList)) {
+        PyErr_SetString(PyExc_TypeError, "Expected a list object.");
+        wxPyEndBlockThreads();
+        return NULL;
+    }
+    int count = PyList_Size(pyList);
+    wxList* list = new wxList;
+    if (! list) {
+        PyErr_SetString(PyExc_MemoryError, "Unable to allocate wxList object");
+        wxPyEndBlockThreads();
+        return NULL;
+    }
+    for (int x=0; x<count; x++) {
+        PyObject* pyo = PyList_GetItem(pyList, x);
+        wxObject* wxo = NULL;
+
+        if ( !wxPyConvertSwigPtr(pyo, (void **)&wxo, className) ) {
+            wxString errmsg;
+            errmsg.Printf(wxT("Type error, expected list of %s objects"), className);
+            PyErr_SetString(PyExc_TypeError, errmsg.mb_str());
+            wxPyEndBlockThreads();
+            return NULL;
+        }
+        list->Append(wxo);
+    }
+    wxPyEndBlockThreads();
+    return list;
+}
+
+//---------------------------------------------------------------------------
+
+wxList* wxPy_wxRealPoint_ListHelper(PyObject* pyList) {
+    wxPyBeginBlockThreads();
+    if (!PyList_Check(pyList)) {
+        PyErr_SetString(PyExc_TypeError, "Expected a list object.");
+        wxPyEndBlockThreads();
+        return NULL;
+    }
+    int count = PyList_Size(pyList);
+    wxList* list = new wxList;
+    if (! list) {
+        PyErr_SetString(PyExc_MemoryError, "Unable to allocate wxList object");
+        wxPyEndBlockThreads();
+        return NULL;
+    }
+    for (int x=0; x<count; x++) {
+        PyObject* pyo = PyList_GetItem(pyList, x);
+
+        if (PyTuple_Check(pyo)) {
+            PyObject* o1 = PyNumber_Float(PyTuple_GetItem(pyo, 0));
+            PyObject* o2 = PyNumber_Float(PyTuple_GetItem(pyo, 1));
+
+            double val1 = (o1 ? PyFloat_AsDouble(o1) : 0.0);
+            double val2 = (o2 ? PyFloat_AsDouble(o2) : 0.0);
+
+            list->Append((wxObject*) new wxRealPoint(val1, val2));
+
+        } else {
+            wxRealPoint* wxo = NULL;
+            if (wxPyConvertSwigPtr(pyo, (void **)&wxo, wxT("wxRealPoint"))) {
+                PyErr_SetString(PyExc_TypeError, "Type error, expected list of wxRealPoint objects or 2-tuples");
+                wxPyEndBlockThreads();
+                return NULL;
+            }
+            list->Append((wxObject*) new wxRealPoint(*wxo));
+        }
+    }
+    wxPyEndBlockThreads();
+    return list;
+}
+
+//---------------------------------------------------------------------------
+
+PyObject*  wxPyMake_wxShapeEvtHandler(wxShapeEvtHandler* source) {
+    PyObject* target = NULL;
+
+    if (source && wxIsKindOf(source, wxShapeEvtHandler)) {
+        // If it's derived from wxShapeEvtHandler then there may
+        // already be a pointer to a Python object that we can use
+        // in the OOR data.
+        wxShapeEvtHandler* seh = (wxShapeEvtHandler*)source;
+        wxPyOORClientData* data = (wxPyOORClientData*)seh->GetClientObject();
+        if (data) {
+            target = data->m_obj;
+            Py_INCREF(target);
+        }
+    }
+    if (! target) {
+        target = wxPyMake_wxObject2(source, FALSE);
+        if (target != Py_None)
+            ((wxShapeEvtHandler*)source)->SetClientObject(new wxPyOORClientData(target));
+    }
+    return target;
+}
+
+//---------------------------------------------------------------------------
+
+PyObject* wxPy_ConvertShapeList(wxListBase* listbase) {
+    wxList*     list = (wxList*)listbase;
+    PyObject*   pyList;
+    PyObject*   pyObj;
+    wxObject*   wxObj;
+    wxNode*     node = list->GetFirst();
+
+    wxPyBeginBlockThreads();
+    pyList = PyList_New(0);
+    while (node) {
+        wxObj = node->GetData();
+        pyObj = wxPyMake_wxShapeEvtHandler((wxShapeEvtHandler*)wxObj);
+        PyList_Append(pyList, pyObj);
+        node = node->GetNext();
+    }
+    wxPyEndBlockThreads();
+    return pyList;
+}
+
+
+//---------------------------------------------------------------------------
+
+IMPLEMENT_DYNAMIC_CLASS(wxPyShapeCanvas, wxShapeCanvas);
+IMPLEMENT_DYNAMIC_CLASS(wxPyShapeEvtHandler, wxShapeEvtHandler);
+IMPLEMENT_ABSTRACT_CLASS(wxPyShape, wxShape);
+IMPLEMENT_DYNAMIC_CLASS(wxPyRectangleShape, wxRectangleShape);
+IMPLEMENT_DYNAMIC_CLASS(wxPyControlPoint, wxControlPoint);
+IMPLEMENT_DYNAMIC_CLASS(wxPyBitmapShape, wxBitmapShape);
+IMPLEMENT_DYNAMIC_CLASS(wxPyDrawnShape, wxDrawnShape);
+IMPLEMENT_DYNAMIC_CLASS(wxPyCompositeShape, wxCompositeShape);
+IMPLEMENT_DYNAMIC_CLASS(wxPyDividedShape, wxDividedShape);
+IMPLEMENT_DYNAMIC_CLASS(wxPyDivisionShape, wxDivisionShape);
+IMPLEMENT_DYNAMIC_CLASS(wxPyEllipseShape, wxEllipseShape);
+IMPLEMENT_DYNAMIC_CLASS(wxPyCircleShape, wxCircleShape);
+IMPLEMENT_DYNAMIC_CLASS(wxPyLineShape, wxLineShape);
+IMPLEMENT_DYNAMIC_CLASS(wxPyPolygonShape, wxPolygonShape);
+IMPLEMENT_DYNAMIC_CLASS(wxPyTextShape, wxTextShape);
+
+//---------------------------------------------------------------------------
+
+// extern "C" SWIGEXPORT(void) initoglbasicc();
+// extern "C" SWIGEXPORT(void) initoglshapesc();
+// extern "C" SWIGEXPORT(void) initoglshapes2c();
+// extern "C" SWIGEXPORT(void) initoglcanvasc();
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+static PyObject *_wrap_new_ShapeRegion(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxShapeRegion *result;
+    char *kwnames[] = {
+        NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)":new_ShapeRegion",kwnames)) goto fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxShapeRegion *)new wxShapeRegion();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxShapeRegion, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ShapeRegion_SetText(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxShapeRegion *arg1 = (wxShapeRegion *) 0 ;
+    wxString *arg2 = 0 ;
+    bool temp2 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "s", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:ShapeRegion_SetText",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxShapeRegion,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = wxString_in_helper(obj1);
+        if (arg2 == NULL) SWIG_fail;
+        temp2 = True;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetText((wxString const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_ShapeRegion_SetFont(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxShapeRegion *arg1 = (wxShapeRegion *) 0 ;
+    wxFont *arg2 = (wxFont *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "f", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:ShapeRegion_SetFont",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxShapeRegion,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        wxFont* temp;
+        if (obj1) {
+            if (obj1 == Py_None) {
+                temp = NULL; 
+            }
+            else if (! wxPyConvertSwigPtr(obj1, (void **) &temp, wxT("wxFont"))) {
+                PyErr_SetString(PyExc_TypeError, "Type error, expected wxFont.");
+                return NULL;
+            }
+        }
+        if (temp)
+        arg2 = wxTheFontList->FindOrCreateFont(temp->GetPointSize(),
+        temp->GetFamily(),
+        temp->GetStyle(),
+        temp->GetWeight(),
+        temp->GetUnderlined(),
+        temp->GetFaceName(),
+        temp->GetEncoding());
+        else
+        arg2 = NULL;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetFont(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ShapeRegion_SetMinSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxShapeRegion *arg1 = (wxShapeRegion *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:ShapeRegion_SetMinSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxShapeRegion,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetMinSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ShapeRegion_SetSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxShapeRegion *arg1 = (wxShapeRegion *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:ShapeRegion_SetSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxShapeRegion,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ShapeRegion_SetPosition(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxShapeRegion *arg1 = (wxShapeRegion *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:ShapeRegion_SetPosition",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxShapeRegion,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetPosition(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ShapeRegion_SetProportions(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxShapeRegion *arg1 = (wxShapeRegion *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:ShapeRegion_SetProportions",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxShapeRegion,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetProportions(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ShapeRegion_SetFormatMode(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxShapeRegion *arg1 = (wxShapeRegion *) 0 ;
+    int arg2 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "mode", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:ShapeRegion_SetFormatMode",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxShapeRegion,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetFormatMode(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ShapeRegion_SetName(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxShapeRegion *arg1 = (wxShapeRegion *) 0 ;
+    wxString *arg2 = 0 ;
+    bool temp2 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "s", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:ShapeRegion_SetName",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxShapeRegion,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = wxString_in_helper(obj1);
+        if (arg2 == NULL) SWIG_fail;
+        temp2 = True;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetName((wxString const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_ShapeRegion_SetColour(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxShapeRegion *arg1 = (wxShapeRegion *) 0 ;
+    wxString *arg2 = 0 ;
+    bool temp2 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "col", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:ShapeRegion_SetColour",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxShapeRegion,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = wxString_in_helper(obj1);
+        if (arg2 == NULL) SWIG_fail;
+        temp2 = True;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetColour((wxString const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_ShapeRegion_GetText(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxShapeRegion *arg1 = (wxShapeRegion *) 0 ;
+    wxString result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:ShapeRegion_GetText",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxShapeRegion,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (arg1)->GetText();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+#if wxUSE_UNICODE
+        resultobj = PyUnicode_FromWideChar((&result)->c_str(), (&result)->Len());
+#else
+        resultobj = PyString_FromStringAndSize((&result)->c_str(), (&result)->Len());
+#endif
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ShapeRegion_GetFont(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxShapeRegion *arg1 = (wxShapeRegion *) 0 ;
+    wxFont *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:ShapeRegion_GetFont",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxShapeRegion,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxFont *)(arg1)->GetFont();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxFont, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ShapeRegion_GetMinSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxShapeRegion *arg1 = (wxShapeRegion *) 0 ;
+    double *arg2 = (double *) 0 ;
+    double *arg3 = (double *) 0 ;
+    double temp2 ;
+    double temp3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    arg2 = &temp2;
+    arg3 = &temp3;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:ShapeRegion_GetMinSize",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxShapeRegion,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->GetMinSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        PyObject *o = PyFloat_FromDouble((double) (*arg2));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    {
+        PyObject *o = PyFloat_FromDouble((double) (*arg3));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ShapeRegion_GetProportion(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxShapeRegion *arg1 = (wxShapeRegion *) 0 ;
+    double *arg2 = (double *) 0 ;
+    double *arg3 = (double *) 0 ;
+    double temp2 ;
+    double temp3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    arg2 = &temp2;
+    arg3 = &temp3;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:ShapeRegion_GetProportion",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxShapeRegion,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->GetProportion(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        PyObject *o = PyFloat_FromDouble((double) (*arg2));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    {
+        PyObject *o = PyFloat_FromDouble((double) (*arg3));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ShapeRegion_GetSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxShapeRegion *arg1 = (wxShapeRegion *) 0 ;
+    double *arg2 = (double *) 0 ;
+    double *arg3 = (double *) 0 ;
+    double temp2 ;
+    double temp3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    arg2 = &temp2;
+    arg3 = &temp3;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:ShapeRegion_GetSize",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxShapeRegion,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->GetSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        PyObject *o = PyFloat_FromDouble((double) (*arg2));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    {
+        PyObject *o = PyFloat_FromDouble((double) (*arg3));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ShapeRegion_GetPosition(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxShapeRegion *arg1 = (wxShapeRegion *) 0 ;
+    double *arg2 = (double *) 0 ;
+    double *arg3 = (double *) 0 ;
+    double temp2 ;
+    double temp3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    arg2 = &temp2;
+    arg3 = &temp3;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:ShapeRegion_GetPosition",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxShapeRegion,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->GetPosition(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        PyObject *o = PyFloat_FromDouble((double) (*arg2));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    {
+        PyObject *o = PyFloat_FromDouble((double) (*arg3));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ShapeRegion_GetFormatMode(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxShapeRegion *arg1 = (wxShapeRegion *) 0 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:ShapeRegion_GetFormatMode",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxShapeRegion,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)(arg1)->GetFormatMode();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ShapeRegion_GetName(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxShapeRegion *arg1 = (wxShapeRegion *) 0 ;
+    wxString result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:ShapeRegion_GetName",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxShapeRegion,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (arg1)->GetName();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+#if wxUSE_UNICODE
+        resultobj = PyUnicode_FromWideChar((&result)->c_str(), (&result)->Len());
+#else
+        resultobj = PyString_FromStringAndSize((&result)->c_str(), (&result)->Len());
+#endif
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ShapeRegion_GetColour(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxShapeRegion *arg1 = (wxShapeRegion *) 0 ;
+    wxString result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:ShapeRegion_GetColour",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxShapeRegion,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (arg1)->GetColour();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+#if wxUSE_UNICODE
+        resultobj = PyUnicode_FromWideChar((&result)->c_str(), (&result)->Len());
+#else
+        resultobj = PyString_FromStringAndSize((&result)->c_str(), (&result)->Len());
+#endif
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ShapeRegion_GetActualColourObject(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxShapeRegion *arg1 = (wxShapeRegion *) 0 ;
+    wxColour *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:ShapeRegion_GetActualColourObject",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxShapeRegion,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxColour *)(arg1)->GetActualColourObject();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxColour, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ShapeRegion_GetFormattedText(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxShapeRegion *arg1 = (wxShapeRegion *) 0 ;
+    wxList *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:ShapeRegion_GetFormattedText",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxShapeRegion,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        {
+            wxList &_result_ref = (arg1)->GetFormattedText();
+            result = (wxList *) &_result_ref;
+        }
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxList, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ShapeRegion_GetPenColour(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxShapeRegion *arg1 = (wxShapeRegion *) 0 ;
+    wxString result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:ShapeRegion_GetPenColour",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxShapeRegion,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (arg1)->GetPenColour();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+#if wxUSE_UNICODE
+        resultobj = PyUnicode_FromWideChar((&result)->c_str(), (&result)->Len());
+#else
+        resultobj = PyString_FromStringAndSize((&result)->c_str(), (&result)->Len());
+#endif
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ShapeRegion_GetPenStyle(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxShapeRegion *arg1 = (wxShapeRegion *) 0 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:ShapeRegion_GetPenStyle",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxShapeRegion,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)(arg1)->GetPenStyle();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ShapeRegion_SetPenStyle(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxShapeRegion *arg1 = (wxShapeRegion *) 0 ;
+    int arg2 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "style", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:ShapeRegion_SetPenStyle",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxShapeRegion,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetPenStyle(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ShapeRegion_SetPenColour(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxShapeRegion *arg1 = (wxShapeRegion *) 0 ;
+    wxString *arg2 = 0 ;
+    bool temp2 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "col", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:ShapeRegion_SetPenColour",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxShapeRegion,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = wxString_in_helper(obj1);
+        if (arg2 == NULL) SWIG_fail;
+        temp2 = True;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetPenColour((wxString const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_ShapeRegion_GetActualPen(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxShapeRegion *arg1 = (wxShapeRegion *) 0 ;
+    wxPen *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:ShapeRegion_GetActualPen",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxShapeRegion,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPen *)(arg1)->GetActualPen();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxPen, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ShapeRegion_GetWidth(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxShapeRegion *arg1 = (wxShapeRegion *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:ShapeRegion_GetWidth",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxShapeRegion,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (double)(arg1)->GetWidth();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyFloat_FromDouble(result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ShapeRegion_GetHeight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxShapeRegion *arg1 = (wxShapeRegion *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:ShapeRegion_GetHeight",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxShapeRegion,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (double)(arg1)->GetHeight();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyFloat_FromDouble(result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ShapeRegion_ClearText(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxShapeRegion *arg1 = (wxShapeRegion *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:ShapeRegion_ClearText",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxShapeRegion,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->ClearText();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * ShapeRegion_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_wxShapeRegion, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_PyShapeEvtHandler(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) NULL ;
+    wxPyShape *arg2 = (wxPyShape *) NULL ;
+    wxPyShapeEvtHandler *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "prev",(char *) "shape", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"|OO:new_PyShapeEvtHandler",kwnames,&obj0,&obj1)) goto fail;
+    if (obj0) {
+        if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    }
+    if (obj1) {
+        if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyShapeEvtHandler *)new wxPyShapeEvtHandler(arg1,arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxShapeEvtHandler(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler__setCallbackInfo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    PyObject *arg2 = (PyObject *) 0 ;
+    PyObject *arg3 = (PyObject *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "self",(char *) "_class", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:PyShapeEvtHandler__setCallbackInfo",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = obj1;
+    arg3 = obj2;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->_setCallbackInfo(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler__setOORInfo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    PyObject *arg2 = (PyObject *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "_self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShapeEvtHandler__setOORInfo",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = obj1;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        wxPyShapeEvtHandler__setOORInfo(arg1,arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_SetShape(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    wxPyShape *arg2 = (wxPyShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "sh", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShapeEvtHandler_SetShape",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetShape(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_GetShape(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    wxPyShape *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShapeEvtHandler_GetShape",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyShape *)(arg1)->GetShape();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxShapeEvtHandler(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_SetPreviousHandler(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    wxPyShapeEvtHandler *arg2 = (wxPyShapeEvtHandler *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "handler", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShapeEvtHandler_SetPreviousHandler",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetPreviousHandler(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_GetPreviousHandler(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    wxPyShapeEvtHandler *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShapeEvtHandler_GetPreviousHandler",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyShapeEvtHandler *)(arg1)->GetPreviousHandler();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxShapeEvtHandler(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_CreateNewCopy(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    wxPyShapeEvtHandler *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShapeEvtHandler_CreateNewCopy",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyShapeEvtHandler *)(arg1)->CreateNewCopy();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxShapeEvtHandler(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_base_OnDelete(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShapeEvtHandler_base_OnDelete",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDelete();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_base_OnDraw(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShapeEvtHandler_base_OnDraw",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDraw(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_base_OnDrawContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShapeEvtHandler_base_OnDrawContents",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawContents(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_base_OnDrawBranches(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    wxDC *arg2 = 0 ;
+    bool arg3 = (bool) False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "erase", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyShapeEvtHandler_base_OnDrawBranches",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawBranches(*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_base_OnMoveLinks(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShapeEvtHandler_base_OnMoveLinks",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMoveLinks(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_base_OnErase(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShapeEvtHandler_base_OnErase",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnErase(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_base_OnEraseContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShapeEvtHandler_base_OnEraseContents",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEraseContents(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_base_OnHighlight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShapeEvtHandler_base_OnHighlight",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnHighlight(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_base_OnLeftClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyShapeEvtHandler_base_OnLeftClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnLeftClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_base_OnLeftDoubleClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyShapeEvtHandler_base_OnLeftDoubleClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnLeftDoubleClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_base_OnRightClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyShapeEvtHandler_base_OnRightClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnRightClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_base_OnSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyShapeEvtHandler_base_OnSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_base_OnMovePre(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    bool arg7 = (bool) True ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "old_x",(char *) "old_y",(char *) "display", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd|O:PyShapeEvtHandler_base_OnMovePre",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6,&obj6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj6) {
+        arg7 = PyInt_AsLong(obj6) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->base_OnMovePre(*arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_base_OnMovePost(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    bool arg7 = (bool) True ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "old_x",(char *) "old_y",(char *) "display", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd|O:PyShapeEvtHandler_base_OnMovePost",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6,&obj6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj6) {
+        arg7 = PyInt_AsLong(obj6) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMovePost(*arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_base_OnDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    bool arg2 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyShapeEvtHandler_base_OnDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_base_OnBeginDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyShapeEvtHandler_base_OnBeginDragLeft",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginDragLeft(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_base_OnEndDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyShapeEvtHandler_base_OnEndDragLeft",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndDragLeft(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_base_OnDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    bool arg2 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyShapeEvtHandler_base_OnDragRight",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDragRight(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_base_OnBeginDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyShapeEvtHandler_base_OnBeginDragRight",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginDragRight(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_base_OnEndDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyShapeEvtHandler_base_OnEndDragRight",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndDragRight(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_base_OnDrawOutline(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd:PyShapeEvtHandler_base_OnDrawOutline",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawOutline(*arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_base_OnDrawControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShapeEvtHandler_base_OnDrawControlPoints",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawControlPoints(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_base_OnEraseControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShapeEvtHandler_base_OnEraseControlPoints",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEraseControlPoints(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_base_OnMoveLink(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    wxDC *arg2 = 0 ;
+    bool arg3 = (bool) True ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "moveControlPoints", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyShapeEvtHandler_base_OnMoveLink",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMoveLink(*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_base_OnSizingDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    bool arg3 ;
+    double arg4 ;
+    double arg5 ;
+    int arg6 = (int) 0 ;
+    int arg7 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOOdd|ii:PyShapeEvtHandler_base_OnSizingDragLeft",kwnames,&obj0,&obj1,&obj2,&arg4,&arg5,&arg6,&arg7)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg3 = PyInt_AsLong(obj2) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingDragLeft(arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_base_OnSizingBeginDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyShapeEvtHandler_base_OnSizingBeginDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingBeginDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_base_OnSizingEndDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyShapeEvtHandler_base_OnSizingEndDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingEndDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_base_OnBeginSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyShapeEvtHandler_base_OnBeginSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeEvtHandler_base_OnEndSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeEvtHandler *arg1 = (wxPyShapeEvtHandler *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyShapeEvtHandler_base_OnEndSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * PyShapeEvtHandler_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_wxPyShapeEvtHandler, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_PyShape(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeCanvas *arg1 = (wxPyShapeCanvas *) NULL ;
+    wxPyShape *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "can", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"|O:new_PyShape",kwnames,&obj0)) goto fail;
+    if (obj0) {
+        if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeCanvas,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyShape *)new wxPyShape(arg1);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxShapeEvtHandler(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape__setCallbackInfo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    PyObject *arg2 = (PyObject *) 0 ;
+    PyObject *arg3 = (PyObject *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "self",(char *) "_class", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:PyShape__setCallbackInfo",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = obj1;
+    arg3 = obj2;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->_setCallbackInfo(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetBoundingBoxMax(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    double *arg2 = (double *) 0 ;
+    double *arg3 = (double *) 0 ;
+    double temp2 ;
+    double temp3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    arg2 = &temp2;
+    arg3 = &temp3;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetBoundingBoxMax",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->GetBoundingBoxMax(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        PyObject *o = PyFloat_FromDouble((double) (*arg2));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    {
+        PyObject *o = PyFloat_FromDouble((double) (*arg3));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetBoundingBoxMin(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    double *arg2 = (double *) 0 ;
+    double *arg3 = (double *) 0 ;
+    double temp2 ;
+    double temp3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    arg2 = &temp2;
+    arg3 = &temp3;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetBoundingBoxMin",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->GetBoundingBoxMin(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        PyObject *o = PyFloat_FromDouble((double) (*arg2));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    {
+        PyObject *o = PyFloat_FromDouble((double) (*arg3));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetPerimeterPoint(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double *arg6 = (double *) 0 ;
+    double *arg7 = (double *) 0 ;
+    bool result;
+    double temp6 ;
+    double temp7 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x1",(char *) "y1",(char *) "x2",(char *) "y2", NULL 
+    };
+    
+    arg6 = &temp6;
+    arg7 = &temp7;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odddd:PyShape_GetPerimeterPoint",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->GetPerimeterPoint(arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    {
+        PyObject *o = PyFloat_FromDouble((double) (*arg6));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    {
+        PyObject *o = PyFloat_FromDouble((double) (*arg7));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetCanvas(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxPyShapeCanvas *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetCanvas",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyShapeCanvas *)(arg1)->GetCanvas();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxObject(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_SetCanvas(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxPyShapeCanvas *arg2 = (wxPyShapeCanvas *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "the_canvas", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_SetCanvas",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyShapeCanvas,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetCanvas(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_AddToCanvas(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxPyShapeCanvas *arg2 = (wxPyShapeCanvas *) 0 ;
+    wxPyShape *arg3 = (wxPyShape *) NULL ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "the_canvas",(char *) "addAfter", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyShape_AddToCanvas",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyShapeCanvas,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (obj2) {
+        if ((SWIG_ConvertPtr(obj2,(void **) &arg3, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->AddToCanvas(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_InsertInCanvas(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxPyShapeCanvas *arg2 = (wxPyShapeCanvas *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "the_canvas", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_InsertInCanvas",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyShapeCanvas,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->InsertInCanvas(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_RemoveFromCanvas(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxPyShapeCanvas *arg2 = (wxPyShapeCanvas *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "the_canvas", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_RemoveFromCanvas",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyShapeCanvas,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->RemoveFromCanvas(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetX(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetX",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (double)(arg1)->GetX();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyFloat_FromDouble(result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetY(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetY",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (double)(arg1)->GetY();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyFloat_FromDouble(result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_SetX(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    double arg2 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Od:PyShape_SetX",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetX(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_SetY(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    double arg2 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "y", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Od:PyShape_SetY",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetY(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetParent(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxPyShape *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetParent",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyShape *)(arg1)->GetParent();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxShapeEvtHandler(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_SetParent(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxPyShape *arg2 = (wxPyShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "p", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_SetParent",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetParent(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetTopAncestor(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxPyShape *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetTopAncestor",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyShape *)(arg1)->GetTopAncestor();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxShapeEvtHandler(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetChildren(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    PyObject *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetChildren",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (PyObject *)wxPyShape_GetChildren(arg1);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = result;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_Unlink(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_Unlink",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Unlink();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_SetDrawHandles(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    bool arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "drawH", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_SetDrawHandles",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetDrawHandles(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetDrawHandles(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetDrawHandles",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->GetDrawHandles();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_MakeControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_MakeControlPoints",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->MakeControlPoints();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_DeleteControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxDC *arg2 = (wxDC *) NULL ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O|O:PyShape_DeleteControlPoints",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (obj1) {
+        if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DeleteControlPoints(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_ResetControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_ResetControlPoints",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->ResetControlPoints();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetEventHandler(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxPyShapeEvtHandler *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetEventHandler",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyShapeEvtHandler *)(arg1)->GetEventHandler();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxShapeEvtHandler(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_SetEventHandler(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxPyShapeEvtHandler *arg2 = (wxPyShapeEvtHandler *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "handler", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_SetEventHandler",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyShapeEvtHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetEventHandler(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_MakeMandatoryControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_MakeMandatoryControlPoints",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->MakeMandatoryControlPoints();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_ResetMandatoryControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_ResetMandatoryControlPoints",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->ResetMandatoryControlPoints();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_Recompute(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_Recompute",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->Recompute();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_CalculateSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_CalculateSize",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->CalculateSize();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_Select(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    bool arg2 = (bool) True ;
+    wxDC *arg3 = (wxDC *) NULL ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "select",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O|OO:PyShape_Select",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (obj1) {
+        arg2 = PyInt_AsLong(obj1) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    if (obj2) {
+        if ((SWIG_ConvertPtr(obj2,(void **) &arg3, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Select(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_SetHighlight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    bool arg2 = (bool) True ;
+    bool arg3 = (bool) False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "hi",(char *) "recurse", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O|OO:PyShape_SetHighlight",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (obj1) {
+        arg2 = PyInt_AsLong(obj1) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetHighlight(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_IsHighlighted(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_IsHighlighted",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->IsHighlighted();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_Selected(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_Selected",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->Selected();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_AncestorSelected(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_AncestorSelected",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->AncestorSelected();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_SetSensitivityFilter(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    int arg2 = (int) OP_ALL ;
+    bool arg3 = (bool) False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "sens",(char *) "recursive", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O|iO:PyShape_SetSensitivityFilter",kwnames,&obj0,&arg2,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetSensitivityFilter(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetSensitivityFilter(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetSensitivityFilter",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)(arg1)->GetSensitivityFilter();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_SetDraggable(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    bool arg2 ;
+    bool arg3 = (bool) False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "drag",(char *) "recursive", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyShape_SetDraggable",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetDraggable(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_SetFixedSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    bool arg2 ;
+    bool arg3 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:PyShape_SetFixedSize",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    arg3 = PyInt_AsLong(obj2) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetFixedSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetFixedSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    bool *arg2 = (bool *) 0 ;
+    bool *arg3 = (bool *) 0 ;
+    bool temp2 ;
+    bool temp3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    arg2 = &temp2;
+    arg3 = &temp3;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetFixedSize",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->GetFixedSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        PyObject *o = PyInt_FromLong((long) (*arg2));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    {
+        PyObject *o = PyInt_FromLong((long) (*arg3));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetFixedWidth(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetFixedWidth",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->GetFixedWidth();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetFixedHeight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetFixedHeight",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->GetFixedHeight();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_SetSpaceAttachments(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    bool arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "sp", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_SetSpaceAttachments",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetSpaceAttachments(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetSpaceAttachments(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetSpaceAttachments",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->GetSpaceAttachments();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_SetShadowMode(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    int arg2 ;
+    bool arg3 = (bool) False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "mode",(char *) "redraw", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi|O:PyShape_SetShadowMode",kwnames,&obj0,&arg2,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetShadowMode(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetShadowMode(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetShadowMode",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)(arg1)->GetShadowMode();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_HitTest(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int *arg4 = (int *) 0 ;
+    double *arg5 = (double *) 0 ;
+    bool result;
+    int temp4 ;
+    double temp5 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y", NULL 
+    };
+    
+    arg4 = &temp4;
+    arg5 = &temp5;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyShape_HitTest",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->HitTest(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    {
+        PyObject *o = PyInt_FromLong((long) (*arg4));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    {
+        PyObject *o = PyFloat_FromDouble((double) (*arg5));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_SetCentreResize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    bool arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "cr", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_SetCentreResize",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetCentreResize(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetCentreResize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetCentreResize",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->GetCentreResize();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_SetMaintainAspectRatio(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    bool arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "ar", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_SetMaintainAspectRatio",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetMaintainAspectRatio(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetMaintainAspectRatio(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetMaintainAspectRatio",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->GetMaintainAspectRatio();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetLines(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    PyObject *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetLines",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (PyObject *)wxPyShape_GetLines(arg1);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = result;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_SetDisableLabel(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    bool arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "flag", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_SetDisableLabel",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetDisableLabel(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetDisableLabel(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetDisableLabel",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->GetDisableLabel();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_SetAttachmentMode(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    int arg2 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "mode", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:PyShape_SetAttachmentMode",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetAttachmentMode(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetAttachmentMode(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetAttachmentMode",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)(arg1)->GetAttachmentMode();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_SetId(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    long arg2 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "i", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Ol:PyShape_SetId",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetId(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetId(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    long result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetId",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (long)(arg1)->GetId();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_SetPen(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxPen *arg2 = (wxPen *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pen", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_SetPen",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        wxPen* temp;
+        if (obj1) {
+            if (obj1 == Py_None) {
+                temp = NULL; 
+            }
+            else if (! wxPyConvertSwigPtr(obj1, (void **) &temp, wxT("wxPen"))) {
+                PyErr_SetString(PyExc_TypeError, "Type error, expected wxPen.");
+                return NULL;
+            }
+        }
+        if (temp)
+        arg2 = wxThePenList->FindOrCreatePen(temp->GetColour(),
+        temp->GetWidth(),
+        temp->GetStyle());
+        else
+        arg2 = NULL;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetPen(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_SetBrush(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxBrush *arg2 = (wxBrush *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "brush", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_SetBrush",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        wxBrush* temp;
+        if (obj1) {
+            if (obj1 == Py_None) {
+                temp = NULL; 
+            }
+            else if (! wxPyConvertSwigPtr(obj1, (void **) &temp, wxT("wxBrush"))) {
+                PyErr_SetString(PyExc_TypeError, "Type error, expected wxBrush.");
+                return NULL;
+            }
+        }
+        if (temp)
+        arg2 = wxTheBrushList->FindOrCreateBrush(temp->GetColour(), temp->GetStyle());
+        else
+        arg2 = NULL;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetBrush(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_Show(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    bool arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "show", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_Show",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Show(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_IsShown(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_IsShown",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->IsShown();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_Move(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    bool arg5 = (bool) True ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj4 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x1",(char *) "y1",(char *) "display", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|O:PyShape_Move",kwnames,&obj0,&obj1,&arg3,&arg4,&obj4)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj4) {
+        arg5 = PyInt_AsLong(obj4) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Move(*arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_Erase(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_Erase",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Erase(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_EraseContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_EraseContents",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->EraseContents(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_Draw(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_Draw",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Draw(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_Flash(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_Flash",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Flash();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_MoveLinks(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_MoveLinks",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->MoveLinks(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_DrawContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_DrawContents",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DrawContents(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_SetSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    bool arg4 = (bool) True ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj3 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "recursive", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|O:PyShape_SetSize",kwnames,&obj0,&arg2,&arg3,&obj3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (obj3) {
+        arg4 = PyInt_AsLong(obj3) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetSize(arg2,arg3,arg4);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_SetAttachmentSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyShape_SetAttachmentSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetAttachmentSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_Attach(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxPyShapeCanvas *arg2 = (wxPyShapeCanvas *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "can", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_Attach",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyShapeCanvas,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Attach(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_Detach(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_Detach",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Detach();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_Constrain(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_Constrain",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->Constrain();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_AddLine(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxPyLineShape *arg2 = (wxPyLineShape *) 0 ;
+    wxPyShape *arg3 = (wxPyShape *) 0 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) -1 ;
+    int arg7 = (int) -1 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "line",(char *) "other",(char *) "attachFrom",(char *) "attachTo",(char *) "positionFrom",(char *) "positionTo", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO|iiii:PyShape_AddLine",kwnames,&obj0,&obj1,&obj2,&arg4,&arg5,&arg6,&arg7)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj2,(void **) &arg3, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->AddLine(arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetLinePosition(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxPyLineShape *arg2 = (wxPyLineShape *) 0 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "line", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_GetLinePosition",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)(arg1)->GetLinePosition(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_AddText(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxString *arg2 = 0 ;
+    bool temp2 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "string", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_AddText",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = wxString_in_helper(obj1);
+        if (arg2 == NULL) SWIG_fail;
+        temp2 = True;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->AddText((wxString const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetPen(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxPen *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetPen",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPen *)(arg1)->GetPen();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxPen, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetBrush(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxBrush *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetBrush",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxBrush *)(arg1)->GetBrush();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxBrush, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_SetDefaultRegionSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_SetDefaultRegionSize",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetDefaultRegionSize();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_FormatText(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    wxString *arg3 = 0 ;
+    int arg4 = (int) 0 ;
+    bool temp3 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "s",(char *) "regionId", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO|i:PyShape_FormatText",kwnames,&obj0,&obj1,&obj2,&arg4)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        arg3 = wxString_in_helper(obj2);
+        if (arg3 == NULL) SWIG_fail;
+        temp3 = True;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->FormatText(*arg2,(wxString const &)*arg3,arg4);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        if (temp3)
+        delete arg3;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp3)
+        delete arg3;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_SetFormatMode(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    int arg2 ;
+    int arg3 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "mode",(char *) "regionId", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi|i:PyShape_SetFormatMode",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetFormatMode(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetFormatMode(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    int arg2 = (int) 0 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "regionId", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O|i:PyShape_GetFormatMode",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)(arg1)->GetFormatMode(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_SetFont(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxFont *arg2 = (wxFont *) 0 ;
+    int arg3 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "font",(char *) "regionId", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|i:PyShape_SetFont",kwnames,&obj0,&obj1,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        wxFont* temp;
+        if (obj1) {
+            if (obj1 == Py_None) {
+                temp = NULL; 
+            }
+            else if (! wxPyConvertSwigPtr(obj1, (void **) &temp, wxT("wxFont"))) {
+                PyErr_SetString(PyExc_TypeError, "Type error, expected wxFont.");
+                return NULL;
+            }
+        }
+        if (temp)
+        arg2 = wxTheFontList->FindOrCreateFont(temp->GetPointSize(),
+        temp->GetFamily(),
+        temp->GetStyle(),
+        temp->GetWeight(),
+        temp->GetUnderlined(),
+        temp->GetFaceName(),
+        temp->GetEncoding());
+        else
+        arg2 = NULL;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetFont(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetFont(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    int arg2 = (int) 0 ;
+    wxFont *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "regionId", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O|i:PyShape_GetFont",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxFont *)(arg1)->GetFont(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxFont, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_SetTextColour(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxString *arg2 = 0 ;
+    int arg3 = (int) 0 ;
+    bool temp2 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "colour",(char *) "regionId", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|i:PyShape_SetTextColour",kwnames,&obj0,&obj1,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = wxString_in_helper(obj1);
+        if (arg2 == NULL) SWIG_fail;
+        temp2 = True;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetTextColour((wxString const &)*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetTextColour(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    int arg2 = (int) 0 ;
+    wxString result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "regionId", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O|i:PyShape_GetTextColour",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (arg1)->GetTextColour(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+#if wxUSE_UNICODE
+        resultobj = PyUnicode_FromWideChar((&result)->c_str(), (&result)->Len());
+#else
+        resultobj = PyString_FromStringAndSize((&result)->c_str(), (&result)->Len());
+#endif
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetNumberOfTextRegions(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetNumberOfTextRegions",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)(arg1)->GetNumberOfTextRegions();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_SetRegionName(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxString *arg2 = 0 ;
+    int arg3 = (int) 0 ;
+    bool temp2 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "name",(char *) "regionId", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|i:PyShape_SetRegionName",kwnames,&obj0,&obj1,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = wxString_in_helper(obj1);
+        if (arg2 == NULL) SWIG_fail;
+        temp2 = True;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetRegionName((wxString const &)*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetRegionName(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    int arg2 ;
+    wxString result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "regionId", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:PyShape_GetRegionName",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (arg1)->GetRegionName(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+#if wxUSE_UNICODE
+        resultobj = PyUnicode_FromWideChar((&result)->c_str(), (&result)->Len());
+#else
+        resultobj = PyString_FromStringAndSize((&result)->c_str(), (&result)->Len());
+#endif
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetRegionId(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxString *arg2 = 0 ;
+    int result;
+    bool temp2 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "name", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_GetRegionId",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = wxString_in_helper(obj1);
+        if (arg2 == NULL) SWIG_fail;
+        temp2 = True;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)(arg1)->GetRegionId((wxString const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_NameRegions(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxString const &arg2_defvalue = "" ;
+    wxString *arg2 = (wxString *) &arg2_defvalue ;
+    bool temp2 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "parentName", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O|O:PyShape_NameRegions",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (obj1) {
+        {
+            arg2 = wxString_in_helper(obj1);
+            if (arg2 == NULL) SWIG_fail;
+            temp2 = True;
+        }
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->NameRegions((wxString const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetRegions(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    PyObject *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetRegions",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (PyObject *)wxPyShape_GetRegions(arg1);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = result;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_AddRegion(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxShapeRegion *arg2 = (wxShapeRegion *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "region", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_AddRegion",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxShapeRegion,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->AddRegion(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_ClearRegions(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_ClearRegions",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->ClearRegions();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_AssignNewIds(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_AssignNewIds",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->AssignNewIds();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_FindRegion(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxString *arg2 = 0 ;
+    int *arg3 = (int *) 0 ;
+    wxPyShape *result;
+    bool temp2 = False ;
+    int temp3 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "regionName", NULL 
+    };
+    
+    arg3 = &temp3;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_FindRegion",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = wxString_in_helper(obj1);
+        if (arg2 == NULL) SWIG_fail;
+        temp2 = True;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyShape *)(arg1)->FindRegion((wxString const &)*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxShapeEvtHandler(result); 
+    }
+    {
+        PyObject *o = PyInt_FromLong((long) (*arg3));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_FindRegionNames(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxStringList *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "list", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_FindRegionNames",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxStringList,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->FindRegionNames(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_ClearText(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    int arg2 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "regionId", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O|i:PyShape_ClearText",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->ClearText(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_RemoveLine(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxPyLineShape *arg2 = (wxPyLineShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "line", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_RemoveLine",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->RemoveLine(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetAttachmentPosition(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    int arg2 ;
+    double *arg3 = (double *) 0 ;
+    double *arg4 = (double *) 0 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 1 ;
+    wxPyLineShape *arg7 = (wxPyLineShape *) NULL ;
+    bool result;
+    double temp3 ;
+    double temp4 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj4 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "attachment",(char *) "nth",(char *) "no_arcs",(char *) "line", NULL 
+    };
+    
+    arg3 = &temp3;
+    arg4 = &temp4;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi|iiO:PyShape_GetAttachmentPosition",kwnames,&obj0,&arg2,&arg5,&arg6,&obj4)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (obj4) {
+        if ((SWIG_ConvertPtr(obj4,(void **) &arg7, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->GetAttachmentPosition(arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    {
+        PyObject *o = PyFloat_FromDouble((double) (*arg3));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    {
+        PyObject *o = PyFloat_FromDouble((double) (*arg4));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetNumberOfAttachments(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetNumberOfAttachments",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)(arg1)->GetNumberOfAttachments();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_AttachmentIsValid(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    int arg2 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:PyShape_AttachmentIsValid",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->AttachmentIsValid(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetAttachmentPositionEdge(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    int arg2 ;
+    double *arg3 = (double *) 0 ;
+    double *arg4 = (double *) 0 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 1 ;
+    wxPyLineShape *arg7 = (wxPyLineShape *) NULL ;
+    bool result;
+    double temp3 ;
+    double temp4 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj4 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "attachment",(char *) "nth",(char *) "no_arcs",(char *) "line", NULL 
+    };
+    
+    arg3 = &temp3;
+    arg4 = &temp4;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi|iiO:PyShape_GetAttachmentPositionEdge",kwnames,&obj0,&arg2,&arg5,&arg6,&obj4)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (obj4) {
+        if ((SWIG_ConvertPtr(obj4,(void **) &arg7, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->GetAttachmentPositionEdge(arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    {
+        PyObject *o = PyFloat_FromDouble((double) (*arg3));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    {
+        PyObject *o = PyFloat_FromDouble((double) (*arg4));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_CalcSimpleAttachment(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxRealPoint *arg2 = 0 ;
+    wxRealPoint *arg3 = 0 ;
+    int arg4 ;
+    int arg5 ;
+    wxPyLineShape *arg6 = (wxPyLineShape *) 0 ;
+    wxRealPoint result;
+    wxRealPoint temp2 ;
+    wxRealPoint temp3 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj5 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt1",(char *) "pt2",(char *) "nth",(char *) "noArcs",(char *) "line", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOOiiO:PyShape_CalcSimpleAttachment",kwnames,&obj0,&obj1,&obj2,&arg4,&arg5,&obj5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = &temp2;
+        if ( ! wxRealPoint_helper(obj1, &arg2)) SWIG_fail;
+    }
+    {
+        arg3 = &temp3;
+        if ( ! wxRealPoint_helper(obj2, &arg3)) SWIG_fail;
+    }
+    if ((SWIG_ConvertPtr(obj5,(void **) &arg6, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (arg1)->CalcSimpleAttachment((wxRealPoint const &)*arg2,(wxRealPoint const &)*arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        wxRealPoint * resultptr;
+        resultptr = new wxRealPoint((wxRealPoint &) result);
+        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_wxRealPoint, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_AttachmentSortTest(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    int arg2 ;
+    wxRealPoint *arg3 = 0 ;
+    wxRealPoint *arg4 = 0 ;
+    bool result;
+    wxRealPoint temp3 ;
+    wxRealPoint temp4 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "attachmentPoint",(char *) "pt1",(char *) "pt2", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OiOO:PyShape_AttachmentSortTest",kwnames,&obj0,&arg2,&obj2,&obj3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg3 = &temp3;
+        if ( ! wxRealPoint_helper(obj2, &arg3)) SWIG_fail;
+    }
+    {
+        arg4 = &temp4;
+        if ( ! wxRealPoint_helper(obj3, &arg4)) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->AttachmentSortTest(arg2,(wxRealPoint const &)*arg3,(wxRealPoint const &)*arg4);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_EraseLinks(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    int arg3 = (int) -1 ;
+    bool arg4 = (bool) False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj3 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "attachment",(char *) "recurse", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|iO:PyShape_EraseLinks",kwnames,&obj0,&obj1,&arg3,&obj3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj3) {
+        arg4 = PyInt_AsLong(obj3) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->EraseLinks(*arg2,arg3,arg4);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_DrawLinks(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    int arg3 = (int) -1 ;
+    bool arg4 = (bool) False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj3 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "attachment",(char *) "recurse", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|iO:PyShape_DrawLinks",kwnames,&obj0,&obj1,&arg3,&obj3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj3) {
+        arg4 = PyInt_AsLong(obj3) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DrawLinks(*arg2,arg3,arg4);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_MoveLineToNewAttachment(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    wxPyLineShape *arg3 = (wxPyLineShape *) 0 ;
+    double arg4 ;
+    double arg5 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "to_move",(char *) "x",(char *) "y", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOOdd:PyShape_MoveLineToNewAttachment",kwnames,&obj0,&obj1,&obj2,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if ((SWIG_ConvertPtr(obj2,(void **) &arg3, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->MoveLineToNewAttachment(*arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_ApplyAttachmentOrdering(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    PyObject *arg2 = (PyObject *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "linesToSort", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_ApplyAttachmentOrdering",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = obj1;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        wxPyShape_ApplyAttachmentOrdering(arg1,arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetBranchingAttachmentRoot(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    int arg2 ;
+    wxRealPoint result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:PyShape_GetBranchingAttachmentRoot",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (arg1)->GetBranchingAttachmentRoot(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        wxRealPoint * resultptr;
+        resultptr = new wxRealPoint((wxRealPoint &) result);
+        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_wxRealPoint, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetBranchingAttachmentInfo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    int arg2 ;
+    wxRealPoint *arg3 = 0 ;
+    wxRealPoint *arg4 = 0 ;
+    wxRealPoint *arg5 = 0 ;
+    wxRealPoint *arg6 = 0 ;
+    bool result;
+    wxRealPoint temp3 ;
+    wxRealPoint temp4 ;
+    wxRealPoint temp5 ;
+    wxRealPoint temp6 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    PyObject * obj4 = 0 ;
+    PyObject * obj5 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "attachment",(char *) "root",(char *) "neck",(char *) "shoulder1",(char *) "shoulder2", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OiOOOO:PyShape_GetBranchingAttachmentInfo",kwnames,&obj0,&arg2,&obj2,&obj3,&obj4,&obj5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg3 = &temp3;
+        if ( ! wxRealPoint_helper(obj2, &arg3)) SWIG_fail;
+    }
+    {
+        arg4 = &temp4;
+        if ( ! wxRealPoint_helper(obj3, &arg4)) SWIG_fail;
+    }
+    {
+        arg5 = &temp5;
+        if ( ! wxRealPoint_helper(obj4, &arg5)) SWIG_fail;
+    }
+    {
+        arg6 = &temp6;
+        if ( ! wxRealPoint_helper(obj5, &arg6)) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->GetBranchingAttachmentInfo(arg2,*arg3,*arg4,*arg5,*arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetBranchingAttachmentPoint(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    int arg2 ;
+    int arg3 ;
+    wxRealPoint *arg4 = 0 ;
+    wxRealPoint *arg5 = 0 ;
+    bool result;
+    wxRealPoint temp4 ;
+    wxRealPoint temp5 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj3 = 0 ;
+    PyObject * obj4 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "attachment",(char *) "n",(char *) "attachmentPoint",(char *) "stemPoint", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OiiOO:PyShape_GetBranchingAttachmentPoint",kwnames,&obj0,&arg2,&arg3,&obj3,&obj4)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg4 = &temp4;
+        if ( ! wxRealPoint_helper(obj3, &arg4)) SWIG_fail;
+    }
+    {
+        arg5 = &temp5;
+        if ( ! wxRealPoint_helper(obj4, &arg5)) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->GetBranchingAttachmentPoint(arg2,arg3,*arg4,*arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetAttachmentLineCount(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    int arg2 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:PyShape_GetAttachmentLineCount",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)(arg1)->GetAttachmentLineCount(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_SetBranchNeckLength(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    int arg2 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "len", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:PyShape_SetBranchNeckLength",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetBranchNeckLength(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetBranchNeckLength(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetBranchNeckLength",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)(arg1)->GetBranchNeckLength();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_SetBranchStemLength(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    int arg2 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "len", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:PyShape_SetBranchStemLength",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetBranchStemLength(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetBranchStemLength(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetBranchStemLength",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)(arg1)->GetBranchStemLength();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_SetBranchSpacing(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    int arg2 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "len", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:PyShape_SetBranchSpacing",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetBranchSpacing(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetBranchSpacing(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetBranchSpacing",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)(arg1)->GetBranchSpacing();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_SetBranchStyle(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    long arg2 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "style", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Ol:PyShape_SetBranchStyle",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetBranchStyle(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetBranchStyle(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    long result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetBranchStyle",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (long)(arg1)->GetBranchStyle();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_PhysicalToLogicalAttachment(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    int arg2 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "physicalAttachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:PyShape_PhysicalToLogicalAttachment",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)(arg1)->PhysicalToLogicalAttachment(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_LogicalToPhysicalAttachment(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    int arg2 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "logicalAttachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:PyShape_LogicalToPhysicalAttachment",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)(arg1)->LogicalToPhysicalAttachment(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_Draggable(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_Draggable",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->Draggable();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_HasDescendant(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxPyShape *arg2 = (wxPyShape *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "image", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_HasDescendant",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->HasDescendant(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_CreateNewCopy(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    bool arg2 = (bool) True ;
+    bool arg3 = (bool) True ;
+    wxPyShape *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "resetMapping",(char *) "recompute", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O|OO:PyShape_CreateNewCopy",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (obj1) {
+        arg2 = PyInt_AsLong(obj1) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyShape *)(arg1)->CreateNewCopy(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxShapeEvtHandler(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_Copy(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxPyShape *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "copy", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_Copy",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Copy(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_CopyWithHandler(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxPyShape *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "copy", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_CopyWithHandler",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->CopyWithHandler(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_Rotate(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    double arg4 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "theta", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oddd:PyShape_Rotate",kwnames,&obj0,&arg2,&arg3,&arg4)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Rotate(arg2,arg3,arg4);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetRotation(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetRotation",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (double)(arg1)->GetRotation();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyFloat_FromDouble(result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_ClearAttachments(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_ClearAttachments",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->ClearAttachments();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_Recentre(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_Recentre",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Recentre(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_ClearPointList(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxList *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "list", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_ClearPointList",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxList,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->ClearPointList(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetBackgroundPen(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxPen result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetBackgroundPen",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (arg1)->GetBackgroundPen();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        wxPen * resultptr;
+        resultptr = new wxPen((wxPen &) result);
+        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_wxPen, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_GetBackgroundBrush(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxBrush result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_GetBackgroundBrush",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (arg1)->GetBackgroundBrush();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        wxBrush * resultptr;
+        resultptr = new wxBrush((wxBrush &) result);
+        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_wxBrush, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_base_OnDelete(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShape_base_OnDelete",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDelete();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_base_OnDraw(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_base_OnDraw",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDraw(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_base_OnDrawContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_base_OnDrawContents",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawContents(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_base_OnDrawBranches(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    bool arg3 = (bool) False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "erase", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyShape_base_OnDrawBranches",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawBranches(*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_base_OnMoveLinks(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_base_OnMoveLinks",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMoveLinks(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_base_OnErase(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_base_OnErase",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnErase(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_base_OnEraseContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_base_OnEraseContents",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEraseContents(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_base_OnHighlight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_base_OnHighlight",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnHighlight(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_base_OnLeftClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyShape_base_OnLeftClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnLeftClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_base_OnLeftDoubleClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyShape_base_OnLeftDoubleClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnLeftDoubleClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_base_OnRightClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyShape_base_OnRightClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnRightClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_base_OnSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyShape_base_OnSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_base_OnMovePre(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    bool arg7 = (bool) True ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "old_x",(char *) "old_y",(char *) "display", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd|O:PyShape_base_OnMovePre",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6,&obj6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj6) {
+        arg7 = PyInt_AsLong(obj6) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->base_OnMovePre(*arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_base_OnMovePost(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    bool arg7 = (bool) True ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "old_x",(char *) "old_y",(char *) "display", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd|O:PyShape_base_OnMovePost",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6,&obj6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj6) {
+        arg7 = PyInt_AsLong(obj6) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMovePost(*arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_base_OnDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    bool arg2 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyShape_base_OnDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_base_OnBeginDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyShape_base_OnBeginDragLeft",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginDragLeft(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_base_OnEndDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyShape_base_OnEndDragLeft",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndDragLeft(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_base_OnDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    bool arg2 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyShape_base_OnDragRight",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDragRight(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_base_OnBeginDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyShape_base_OnBeginDragRight",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginDragRight(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_base_OnEndDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyShape_base_OnEndDragRight",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndDragRight(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_base_OnDrawOutline(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd:PyShape_base_OnDrawOutline",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawOutline(*arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_base_OnDrawControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_base_OnDrawControlPoints",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawControlPoints(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_base_OnEraseControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShape_base_OnEraseControlPoints",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEraseControlPoints(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_base_OnMoveLink(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    bool arg3 = (bool) True ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "moveControlPoints", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyShape_base_OnMoveLink",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMoveLink(*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_base_OnSizingDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    bool arg3 ;
+    double arg4 ;
+    double arg5 ;
+    int arg6 = (int) 0 ;
+    int arg7 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOOdd|ii:PyShape_base_OnSizingDragLeft",kwnames,&obj0,&obj1,&obj2,&arg4,&arg5,&arg6,&arg7)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg3 = PyInt_AsLong(obj2) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingDragLeft(arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_base_OnSizingBeginDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyShape_base_OnSizingBeginDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingBeginDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_base_OnSizingEndDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyShape_base_OnSizingEndDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingEndDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_base_OnBeginSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyShape_base_OnBeginSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShape_base_OnEndSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShape *arg1 = (wxPyShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyShape_base_OnEndSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * PyShape_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_wxPyShape, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_PseudoMetaFile(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *result;
+    char *kwnames[] = {
+        NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)":new_PseudoMetaFile",kwnames)) goto fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPseudoMetaFile *)new wxPseudoMetaFile();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxObject(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_PseudoMetaFile(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:delete_PseudoMetaFile",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        delete arg1;
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_Draw(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "xoffset",(char *) "yoffset", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd:PseudoMetaFile_Draw",kwnames,&obj0,&obj1,&arg3,&arg4)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Draw(*arg2,arg3,arg4);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_Clear(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PseudoMetaFile_Clear",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Clear();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_Copy(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    wxPseudoMetaFile *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "copy", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PseudoMetaFile_Copy",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Copy(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_Scale(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "sx",(char *) "sy", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PseudoMetaFile_Scale",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Scale(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_ScaleTo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PseudoMetaFile_ScaleTo",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->ScaleTo(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_Translate(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PseudoMetaFile_Translate",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Translate(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_Rotate(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    double arg4 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "theta", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oddd:PseudoMetaFile_Rotate",kwnames,&obj0,&arg2,&arg3,&arg4)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Rotate(arg2,arg3,arg4);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_LoadFromMetaFile(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    wxString *arg2 = 0 ;
+    double *arg3 = (double *) 0 ;
+    double *arg4 = (double *) 0 ;
+    bool result;
+    bool temp2 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "filename",(char *) "width",(char *) "height", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOOO:PseudoMetaFile_LoadFromMetaFile",kwnames,&obj0,&obj1,&obj2,&obj3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = wxString_in_helper(obj1);
+        if (arg2 == NULL) SWIG_fail;
+        temp2 = True;
+    }
+    if ((SWIG_ConvertPtr(obj2,(void **) &arg3, SWIGTYPE_p_double,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj3,(void **) &arg4, SWIGTYPE_p_double,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->LoadFromMetaFile((wxString const &)*arg2,arg3,arg4);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_GetBounds(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    double *arg2 = (double *) 0 ;
+    double *arg3 = (double *) 0 ;
+    double *arg4 = (double *) 0 ;
+    double *arg5 = (double *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    PyObject * obj4 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "minX",(char *) "minY",(char *) "maxX",(char *) "maxY", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOOOO:PseudoMetaFile_GetBounds",kwnames,&obj0,&obj1,&obj2,&obj3,&obj4)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_double,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj2,(void **) &arg3, SWIGTYPE_p_double,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj3,(void **) &arg4, SWIGTYPE_p_double,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj4,(void **) &arg5, SWIGTYPE_p_double,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->GetBounds(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_CalculateSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    wxPyDrawnShape *arg2 = (wxPyDrawnShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "shape", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PseudoMetaFile_CalculateSize",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->CalculateSize(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_SetRotateable(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    bool arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "rot", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PseudoMetaFile_SetRotateable",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetRotateable(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_GetRotateable(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PseudoMetaFile_GetRotateable",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->GetRotateable();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_SetSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PseudoMetaFile_SetSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_SetFillBrush(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    wxBrush *arg2 = (wxBrush *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "brush", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PseudoMetaFile_SetFillBrush",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        wxBrush* temp;
+        if (obj1) {
+            if (obj1 == Py_None) {
+                temp = NULL; 
+            }
+            else if (! wxPyConvertSwigPtr(obj1, (void **) &temp, wxT("wxBrush"))) {
+                PyErr_SetString(PyExc_TypeError, "Type error, expected wxBrush.");
+                return NULL;
+            }
+        }
+        if (temp)
+        arg2 = wxTheBrushList->FindOrCreateBrush(temp->GetColour(), temp->GetStyle());
+        else
+        arg2 = NULL;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetFillBrush(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_GetFillBrush(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    wxBrush *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PseudoMetaFile_GetFillBrush",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxBrush *)(arg1)->GetFillBrush();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxBrush, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_SetOutlinePen(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    wxPen *arg2 = (wxPen *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pen", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PseudoMetaFile_SetOutlinePen",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        wxPen* temp;
+        if (obj1) {
+            if (obj1 == Py_None) {
+                temp = NULL; 
+            }
+            else if (! wxPyConvertSwigPtr(obj1, (void **) &temp, wxT("wxPen"))) {
+                PyErr_SetString(PyExc_TypeError, "Type error, expected wxPen.");
+                return NULL;
+            }
+        }
+        if (temp)
+        arg2 = wxThePenList->FindOrCreatePen(temp->GetColour(),
+        temp->GetWidth(),
+        temp->GetStyle());
+        else
+        arg2 = NULL;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetOutlinePen(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_GetOutlinePen(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    wxPen *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PseudoMetaFile_GetOutlinePen",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPen *)(arg1)->GetOutlinePen();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxPen, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_SetOutlineOp(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    int arg2 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "op", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:PseudoMetaFile_SetOutlineOp",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetOutlineOp(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_GetOutlineOp(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PseudoMetaFile_GetOutlineOp",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)(arg1)->GetOutlineOp();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_IsValid(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PseudoMetaFile_IsValid",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->IsValid();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_DrawLine(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    wxPoint *arg2 = 0 ;
+    wxPoint *arg3 = 0 ;
+    wxPoint temp2 ;
+    wxPoint temp3 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt1",(char *) "pt2", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:PseudoMetaFile_DrawLine",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = &temp2;
+        if ( ! wxPoint_helper(obj1, &arg2)) SWIG_fail;
+    }
+    {
+        arg3 = &temp3;
+        if ( ! wxPoint_helper(obj2, &arg3)) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DrawLine((wxPoint const &)*arg2,(wxPoint const &)*arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_DrawRectangle(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    wxRect *arg2 = 0 ;
+    wxRect temp2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "rect", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PseudoMetaFile_DrawRectangle",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = &temp2;
+        if ( ! wxRect_helper(obj1, &arg2)) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DrawRectangle((wxRect const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_DrawRoundedRectangle(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    wxRect *arg2 = 0 ;
+    double arg3 ;
+    wxRect temp2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "rect",(char *) "radius", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOd:PseudoMetaFile_DrawRoundedRectangle",kwnames,&obj0,&obj1,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = &temp2;
+        if ( ! wxRect_helper(obj1, &arg2)) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DrawRoundedRectangle((wxRect const &)*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_DrawArc(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    wxPoint *arg2 = 0 ;
+    wxPoint *arg3 = 0 ;
+    wxPoint *arg4 = 0 ;
+    wxPoint temp2 ;
+    wxPoint temp3 ;
+    wxPoint temp4 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "centrePt",(char *) "startPt",(char *) "endPt", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOOO:PseudoMetaFile_DrawArc",kwnames,&obj0,&obj1,&obj2,&obj3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = &temp2;
+        if ( ! wxPoint_helper(obj1, &arg2)) SWIG_fail;
+    }
+    {
+        arg3 = &temp3;
+        if ( ! wxPoint_helper(obj2, &arg3)) SWIG_fail;
+    }
+    {
+        arg4 = &temp4;
+        if ( ! wxPoint_helper(obj3, &arg4)) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DrawArc((wxPoint const &)*arg2,(wxPoint const &)*arg3,(wxPoint const &)*arg4);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_DrawEllipticArc(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    wxRect *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    wxRect temp2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "rect",(char *) "startAngle",(char *) "endAngle", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd:PseudoMetaFile_DrawEllipticArc",kwnames,&obj0,&obj1,&arg3,&arg4)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = &temp2;
+        if ( ! wxRect_helper(obj1, &arg2)) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DrawEllipticArc((wxRect const &)*arg2,arg3,arg4);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_DrawEllipse(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    wxRect *arg2 = 0 ;
+    wxRect temp2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "rect", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PseudoMetaFile_DrawEllipse",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = &temp2;
+        if ( ! wxRect_helper(obj1, &arg2)) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DrawEllipse((wxRect const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_DrawPoint(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    wxPoint *arg2 = 0 ;
+    wxPoint temp2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PseudoMetaFile_DrawPoint",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = &temp2;
+        if ( ! wxPoint_helper(obj1, &arg2)) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DrawPoint((wxPoint const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_DrawText(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    wxString *arg2 = 0 ;
+    wxPoint *arg3 = 0 ;
+    bool temp2 = False ;
+    wxPoint temp3 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "text",(char *) "pt", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:PseudoMetaFile_DrawText",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = wxString_in_helper(obj1);
+        if (arg2 == NULL) SWIG_fail;
+        temp2 = True;
+    }
+    {
+        arg3 = &temp3;
+        if ( ! wxPoint_helper(obj2, &arg3)) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DrawText((wxString const &)*arg2,(wxPoint const &)*arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_DrawLines(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    int arg2 ;
+    wxPoint *arg3 = (wxPoint *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "PCOUNT",(char *) "points", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OiO:PseudoMetaFile_DrawLines",kwnames,&obj0,&arg2,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj2,(void **) &arg3, SWIGTYPE_p_wxPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DrawLines(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_DrawPolygon(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    int arg2 ;
+    wxPoint *arg3 = (wxPoint *) 0 ;
+    int arg4 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "PCOUNT",(char *) "points",(char *) "flags", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OiO|i:PseudoMetaFile_DrawPolygon",kwnames,&obj0,&arg2,&obj2,&arg4)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj2,(void **) &arg3, SWIGTYPE_p_wxPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DrawPolygon(arg2,arg3,arg4);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_DrawSpline(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    int arg2 ;
+    wxPoint *arg3 = (wxPoint *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "PCOUNT",(char *) "points", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OiO:PseudoMetaFile_DrawSpline",kwnames,&obj0,&arg2,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj2,(void **) &arg3, SWIGTYPE_p_wxPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DrawSpline(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_SetClippingRect(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    wxRect *arg2 = 0 ;
+    wxRect temp2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "rect", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PseudoMetaFile_SetClippingRect",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = &temp2;
+        if ( ! wxRect_helper(obj1, &arg2)) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetClippingRect((wxRect const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_DestroyClippingRect(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PseudoMetaFile_DestroyClippingRect",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DestroyClippingRect();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_SetPen(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    wxPen *arg2 = (wxPen *) 0 ;
+    bool arg3 = (bool) FALSE ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pen",(char *) "isOutline", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PseudoMetaFile_SetPen",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        wxPen* temp;
+        if (obj1) {
+            if (obj1 == Py_None) {
+                temp = NULL; 
+            }
+            else if (! wxPyConvertSwigPtr(obj1, (void **) &temp, wxT("wxPen"))) {
+                PyErr_SetString(PyExc_TypeError, "Type error, expected wxPen.");
+                return NULL;
+            }
+        }
+        if (temp)
+        arg2 = wxThePenList->FindOrCreatePen(temp->GetColour(),
+        temp->GetWidth(),
+        temp->GetStyle());
+        else
+        arg2 = NULL;
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetPen(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_SetBrush(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    wxBrush *arg2 = (wxBrush *) 0 ;
+    bool arg3 = (bool) FALSE ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "brush",(char *) "isFill", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PseudoMetaFile_SetBrush",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        wxBrush* temp;
+        if (obj1) {
+            if (obj1 == Py_None) {
+                temp = NULL; 
+            }
+            else if (! wxPyConvertSwigPtr(obj1, (void **) &temp, wxT("wxBrush"))) {
+                PyErr_SetString(PyExc_TypeError, "Type error, expected wxBrush.");
+                return NULL;
+            }
+        }
+        if (temp)
+        arg2 = wxTheBrushList->FindOrCreateBrush(temp->GetColour(), temp->GetStyle());
+        else
+        arg2 = NULL;
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetBrush(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_SetFont(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    wxFont *arg2 = (wxFont *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "font", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PseudoMetaFile_SetFont",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        wxFont* temp;
+        if (obj1) {
+            if (obj1 == Py_None) {
+                temp = NULL; 
+            }
+            else if (! wxPyConvertSwigPtr(obj1, (void **) &temp, wxT("wxFont"))) {
+                PyErr_SetString(PyExc_TypeError, "Type error, expected wxFont.");
+                return NULL;
+            }
+        }
+        if (temp)
+        arg2 = wxTheFontList->FindOrCreateFont(temp->GetPointSize(),
+        temp->GetFamily(),
+        temp->GetStyle(),
+        temp->GetWeight(),
+        temp->GetUnderlined(),
+        temp->GetFaceName(),
+        temp->GetEncoding());
+        else
+        arg2 = NULL;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetFont(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_SetTextColour(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    wxColour *arg2 = 0 ;
+    wxColour temp2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "colour", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PseudoMetaFile_SetTextColour",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = &temp2;
+        if ( ! wxColour_helper(obj1, &arg2)) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetTextColour((wxColour const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_SetBackgroundColour(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    wxColour *arg2 = 0 ;
+    wxColour temp2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "colour", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PseudoMetaFile_SetBackgroundColour",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = &temp2;
+        if ( ! wxColour_helper(obj1, &arg2)) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetBackgroundColour((wxColour const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PseudoMetaFile_SetBackgroundMode(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPseudoMetaFile *arg1 = (wxPseudoMetaFile *) 0 ;
+    int arg2 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "mode", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:PseudoMetaFile_SetBackgroundMode",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetBackgroundMode(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * PseudoMetaFile_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_wxPseudoMetaFile, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_PyRectangleShape(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    double arg1 = (double) 0.0 ;
+    double arg2 = (double) 0.0 ;
+    wxPyRectangleShape *result;
+    char *kwnames[] = {
+        (char *) "width",(char *) "height", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"|dd:new_PyRectangleShape",kwnames,&arg1,&arg2)) goto fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyRectangleShape *)new wxPyRectangleShape(arg1,arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxPyRectangleShape, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyRectangleShape__setCallbackInfo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyRectangleShape *arg1 = (wxPyRectangleShape *) 0 ;
+    PyObject *arg2 = (PyObject *) 0 ;
+    PyObject *arg3 = (PyObject *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "self",(char *) "_class", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:PyRectangleShape__setCallbackInfo",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyRectangleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = obj1;
+    arg3 = obj2;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->_setCallbackInfo(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyRectangleShape_SetCornerRadius(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyRectangleShape *arg1 = (wxPyRectangleShape *) 0 ;
+    double arg2 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "radius", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Od:PyRectangleShape_SetCornerRadius",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyRectangleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetCornerRadius(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyRectangleShape_base_OnDelete(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyRectangleShape *arg1 = (wxPyRectangleShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyRectangleShape_base_OnDelete",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyRectangleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDelete();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyRectangleShape_base_OnDraw(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyRectangleShape *arg1 = (wxPyRectangleShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyRectangleShape_base_OnDraw",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyRectangleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDraw(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyRectangleShape_base_OnDrawContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyRectangleShape *arg1 = (wxPyRectangleShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyRectangleShape_base_OnDrawContents",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyRectangleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawContents(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyRectangleShape_base_OnDrawBranches(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyRectangleShape *arg1 = (wxPyRectangleShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    bool arg3 = (bool) FALSE ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "erase", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyRectangleShape_base_OnDrawBranches",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyRectangleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawBranches(*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyRectangleShape_base_OnMoveLinks(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyRectangleShape *arg1 = (wxPyRectangleShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyRectangleShape_base_OnMoveLinks",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyRectangleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMoveLinks(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyRectangleShape_base_OnErase(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyRectangleShape *arg1 = (wxPyRectangleShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyRectangleShape_base_OnErase",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyRectangleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnErase(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyRectangleShape_base_OnEraseContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyRectangleShape *arg1 = (wxPyRectangleShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyRectangleShape_base_OnEraseContents",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyRectangleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEraseContents(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyRectangleShape_base_OnHighlight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyRectangleShape *arg1 = (wxPyRectangleShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyRectangleShape_base_OnHighlight",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyRectangleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnHighlight(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyRectangleShape_base_OnLeftClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyRectangleShape *arg1 = (wxPyRectangleShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyRectangleShape_base_OnLeftClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyRectangleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnLeftClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyRectangleShape_base_OnLeftDoubleClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyRectangleShape *arg1 = (wxPyRectangleShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyRectangleShape_base_OnLeftDoubleClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyRectangleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnLeftDoubleClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyRectangleShape_base_OnRightClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyRectangleShape *arg1 = (wxPyRectangleShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyRectangleShape_base_OnRightClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyRectangleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnRightClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyRectangleShape_base_OnSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyRectangleShape *arg1 = (wxPyRectangleShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyRectangleShape_base_OnSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyRectangleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyRectangleShape_base_OnMovePre(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyRectangleShape *arg1 = (wxPyRectangleShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    bool arg7 = (bool) True ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "old_x",(char *) "old_y",(char *) "display", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd|O:PyRectangleShape_base_OnMovePre",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6,&obj6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyRectangleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj6) {
+        arg7 = PyInt_AsLong(obj6) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->base_OnMovePre(*arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyRectangleShape_base_OnMovePost(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyRectangleShape *arg1 = (wxPyRectangleShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    bool arg7 = (bool) True ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "old_x",(char *) "old_y",(char *) "display", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd|O:PyRectangleShape_base_OnMovePost",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6,&obj6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyRectangleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj6) {
+        arg7 = PyInt_AsLong(obj6) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMovePost(*arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyRectangleShape_base_OnDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyRectangleShape *arg1 = (wxPyRectangleShape *) 0 ;
+    bool arg2 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyRectangleShape_base_OnDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyRectangleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyRectangleShape_base_OnBeginDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyRectangleShape *arg1 = (wxPyRectangleShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyRectangleShape_base_OnBeginDragLeft",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyRectangleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginDragLeft(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyRectangleShape_base_OnEndDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyRectangleShape *arg1 = (wxPyRectangleShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyRectangleShape_base_OnEndDragLeft",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyRectangleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndDragLeft(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyRectangleShape_base_OnDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyRectangleShape *arg1 = (wxPyRectangleShape *) 0 ;
+    bool arg2 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyRectangleShape_base_OnDragRight",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyRectangleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDragRight(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyRectangleShape_base_OnBeginDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyRectangleShape *arg1 = (wxPyRectangleShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyRectangleShape_base_OnBeginDragRight",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyRectangleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginDragRight(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyRectangleShape_base_OnEndDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyRectangleShape *arg1 = (wxPyRectangleShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyRectangleShape_base_OnEndDragRight",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyRectangleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndDragRight(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyRectangleShape_base_OnDrawOutline(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyRectangleShape *arg1 = (wxPyRectangleShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd:PyRectangleShape_base_OnDrawOutline",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyRectangleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawOutline(*arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyRectangleShape_base_OnDrawControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyRectangleShape *arg1 = (wxPyRectangleShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyRectangleShape_base_OnDrawControlPoints",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyRectangleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawControlPoints(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyRectangleShape_base_OnEraseControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyRectangleShape *arg1 = (wxPyRectangleShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyRectangleShape_base_OnEraseControlPoints",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyRectangleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEraseControlPoints(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyRectangleShape_base_OnMoveLink(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyRectangleShape *arg1 = (wxPyRectangleShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    bool arg3 = (bool) True ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "moveControlPoints", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyRectangleShape_base_OnMoveLink",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyRectangleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMoveLink(*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyRectangleShape_base_OnSizingDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyRectangleShape *arg1 = (wxPyRectangleShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    bool arg3 ;
+    double arg4 ;
+    double arg5 ;
+    int arg6 = (int) 0 ;
+    int arg7 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOOdd|ii:PyRectangleShape_base_OnSizingDragLeft",kwnames,&obj0,&obj1,&obj2,&arg4,&arg5,&arg6,&arg7)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyRectangleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg3 = PyInt_AsLong(obj2) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingDragLeft(arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyRectangleShape_base_OnSizingBeginDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyRectangleShape *arg1 = (wxPyRectangleShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyRectangleShape_base_OnSizingBeginDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyRectangleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingBeginDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyRectangleShape_base_OnSizingEndDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyRectangleShape *arg1 = (wxPyRectangleShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyRectangleShape_base_OnSizingEndDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyRectangleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingEndDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyRectangleShape_base_OnBeginSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyRectangleShape *arg1 = (wxPyRectangleShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyRectangleShape_base_OnBeginSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyRectangleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyRectangleShape_base_OnEndSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyRectangleShape *arg1 = (wxPyRectangleShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyRectangleShape_base_OnEndSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyRectangleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * PyRectangleShape_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_wxPyRectangleShape, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_PyControlPoint(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeCanvas *arg1 = (wxPyShapeCanvas *) NULL ;
+    wxPyShape *arg2 = (wxPyShape *) NULL ;
+    double arg3 = (double) 0.0 ;
+    double arg4 = (double) 0.0 ;
+    double arg5 = (double) 0.0 ;
+    int arg6 = (int) 0 ;
+    wxPyControlPoint *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "the_canvas",(char *) "object",(char *) "size",(char *) "the_xoffset",(char *) "the_yoffset",(char *) "the_type", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"|OOdddi:new_PyControlPoint",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if (obj0) {
+        if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeCanvas,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    }
+    if (obj1) {
+        if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyControlPoint *)new wxPyControlPoint(arg1,arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxPyControlPoint, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyControlPoint__setCallbackInfo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyControlPoint *arg1 = (wxPyControlPoint *) 0 ;
+    PyObject *arg2 = (PyObject *) 0 ;
+    PyObject *arg3 = (PyObject *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "self",(char *) "_class", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:PyControlPoint__setCallbackInfo",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = obj1;
+    arg3 = obj2;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->_setCallbackInfo(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyControlPoint_SetCornerRadius(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyControlPoint *arg1 = (wxPyControlPoint *) 0 ;
+    double arg2 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "radius", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Od:PyControlPoint_SetCornerRadius",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetCornerRadius(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyControlPoint_base_OnDelete(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyControlPoint *arg1 = (wxPyControlPoint *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyControlPoint_base_OnDelete",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDelete();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyControlPoint_base_OnDraw(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyControlPoint *arg1 = (wxPyControlPoint *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyControlPoint_base_OnDraw",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDraw(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyControlPoint_base_OnDrawContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyControlPoint *arg1 = (wxPyControlPoint *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyControlPoint_base_OnDrawContents",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawContents(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyControlPoint_base_OnDrawBranches(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyControlPoint *arg1 = (wxPyControlPoint *) 0 ;
+    wxDC *arg2 = 0 ;
+    bool arg3 = (bool) FALSE ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "erase", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyControlPoint_base_OnDrawBranches",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawBranches(*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyControlPoint_base_OnMoveLinks(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyControlPoint *arg1 = (wxPyControlPoint *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyControlPoint_base_OnMoveLinks",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMoveLinks(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyControlPoint_base_OnErase(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyControlPoint *arg1 = (wxPyControlPoint *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyControlPoint_base_OnErase",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnErase(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyControlPoint_base_OnEraseContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyControlPoint *arg1 = (wxPyControlPoint *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyControlPoint_base_OnEraseContents",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEraseContents(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyControlPoint_base_OnHighlight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyControlPoint *arg1 = (wxPyControlPoint *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyControlPoint_base_OnHighlight",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnHighlight(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyControlPoint_base_OnLeftClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyControlPoint *arg1 = (wxPyControlPoint *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyControlPoint_base_OnLeftClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnLeftClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyControlPoint_base_OnLeftDoubleClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyControlPoint *arg1 = (wxPyControlPoint *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyControlPoint_base_OnLeftDoubleClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnLeftDoubleClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyControlPoint_base_OnRightClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyControlPoint *arg1 = (wxPyControlPoint *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyControlPoint_base_OnRightClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnRightClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyControlPoint_base_OnSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyControlPoint *arg1 = (wxPyControlPoint *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyControlPoint_base_OnSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyControlPoint_base_OnMovePre(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyControlPoint *arg1 = (wxPyControlPoint *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    bool arg7 = (bool) True ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "old_x",(char *) "old_y",(char *) "display", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd|O:PyControlPoint_base_OnMovePre",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6,&obj6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj6) {
+        arg7 = PyInt_AsLong(obj6) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->base_OnMovePre(*arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyControlPoint_base_OnMovePost(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyControlPoint *arg1 = (wxPyControlPoint *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    bool arg7 = (bool) True ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "old_x",(char *) "old_y",(char *) "display", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd|O:PyControlPoint_base_OnMovePost",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6,&obj6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj6) {
+        arg7 = PyInt_AsLong(obj6) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMovePost(*arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyControlPoint_base_OnDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyControlPoint *arg1 = (wxPyControlPoint *) 0 ;
+    bool arg2 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyControlPoint_base_OnDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyControlPoint_base_OnBeginDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyControlPoint *arg1 = (wxPyControlPoint *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyControlPoint_base_OnBeginDragLeft",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginDragLeft(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyControlPoint_base_OnEndDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyControlPoint *arg1 = (wxPyControlPoint *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyControlPoint_base_OnEndDragLeft",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndDragLeft(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyControlPoint_base_OnDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyControlPoint *arg1 = (wxPyControlPoint *) 0 ;
+    bool arg2 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyControlPoint_base_OnDragRight",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDragRight(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyControlPoint_base_OnBeginDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyControlPoint *arg1 = (wxPyControlPoint *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyControlPoint_base_OnBeginDragRight",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginDragRight(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyControlPoint_base_OnEndDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyControlPoint *arg1 = (wxPyControlPoint *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyControlPoint_base_OnEndDragRight",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndDragRight(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyControlPoint_base_OnDrawOutline(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyControlPoint *arg1 = (wxPyControlPoint *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd:PyControlPoint_base_OnDrawOutline",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawOutline(*arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyControlPoint_base_OnDrawControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyControlPoint *arg1 = (wxPyControlPoint *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyControlPoint_base_OnDrawControlPoints",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawControlPoints(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyControlPoint_base_OnEraseControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyControlPoint *arg1 = (wxPyControlPoint *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyControlPoint_base_OnEraseControlPoints",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEraseControlPoints(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyControlPoint_base_OnMoveLink(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyControlPoint *arg1 = (wxPyControlPoint *) 0 ;
+    wxDC *arg2 = 0 ;
+    bool arg3 = (bool) True ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "moveControlPoints", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyControlPoint_base_OnMoveLink",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMoveLink(*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyControlPoint_base_OnSizingDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyControlPoint *arg1 = (wxPyControlPoint *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    bool arg3 ;
+    double arg4 ;
+    double arg5 ;
+    int arg6 = (int) 0 ;
+    int arg7 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOOdd|ii:PyControlPoint_base_OnSizingDragLeft",kwnames,&obj0,&obj1,&obj2,&arg4,&arg5,&arg6,&arg7)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg3 = PyInt_AsLong(obj2) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingDragLeft(arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyControlPoint_base_OnSizingBeginDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyControlPoint *arg1 = (wxPyControlPoint *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyControlPoint_base_OnSizingBeginDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingBeginDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyControlPoint_base_OnSizingEndDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyControlPoint *arg1 = (wxPyControlPoint *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyControlPoint_base_OnSizingEndDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingEndDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyControlPoint_base_OnBeginSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyControlPoint *arg1 = (wxPyControlPoint *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyControlPoint_base_OnBeginSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyControlPoint_base_OnEndSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyControlPoint *arg1 = (wxPyControlPoint *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyControlPoint_base_OnEndSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * PyControlPoint_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_wxPyControlPoint, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_PyBitmapShape(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *result;
+    char *kwnames[] = {
+        NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)":new_PyBitmapShape",kwnames)) goto fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyBitmapShape *)new wxPyBitmapShape();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxPyBitmapShape, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape__setCallbackInfo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    PyObject *arg2 = (PyObject *) 0 ;
+    PyObject *arg3 = (PyObject *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "self",(char *) "_class", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:PyBitmapShape__setCallbackInfo",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = obj1;
+    arg3 = obj2;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->_setCallbackInfo(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape_GetBitmap(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    wxBitmap *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyBitmapShape_GetBitmap",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        {
+            wxBitmap &_result_ref = (arg1)->GetBitmap();
+            result = (wxBitmap *) &_result_ref;
+        }
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxBitmap, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape_GetFilename(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    wxString result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyBitmapShape_GetFilename",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (arg1)->GetFilename();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+#if wxUSE_UNICODE
+        resultobj = PyUnicode_FromWideChar((&result)->c_str(), (&result)->Len());
+#else
+        resultobj = PyString_FromStringAndSize((&result)->c_str(), (&result)->Len());
+#endif
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape_SetBitmap(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    wxBitmap *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "bitmap", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyBitmapShape_SetBitmap",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxBitmap,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetBitmap((wxBitmap const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape_SetFilename(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    wxString *arg2 = 0 ;
+    bool temp2 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "filename", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyBitmapShape_SetFilename",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = wxString_in_helper(obj1);
+        if (arg2 == NULL) SWIG_fail;
+        temp2 = True;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetFilename((wxString const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape_base_OnDelete(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyBitmapShape_base_OnDelete",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDelete();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape_base_OnDraw(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyBitmapShape_base_OnDraw",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDraw(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape_base_OnDrawContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyBitmapShape_base_OnDrawContents",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawContents(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape_base_OnDrawBranches(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    bool arg3 = (bool) FALSE ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "erase", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyBitmapShape_base_OnDrawBranches",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawBranches(*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape_base_OnMoveLinks(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyBitmapShape_base_OnMoveLinks",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMoveLinks(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape_base_OnErase(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyBitmapShape_base_OnErase",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnErase(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape_base_OnEraseContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyBitmapShape_base_OnEraseContents",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEraseContents(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape_base_OnHighlight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyBitmapShape_base_OnHighlight",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnHighlight(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape_base_OnLeftClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyBitmapShape_base_OnLeftClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnLeftClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape_base_OnLeftDoubleClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyBitmapShape_base_OnLeftDoubleClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnLeftDoubleClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape_base_OnRightClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyBitmapShape_base_OnRightClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnRightClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape_base_OnSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyBitmapShape_base_OnSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape_base_OnMovePre(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    bool arg7 = (bool) True ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "old_x",(char *) "old_y",(char *) "display", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd|O:PyBitmapShape_base_OnMovePre",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6,&obj6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj6) {
+        arg7 = PyInt_AsLong(obj6) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->base_OnMovePre(*arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape_base_OnMovePost(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    bool arg7 = (bool) True ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "old_x",(char *) "old_y",(char *) "display", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd|O:PyBitmapShape_base_OnMovePost",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6,&obj6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj6) {
+        arg7 = PyInt_AsLong(obj6) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMovePost(*arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape_base_OnDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    bool arg2 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyBitmapShape_base_OnDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape_base_OnBeginDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyBitmapShape_base_OnBeginDragLeft",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginDragLeft(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape_base_OnEndDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyBitmapShape_base_OnEndDragLeft",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndDragLeft(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape_base_OnDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    bool arg2 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyBitmapShape_base_OnDragRight",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDragRight(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape_base_OnBeginDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyBitmapShape_base_OnBeginDragRight",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginDragRight(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape_base_OnEndDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyBitmapShape_base_OnEndDragRight",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndDragRight(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape_base_OnDrawOutline(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd:PyBitmapShape_base_OnDrawOutline",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawOutline(*arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape_base_OnDrawControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyBitmapShape_base_OnDrawControlPoints",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawControlPoints(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape_base_OnEraseControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyBitmapShape_base_OnEraseControlPoints",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEraseControlPoints(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape_base_OnMoveLink(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    bool arg3 = (bool) True ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "moveControlPoints", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyBitmapShape_base_OnMoveLink",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMoveLink(*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape_base_OnSizingDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    bool arg3 ;
+    double arg4 ;
+    double arg5 ;
+    int arg6 = (int) 0 ;
+    int arg7 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOOdd|ii:PyBitmapShape_base_OnSizingDragLeft",kwnames,&obj0,&obj1,&obj2,&arg4,&arg5,&arg6,&arg7)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg3 = PyInt_AsLong(obj2) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingDragLeft(arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape_base_OnSizingBeginDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyBitmapShape_base_OnSizingBeginDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingBeginDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape_base_OnSizingEndDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyBitmapShape_base_OnSizingEndDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingEndDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape_base_OnBeginSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyBitmapShape_base_OnBeginSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyBitmapShape_base_OnEndSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyBitmapShape *arg1 = (wxPyBitmapShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyBitmapShape_base_OnEndSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyBitmapShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * PyBitmapShape_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_wxPyBitmapShape, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_PyDrawnShape(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *result;
+    char *kwnames[] = {
+        NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)":new_PyDrawnShape",kwnames)) goto fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyDrawnShape *)new wxPyDrawnShape();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxPyDrawnShape, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape__setCallbackInfo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    PyObject *arg2 = (PyObject *) 0 ;
+    PyObject *arg3 = (PyObject *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "self",(char *) "_class", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:PyDrawnShape__setCallbackInfo",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = obj1;
+    arg3 = obj2;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->_setCallbackInfo(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_CalculateSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyDrawnShape_CalculateSize",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->CalculateSize();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_DestroyClippingRect(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyDrawnShape_DestroyClippingRect",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DestroyClippingRect();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_DrawArc(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    wxPoint *arg2 = 0 ;
+    wxPoint *arg3 = 0 ;
+    wxPoint *arg4 = 0 ;
+    wxPoint temp2 ;
+    wxPoint temp3 ;
+    wxPoint temp4 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "centrePoint",(char *) "startPoint",(char *) "endPoint", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOOO:PyDrawnShape_DrawArc",kwnames,&obj0,&obj1,&obj2,&obj3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = &temp2;
+        if ( ! wxPoint_helper(obj1, &arg2)) SWIG_fail;
+    }
+    {
+        arg3 = &temp3;
+        if ( ! wxPoint_helper(obj2, &arg3)) SWIG_fail;
+    }
+    {
+        arg4 = &temp4;
+        if ( ! wxPoint_helper(obj3, &arg4)) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DrawArc((wxPoint const &)*arg2,(wxPoint const &)*arg3,(wxPoint const &)*arg4);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_DrawAtAngle(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    int arg2 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "angle", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:PyDrawnShape_DrawAtAngle",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DrawAtAngle(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_DrawEllipticArc(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    wxRect *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    wxRect temp2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "rect",(char *) "startAngle",(char *) "endAngle", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd:PyDrawnShape_DrawEllipticArc",kwnames,&obj0,&obj1,&arg3,&arg4)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = &temp2;
+        if ( ! wxRect_helper(obj1, &arg2)) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DrawEllipticArc((wxRect const &)*arg2,arg3,arg4);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_DrawLine(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    wxPoint *arg2 = 0 ;
+    wxPoint *arg3 = 0 ;
+    wxPoint temp2 ;
+    wxPoint temp3 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "point1",(char *) "point2", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:PyDrawnShape_DrawLine",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = &temp2;
+        if ( ! wxPoint_helper(obj1, &arg2)) SWIG_fail;
+    }
+    {
+        arg3 = &temp3;
+        if ( ! wxPoint_helper(obj2, &arg3)) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DrawLine((wxPoint const &)*arg2,(wxPoint const &)*arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_DrawLines(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    int arg2 ;
+    wxPoint *arg3 = (wxPoint *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "PCOUNT",(char *) "points", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OiO:PyDrawnShape_DrawLines",kwnames,&obj0,&arg2,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj2,(void **) &arg3, SWIGTYPE_p_wxPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DrawLines(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_DrawPoint(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    wxPoint *arg2 = 0 ;
+    wxPoint temp2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "point", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDrawnShape_DrawPoint",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = &temp2;
+        if ( ! wxPoint_helper(obj1, &arg2)) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DrawPoint((wxPoint const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_DrawPolygon(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    int arg2 ;
+    wxPoint *arg3 = (wxPoint *) 0 ;
+    int arg4 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "PCOUNT",(char *) "points",(char *) "flags", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OiO|i:PyDrawnShape_DrawPolygon",kwnames,&obj0,&arg2,&obj2,&arg4)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj2,(void **) &arg3, SWIGTYPE_p_wxPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DrawPolygon(arg2,arg3,arg4);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_DrawRectangle(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    wxRect *arg2 = 0 ;
+    wxRect temp2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "rect", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDrawnShape_DrawRectangle",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = &temp2;
+        if ( ! wxRect_helper(obj1, &arg2)) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DrawRectangle((wxRect const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_DrawRoundedRectangle(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    wxRect *arg2 = 0 ;
+    double arg3 ;
+    wxRect temp2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "rect",(char *) "radius", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOd:PyDrawnShape_DrawRoundedRectangle",kwnames,&obj0,&obj1,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = &temp2;
+        if ( ! wxRect_helper(obj1, &arg2)) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DrawRoundedRectangle((wxRect const &)*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_DrawSpline(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    int arg2 ;
+    wxPoint *arg3 = (wxPoint *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "PCOUNT",(char *) "points", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OiO:PyDrawnShape_DrawSpline",kwnames,&obj0,&arg2,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj2,(void **) &arg3, SWIGTYPE_p_wxPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DrawSpline(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_DrawText(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    wxString *arg2 = 0 ;
+    wxPoint *arg3 = 0 ;
+    bool temp2 = False ;
+    wxPoint temp3 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "text",(char *) "point", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:PyDrawnShape_DrawText",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = wxString_in_helper(obj1);
+        if (arg2 == NULL) SWIG_fail;
+        temp2 = True;
+    }
+    {
+        arg3 = &temp3;
+        if ( ! wxPoint_helper(obj2, &arg3)) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DrawText((wxString const &)*arg2,(wxPoint const &)*arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_GetAngle(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyDrawnShape_GetAngle",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)(arg1)->GetAngle();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_GetMetaFile(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    wxPseudoMetaFile *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyDrawnShape_GetMetaFile",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        {
+            wxPseudoMetaFile &_result_ref = (arg1)->GetMetaFile();
+            result = (wxPseudoMetaFile *) &_result_ref;
+        }
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxPseudoMetaFile, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_GetRotation(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyDrawnShape_GetRotation",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (double)(arg1)->GetRotation();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyFloat_FromDouble(result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_LoadFromMetaFile(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    wxString *arg2 = 0 ;
+    bool result;
+    bool temp2 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "filename", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDrawnShape_LoadFromMetaFile",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = wxString_in_helper(obj1);
+        if (arg2 == NULL) SWIG_fail;
+        temp2 = True;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->LoadFromMetaFile((wxString const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_Rotate(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    double arg4 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "theta", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oddd:PyDrawnShape_Rotate",kwnames,&obj0,&arg2,&arg3,&arg4)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Rotate(arg2,arg3,arg4);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_SetClippingRect(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    wxRect *arg2 = 0 ;
+    wxRect temp2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "rect", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDrawnShape_SetClippingRect",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = &temp2;
+        if ( ! wxRect_helper(obj1, &arg2)) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetClippingRect((wxRect const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_SetDrawnBackgroundColour(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    wxColour *arg2 = 0 ;
+    wxColour temp2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "colour", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDrawnShape_SetDrawnBackgroundColour",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = &temp2;
+        if ( ! wxColour_helper(obj1, &arg2)) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetDrawnBackgroundColour((wxColour const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_SetDrawnBackgroundMode(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    int arg2 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "mode", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:PyDrawnShape_SetDrawnBackgroundMode",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetDrawnBackgroundMode(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_SetDrawnBrush(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    wxBrush *arg2 = (wxBrush *) 0 ;
+    bool arg3 = (bool) FALSE ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pen",(char *) "isOutline", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyDrawnShape_SetDrawnBrush",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        wxBrush* temp;
+        if (obj1) {
+            if (obj1 == Py_None) {
+                temp = NULL; 
+            }
+            else if (! wxPyConvertSwigPtr(obj1, (void **) &temp, wxT("wxBrush"))) {
+                PyErr_SetString(PyExc_TypeError, "Type error, expected wxBrush.");
+                return NULL;
+            }
+        }
+        if (temp)
+        arg2 = wxTheBrushList->FindOrCreateBrush(temp->GetColour(), temp->GetStyle());
+        else
+        arg2 = NULL;
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetDrawnBrush(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_SetDrawnFont(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    wxFont *arg2 = (wxFont *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "font", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDrawnShape_SetDrawnFont",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        wxFont* temp;
+        if (obj1) {
+            if (obj1 == Py_None) {
+                temp = NULL; 
+            }
+            else if (! wxPyConvertSwigPtr(obj1, (void **) &temp, wxT("wxFont"))) {
+                PyErr_SetString(PyExc_TypeError, "Type error, expected wxFont.");
+                return NULL;
+            }
+        }
+        if (temp)
+        arg2 = wxTheFontList->FindOrCreateFont(temp->GetPointSize(),
+        temp->GetFamily(),
+        temp->GetStyle(),
+        temp->GetWeight(),
+        temp->GetUnderlined(),
+        temp->GetFaceName(),
+        temp->GetEncoding());
+        else
+        arg2 = NULL;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetDrawnFont(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_SetDrawnPen(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    wxPen *arg2 = (wxPen *) 0 ;
+    bool arg3 = (bool) FALSE ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pen",(char *) "isOutline", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyDrawnShape_SetDrawnPen",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        wxPen* temp;
+        if (obj1) {
+            if (obj1 == Py_None) {
+                temp = NULL; 
+            }
+            else if (! wxPyConvertSwigPtr(obj1, (void **) &temp, wxT("wxPen"))) {
+                PyErr_SetString(PyExc_TypeError, "Type error, expected wxPen.");
+                return NULL;
+            }
+        }
+        if (temp)
+        arg2 = wxThePenList->FindOrCreatePen(temp->GetColour(),
+        temp->GetWidth(),
+        temp->GetStyle());
+        else
+        arg2 = NULL;
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetDrawnPen(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_SetDrawnTextColour(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    wxColour *arg2 = 0 ;
+    wxColour temp2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "colour", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDrawnShape_SetDrawnTextColour",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = &temp2;
+        if ( ! wxColour_helper(obj1, &arg2)) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetDrawnTextColour((wxColour const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_Scale(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "sx",(char *) "sy", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyDrawnShape_Scale",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Scale(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_SetSaveToFile(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    bool arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "save", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDrawnShape_SetSaveToFile",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetSaveToFile(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_Translate(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyDrawnShape_Translate",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Translate(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_base_OnDelete(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyDrawnShape_base_OnDelete",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDelete();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_base_OnDraw(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDrawnShape_base_OnDraw",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDraw(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_base_OnDrawContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDrawnShape_base_OnDrawContents",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawContents(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_base_OnDrawBranches(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    bool arg3 = (bool) FALSE ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "erase", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyDrawnShape_base_OnDrawBranches",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawBranches(*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_base_OnMoveLinks(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDrawnShape_base_OnMoveLinks",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMoveLinks(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_base_OnErase(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDrawnShape_base_OnErase",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnErase(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_base_OnEraseContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDrawnShape_base_OnEraseContents",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEraseContents(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_base_OnHighlight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDrawnShape_base_OnHighlight",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnHighlight(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_base_OnLeftClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyDrawnShape_base_OnLeftClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnLeftClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_base_OnLeftDoubleClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyDrawnShape_base_OnLeftDoubleClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnLeftDoubleClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_base_OnRightClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyDrawnShape_base_OnRightClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnRightClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_base_OnSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyDrawnShape_base_OnSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_base_OnMovePre(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    bool arg7 = (bool) True ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "old_x",(char *) "old_y",(char *) "display", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd|O:PyDrawnShape_base_OnMovePre",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6,&obj6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj6) {
+        arg7 = PyInt_AsLong(obj6) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->base_OnMovePre(*arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_base_OnMovePost(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    bool arg7 = (bool) True ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "old_x",(char *) "old_y",(char *) "display", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd|O:PyDrawnShape_base_OnMovePost",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6,&obj6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj6) {
+        arg7 = PyInt_AsLong(obj6) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMovePost(*arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_base_OnDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    bool arg2 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyDrawnShape_base_OnDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_base_OnBeginDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyDrawnShape_base_OnBeginDragLeft",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginDragLeft(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_base_OnEndDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyDrawnShape_base_OnEndDragLeft",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndDragLeft(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_base_OnDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    bool arg2 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyDrawnShape_base_OnDragRight",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDragRight(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_base_OnBeginDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyDrawnShape_base_OnBeginDragRight",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginDragRight(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_base_OnEndDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyDrawnShape_base_OnEndDragRight",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndDragRight(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_base_OnDrawOutline(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd:PyDrawnShape_base_OnDrawOutline",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawOutline(*arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_base_OnDrawControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDrawnShape_base_OnDrawControlPoints",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawControlPoints(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_base_OnEraseControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDrawnShape_base_OnEraseControlPoints",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEraseControlPoints(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_base_OnMoveLink(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    bool arg3 = (bool) True ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "moveControlPoints", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyDrawnShape_base_OnMoveLink",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMoveLink(*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_base_OnSizingDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    bool arg3 ;
+    double arg4 ;
+    double arg5 ;
+    int arg6 = (int) 0 ;
+    int arg7 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOOdd|ii:PyDrawnShape_base_OnSizingDragLeft",kwnames,&obj0,&obj1,&obj2,&arg4,&arg5,&arg6,&arg7)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg3 = PyInt_AsLong(obj2) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingDragLeft(arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_base_OnSizingBeginDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyDrawnShape_base_OnSizingBeginDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingBeginDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_base_OnSizingEndDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyDrawnShape_base_OnSizingEndDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingEndDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_base_OnBeginSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyDrawnShape_base_OnBeginSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDrawnShape_base_OnEndSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDrawnShape *arg1 = (wxPyDrawnShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyDrawnShape_base_OnEndSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDrawnShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * PyDrawnShape_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_wxPyDrawnShape, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_OGLConstraint(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    int arg1 ;
+    wxPyShape *arg2 = (wxPyShape *) 0 ;
+    PyObject *arg3 = (PyObject *) 0 ;
+    wxOGLConstraint *result;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "type",(char *) "constraining",(char *) "constrained", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"iOO:new_OGLConstraint",kwnames,&arg1,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg3 = obj2;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxOGLConstraint *)new_wxOGLConstraint(arg1,arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxObject(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_OGLConstraint_Evaluate(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxOGLConstraint *arg1 = (wxOGLConstraint *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:OGLConstraint_Evaluate",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxOGLConstraint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->Evaluate();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_OGLConstraint_SetSpacing(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxOGLConstraint *arg1 = (wxOGLConstraint *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:OGLConstraint_SetSpacing",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxOGLConstraint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetSpacing(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_OGLConstraint_Equals(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxOGLConstraint *arg1 = (wxOGLConstraint *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "a",(char *) "b", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:OGLConstraint_Equals",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxOGLConstraint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->Equals(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * OGLConstraint_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_wxOGLConstraint, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_PyCompositeShape(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *result;
+    char *kwnames[] = {
+        NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)":new_PyCompositeShape",kwnames)) goto fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyCompositeShape *)new wxPyCompositeShape();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxPyCompositeShape, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape__setCallbackInfo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    PyObject *arg2 = (PyObject *) 0 ;
+    PyObject *arg3 = (PyObject *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "self",(char *) "_class", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:PyCompositeShape__setCallbackInfo",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = obj1;
+    arg3 = obj2;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->_setCallbackInfo(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_AddChild(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    wxPyShape *arg2 = (wxPyShape *) 0 ;
+    wxPyShape *arg3 = (wxPyShape *) NULL ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "child",(char *) "addAfter", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyCompositeShape_AddChild",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (obj2) {
+        if ((SWIG_ConvertPtr(obj2,(void **) &arg3, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->AddChild(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_AddConstraint(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    wxOGLConstraint *arg2 = (wxOGLConstraint *) 0 ;
+    wxOGLConstraint *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "constraint", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyCompositeShape_AddConstraint",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxOGLConstraint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxOGLConstraint *)(arg1)->AddConstraint(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxObject(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_AddConstrainedShapes(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    int arg2 ;
+    wxPyShape *arg3 = (wxPyShape *) 0 ;
+    PyObject *arg4 = (PyObject *) 0 ;
+    wxOGLConstraint *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "type",(char *) "constraining",(char *) "constrained", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OiOO:PyCompositeShape_AddConstrainedShapes",kwnames,&obj0,&arg2,&obj2,&obj3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj2,(void **) &arg3, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg4 = obj3;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxOGLConstraint *)wxPyCompositeShape_AddConstrainedShapes(arg1,arg2,arg3,arg4);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxObject(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_AddSimpleConstraint(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    int arg2 ;
+    wxPyShape *arg3 = (wxPyShape *) 0 ;
+    wxPyShape *arg4 = (wxPyShape *) 0 ;
+    wxOGLConstraint *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "type",(char *) "constraining",(char *) "constrained", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OiOO:PyCompositeShape_AddSimpleConstraint",kwnames,&obj0,&arg2,&obj2,&obj3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj2,(void **) &arg3, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj3,(void **) &arg4, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxOGLConstraint *)(arg1)->AddConstraint(arg2,arg3,arg4);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxObject(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_CalculateSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyCompositeShape_CalculateSize",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->CalculateSize();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_ContainsDivision(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    wxPyDivisionShape *arg2 = (wxPyDivisionShape *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "division", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyCompositeShape_ContainsDivision",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->ContainsDivision(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_DeleteConstraint(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    wxOGLConstraint *arg2 = (wxOGLConstraint *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "constraint", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyCompositeShape_DeleteConstraint",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxOGLConstraint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DeleteConstraint(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_DeleteConstraintsInvolvingChild(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    wxPyShape *arg2 = (wxPyShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "child", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyCompositeShape_DeleteConstraintsInvolvingChild",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DeleteConstraintsInvolvingChild(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_FindContainerImage(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    wxPyShape *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyCompositeShape_FindContainerImage",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyShape *)(arg1)->FindContainerImage();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxShapeEvtHandler(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_GetConstraints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    PyObject *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyCompositeShape_GetConstraints",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (PyObject *)wxPyCompositeShape_GetConstraints(arg1);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = result;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_GetDivisions(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    PyObject *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyCompositeShape_GetDivisions",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (PyObject *)wxPyCompositeShape_GetDivisions(arg1);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = result;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_MakeContainer(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyCompositeShape_MakeContainer",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->MakeContainer();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_Recompute(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyCompositeShape_Recompute",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->Recompute();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_RemoveChild(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    wxPyShape *arg2 = (wxPyShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "child", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyCompositeShape_RemoveChild",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->RemoveChild(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_base_OnDelete(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyCompositeShape_base_OnDelete",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDelete();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_base_OnDraw(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyCompositeShape_base_OnDraw",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDraw(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_base_OnDrawContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyCompositeShape_base_OnDrawContents",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawContents(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_base_OnDrawBranches(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    bool arg3 = (bool) FALSE ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "erase", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyCompositeShape_base_OnDrawBranches",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawBranches(*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_base_OnMoveLinks(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyCompositeShape_base_OnMoveLinks",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMoveLinks(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_base_OnErase(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyCompositeShape_base_OnErase",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnErase(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_base_OnEraseContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyCompositeShape_base_OnEraseContents",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEraseContents(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_base_OnHighlight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyCompositeShape_base_OnHighlight",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnHighlight(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_base_OnLeftClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyCompositeShape_base_OnLeftClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnLeftClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_base_OnLeftDoubleClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyCompositeShape_base_OnLeftDoubleClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnLeftDoubleClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_base_OnRightClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyCompositeShape_base_OnRightClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnRightClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_base_OnSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyCompositeShape_base_OnSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_base_OnMovePre(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    bool arg7 = (bool) True ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "old_x",(char *) "old_y",(char *) "display", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd|O:PyCompositeShape_base_OnMovePre",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6,&obj6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj6) {
+        arg7 = PyInt_AsLong(obj6) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->base_OnMovePre(*arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_base_OnMovePost(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    bool arg7 = (bool) True ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "old_x",(char *) "old_y",(char *) "display", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd|O:PyCompositeShape_base_OnMovePost",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6,&obj6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj6) {
+        arg7 = PyInt_AsLong(obj6) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMovePost(*arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_base_OnDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    bool arg2 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyCompositeShape_base_OnDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_base_OnBeginDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyCompositeShape_base_OnBeginDragLeft",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginDragLeft(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_base_OnEndDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyCompositeShape_base_OnEndDragLeft",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndDragLeft(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_base_OnDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    bool arg2 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyCompositeShape_base_OnDragRight",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDragRight(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_base_OnBeginDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyCompositeShape_base_OnBeginDragRight",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginDragRight(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_base_OnEndDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyCompositeShape_base_OnEndDragRight",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndDragRight(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_base_OnDrawOutline(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd:PyCompositeShape_base_OnDrawOutline",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawOutline(*arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_base_OnDrawControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyCompositeShape_base_OnDrawControlPoints",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawControlPoints(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_base_OnEraseControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyCompositeShape_base_OnEraseControlPoints",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEraseControlPoints(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_base_OnMoveLink(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    bool arg3 = (bool) True ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "moveControlPoints", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyCompositeShape_base_OnMoveLink",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMoveLink(*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_base_OnSizingDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    bool arg3 ;
+    double arg4 ;
+    double arg5 ;
+    int arg6 = (int) 0 ;
+    int arg7 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOOdd|ii:PyCompositeShape_base_OnSizingDragLeft",kwnames,&obj0,&obj1,&obj2,&arg4,&arg5,&arg6,&arg7)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg3 = PyInt_AsLong(obj2) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingDragLeft(arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_base_OnSizingBeginDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyCompositeShape_base_OnSizingBeginDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingBeginDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_base_OnSizingEndDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyCompositeShape_base_OnSizingEndDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingEndDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_base_OnBeginSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyCompositeShape_base_OnBeginSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCompositeShape_base_OnEndSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCompositeShape *arg1 = (wxPyCompositeShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyCompositeShape_base_OnEndSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCompositeShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * PyCompositeShape_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_wxPyCompositeShape, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_PyDividedShape(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    double arg1 = (double) 0.0 ;
+    double arg2 = (double) 0.0 ;
+    wxPyDividedShape *result;
+    char *kwnames[] = {
+        (char *) "width",(char *) "height", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"|dd:new_PyDividedShape",kwnames,&arg1,&arg2)) goto fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyDividedShape *)new wxPyDividedShape(arg1,arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxPyDividedShape, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDividedShape__setCallbackInfo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDividedShape *arg1 = (wxPyDividedShape *) 0 ;
+    PyObject *arg2 = (PyObject *) 0 ;
+    PyObject *arg3 = (PyObject *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "self",(char *) "_class", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:PyDividedShape__setCallbackInfo",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDividedShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = obj1;
+    arg3 = obj2;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->_setCallbackInfo(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDividedShape_EditRegions(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDividedShape *arg1 = (wxPyDividedShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyDividedShape_EditRegions",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDividedShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->EditRegions();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDividedShape_SetRegionSizes(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDividedShape *arg1 = (wxPyDividedShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyDividedShape_SetRegionSizes",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDividedShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetRegionSizes();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDividedShape_base_OnDelete(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDividedShape *arg1 = (wxPyDividedShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyDividedShape_base_OnDelete",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDividedShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDelete();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDividedShape_base_OnDraw(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDividedShape *arg1 = (wxPyDividedShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDividedShape_base_OnDraw",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDividedShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDraw(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDividedShape_base_OnDrawContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDividedShape *arg1 = (wxPyDividedShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDividedShape_base_OnDrawContents",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDividedShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawContents(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDividedShape_base_OnDrawBranches(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDividedShape *arg1 = (wxPyDividedShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    bool arg3 = (bool) FALSE ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "erase", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyDividedShape_base_OnDrawBranches",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDividedShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawBranches(*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDividedShape_base_OnMoveLinks(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDividedShape *arg1 = (wxPyDividedShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDividedShape_base_OnMoveLinks",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDividedShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMoveLinks(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDividedShape_base_OnErase(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDividedShape *arg1 = (wxPyDividedShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDividedShape_base_OnErase",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDividedShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnErase(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDividedShape_base_OnEraseContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDividedShape *arg1 = (wxPyDividedShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDividedShape_base_OnEraseContents",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDividedShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEraseContents(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDividedShape_base_OnHighlight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDividedShape *arg1 = (wxPyDividedShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDividedShape_base_OnHighlight",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDividedShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnHighlight(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDividedShape_base_OnLeftClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDividedShape *arg1 = (wxPyDividedShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyDividedShape_base_OnLeftClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDividedShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnLeftClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDividedShape_base_OnLeftDoubleClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDividedShape *arg1 = (wxPyDividedShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyDividedShape_base_OnLeftDoubleClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDividedShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnLeftDoubleClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDividedShape_base_OnRightClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDividedShape *arg1 = (wxPyDividedShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyDividedShape_base_OnRightClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDividedShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnRightClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDividedShape_base_OnSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDividedShape *arg1 = (wxPyDividedShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyDividedShape_base_OnSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDividedShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDividedShape_base_OnMovePre(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDividedShape *arg1 = (wxPyDividedShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    bool arg7 = (bool) True ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "old_x",(char *) "old_y",(char *) "display", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd|O:PyDividedShape_base_OnMovePre",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6,&obj6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDividedShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj6) {
+        arg7 = PyInt_AsLong(obj6) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->base_OnMovePre(*arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDividedShape_base_OnMovePost(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDividedShape *arg1 = (wxPyDividedShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    bool arg7 = (bool) True ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "old_x",(char *) "old_y",(char *) "display", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd|O:PyDividedShape_base_OnMovePost",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6,&obj6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDividedShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj6) {
+        arg7 = PyInt_AsLong(obj6) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMovePost(*arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDividedShape_base_OnDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDividedShape *arg1 = (wxPyDividedShape *) 0 ;
+    bool arg2 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyDividedShape_base_OnDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDividedShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDividedShape_base_OnBeginDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDividedShape *arg1 = (wxPyDividedShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyDividedShape_base_OnBeginDragLeft",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDividedShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginDragLeft(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDividedShape_base_OnEndDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDividedShape *arg1 = (wxPyDividedShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyDividedShape_base_OnEndDragLeft",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDividedShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndDragLeft(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDividedShape_base_OnDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDividedShape *arg1 = (wxPyDividedShape *) 0 ;
+    bool arg2 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyDividedShape_base_OnDragRight",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDividedShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDragRight(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDividedShape_base_OnBeginDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDividedShape *arg1 = (wxPyDividedShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyDividedShape_base_OnBeginDragRight",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDividedShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginDragRight(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDividedShape_base_OnEndDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDividedShape *arg1 = (wxPyDividedShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyDividedShape_base_OnEndDragRight",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDividedShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndDragRight(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDividedShape_base_OnDrawOutline(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDividedShape *arg1 = (wxPyDividedShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd:PyDividedShape_base_OnDrawOutline",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDividedShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawOutline(*arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDividedShape_base_OnDrawControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDividedShape *arg1 = (wxPyDividedShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDividedShape_base_OnDrawControlPoints",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDividedShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawControlPoints(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDividedShape_base_OnEraseControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDividedShape *arg1 = (wxPyDividedShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDividedShape_base_OnEraseControlPoints",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDividedShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEraseControlPoints(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDividedShape_base_OnMoveLink(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDividedShape *arg1 = (wxPyDividedShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    bool arg3 = (bool) True ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "moveControlPoints", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyDividedShape_base_OnMoveLink",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDividedShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMoveLink(*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDividedShape_base_OnSizingDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDividedShape *arg1 = (wxPyDividedShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    bool arg3 ;
+    double arg4 ;
+    double arg5 ;
+    int arg6 = (int) 0 ;
+    int arg7 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOOdd|ii:PyDividedShape_base_OnSizingDragLeft",kwnames,&obj0,&obj1,&obj2,&arg4,&arg5,&arg6,&arg7)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDividedShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg3 = PyInt_AsLong(obj2) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingDragLeft(arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDividedShape_base_OnSizingBeginDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDividedShape *arg1 = (wxPyDividedShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyDividedShape_base_OnSizingBeginDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDividedShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingBeginDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDividedShape_base_OnSizingEndDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDividedShape *arg1 = (wxPyDividedShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyDividedShape_base_OnSizingEndDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDividedShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingEndDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDividedShape_base_OnBeginSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDividedShape *arg1 = (wxPyDividedShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyDividedShape_base_OnBeginSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDividedShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDividedShape_base_OnEndSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDividedShape *arg1 = (wxPyDividedShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyDividedShape_base_OnEndSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDividedShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * PyDividedShape_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_wxPyDividedShape, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_PyDivisionShape(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *result;
+    char *kwnames[] = {
+        NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)":new_PyDivisionShape",kwnames)) goto fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyDivisionShape *)new wxPyDivisionShape();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxShapeEvtHandler(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape__setCallbackInfo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    PyObject *arg2 = (PyObject *) 0 ;
+    PyObject *arg3 = (PyObject *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "self",(char *) "_class", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:PyDivisionShape__setCallbackInfo",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = obj1;
+    arg3 = obj2;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->_setCallbackInfo(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_AdjustBottom(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    double arg2 ;
+    bool arg3 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "bottom",(char *) "test", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OdO:PyDivisionShape_AdjustBottom",kwnames,&obj0,&arg2,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg3 = PyInt_AsLong(obj2) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->AdjustBottom(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_AdjustLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    double arg2 ;
+    bool arg3 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "left",(char *) "test", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OdO:PyDivisionShape_AdjustLeft",kwnames,&obj0,&arg2,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg3 = PyInt_AsLong(obj2) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->AdjustLeft(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_AdjustRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    double arg2 ;
+    bool arg3 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "right",(char *) "test", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OdO:PyDivisionShape_AdjustRight",kwnames,&obj0,&arg2,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg3 = PyInt_AsLong(obj2) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->AdjustRight(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_AdjustTop(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    double arg2 ;
+    bool arg3 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "top",(char *) "test", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OdO:PyDivisionShape_AdjustTop",kwnames,&obj0,&arg2,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg3 = PyInt_AsLong(obj2) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->AdjustTop(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_Divide(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    int arg2 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "direction", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:PyDivisionShape_Divide",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Divide(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_EditEdge(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    int arg2 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "side", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:PyDivisionShape_EditEdge",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->EditEdge(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_GetBottomSide(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    wxPyDivisionShape *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyDivisionShape_GetBottomSide",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyDivisionShape *)(arg1)->GetBottomSide();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxShapeEvtHandler(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_GetHandleSide(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyDivisionShape_GetHandleSide",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)(arg1)->GetHandleSide();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_GetLeftSide(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    wxPyDivisionShape *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyDivisionShape_GetLeftSide",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyDivisionShape *)(arg1)->GetLeftSide();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxShapeEvtHandler(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_GetLeftSideColour(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    wxString result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyDivisionShape_GetLeftSideColour",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (arg1)->GetLeftSideColour();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+#if wxUSE_UNICODE
+        resultobj = PyUnicode_FromWideChar((&result)->c_str(), (&result)->Len());
+#else
+        resultobj = PyString_FromStringAndSize((&result)->c_str(), (&result)->Len());
+#endif
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_GetLeftSidePen(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    wxPen *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyDivisionShape_GetLeftSidePen",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPen *)(arg1)->GetLeftSidePen();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxPen, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_GetRightSide(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    wxPyDivisionShape *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyDivisionShape_GetRightSide",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyDivisionShape *)(arg1)->GetRightSide();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxShapeEvtHandler(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_GetTopSide(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    wxPyDivisionShape *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyDivisionShape_GetTopSide",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyDivisionShape *)(arg1)->GetTopSide();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxShapeEvtHandler(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_GetTopSidePen(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    wxPen *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyDivisionShape_GetTopSidePen",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPen *)(arg1)->GetTopSidePen();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxPen, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_ResizeAdjoining(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    int arg2 ;
+    double arg3 ;
+    bool arg4 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj3 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "side",(char *) "newPos",(char *) "test", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OidO:PyDivisionShape_ResizeAdjoining",kwnames,&obj0,&arg2,&arg3,&obj3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg4 = PyInt_AsLong(obj3) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->ResizeAdjoining(arg2,arg3,arg4);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_PopupMenu(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyDivisionShape_PopupMenu",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->PopupMenu(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_SetBottomSide(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    wxPyDivisionShape *arg2 = (wxPyDivisionShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "shape", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDivisionShape_SetBottomSide",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetBottomSide(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_SetHandleSide(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    int arg2 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "side", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:PyDivisionShape_SetHandleSide",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetHandleSide(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_SetLeftSide(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    wxPyDivisionShape *arg2 = (wxPyDivisionShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "shape", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDivisionShape_SetLeftSide",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetLeftSide(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_SetLeftSideColour(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    wxString *arg2 = 0 ;
+    bool temp2 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "colour", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDivisionShape_SetLeftSideColour",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = wxString_in_helper(obj1);
+        if (arg2 == NULL) SWIG_fail;
+        temp2 = True;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetLeftSideColour((wxString const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_SetLeftSidePen(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    wxPen *arg2 = (wxPen *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pen", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDivisionShape_SetLeftSidePen",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        wxPen* temp;
+        if (obj1) {
+            if (obj1 == Py_None) {
+                temp = NULL; 
+            }
+            else if (! wxPyConvertSwigPtr(obj1, (void **) &temp, wxT("wxPen"))) {
+                PyErr_SetString(PyExc_TypeError, "Type error, expected wxPen.");
+                return NULL;
+            }
+        }
+        if (temp)
+        arg2 = wxThePenList->FindOrCreatePen(temp->GetColour(),
+        temp->GetWidth(),
+        temp->GetStyle());
+        else
+        arg2 = NULL;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetLeftSidePen(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_SetRightSide(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    wxPyDivisionShape *arg2 = (wxPyDivisionShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "shape", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDivisionShape_SetRightSide",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetRightSide(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_SetTopSide(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    wxPyDivisionShape *arg2 = (wxPyDivisionShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "shape", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDivisionShape_SetTopSide",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetTopSide(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_SetTopSideColour(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    wxString *arg2 = 0 ;
+    bool temp2 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "colour", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDivisionShape_SetTopSideColour",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = wxString_in_helper(obj1);
+        if (arg2 == NULL) SWIG_fail;
+        temp2 = True;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetTopSideColour((wxString const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_SetTopSidePen(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    wxPen *arg2 = (wxPen *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pen", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDivisionShape_SetTopSidePen",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        wxPen* temp;
+        if (obj1) {
+            if (obj1 == Py_None) {
+                temp = NULL; 
+            }
+            else if (! wxPyConvertSwigPtr(obj1, (void **) &temp, wxT("wxPen"))) {
+                PyErr_SetString(PyExc_TypeError, "Type error, expected wxPen.");
+                return NULL;
+            }
+        }
+        if (temp)
+        arg2 = wxThePenList->FindOrCreatePen(temp->GetColour(),
+        temp->GetWidth(),
+        temp->GetStyle());
+        else
+        arg2 = NULL;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetTopSidePen(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_base_OnDelete(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyDivisionShape_base_OnDelete",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDelete();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_base_OnDraw(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDivisionShape_base_OnDraw",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDraw(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_base_OnDrawContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDivisionShape_base_OnDrawContents",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawContents(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_base_OnDrawBranches(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    bool arg3 = (bool) FALSE ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "erase", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyDivisionShape_base_OnDrawBranches",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawBranches(*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_base_OnMoveLinks(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDivisionShape_base_OnMoveLinks",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMoveLinks(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_base_OnErase(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDivisionShape_base_OnErase",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnErase(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_base_OnEraseContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDivisionShape_base_OnEraseContents",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEraseContents(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_base_OnHighlight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDivisionShape_base_OnHighlight",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnHighlight(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_base_OnLeftClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyDivisionShape_base_OnLeftClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnLeftClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_base_OnLeftDoubleClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyDivisionShape_base_OnLeftDoubleClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnLeftDoubleClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_base_OnRightClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyDivisionShape_base_OnRightClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnRightClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_base_OnSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyDivisionShape_base_OnSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_base_OnMovePre(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    bool arg7 = (bool) True ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "old_x",(char *) "old_y",(char *) "display", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd|O:PyDivisionShape_base_OnMovePre",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6,&obj6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj6) {
+        arg7 = PyInt_AsLong(obj6) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->base_OnMovePre(*arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_base_OnMovePost(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    bool arg7 = (bool) True ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "old_x",(char *) "old_y",(char *) "display", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd|O:PyDivisionShape_base_OnMovePost",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6,&obj6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj6) {
+        arg7 = PyInt_AsLong(obj6) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMovePost(*arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_base_OnDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    bool arg2 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyDivisionShape_base_OnDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_base_OnBeginDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyDivisionShape_base_OnBeginDragLeft",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginDragLeft(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_base_OnEndDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyDivisionShape_base_OnEndDragLeft",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndDragLeft(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_base_OnDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    bool arg2 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyDivisionShape_base_OnDragRight",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDragRight(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_base_OnBeginDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyDivisionShape_base_OnBeginDragRight",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginDragRight(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_base_OnEndDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyDivisionShape_base_OnEndDragRight",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndDragRight(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_base_OnDrawOutline(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd:PyDivisionShape_base_OnDrawOutline",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawOutline(*arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_base_OnDrawControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDivisionShape_base_OnDrawControlPoints",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawControlPoints(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_base_OnEraseControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyDivisionShape_base_OnEraseControlPoints",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEraseControlPoints(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_base_OnMoveLink(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    bool arg3 = (bool) True ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "moveControlPoints", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyDivisionShape_base_OnMoveLink",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMoveLink(*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_base_OnSizingDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    bool arg3 ;
+    double arg4 ;
+    double arg5 ;
+    int arg6 = (int) 0 ;
+    int arg7 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOOdd|ii:PyDivisionShape_base_OnSizingDragLeft",kwnames,&obj0,&obj1,&obj2,&arg4,&arg5,&arg6,&arg7)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg3 = PyInt_AsLong(obj2) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingDragLeft(arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_base_OnSizingBeginDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyDivisionShape_base_OnSizingBeginDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingBeginDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_base_OnSizingEndDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyDivisionShape_base_OnSizingEndDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingEndDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_base_OnBeginSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyDivisionShape_base_OnBeginSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyDivisionShape_base_OnEndSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyDivisionShape *arg1 = (wxPyDivisionShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyDivisionShape_base_OnEndSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyDivisionShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * PyDivisionShape_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_wxPyDivisionShape, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_PyEllipseShape(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    double arg1 = (double) 0.0 ;
+    double arg2 = (double) 0.0 ;
+    wxPyEllipseShape *result;
+    char *kwnames[] = {
+        (char *) "width",(char *) "height", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"|dd:new_PyEllipseShape",kwnames,&arg1,&arg2)) goto fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyEllipseShape *)new wxPyEllipseShape(arg1,arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxPyEllipseShape, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyEllipseShape__setCallbackInfo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyEllipseShape *arg1 = (wxPyEllipseShape *) 0 ;
+    PyObject *arg2 = (PyObject *) 0 ;
+    PyObject *arg3 = (PyObject *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "self",(char *) "_class", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:PyEllipseShape__setCallbackInfo",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyEllipseShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = obj1;
+    arg3 = obj2;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->_setCallbackInfo(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyEllipseShape_base_OnDraw(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyEllipseShape *arg1 = (wxPyEllipseShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyEllipseShape_base_OnDraw",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyEllipseShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDraw(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyEllipseShape_base_OnDrawContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyEllipseShape *arg1 = (wxPyEllipseShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyEllipseShape_base_OnDrawContents",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyEllipseShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawContents(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyEllipseShape_base_OnDrawBranches(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyEllipseShape *arg1 = (wxPyEllipseShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    bool arg3 = (bool) FALSE ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "erase", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyEllipseShape_base_OnDrawBranches",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyEllipseShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawBranches(*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyEllipseShape_base_OnMoveLinks(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyEllipseShape *arg1 = (wxPyEllipseShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyEllipseShape_base_OnMoveLinks",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyEllipseShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMoveLinks(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyEllipseShape_base_OnErase(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyEllipseShape *arg1 = (wxPyEllipseShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyEllipseShape_base_OnErase",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyEllipseShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnErase(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyEllipseShape_base_OnEraseContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyEllipseShape *arg1 = (wxPyEllipseShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyEllipseShape_base_OnEraseContents",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyEllipseShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEraseContents(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyEllipseShape_base_OnHighlight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyEllipseShape *arg1 = (wxPyEllipseShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyEllipseShape_base_OnHighlight",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyEllipseShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnHighlight(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyEllipseShape_base_OnLeftClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyEllipseShape *arg1 = (wxPyEllipseShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyEllipseShape_base_OnLeftClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyEllipseShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnLeftClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyEllipseShape_base_OnLeftDoubleClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyEllipseShape *arg1 = (wxPyEllipseShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyEllipseShape_base_OnLeftDoubleClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyEllipseShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnLeftDoubleClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyEllipseShape_base_OnRightClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyEllipseShape *arg1 = (wxPyEllipseShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyEllipseShape_base_OnRightClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyEllipseShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnRightClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyEllipseShape_base_OnSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyEllipseShape *arg1 = (wxPyEllipseShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyEllipseShape_base_OnSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyEllipseShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyEllipseShape_base_OnMovePre(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyEllipseShape *arg1 = (wxPyEllipseShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    bool arg7 = (bool) True ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "old_x",(char *) "old_y",(char *) "display", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd|O:PyEllipseShape_base_OnMovePre",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6,&obj6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyEllipseShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj6) {
+        arg7 = PyInt_AsLong(obj6) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->base_OnMovePre(*arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyEllipseShape_base_OnMovePost(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyEllipseShape *arg1 = (wxPyEllipseShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    bool arg7 = (bool) True ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "old_x",(char *) "old_y",(char *) "display", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd|O:PyEllipseShape_base_OnMovePost",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6,&obj6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyEllipseShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj6) {
+        arg7 = PyInt_AsLong(obj6) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMovePost(*arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyEllipseShape_base_OnDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyEllipseShape *arg1 = (wxPyEllipseShape *) 0 ;
+    bool arg2 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyEllipseShape_base_OnDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyEllipseShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyEllipseShape_base_OnBeginDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyEllipseShape *arg1 = (wxPyEllipseShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyEllipseShape_base_OnBeginDragLeft",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyEllipseShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginDragLeft(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyEllipseShape_base_OnEndDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyEllipseShape *arg1 = (wxPyEllipseShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyEllipseShape_base_OnEndDragLeft",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyEllipseShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndDragLeft(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyEllipseShape_base_OnDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyEllipseShape *arg1 = (wxPyEllipseShape *) 0 ;
+    bool arg2 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyEllipseShape_base_OnDragRight",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyEllipseShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDragRight(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyEllipseShape_base_OnBeginDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyEllipseShape *arg1 = (wxPyEllipseShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyEllipseShape_base_OnBeginDragRight",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyEllipseShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginDragRight(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyEllipseShape_base_OnEndDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyEllipseShape *arg1 = (wxPyEllipseShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyEllipseShape_base_OnEndDragRight",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyEllipseShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndDragRight(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyEllipseShape_base_OnDrawOutline(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyEllipseShape *arg1 = (wxPyEllipseShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd:PyEllipseShape_base_OnDrawOutline",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyEllipseShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawOutline(*arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyEllipseShape_base_OnDrawControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyEllipseShape *arg1 = (wxPyEllipseShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyEllipseShape_base_OnDrawControlPoints",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyEllipseShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawControlPoints(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyEllipseShape_base_OnEraseControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyEllipseShape *arg1 = (wxPyEllipseShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyEllipseShape_base_OnEraseControlPoints",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyEllipseShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEraseControlPoints(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyEllipseShape_base_OnMoveLink(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyEllipseShape *arg1 = (wxPyEllipseShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    bool arg3 = (bool) True ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "moveControlPoints", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyEllipseShape_base_OnMoveLink",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyEllipseShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMoveLink(*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyEllipseShape_base_OnSizingDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyEllipseShape *arg1 = (wxPyEllipseShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    bool arg3 ;
+    double arg4 ;
+    double arg5 ;
+    int arg6 = (int) 0 ;
+    int arg7 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOOdd|ii:PyEllipseShape_base_OnSizingDragLeft",kwnames,&obj0,&obj1,&obj2,&arg4,&arg5,&arg6,&arg7)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyEllipseShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg3 = PyInt_AsLong(obj2) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingDragLeft(arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyEllipseShape_base_OnSizingBeginDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyEllipseShape *arg1 = (wxPyEllipseShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyEllipseShape_base_OnSizingBeginDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyEllipseShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingBeginDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyEllipseShape_base_OnSizingEndDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyEllipseShape *arg1 = (wxPyEllipseShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyEllipseShape_base_OnSizingEndDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyEllipseShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingEndDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyEllipseShape_base_OnBeginSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyEllipseShape *arg1 = (wxPyEllipseShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyEllipseShape_base_OnBeginSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyEllipseShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyEllipseShape_base_OnEndSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyEllipseShape *arg1 = (wxPyEllipseShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyEllipseShape_base_OnEndSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyEllipseShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * PyEllipseShape_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_wxPyEllipseShape, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_PyCircleShape(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    double arg1 = (double) 0.0 ;
+    wxPyCircleShape *result;
+    char *kwnames[] = {
+        (char *) "width", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"|d:new_PyCircleShape",kwnames,&arg1)) goto fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyCircleShape *)new wxPyCircleShape(arg1);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxPyCircleShape, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCircleShape__setCallbackInfo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCircleShape *arg1 = (wxPyCircleShape *) 0 ;
+    PyObject *arg2 = (PyObject *) 0 ;
+    PyObject *arg3 = (PyObject *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "self",(char *) "_class", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:PyCircleShape__setCallbackInfo",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCircleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = obj1;
+    arg3 = obj2;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->_setCallbackInfo(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCircleShape_base_OnDraw(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCircleShape *arg1 = (wxPyCircleShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyCircleShape_base_OnDraw",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCircleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDraw(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCircleShape_base_OnDrawContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCircleShape *arg1 = (wxPyCircleShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyCircleShape_base_OnDrawContents",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCircleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawContents(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCircleShape_base_OnDrawBranches(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCircleShape *arg1 = (wxPyCircleShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    bool arg3 = (bool) FALSE ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "erase", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyCircleShape_base_OnDrawBranches",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCircleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawBranches(*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCircleShape_base_OnMoveLinks(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCircleShape *arg1 = (wxPyCircleShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyCircleShape_base_OnMoveLinks",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCircleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMoveLinks(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCircleShape_base_OnErase(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCircleShape *arg1 = (wxPyCircleShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyCircleShape_base_OnErase",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCircleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnErase(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCircleShape_base_OnEraseContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCircleShape *arg1 = (wxPyCircleShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyCircleShape_base_OnEraseContents",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCircleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEraseContents(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCircleShape_base_OnHighlight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCircleShape *arg1 = (wxPyCircleShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyCircleShape_base_OnHighlight",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCircleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnHighlight(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCircleShape_base_OnLeftClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCircleShape *arg1 = (wxPyCircleShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyCircleShape_base_OnLeftClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCircleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnLeftClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCircleShape_base_OnLeftDoubleClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCircleShape *arg1 = (wxPyCircleShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyCircleShape_base_OnLeftDoubleClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCircleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnLeftDoubleClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCircleShape_base_OnRightClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCircleShape *arg1 = (wxPyCircleShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyCircleShape_base_OnRightClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCircleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnRightClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCircleShape_base_OnSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCircleShape *arg1 = (wxPyCircleShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyCircleShape_base_OnSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCircleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCircleShape_base_OnMovePre(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCircleShape *arg1 = (wxPyCircleShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    bool arg7 = (bool) True ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "old_x",(char *) "old_y",(char *) "display", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd|O:PyCircleShape_base_OnMovePre",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6,&obj6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCircleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj6) {
+        arg7 = PyInt_AsLong(obj6) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->base_OnMovePre(*arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCircleShape_base_OnMovePost(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCircleShape *arg1 = (wxPyCircleShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    bool arg7 = (bool) True ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "old_x",(char *) "old_y",(char *) "display", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd|O:PyCircleShape_base_OnMovePost",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6,&obj6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCircleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj6) {
+        arg7 = PyInt_AsLong(obj6) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMovePost(*arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCircleShape_base_OnDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCircleShape *arg1 = (wxPyCircleShape *) 0 ;
+    bool arg2 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyCircleShape_base_OnDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCircleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCircleShape_base_OnBeginDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCircleShape *arg1 = (wxPyCircleShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyCircleShape_base_OnBeginDragLeft",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCircleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginDragLeft(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCircleShape_base_OnEndDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCircleShape *arg1 = (wxPyCircleShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyCircleShape_base_OnEndDragLeft",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCircleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndDragLeft(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCircleShape_base_OnDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCircleShape *arg1 = (wxPyCircleShape *) 0 ;
+    bool arg2 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyCircleShape_base_OnDragRight",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCircleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDragRight(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCircleShape_base_OnBeginDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCircleShape *arg1 = (wxPyCircleShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyCircleShape_base_OnBeginDragRight",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCircleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginDragRight(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCircleShape_base_OnEndDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCircleShape *arg1 = (wxPyCircleShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyCircleShape_base_OnEndDragRight",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCircleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndDragRight(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCircleShape_base_OnDrawOutline(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCircleShape *arg1 = (wxPyCircleShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd:PyCircleShape_base_OnDrawOutline",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCircleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawOutline(*arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCircleShape_base_OnDrawControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCircleShape *arg1 = (wxPyCircleShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyCircleShape_base_OnDrawControlPoints",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCircleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawControlPoints(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCircleShape_base_OnEraseControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCircleShape *arg1 = (wxPyCircleShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyCircleShape_base_OnEraseControlPoints",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCircleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEraseControlPoints(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCircleShape_base_OnMoveLink(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCircleShape *arg1 = (wxPyCircleShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    bool arg3 = (bool) True ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "moveControlPoints", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyCircleShape_base_OnMoveLink",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCircleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMoveLink(*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCircleShape_base_OnSizingDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCircleShape *arg1 = (wxPyCircleShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    bool arg3 ;
+    double arg4 ;
+    double arg5 ;
+    int arg6 = (int) 0 ;
+    int arg7 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOOdd|ii:PyCircleShape_base_OnSizingDragLeft",kwnames,&obj0,&obj1,&obj2,&arg4,&arg5,&arg6,&arg7)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCircleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg3 = PyInt_AsLong(obj2) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingDragLeft(arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCircleShape_base_OnSizingBeginDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCircleShape *arg1 = (wxPyCircleShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyCircleShape_base_OnSizingBeginDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCircleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingBeginDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCircleShape_base_OnSizingEndDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCircleShape *arg1 = (wxPyCircleShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyCircleShape_base_OnSizingEndDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCircleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingEndDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCircleShape_base_OnBeginSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCircleShape *arg1 = (wxPyCircleShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyCircleShape_base_OnBeginSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCircleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyCircleShape_base_OnEndSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyCircleShape *arg1 = (wxPyCircleShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyCircleShape_base_OnEndSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyCircleShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * PyCircleShape_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_wxPyCircleShape, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_ArrowHead(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    int arg1 = (int) 0 ;
+    int arg2 = (int) 0 ;
+    double arg3 = (double) 0.0 ;
+    double arg4 = (double) 0.0 ;
+    wxString const &arg5_defvalue = wxPyEmptyString ;
+    wxString *arg5 = (wxString *) &arg5_defvalue ;
+    wxPseudoMetaFile *arg6 = (wxPseudoMetaFile *) NULL ;
+    long arg7 = (long) -1 ;
+    wxArrowHead *result;
+    bool temp5 = False ;
+    PyObject * obj4 = 0 ;
+    PyObject * obj5 = 0 ;
+    char *kwnames[] = {
+        (char *) "type",(char *) "end",(char *) "size",(char *) "dist",(char *) "name",(char *) "mf",(char *) "arrowId", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"|iiddOOl:new_ArrowHead",kwnames,&arg1,&arg2,&arg3,&arg4,&obj4,&obj5,&arg7)) goto fail;
+    if (obj4) {
+        {
+            arg5 = wxString_in_helper(obj4);
+            if (arg5 == NULL) SWIG_fail;
+            temp5 = True;
+        }
+    }
+    if (obj5) {
+        if ((SWIG_ConvertPtr(obj5,(void **) &arg6, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxArrowHead *)new wxArrowHead(arg1,arg2,arg3,arg4,(wxString const &)*arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxObject(result); 
+    }
+    {
+        if (temp5)
+        delete arg5;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp5)
+        delete arg5;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_ArrowHead(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxArrowHead *arg1 = (wxArrowHead *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:delete_ArrowHead",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxArrowHead,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        delete arg1;
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ArrowHead__GetType(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxArrowHead *arg1 = (wxArrowHead *) 0 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:ArrowHead__GetType",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxArrowHead,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)(arg1)->_GetType();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ArrowHead_GetPosition(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxArrowHead *arg1 = (wxArrowHead *) 0 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:ArrowHead_GetPosition",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxArrowHead,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)(arg1)->GetPosition();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ArrowHead_SetPosition(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxArrowHead *arg1 = (wxArrowHead *) 0 ;
+    int arg2 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pos", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:ArrowHead_SetPosition",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxArrowHead,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetPosition(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ArrowHead_GetXOffset(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxArrowHead *arg1 = (wxArrowHead *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:ArrowHead_GetXOffset",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxArrowHead,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (double)(arg1)->GetXOffset();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyFloat_FromDouble(result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ArrowHead_GetYOffset(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxArrowHead *arg1 = (wxArrowHead *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:ArrowHead_GetYOffset",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxArrowHead,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (double)(arg1)->GetYOffset();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyFloat_FromDouble(result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ArrowHead_GetSpacing(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxArrowHead *arg1 = (wxArrowHead *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:ArrowHead_GetSpacing",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxArrowHead,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (double)(arg1)->GetSpacing();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyFloat_FromDouble(result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ArrowHead_GetSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxArrowHead *arg1 = (wxArrowHead *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:ArrowHead_GetSize",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxArrowHead,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (double)(arg1)->GetSize();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyFloat_FromDouble(result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ArrowHead_GetName(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxArrowHead *arg1 = (wxArrowHead *) 0 ;
+    wxString result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:ArrowHead_GetName",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxArrowHead,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (arg1)->GetName();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+#if wxUSE_UNICODE
+        resultobj = PyUnicode_FromWideChar((&result)->c_str(), (&result)->Len());
+#else
+        resultobj = PyString_FromStringAndSize((&result)->c_str(), (&result)->Len());
+#endif
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ArrowHead_SetXOffset(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxArrowHead *arg1 = (wxArrowHead *) 0 ;
+    double arg2 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Od:ArrowHead_SetXOffset",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxArrowHead,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetXOffset(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ArrowHead_SetYOffset(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxArrowHead *arg1 = (wxArrowHead *) 0 ;
+    double arg2 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "y", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Od:ArrowHead_SetYOffset",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxArrowHead,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetYOffset(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ArrowHead_GetMetaFile(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxArrowHead *arg1 = (wxArrowHead *) 0 ;
+    wxPseudoMetaFile *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:ArrowHead_GetMetaFile",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxArrowHead,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPseudoMetaFile *)(arg1)->GetMetaFile();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxObject(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ArrowHead_GetId(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxArrowHead *arg1 = (wxArrowHead *) 0 ;
+    long result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:ArrowHead_GetId",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxArrowHead,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (long)(arg1)->GetId();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ArrowHead_GetArrowEnd(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxArrowHead *arg1 = (wxArrowHead *) 0 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:ArrowHead_GetArrowEnd",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxArrowHead,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)(arg1)->GetArrowEnd();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ArrowHead_GetArrowSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxArrowHead *arg1 = (wxArrowHead *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:ArrowHead_GetArrowSize",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxArrowHead,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (double)(arg1)->GetArrowSize();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyFloat_FromDouble(result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ArrowHead_SetSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxArrowHead *arg1 = (wxArrowHead *) 0 ;
+    double arg2 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "size", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Od:ArrowHead_SetSize",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxArrowHead,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetSize(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ArrowHead_SetSpacing(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxArrowHead *arg1 = (wxArrowHead *) 0 ;
+    double arg2 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "sp", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Od:ArrowHead_SetSpacing",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxArrowHead,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetSpacing(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * ArrowHead_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_wxArrowHead, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_PyLineShape(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *result;
+    char *kwnames[] = {
+        NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)":new_PyLineShape",kwnames)) goto fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyLineShape *)new wxPyLineShape();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxPyLineShape, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape__setCallbackInfo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    PyObject *arg2 = (PyObject *) 0 ;
+    PyObject *arg3 = (PyObject *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "self",(char *) "_class", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:PyLineShape__setCallbackInfo",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = obj1;
+    arg3 = obj2;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->_setCallbackInfo(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_AddArrow(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    int arg2 ;
+    int arg3 = (int) ARROW_POSITION_END ;
+    double arg4 = (double) 10.0 ;
+    double arg5 = (double) 0.0 ;
+    wxString const &arg6_defvalue = wxPyEmptyString ;
+    wxString *arg6 = (wxString *) &arg6_defvalue ;
+    wxPseudoMetaFile *arg7 = (wxPseudoMetaFile *) NULL ;
+    long arg8 = (long) -1 ;
+    bool temp6 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj5 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "type",(char *) "end",(char *) "arrowSize",(char *) "xOffset",(char *) "name",(char *) "mf",(char *) "arrowId", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi|iddOOl:PyLineShape_AddArrow",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5,&obj5,&obj6,&arg8)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (obj5) {
+        {
+            arg6 = wxString_in_helper(obj5);
+            if (arg6 == NULL) SWIG_fail;
+            temp6 = True;
+        }
+    }
+    if (obj6) {
+        if ((SWIG_ConvertPtr(obj6,(void **) &arg7, SWIGTYPE_p_wxPseudoMetaFile,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->AddArrow(arg2,arg3,arg4,arg5,(wxString const &)*arg6,arg7,arg8);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        if (temp6)
+        delete arg6;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp6)
+        delete arg6;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_AddArrowOrdered(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    wxArrowHead *arg2 = (wxArrowHead *) 0 ;
+    PyObject *arg3 = (PyObject *) 0 ;
+    int arg4 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "arrow",(char *) "referenceList",(char *) "end", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOOi:PyLineShape_AddArrowOrdered",kwnames,&obj0,&obj1,&obj2,&arg4)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxArrowHead,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg3 = obj2;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        wxPyLineShape_AddArrowOrdered(arg1,arg2,arg3,arg4);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_ClearArrow(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    wxString *arg2 = 0 ;
+    bool result;
+    bool temp2 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "name", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyLineShape_ClearArrow",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = wxString_in_helper(obj1);
+        if (arg2 == NULL) SWIG_fail;
+        temp2 = True;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->ClearArrow((wxString const &)*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp2)
+        delete arg2;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_ClearArrowsAtPosition(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    int arg2 = (int) -1 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "position", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O|i:PyLineShape_ClearArrowsAtPosition",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->ClearArrowsAtPosition(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_DrawArrow(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    wxArrowHead *arg3 = (wxArrowHead *) 0 ;
+    double arg4 ;
+    bool arg5 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj4 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "arrow",(char *) "xOffset",(char *) "proportionalOffset", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOOdO:PyLineShape_DrawArrow",kwnames,&obj0,&obj1,&obj2,&arg4,&obj4)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if ((SWIG_ConvertPtr(obj2,(void **) &arg3, SWIGTYPE_p_wxArrowHead,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg5 = PyInt_AsLong(obj4) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DrawArrow(*arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_DeleteArrowHeadId(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    long arg2 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "arrowId", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Ol:PyLineShape_DeleteArrowHeadId",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->DeleteArrowHead(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_DeleteArrowHead(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    int arg2 ;
+    wxString *arg3 = 0 ;
+    bool result;
+    bool temp3 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "position",(char *) "name", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OiO:PyLineShape_DeleteArrowHead",kwnames,&obj0,&arg2,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg3 = wxString_in_helper(obj2);
+        if (arg3 == NULL) SWIG_fail;
+        temp3 = True;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->DeleteArrowHead(arg2,(wxString const &)*arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    {
+        if (temp3)
+        delete arg3;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp3)
+        delete arg3;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_DeleteLineControlPoint(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyLineShape_DeleteLineControlPoint",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->DeleteLineControlPoint();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_DrawArrows(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyLineShape_DrawArrows",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DrawArrows(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_DrawRegion(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    wxShapeRegion *arg3 = (wxShapeRegion *) 0 ;
+    double arg4 ;
+    double arg5 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "region",(char *) "x",(char *) "y", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOOdd:PyLineShape_DrawRegion",kwnames,&obj0,&obj1,&obj2,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if ((SWIG_ConvertPtr(obj2,(void **) &arg3, SWIGTYPE_p_wxShapeRegion,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DrawRegion(*arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_EraseRegion(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    wxShapeRegion *arg3 = (wxShapeRegion *) 0 ;
+    double arg4 ;
+    double arg5 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "region",(char *) "x",(char *) "y", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOOdd:PyLineShape_EraseRegion",kwnames,&obj0,&obj1,&obj2,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if ((SWIG_ConvertPtr(obj2,(void **) &arg3, SWIGTYPE_p_wxShapeRegion,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->EraseRegion(*arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_FindArrowHeadId(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    long arg2 ;
+    wxArrowHead *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "arrowId", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Ol:PyLineShape_FindArrowHeadId",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxArrowHead *)(arg1)->FindArrowHead(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxObject(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_FindArrowHead(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    int arg2 ;
+    wxString *arg3 = 0 ;
+    wxArrowHead *result;
+    bool temp3 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "position",(char *) "name", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OiO:PyLineShape_FindArrowHead",kwnames,&obj0,&arg2,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg3 = wxString_in_helper(obj2);
+        if (arg3 == NULL) SWIG_fail;
+        temp3 = True;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxArrowHead *)(arg1)->FindArrowHead(arg2,(wxString const &)*arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxObject(result); 
+    }
+    {
+        if (temp3)
+        delete arg3;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp3)
+        delete arg3;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_FindLineEndPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    double *arg2 = (double *) 0 ;
+    double *arg3 = (double *) 0 ;
+    double *arg4 = (double *) 0 ;
+    double *arg5 = (double *) 0 ;
+    double temp2 ;
+    double temp3 ;
+    double temp4 ;
+    double temp5 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    arg2 = &temp2;
+    arg3 = &temp3;
+    arg4 = &temp4;
+    arg5 = &temp5;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyLineShape_FindLineEndPoints",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->FindLineEndPoints(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        PyObject *o = PyFloat_FromDouble((double) (*arg2));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    {
+        PyObject *o = PyFloat_FromDouble((double) (*arg3));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    {
+        PyObject *o = PyFloat_FromDouble((double) (*arg4));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    {
+        PyObject *o = PyFloat_FromDouble((double) (*arg5));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_FindLinePosition(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyLineShape_FindLinePosition",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)(arg1)->FindLinePosition(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_FindMinimumWidth(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyLineShape_FindMinimumWidth",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (double)(arg1)->FindMinimumWidth();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyFloat_FromDouble(result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_FindNth(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    wxPyShape *arg2 = (wxPyShape *) 0 ;
+    int *arg3 = (int *) 0 ;
+    int *arg4 = (int *) 0 ;
+    bool arg5 ;
+    int temp3 ;
+    int temp4 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "image",(char *) "incoming", NULL 
+    };
+    
+    arg3 = &temp3;
+    arg4 = &temp4;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:PyLineShape_FindNth",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg5 = PyInt_AsLong(obj2) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->FindNth(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        PyObject *o = PyInt_FromLong((long) (*arg3));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    {
+        PyObject *o = PyInt_FromLong((long) (*arg4));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_GetAttachmentFrom(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyLineShape_GetAttachmentFrom",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)(arg1)->GetAttachmentFrom();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_GetAttachmentTo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyLineShape_GetAttachmentTo",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)(arg1)->GetAttachmentTo();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_GetEnds(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    double *arg2 = (double *) 0 ;
+    double *arg3 = (double *) 0 ;
+    double *arg4 = (double *) 0 ;
+    double *arg5 = (double *) 0 ;
+    double temp2 ;
+    double temp3 ;
+    double temp4 ;
+    double temp5 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    arg2 = &temp2;
+    arg3 = &temp3;
+    arg4 = &temp4;
+    arg5 = &temp5;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyLineShape_GetEnds",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->GetEnds(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        PyObject *o = PyFloat_FromDouble((double) (*arg2));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    {
+        PyObject *o = PyFloat_FromDouble((double) (*arg3));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    {
+        PyObject *o = PyFloat_FromDouble((double) (*arg4));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    {
+        PyObject *o = PyFloat_FromDouble((double) (*arg5));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_GetFrom(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    wxPyShape *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyLineShape_GetFrom",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyShape *)(arg1)->GetFrom();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxShapeEvtHandler(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_GetLabelPosition(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    int arg2 ;
+    double *arg3 = (double *) 0 ;
+    double *arg4 = (double *) 0 ;
+    double temp3 ;
+    double temp4 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "position", NULL 
+    };
+    
+    arg3 = &temp3;
+    arg4 = &temp4;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:PyLineShape_GetLabelPosition",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->GetLabelPosition(arg2,arg3,arg4);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        PyObject *o = PyFloat_FromDouble((double) (*arg3));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    {
+        PyObject *o = PyFloat_FromDouble((double) (*arg4));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_GetNextControlPoint(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    wxPyShape *arg2 = (wxPyShape *) 0 ;
+    wxRealPoint *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "shape", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyLineShape_GetNextControlPoint",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxRealPoint *)(arg1)->GetNextControlPoint(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxRealPoint, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_GetTo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    wxPyShape *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyLineShape_GetTo",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyShape *)(arg1)->GetTo();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxShapeEvtHandler(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_Initialise(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyLineShape_Initialise",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Initialise();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_InsertLineControlPoint(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    wxDC *arg2 = (wxDC *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyLineShape_InsertLineControlPoint",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->InsertLineControlPoint(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_IsEnd(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    wxPyShape *arg2 = (wxPyShape *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "shape", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyLineShape_IsEnd",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->IsEnd(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_IsSpline(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyLineShape_IsSpline",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->IsSpline();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_MakeLineControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    int arg2 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "n", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:PyLineShape_MakeLineControlPoints",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->MakeLineControlPoints(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_GetLineControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    PyObject *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyLineShape_GetLineControlPoints",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (PyObject *)wxPyLineShape_GetLineControlPoints(arg1);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = result;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_SetAttachmentFrom(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    int arg2 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "fromAttach", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:PyLineShape_SetAttachmentFrom",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetAttachmentFrom(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_SetAttachments(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    int arg2 ;
+    int arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "fromAttach",(char *) "toAttach", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oii:PyLineShape_SetAttachments",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetAttachments(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_SetAttachmentTo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    int arg2 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "toAttach", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:PyLineShape_SetAttachmentTo",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetAttachmentTo(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_SetEnds(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x1",(char *) "y1",(char *) "x2",(char *) "y2", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odddd:PyLineShape_SetEnds",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetEnds(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_SetFrom(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    wxPyShape *arg2 = (wxPyShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "object", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyLineShape_SetFrom",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetFrom(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_SetIgnoreOffsets(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    bool arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "ignore", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyLineShape_SetIgnoreOffsets",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetIgnoreOffsets(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_SetSpline(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    bool arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "spline", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyLineShape_SetSpline",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetSpline(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_SetTo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    wxPyShape *arg2 = (wxPyShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "object", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyLineShape_SetTo",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetTo(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_Straighten(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    wxDC *arg2 = (wxDC *) NULL ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O|O:PyLineShape_Straighten",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (obj1) {
+        if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Straighten(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_Unlink(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyLineShape_Unlink",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Unlink();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_base_OnDraw(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyLineShape_base_OnDraw",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDraw(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_base_OnDrawContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyLineShape_base_OnDrawContents",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawContents(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_base_OnDrawBranches(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    bool arg3 = (bool) FALSE ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "erase", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyLineShape_base_OnDrawBranches",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawBranches(*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_base_OnMoveLinks(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyLineShape_base_OnMoveLinks",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMoveLinks(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_base_OnErase(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyLineShape_base_OnErase",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnErase(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_base_OnEraseContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyLineShape_base_OnEraseContents",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEraseContents(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_base_OnHighlight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyLineShape_base_OnHighlight",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnHighlight(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_base_OnLeftClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyLineShape_base_OnLeftClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnLeftClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_base_OnLeftDoubleClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyLineShape_base_OnLeftDoubleClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnLeftDoubleClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_base_OnRightClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyLineShape_base_OnRightClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnRightClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_base_OnSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyLineShape_base_OnSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_base_OnMovePre(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    bool arg7 = (bool) True ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "old_x",(char *) "old_y",(char *) "display", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd|O:PyLineShape_base_OnMovePre",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6,&obj6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj6) {
+        arg7 = PyInt_AsLong(obj6) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->base_OnMovePre(*arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_base_OnMovePost(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    bool arg7 = (bool) True ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "old_x",(char *) "old_y",(char *) "display", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd|O:PyLineShape_base_OnMovePost",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6,&obj6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj6) {
+        arg7 = PyInt_AsLong(obj6) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMovePost(*arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_base_OnDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    bool arg2 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyLineShape_base_OnDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_base_OnBeginDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyLineShape_base_OnBeginDragLeft",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginDragLeft(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_base_OnEndDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyLineShape_base_OnEndDragLeft",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndDragLeft(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_base_OnDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    bool arg2 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyLineShape_base_OnDragRight",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDragRight(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_base_OnBeginDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyLineShape_base_OnBeginDragRight",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginDragRight(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_base_OnEndDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyLineShape_base_OnEndDragRight",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndDragRight(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_base_OnDrawOutline(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd:PyLineShape_base_OnDrawOutline",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawOutline(*arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_base_OnDrawControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyLineShape_base_OnDrawControlPoints",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawControlPoints(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_base_OnEraseControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyLineShape_base_OnEraseControlPoints",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEraseControlPoints(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_base_OnMoveLink(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    bool arg3 = (bool) True ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "moveControlPoints", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyLineShape_base_OnMoveLink",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMoveLink(*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_base_OnSizingDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    bool arg3 ;
+    double arg4 ;
+    double arg5 ;
+    int arg6 = (int) 0 ;
+    int arg7 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOOdd|ii:PyLineShape_base_OnSizingDragLeft",kwnames,&obj0,&obj1,&obj2,&arg4,&arg5,&arg6,&arg7)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg3 = PyInt_AsLong(obj2) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingDragLeft(arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_base_OnSizingBeginDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyLineShape_base_OnSizingBeginDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingBeginDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_base_OnSizingEndDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyLineShape_base_OnSizingEndDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingEndDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_base_OnBeginSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyLineShape_base_OnBeginSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyLineShape_base_OnEndSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyLineShape *arg1 = (wxPyLineShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyLineShape_base_OnEndSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyLineShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * PyLineShape_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_wxPyLineShape, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_PyPolygonShape(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *result;
+    char *kwnames[] = {
+        NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)":new_PyPolygonShape",kwnames)) goto fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyPolygonShape *)new wxPyPolygonShape();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxPyPolygonShape, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape__setCallbackInfo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    PyObject *arg2 = (PyObject *) 0 ;
+    PyObject *arg3 = (PyObject *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "self",(char *) "_class", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:PyPolygonShape__setCallbackInfo",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = obj1;
+    arg3 = obj2;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->_setCallbackInfo(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_Create(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    PyObject *arg2 = (PyObject *) 0 ;
+    PyObject *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "points", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyPolygonShape_Create",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = obj1;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (PyObject *)wxPyPolygonShape_Create(arg1,arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = result;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_AddPolygonPoint(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    int arg2 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pos", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O|i:PyPolygonShape_AddPolygonPoint",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->AddPolygonPoint(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_CalculatePolygonCentre(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyPolygonShape_CalculatePolygonCentre",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->CalculatePolygonCentre();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_DeletePolygonPoint(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    int arg2 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pos", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O|i:PyPolygonShape_DeletePolygonPoint",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DeletePolygonPoint(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_GetPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    PyObject *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyPolygonShape_GetPoints",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (PyObject *)wxPyPolygonShape_GetPoints(arg1);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = result;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_UpdateOriginalPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyPolygonShape_UpdateOriginalPoints",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->UpdateOriginalPoints();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_base_OnDraw(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyPolygonShape_base_OnDraw",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDraw(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_base_OnDrawContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyPolygonShape_base_OnDrawContents",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawContents(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_base_OnDrawBranches(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    bool arg3 = (bool) FALSE ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "erase", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyPolygonShape_base_OnDrawBranches",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawBranches(*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_base_OnMoveLinks(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyPolygonShape_base_OnMoveLinks",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMoveLinks(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_base_OnErase(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyPolygonShape_base_OnErase",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnErase(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_base_OnEraseContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyPolygonShape_base_OnEraseContents",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEraseContents(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_base_OnHighlight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyPolygonShape_base_OnHighlight",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnHighlight(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_base_OnLeftClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyPolygonShape_base_OnLeftClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnLeftClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_base_OnLeftDoubleClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyPolygonShape_base_OnLeftDoubleClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnLeftDoubleClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_base_OnRightClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyPolygonShape_base_OnRightClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnRightClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_base_OnSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyPolygonShape_base_OnSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_base_OnMovePre(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    bool arg7 = (bool) True ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "old_x",(char *) "old_y",(char *) "display", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd|O:PyPolygonShape_base_OnMovePre",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6,&obj6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj6) {
+        arg7 = PyInt_AsLong(obj6) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->base_OnMovePre(*arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_base_OnMovePost(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    bool arg7 = (bool) True ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "old_x",(char *) "old_y",(char *) "display", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd|O:PyPolygonShape_base_OnMovePost",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6,&obj6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj6) {
+        arg7 = PyInt_AsLong(obj6) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMovePost(*arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_base_OnDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    bool arg2 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyPolygonShape_base_OnDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_base_OnBeginDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyPolygonShape_base_OnBeginDragLeft",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginDragLeft(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_base_OnEndDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyPolygonShape_base_OnEndDragLeft",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndDragLeft(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_base_OnDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    bool arg2 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyPolygonShape_base_OnDragRight",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDragRight(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_base_OnBeginDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyPolygonShape_base_OnBeginDragRight",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginDragRight(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_base_OnEndDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyPolygonShape_base_OnEndDragRight",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndDragRight(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_base_OnDrawOutline(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd:PyPolygonShape_base_OnDrawOutline",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawOutline(*arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_base_OnDrawControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyPolygonShape_base_OnDrawControlPoints",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawControlPoints(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_base_OnEraseControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyPolygonShape_base_OnEraseControlPoints",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEraseControlPoints(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_base_OnMoveLink(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    bool arg3 = (bool) True ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "moveControlPoints", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyPolygonShape_base_OnMoveLink",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMoveLink(*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_base_OnSizingDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    bool arg3 ;
+    double arg4 ;
+    double arg5 ;
+    int arg6 = (int) 0 ;
+    int arg7 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOOdd|ii:PyPolygonShape_base_OnSizingDragLeft",kwnames,&obj0,&obj1,&obj2,&arg4,&arg5,&arg6,&arg7)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg3 = PyInt_AsLong(obj2) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingDragLeft(arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_base_OnSizingBeginDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyPolygonShape_base_OnSizingBeginDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingBeginDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_base_OnSizingEndDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyPolygonShape_base_OnSizingEndDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingEndDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_base_OnBeginSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyPolygonShape_base_OnBeginSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyPolygonShape_base_OnEndSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPolygonShape *arg1 = (wxPyPolygonShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyPolygonShape_base_OnEndSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPolygonShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * PyPolygonShape_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_wxPyPolygonShape, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_PyTextShape(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    double arg1 = (double) 0.0 ;
+    double arg2 = (double) 0.0 ;
+    wxPyTextShape *result;
+    char *kwnames[] = {
+        (char *) "width",(char *) "height", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"|dd:new_PyTextShape",kwnames,&arg1,&arg2)) goto fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyTextShape *)new wxPyTextShape(arg1,arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxPyTextShape, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyTextShape__setCallbackInfo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTextShape *arg1 = (wxPyTextShape *) 0 ;
+    PyObject *arg2 = (PyObject *) 0 ;
+    PyObject *arg3 = (PyObject *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "self",(char *) "_class", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:PyTextShape__setCallbackInfo",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTextShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = obj1;
+    arg3 = obj2;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->_setCallbackInfo(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyTextShape_base_OnDelete(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTextShape *arg1 = (wxPyTextShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyTextShape_base_OnDelete",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTextShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDelete();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyTextShape_base_OnDraw(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTextShape *arg1 = (wxPyTextShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyTextShape_base_OnDraw",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTextShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDraw(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyTextShape_base_OnDrawContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTextShape *arg1 = (wxPyTextShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyTextShape_base_OnDrawContents",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTextShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawContents(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyTextShape_base_OnDrawBranches(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTextShape *arg1 = (wxPyTextShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    bool arg3 = (bool) FALSE ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "erase", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyTextShape_base_OnDrawBranches",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTextShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawBranches(*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyTextShape_base_OnMoveLinks(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTextShape *arg1 = (wxPyTextShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyTextShape_base_OnMoveLinks",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTextShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMoveLinks(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyTextShape_base_OnErase(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTextShape *arg1 = (wxPyTextShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyTextShape_base_OnErase",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTextShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnErase(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyTextShape_base_OnEraseContents(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTextShape *arg1 = (wxPyTextShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyTextShape_base_OnEraseContents",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTextShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEraseContents(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyTextShape_base_OnHighlight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTextShape *arg1 = (wxPyTextShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyTextShape_base_OnHighlight",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTextShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnHighlight(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyTextShape_base_OnLeftClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTextShape *arg1 = (wxPyTextShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyTextShape_base_OnLeftClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTextShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnLeftClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyTextShape_base_OnLeftDoubleClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTextShape *arg1 = (wxPyTextShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyTextShape_base_OnLeftDoubleClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTextShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnLeftDoubleClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyTextShape_base_OnRightClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTextShape *arg1 = (wxPyTextShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyTextShape_base_OnRightClick",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTextShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnRightClick(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyTextShape_base_OnSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTextShape *arg1 = (wxPyTextShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyTextShape_base_OnSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTextShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyTextShape_base_OnMovePre(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTextShape *arg1 = (wxPyTextShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    bool arg7 = (bool) True ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "old_x",(char *) "old_y",(char *) "display", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd|O:PyTextShape_base_OnMovePre",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6,&obj6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTextShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj6) {
+        arg7 = PyInt_AsLong(obj6) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->base_OnMovePre(*arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyTextShape_base_OnMovePost(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTextShape *arg1 = (wxPyTextShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    bool arg7 = (bool) True ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj6 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "old_x",(char *) "old_y",(char *) "display", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd|O:PyTextShape_base_OnMovePost",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6,&obj6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTextShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj6) {
+        arg7 = PyInt_AsLong(obj6) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMovePost(*arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyTextShape_base_OnDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTextShape *arg1 = (wxPyTextShape *) 0 ;
+    bool arg2 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyTextShape_base_OnDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTextShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyTextShape_base_OnBeginDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTextShape *arg1 = (wxPyTextShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyTextShape_base_OnBeginDragLeft",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTextShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginDragLeft(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyTextShape_base_OnEndDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTextShape *arg1 = (wxPyTextShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyTextShape_base_OnEndDragLeft",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTextShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndDragLeft(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyTextShape_base_OnDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTextShape *arg1 = (wxPyTextShape *) 0 ;
+    bool arg2 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyTextShape_base_OnDragRight",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTextShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDragRight(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyTextShape_base_OnBeginDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTextShape *arg1 = (wxPyTextShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyTextShape_base_OnBeginDragRight",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTextShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginDragRight(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyTextShape_base_OnEndDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTextShape *arg1 = (wxPyTextShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|ii:PyTextShape_base_OnEndDragRight",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTextShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndDragRight(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyTextShape_base_OnDrawOutline(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTextShape *arg1 = (wxPyTextShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x",(char *) "y",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd:PyTextShape_base_OnDrawOutline",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTextShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawOutline(*arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyTextShape_base_OnDrawControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTextShape *arg1 = (wxPyTextShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyTextShape_base_OnDrawControlPoints",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTextShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDrawControlPoints(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyTextShape_base_OnEraseControlPoints(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTextShape *arg1 = (wxPyTextShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyTextShape_base_OnEraseControlPoints",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTextShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEraseControlPoints(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyTextShape_base_OnMoveLink(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTextShape *arg1 = (wxPyTextShape *) 0 ;
+    wxDC *arg2 = 0 ;
+    bool arg3 = (bool) True ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "moveControlPoints", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyTextShape_base_OnMoveLink",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTextShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if (obj2) {
+        arg3 = PyInt_AsLong(obj2) ? true : false;
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnMoveLink(*arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyTextShape_base_OnSizingDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTextShape *arg1 = (wxPyTextShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    bool arg3 ;
+    double arg4 ;
+    double arg5 ;
+    int arg6 = (int) 0 ;
+    int arg7 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOOdd|ii:PyTextShape_base_OnSizingDragLeft",kwnames,&obj0,&obj1,&obj2,&arg4,&arg5,&arg6,&arg7)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTextShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg3 = PyInt_AsLong(obj2) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingDragLeft(arg2,arg3,arg4,arg5,arg6,arg7);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyTextShape_base_OnSizingBeginDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTextShape *arg1 = (wxPyTextShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyTextShape_base_OnSizingBeginDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTextShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingBeginDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyTextShape_base_OnSizingEndDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTextShape *arg1 = (wxPyTextShape *) 0 ;
+    wxPyControlPoint *arg2 = (wxPyControlPoint *) 0 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "pt",(char *) "x",(char *) "y",(char *) "keys",(char *) "attachment", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|ii:PyTextShape_base_OnSizingEndDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTextShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyControlPoint,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnSizingEndDragLeft(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyTextShape_base_OnBeginSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTextShape *arg1 = (wxPyTextShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyTextShape_base_OnBeginSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTextShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyTextShape_base_OnEndSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTextShape *arg1 = (wxPyTextShape *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "w",(char *) "h", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd:PyTextShape_base_OnEndSize",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTextShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndSize(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * PyTextShape_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_wxPyTextShape, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_Diagram(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxDiagram *result;
+    char *kwnames[] = {
+        NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)":new_Diagram",kwnames)) goto fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxDiagram *)new wxDiagram();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxObject(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Diagram_AddShape(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxDiagram *arg1 = (wxDiagram *) 0 ;
+    wxPyShape *arg2 = (wxPyShape *) 0 ;
+    wxPyShape *arg3 = (wxPyShape *) NULL ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "shape",(char *) "addAfter", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:Diagram_AddShape",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDiagram,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (obj2) {
+        if ((SWIG_ConvertPtr(obj2,(void **) &arg3, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->AddShape(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Diagram_Clear(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxDiagram *arg1 = (wxDiagram *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:Diagram_Clear",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDiagram,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Clear(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Diagram_DeleteAllShapes(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxDiagram *arg1 = (wxDiagram *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:Diagram_DeleteAllShapes",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDiagram,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DeleteAllShapes();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Diagram_DrawOutline(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxDiagram *arg1 = (wxDiagram *) 0 ;
+    wxDC *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc",(char *) "x1",(char *) "y1",(char *) "x2",(char *) "y2", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdddd:Diagram_DrawOutline",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5,&arg6)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDiagram,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->DrawOutline(*arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Diagram_FindShape(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxDiagram *arg1 = (wxDiagram *) 0 ;
+    long arg2 ;
+    wxPyShape *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "id", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Ol:Diagram_FindShape",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDiagram,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyShape *)(arg1)->FindShape(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxShapeEvtHandler(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Diagram_GetCanvas(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxDiagram *arg1 = (wxDiagram *) 0 ;
+    wxPyShapeCanvas *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:Diagram_GetCanvas",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDiagram,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyShapeCanvas *)(arg1)->GetCanvas();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxObject(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Diagram_GetCount(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxDiagram *arg1 = (wxDiagram *) 0 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:Diagram_GetCount",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDiagram,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)(arg1)->GetCount();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Diagram_GetGridSpacing(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxDiagram *arg1 = (wxDiagram *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:Diagram_GetGridSpacing",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDiagram,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (double)(arg1)->GetGridSpacing();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyFloat_FromDouble(result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Diagram_GetMouseTolerance(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxDiagram *arg1 = (wxDiagram *) 0 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:Diagram_GetMouseTolerance",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDiagram,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (int)(arg1)->GetMouseTolerance();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Diagram_GetShapeList(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxDiagram *arg1 = (wxDiagram *) 0 ;
+    PyObject *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:Diagram_GetShapeList",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDiagram,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (PyObject *)wxDiagram_GetShapeList(arg1);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = result;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Diagram_GetQuickEditMode(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxDiagram *arg1 = (wxDiagram *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:Diagram_GetQuickEditMode",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDiagram,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->GetQuickEditMode();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Diagram_GetSnapToGrid(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxDiagram *arg1 = (wxDiagram *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:Diagram_GetSnapToGrid",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDiagram,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->GetSnapToGrid();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Diagram_InsertShape(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxDiagram *arg1 = (wxDiagram *) 0 ;
+    wxPyShape *arg2 = (wxPyShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "shape", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:Diagram_InsertShape",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDiagram,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->InsertShape(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Diagram_RecentreAll(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxDiagram *arg1 = (wxDiagram *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:Diagram_RecentreAll",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDiagram,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->RecentreAll(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Diagram_Redraw(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxDiagram *arg1 = (wxDiagram *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:Diagram_Redraw",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDiagram,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Redraw(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Diagram_RemoveAllShapes(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxDiagram *arg1 = (wxDiagram *) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:Diagram_RemoveAllShapes",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDiagram,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->RemoveAllShapes();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Diagram_RemoveShape(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxDiagram *arg1 = (wxDiagram *) 0 ;
+    wxPyShape *arg2 = (wxPyShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "shape", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:Diagram_RemoveShape",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDiagram,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->RemoveShape(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Diagram_SetCanvas(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxDiagram *arg1 = (wxDiagram *) 0 ;
+    wxPyShapeCanvas *arg2 = (wxPyShapeCanvas *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "canvas", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:Diagram_SetCanvas",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDiagram,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyShapeCanvas,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetCanvas(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Diagram_SetGridSpacing(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxDiagram *arg1 = (wxDiagram *) 0 ;
+    double arg2 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "spacing", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Od:Diagram_SetGridSpacing",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDiagram,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetGridSpacing(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Diagram_SetMouseTolerance(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxDiagram *arg1 = (wxDiagram *) 0 ;
+    int arg2 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "tolerance", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:Diagram_SetMouseTolerance",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDiagram,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetMouseTolerance(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Diagram_SetQuickEditMode(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxDiagram *arg1 = (wxDiagram *) 0 ;
+    bool arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "mode", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:Diagram_SetQuickEditMode",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDiagram,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetQuickEditMode(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Diagram_SetSnapToGrid(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxDiagram *arg1 = (wxDiagram *) 0 ;
+    bool arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "snap", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:Diagram_SetSnapToGrid",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDiagram,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetSnapToGrid(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Diagram_ShowAll(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxDiagram *arg1 = (wxDiagram *) 0 ;
+    bool arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "show", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:Diagram_ShowAll",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDiagram,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->ShowAll(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Diagram_Snap(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxDiagram *arg1 = (wxDiagram *) 0 ;
+    double *arg2 = (double *) 0 ;
+    double *arg3 = (double *) 0 ;
+    double temp2 ;
+    double temp3 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "INOUT",(char *) "INOUT", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:Diagram_Snap",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDiagram,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        temp2 = PyFloat_AsDouble(obj1);
+        if (PyErr_Occurred()) SWIG_fail;
+        arg2 = &temp2;
+    }
+    {
+        temp3 = PyFloat_AsDouble(obj2);
+        if (PyErr_Occurred()) SWIG_fail;
+        arg3 = &temp3;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Snap(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        PyObject *o = PyFloat_FromDouble((double) (*arg2));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    {
+        PyObject *o = PyFloat_FromDouble((double) (*arg3));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * Diagram_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_wxDiagram, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_PyShapeCanvas(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxWindow *arg1 = (wxWindow *) NULL ;
+    int arg2 = (int) -1 ;
+    wxPoint const &arg3_defvalue = wxDefaultPosition ;
+    wxPoint *arg3 = (wxPoint *) &arg3_defvalue ;
+    wxSize const &arg4_defvalue = wxDefaultSize ;
+    wxSize *arg4 = (wxSize *) &arg4_defvalue ;
+    long arg5 = (long) wxBORDER ;
+    wxString const &arg6_defvalue = wxPyShapeCanvasNameStr ;
+    wxString *arg6 = (wxString *) &arg6_defvalue ;
+    wxPyShapeCanvas *result;
+    wxPoint temp3 ;
+    wxSize temp4 ;
+    bool temp6 = False ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    PyObject * obj5 = 0 ;
+    char *kwnames[] = {
+        (char *) "parent",(char *) "id",(char *) "pos",(char *) "size",(char *) "style",(char *) "name", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"|OiOOlO:new_PyShapeCanvas",kwnames,&obj0,&arg2,&obj2,&obj3,&arg5,&obj5)) goto fail;
+    if (obj0) {
+        if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxWindow,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    }
+    if (obj2) {
+        {
+            arg3 = &temp3;
+            if ( ! wxPoint_helper(obj2, &arg3)) SWIG_fail;
+        }
+    }
+    if (obj3) {
+        {
+            arg4 = &temp4;
+            if ( ! wxSize_helper(obj3, &arg4)) SWIG_fail;
+        }
+    }
+    if (obj5) {
+        {
+            arg6 = wxString_in_helper(obj5);
+            if (arg6 == NULL) SWIG_fail;
+            temp6 = True;
+        }
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyShapeCanvas *)new wxPyShapeCanvas(arg1,arg2,(wxPoint const &)*arg3,(wxSize const &)*arg4,arg5,(wxString const &)*arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxObject(result); 
+    }
+    {
+        if (temp6)
+        delete arg6;
+    }
+    return resultobj;
+    fail:
+    {
+        if (temp6)
+        delete arg6;
+    }
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeCanvas__setCallbackInfo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeCanvas *arg1 = (wxPyShapeCanvas *) 0 ;
+    PyObject *arg2 = (PyObject *) 0 ;
+    PyObject *arg3 = (PyObject *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "self",(char *) "_class", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:PyShapeCanvas__setCallbackInfo",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeCanvas,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = obj1;
+    arg3 = obj2;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->_setCallbackInfo(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeCanvas_AddShape(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeCanvas *arg1 = (wxPyShapeCanvas *) 0 ;
+    wxPyShape *arg2 = (wxPyShape *) 0 ;
+    wxPyShape *arg3 = (wxPyShape *) NULL ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "shape",(char *) "addAfter", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|O:PyShapeCanvas_AddShape",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeCanvas,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (obj2) {
+        if ((SWIG_ConvertPtr(obj2,(void **) &arg3, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->AddShape(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeCanvas_FindShape(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeCanvas *arg1 = (wxPyShapeCanvas *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int *arg4 = (int *) 0 ;
+    wxClassInfo *arg5 = (wxClassInfo *) NULL ;
+    wxPyShape *arg6 = (wxPyShape *) NULL ;
+    wxPyShape *result;
+    int temp4 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj3 = 0 ;
+    PyObject * obj4 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x1",(char *) "y",(char *) "info",(char *) "notImage", NULL 
+    };
+    
+    arg4 = &temp4;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|OO:PyShapeCanvas_FindShape",kwnames,&obj0,&arg2,&arg3,&obj3,&obj4)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeCanvas,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (obj3) {
+        if ((SWIG_ConvertPtr(obj3,(void **) &arg5, SWIGTYPE_p_wxClassInfo,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    }
+    if (obj4) {
+        if ((SWIG_ConvertPtr(obj4,(void **) &arg6, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyShape *)(arg1)->FindShape(arg2,arg3,arg4,arg5,arg6);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxShapeEvtHandler(result); 
+    }
+    {
+        PyObject *o = PyInt_FromLong((long) (*arg4));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeCanvas_FindFirstSensitiveShape(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeCanvas *arg1 = (wxPyShapeCanvas *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int *arg4 = (int *) 0 ;
+    int arg5 ;
+    wxPyShape *result;
+    int temp4 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x1",(char *) "y",(char *) "op", NULL 
+    };
+    
+    arg4 = &temp4;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oddi:PyShapeCanvas_FindFirstSensitiveShape",kwnames,&obj0,&arg2,&arg3,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeCanvas,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxPyShape *)(arg1)->FindFirstSensitiveShape(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxShapeEvtHandler(result); 
+    }
+    {
+        PyObject *o = PyInt_FromLong((long) (*arg4));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeCanvas_GetDiagram(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeCanvas *arg1 = (wxPyShapeCanvas *) 0 ;
+    wxDiagram *result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShapeCanvas_GetDiagram",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeCanvas,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (wxDiagram *)(arg1)->GetDiagram();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        resultobj = wxPyMake_wxObject(result); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeCanvas_GetQuickEditMode(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeCanvas *arg1 = (wxPyShapeCanvas *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyShapeCanvas_GetQuickEditMode",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeCanvas,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->GetQuickEditMode();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeCanvas_InsertShape(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeCanvas *arg1 = (wxPyShapeCanvas *) 0 ;
+    wxPyShape *arg2 = (wxPyShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "shape", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShapeCanvas_InsertShape",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeCanvas,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->InsertShape(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeCanvas_base_OnBeginDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeCanvas *arg1 = (wxPyShapeCanvas *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|i:PyShapeCanvas_base_OnBeginDragLeft",kwnames,&obj0,&arg2,&arg3,&arg4)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeCanvas,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginDragLeft(arg2,arg3,arg4);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeCanvas_base_OnBeginDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeCanvas *arg1 = (wxPyShapeCanvas *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|i:PyShapeCanvas_base_OnBeginDragRight",kwnames,&obj0,&arg2,&arg3,&arg4)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeCanvas,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnBeginDragRight(arg2,arg3,arg4);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeCanvas_base_OnEndDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeCanvas *arg1 = (wxPyShapeCanvas *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|i:PyShapeCanvas_base_OnEndDragLeft",kwnames,&obj0,&arg2,&arg3,&arg4)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeCanvas,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndDragLeft(arg2,arg3,arg4);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeCanvas_base_OnEndDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeCanvas *arg1 = (wxPyShapeCanvas *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|i:PyShapeCanvas_base_OnEndDragRight",kwnames,&obj0,&arg2,&arg3,&arg4)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeCanvas,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnEndDragRight(arg2,arg3,arg4);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeCanvas_base_OnDragLeft(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeCanvas *arg1 = (wxPyShapeCanvas *) 0 ;
+    bool arg2 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|i:PyShapeCanvas_base_OnDragLeft",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeCanvas,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDragLeft(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeCanvas_base_OnDragRight(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeCanvas *arg1 = (wxPyShapeCanvas *) 0 ;
+    bool arg2 ;
+    double arg3 ;
+    double arg4 ;
+    int arg5 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "draw",(char *) "x",(char *) "y",(char *) "keys", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOdd|i:PyShapeCanvas_base_OnDragRight",kwnames,&obj0,&obj1,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeCanvas,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = PyInt_AsLong(obj1) ? true : false;
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnDragRight(arg2,arg3,arg4,arg5);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeCanvas_base_OnLeftClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeCanvas *arg1 = (wxPyShapeCanvas *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|i:PyShapeCanvas_base_OnLeftClick",kwnames,&obj0,&arg2,&arg3,&arg4)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeCanvas,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnLeftClick(arg2,arg3,arg4);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeCanvas_base_OnRightClick(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeCanvas *arg1 = (wxPyShapeCanvas *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    int arg4 = (int) 0 ;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "x",(char *) "y",(char *) "keys", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Odd|i:PyShapeCanvas_base_OnRightClick",kwnames,&obj0,&arg2,&arg3,&arg4)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeCanvas,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->base_OnRightClick(arg2,arg3,arg4);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeCanvas_Redraw(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeCanvas *arg1 = (wxPyShapeCanvas *) 0 ;
+    wxDC *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "dc", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShapeCanvas_Redraw",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeCanvas,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Redraw(*arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeCanvas_RemoveShape(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeCanvas *arg1 = (wxPyShapeCanvas *) 0 ;
+    wxPyShape *arg2 = (wxPyShape *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "shape", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShapeCanvas_RemoveShape",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeCanvas,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyShape,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->RemoveShape(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeCanvas_SetDiagram(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeCanvas *arg1 = (wxPyShapeCanvas *) 0 ;
+    wxDiagram *arg2 = (wxDiagram *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "diagram", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyShapeCanvas_SetDiagram",kwnames,&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeCanvas,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDiagram,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->SetDiagram(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_PyShapeCanvas_Snap(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyShapeCanvas *arg1 = (wxPyShapeCanvas *) 0 ;
+    double *arg2 = (double *) 0 ;
+    double *arg3 = (double *) 0 ;
+    double temp2 ;
+    double temp3 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "INOUT",(char *) "INOUT", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:PyShapeCanvas_Snap",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyShapeCanvas,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        temp2 = PyFloat_AsDouble(obj1);
+        if (PyErr_Occurred()) SWIG_fail;
+        arg2 = &temp2;
+    }
+    {
+        temp3 = PyFloat_AsDouble(obj2);
+        if (PyErr_Occurred()) SWIG_fail;
+        arg3 = &temp3;
+    }
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->Snap(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        PyObject *o = PyFloat_FromDouble((double) (*arg2));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    {
+        PyObject *o = PyFloat_FromDouble((double) (*arg3));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * PyShapeCanvas_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_wxPyShapeCanvas, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_OGLInitialize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    char *kwnames[] = {
+        NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)":OGLInitialize",kwnames)) goto fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        wxOGLInitialize();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_OGLCleanUp(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    char *kwnames[] = {
+        NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)":OGLCleanUp",kwnames)) goto fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        wxOGLCleanUp();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyMethodDef SwigMethods[] = {
+        { (char *)"new_ShapeRegion", (PyCFunction) _wrap_new_ShapeRegion, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ShapeRegion_SetText", (PyCFunction) _wrap_ShapeRegion_SetText, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ShapeRegion_SetFont", (PyCFunction) _wrap_ShapeRegion_SetFont, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ShapeRegion_SetMinSize", (PyCFunction) _wrap_ShapeRegion_SetMinSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ShapeRegion_SetSize", (PyCFunction) _wrap_ShapeRegion_SetSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ShapeRegion_SetPosition", (PyCFunction) _wrap_ShapeRegion_SetPosition, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ShapeRegion_SetProportions", (PyCFunction) _wrap_ShapeRegion_SetProportions, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ShapeRegion_SetFormatMode", (PyCFunction) _wrap_ShapeRegion_SetFormatMode, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ShapeRegion_SetName", (PyCFunction) _wrap_ShapeRegion_SetName, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ShapeRegion_SetColour", (PyCFunction) _wrap_ShapeRegion_SetColour, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ShapeRegion_GetText", (PyCFunction) _wrap_ShapeRegion_GetText, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ShapeRegion_GetFont", (PyCFunction) _wrap_ShapeRegion_GetFont, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ShapeRegion_GetMinSize", (PyCFunction) _wrap_ShapeRegion_GetMinSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ShapeRegion_GetProportion", (PyCFunction) _wrap_ShapeRegion_GetProportion, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ShapeRegion_GetSize", (PyCFunction) _wrap_ShapeRegion_GetSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ShapeRegion_GetPosition", (PyCFunction) _wrap_ShapeRegion_GetPosition, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ShapeRegion_GetFormatMode", (PyCFunction) _wrap_ShapeRegion_GetFormatMode, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ShapeRegion_GetName", (PyCFunction) _wrap_ShapeRegion_GetName, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ShapeRegion_GetColour", (PyCFunction) _wrap_ShapeRegion_GetColour, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ShapeRegion_GetActualColourObject", (PyCFunction) _wrap_ShapeRegion_GetActualColourObject, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ShapeRegion_GetFormattedText", (PyCFunction) _wrap_ShapeRegion_GetFormattedText, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ShapeRegion_GetPenColour", (PyCFunction) _wrap_ShapeRegion_GetPenColour, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ShapeRegion_GetPenStyle", (PyCFunction) _wrap_ShapeRegion_GetPenStyle, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ShapeRegion_SetPenStyle", (PyCFunction) _wrap_ShapeRegion_SetPenStyle, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ShapeRegion_SetPenColour", (PyCFunction) _wrap_ShapeRegion_SetPenColour, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ShapeRegion_GetActualPen", (PyCFunction) _wrap_ShapeRegion_GetActualPen, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ShapeRegion_GetWidth", (PyCFunction) _wrap_ShapeRegion_GetWidth, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ShapeRegion_GetHeight", (PyCFunction) _wrap_ShapeRegion_GetHeight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ShapeRegion_ClearText", (PyCFunction) _wrap_ShapeRegion_ClearText, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ShapeRegion_swigregister", ShapeRegion_swigregister, METH_VARARGS },
+        { (char *)"new_PyShapeEvtHandler", (PyCFunction) _wrap_new_PyShapeEvtHandler, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler__setCallbackInfo", (PyCFunction) _wrap_PyShapeEvtHandler__setCallbackInfo, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler__setOORInfo", (PyCFunction) _wrap_PyShapeEvtHandler__setOORInfo, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_SetShape", (PyCFunction) _wrap_PyShapeEvtHandler_SetShape, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_GetShape", (PyCFunction) _wrap_PyShapeEvtHandler_GetShape, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_SetPreviousHandler", (PyCFunction) _wrap_PyShapeEvtHandler_SetPreviousHandler, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_GetPreviousHandler", (PyCFunction) _wrap_PyShapeEvtHandler_GetPreviousHandler, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_CreateNewCopy", (PyCFunction) _wrap_PyShapeEvtHandler_CreateNewCopy, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_base_OnDelete", (PyCFunction) _wrap_PyShapeEvtHandler_base_OnDelete, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_base_OnDraw", (PyCFunction) _wrap_PyShapeEvtHandler_base_OnDraw, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_base_OnDrawContents", (PyCFunction) _wrap_PyShapeEvtHandler_base_OnDrawContents, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_base_OnDrawBranches", (PyCFunction) _wrap_PyShapeEvtHandler_base_OnDrawBranches, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_base_OnMoveLinks", (PyCFunction) _wrap_PyShapeEvtHandler_base_OnMoveLinks, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_base_OnErase", (PyCFunction) _wrap_PyShapeEvtHandler_base_OnErase, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_base_OnEraseContents", (PyCFunction) _wrap_PyShapeEvtHandler_base_OnEraseContents, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_base_OnHighlight", (PyCFunction) _wrap_PyShapeEvtHandler_base_OnHighlight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_base_OnLeftClick", (PyCFunction) _wrap_PyShapeEvtHandler_base_OnLeftClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_base_OnLeftDoubleClick", (PyCFunction) _wrap_PyShapeEvtHandler_base_OnLeftDoubleClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_base_OnRightClick", (PyCFunction) _wrap_PyShapeEvtHandler_base_OnRightClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_base_OnSize", (PyCFunction) _wrap_PyShapeEvtHandler_base_OnSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_base_OnMovePre", (PyCFunction) _wrap_PyShapeEvtHandler_base_OnMovePre, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_base_OnMovePost", (PyCFunction) _wrap_PyShapeEvtHandler_base_OnMovePost, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_base_OnDragLeft", (PyCFunction) _wrap_PyShapeEvtHandler_base_OnDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_base_OnBeginDragLeft", (PyCFunction) _wrap_PyShapeEvtHandler_base_OnBeginDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_base_OnEndDragLeft", (PyCFunction) _wrap_PyShapeEvtHandler_base_OnEndDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_base_OnDragRight", (PyCFunction) _wrap_PyShapeEvtHandler_base_OnDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_base_OnBeginDragRight", (PyCFunction) _wrap_PyShapeEvtHandler_base_OnBeginDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_base_OnEndDragRight", (PyCFunction) _wrap_PyShapeEvtHandler_base_OnEndDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_base_OnDrawOutline", (PyCFunction) _wrap_PyShapeEvtHandler_base_OnDrawOutline, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_base_OnDrawControlPoints", (PyCFunction) _wrap_PyShapeEvtHandler_base_OnDrawControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_base_OnEraseControlPoints", (PyCFunction) _wrap_PyShapeEvtHandler_base_OnEraseControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_base_OnMoveLink", (PyCFunction) _wrap_PyShapeEvtHandler_base_OnMoveLink, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_base_OnSizingDragLeft", (PyCFunction) _wrap_PyShapeEvtHandler_base_OnSizingDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_base_OnSizingBeginDragLeft", (PyCFunction) _wrap_PyShapeEvtHandler_base_OnSizingBeginDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_base_OnSizingEndDragLeft", (PyCFunction) _wrap_PyShapeEvtHandler_base_OnSizingEndDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_base_OnBeginSize", (PyCFunction) _wrap_PyShapeEvtHandler_base_OnBeginSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_base_OnEndSize", (PyCFunction) _wrap_PyShapeEvtHandler_base_OnEndSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeEvtHandler_swigregister", PyShapeEvtHandler_swigregister, METH_VARARGS },
+        { (char *)"new_PyShape", (PyCFunction) _wrap_new_PyShape, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape__setCallbackInfo", (PyCFunction) _wrap_PyShape__setCallbackInfo, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetBoundingBoxMax", (PyCFunction) _wrap_PyShape_GetBoundingBoxMax, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetBoundingBoxMin", (PyCFunction) _wrap_PyShape_GetBoundingBoxMin, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetPerimeterPoint", (PyCFunction) _wrap_PyShape_GetPerimeterPoint, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetCanvas", (PyCFunction) _wrap_PyShape_GetCanvas, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_SetCanvas", (PyCFunction) _wrap_PyShape_SetCanvas, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_AddToCanvas", (PyCFunction) _wrap_PyShape_AddToCanvas, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_InsertInCanvas", (PyCFunction) _wrap_PyShape_InsertInCanvas, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_RemoveFromCanvas", (PyCFunction) _wrap_PyShape_RemoveFromCanvas, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetX", (PyCFunction) _wrap_PyShape_GetX, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetY", (PyCFunction) _wrap_PyShape_GetY, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_SetX", (PyCFunction) _wrap_PyShape_SetX, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_SetY", (PyCFunction) _wrap_PyShape_SetY, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetParent", (PyCFunction) _wrap_PyShape_GetParent, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_SetParent", (PyCFunction) _wrap_PyShape_SetParent, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetTopAncestor", (PyCFunction) _wrap_PyShape_GetTopAncestor, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetChildren", (PyCFunction) _wrap_PyShape_GetChildren, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_Unlink", (PyCFunction) _wrap_PyShape_Unlink, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_SetDrawHandles", (PyCFunction) _wrap_PyShape_SetDrawHandles, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetDrawHandles", (PyCFunction) _wrap_PyShape_GetDrawHandles, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_MakeControlPoints", (PyCFunction) _wrap_PyShape_MakeControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_DeleteControlPoints", (PyCFunction) _wrap_PyShape_DeleteControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_ResetControlPoints", (PyCFunction) _wrap_PyShape_ResetControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetEventHandler", (PyCFunction) _wrap_PyShape_GetEventHandler, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_SetEventHandler", (PyCFunction) _wrap_PyShape_SetEventHandler, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_MakeMandatoryControlPoints", (PyCFunction) _wrap_PyShape_MakeMandatoryControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_ResetMandatoryControlPoints", (PyCFunction) _wrap_PyShape_ResetMandatoryControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_Recompute", (PyCFunction) _wrap_PyShape_Recompute, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_CalculateSize", (PyCFunction) _wrap_PyShape_CalculateSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_Select", (PyCFunction) _wrap_PyShape_Select, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_SetHighlight", (PyCFunction) _wrap_PyShape_SetHighlight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_IsHighlighted", (PyCFunction) _wrap_PyShape_IsHighlighted, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_Selected", (PyCFunction) _wrap_PyShape_Selected, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_AncestorSelected", (PyCFunction) _wrap_PyShape_AncestorSelected, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_SetSensitivityFilter", (PyCFunction) _wrap_PyShape_SetSensitivityFilter, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetSensitivityFilter", (PyCFunction) _wrap_PyShape_GetSensitivityFilter, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_SetDraggable", (PyCFunction) _wrap_PyShape_SetDraggable, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_SetFixedSize", (PyCFunction) _wrap_PyShape_SetFixedSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetFixedSize", (PyCFunction) _wrap_PyShape_GetFixedSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetFixedWidth", (PyCFunction) _wrap_PyShape_GetFixedWidth, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetFixedHeight", (PyCFunction) _wrap_PyShape_GetFixedHeight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_SetSpaceAttachments", (PyCFunction) _wrap_PyShape_SetSpaceAttachments, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetSpaceAttachments", (PyCFunction) _wrap_PyShape_GetSpaceAttachments, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_SetShadowMode", (PyCFunction) _wrap_PyShape_SetShadowMode, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetShadowMode", (PyCFunction) _wrap_PyShape_GetShadowMode, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_HitTest", (PyCFunction) _wrap_PyShape_HitTest, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_SetCentreResize", (PyCFunction) _wrap_PyShape_SetCentreResize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetCentreResize", (PyCFunction) _wrap_PyShape_GetCentreResize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_SetMaintainAspectRatio", (PyCFunction) _wrap_PyShape_SetMaintainAspectRatio, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetMaintainAspectRatio", (PyCFunction) _wrap_PyShape_GetMaintainAspectRatio, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetLines", (PyCFunction) _wrap_PyShape_GetLines, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_SetDisableLabel", (PyCFunction) _wrap_PyShape_SetDisableLabel, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetDisableLabel", (PyCFunction) _wrap_PyShape_GetDisableLabel, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_SetAttachmentMode", (PyCFunction) _wrap_PyShape_SetAttachmentMode, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetAttachmentMode", (PyCFunction) _wrap_PyShape_GetAttachmentMode, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_SetId", (PyCFunction) _wrap_PyShape_SetId, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetId", (PyCFunction) _wrap_PyShape_GetId, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_SetPen", (PyCFunction) _wrap_PyShape_SetPen, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_SetBrush", (PyCFunction) _wrap_PyShape_SetBrush, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_Show", (PyCFunction) _wrap_PyShape_Show, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_IsShown", (PyCFunction) _wrap_PyShape_IsShown, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_Move", (PyCFunction) _wrap_PyShape_Move, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_Erase", (PyCFunction) _wrap_PyShape_Erase, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_EraseContents", (PyCFunction) _wrap_PyShape_EraseContents, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_Draw", (PyCFunction) _wrap_PyShape_Draw, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_Flash", (PyCFunction) _wrap_PyShape_Flash, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_MoveLinks", (PyCFunction) _wrap_PyShape_MoveLinks, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_DrawContents", (PyCFunction) _wrap_PyShape_DrawContents, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_SetSize", (PyCFunction) _wrap_PyShape_SetSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_SetAttachmentSize", (PyCFunction) _wrap_PyShape_SetAttachmentSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_Attach", (PyCFunction) _wrap_PyShape_Attach, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_Detach", (PyCFunction) _wrap_PyShape_Detach, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_Constrain", (PyCFunction) _wrap_PyShape_Constrain, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_AddLine", (PyCFunction) _wrap_PyShape_AddLine, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetLinePosition", (PyCFunction) _wrap_PyShape_GetLinePosition, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_AddText", (PyCFunction) _wrap_PyShape_AddText, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetPen", (PyCFunction) _wrap_PyShape_GetPen, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetBrush", (PyCFunction) _wrap_PyShape_GetBrush, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_SetDefaultRegionSize", (PyCFunction) _wrap_PyShape_SetDefaultRegionSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_FormatText", (PyCFunction) _wrap_PyShape_FormatText, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_SetFormatMode", (PyCFunction) _wrap_PyShape_SetFormatMode, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetFormatMode", (PyCFunction) _wrap_PyShape_GetFormatMode, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_SetFont", (PyCFunction) _wrap_PyShape_SetFont, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetFont", (PyCFunction) _wrap_PyShape_GetFont, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_SetTextColour", (PyCFunction) _wrap_PyShape_SetTextColour, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetTextColour", (PyCFunction) _wrap_PyShape_GetTextColour, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetNumberOfTextRegions", (PyCFunction) _wrap_PyShape_GetNumberOfTextRegions, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_SetRegionName", (PyCFunction) _wrap_PyShape_SetRegionName, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetRegionName", (PyCFunction) _wrap_PyShape_GetRegionName, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetRegionId", (PyCFunction) _wrap_PyShape_GetRegionId, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_NameRegions", (PyCFunction) _wrap_PyShape_NameRegions, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetRegions", (PyCFunction) _wrap_PyShape_GetRegions, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_AddRegion", (PyCFunction) _wrap_PyShape_AddRegion, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_ClearRegions", (PyCFunction) _wrap_PyShape_ClearRegions, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_AssignNewIds", (PyCFunction) _wrap_PyShape_AssignNewIds, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_FindRegion", (PyCFunction) _wrap_PyShape_FindRegion, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_FindRegionNames", (PyCFunction) _wrap_PyShape_FindRegionNames, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_ClearText", (PyCFunction) _wrap_PyShape_ClearText, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_RemoveLine", (PyCFunction) _wrap_PyShape_RemoveLine, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetAttachmentPosition", (PyCFunction) _wrap_PyShape_GetAttachmentPosition, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetNumberOfAttachments", (PyCFunction) _wrap_PyShape_GetNumberOfAttachments, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_AttachmentIsValid", (PyCFunction) _wrap_PyShape_AttachmentIsValid, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetAttachmentPositionEdge", (PyCFunction) _wrap_PyShape_GetAttachmentPositionEdge, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_CalcSimpleAttachment", (PyCFunction) _wrap_PyShape_CalcSimpleAttachment, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_AttachmentSortTest", (PyCFunction) _wrap_PyShape_AttachmentSortTest, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_EraseLinks", (PyCFunction) _wrap_PyShape_EraseLinks, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_DrawLinks", (PyCFunction) _wrap_PyShape_DrawLinks, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_MoveLineToNewAttachment", (PyCFunction) _wrap_PyShape_MoveLineToNewAttachment, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_ApplyAttachmentOrdering", (PyCFunction) _wrap_PyShape_ApplyAttachmentOrdering, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetBranchingAttachmentRoot", (PyCFunction) _wrap_PyShape_GetBranchingAttachmentRoot, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetBranchingAttachmentInfo", (PyCFunction) _wrap_PyShape_GetBranchingAttachmentInfo, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetBranchingAttachmentPoint", (PyCFunction) _wrap_PyShape_GetBranchingAttachmentPoint, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetAttachmentLineCount", (PyCFunction) _wrap_PyShape_GetAttachmentLineCount, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_SetBranchNeckLength", (PyCFunction) _wrap_PyShape_SetBranchNeckLength, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetBranchNeckLength", (PyCFunction) _wrap_PyShape_GetBranchNeckLength, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_SetBranchStemLength", (PyCFunction) _wrap_PyShape_SetBranchStemLength, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetBranchStemLength", (PyCFunction) _wrap_PyShape_GetBranchStemLength, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_SetBranchSpacing", (PyCFunction) _wrap_PyShape_SetBranchSpacing, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetBranchSpacing", (PyCFunction) _wrap_PyShape_GetBranchSpacing, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_SetBranchStyle", (PyCFunction) _wrap_PyShape_SetBranchStyle, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetBranchStyle", (PyCFunction) _wrap_PyShape_GetBranchStyle, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_PhysicalToLogicalAttachment", (PyCFunction) _wrap_PyShape_PhysicalToLogicalAttachment, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_LogicalToPhysicalAttachment", (PyCFunction) _wrap_PyShape_LogicalToPhysicalAttachment, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_Draggable", (PyCFunction) _wrap_PyShape_Draggable, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_HasDescendant", (PyCFunction) _wrap_PyShape_HasDescendant, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_CreateNewCopy", (PyCFunction) _wrap_PyShape_CreateNewCopy, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_Copy", (PyCFunction) _wrap_PyShape_Copy, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_CopyWithHandler", (PyCFunction) _wrap_PyShape_CopyWithHandler, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_Rotate", (PyCFunction) _wrap_PyShape_Rotate, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetRotation", (PyCFunction) _wrap_PyShape_GetRotation, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_ClearAttachments", (PyCFunction) _wrap_PyShape_ClearAttachments, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_Recentre", (PyCFunction) _wrap_PyShape_Recentre, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_ClearPointList", (PyCFunction) _wrap_PyShape_ClearPointList, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetBackgroundPen", (PyCFunction) _wrap_PyShape_GetBackgroundPen, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_GetBackgroundBrush", (PyCFunction) _wrap_PyShape_GetBackgroundBrush, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_base_OnDelete", (PyCFunction) _wrap_PyShape_base_OnDelete, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_base_OnDraw", (PyCFunction) _wrap_PyShape_base_OnDraw, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_base_OnDrawContents", (PyCFunction) _wrap_PyShape_base_OnDrawContents, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_base_OnDrawBranches", (PyCFunction) _wrap_PyShape_base_OnDrawBranches, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_base_OnMoveLinks", (PyCFunction) _wrap_PyShape_base_OnMoveLinks, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_base_OnErase", (PyCFunction) _wrap_PyShape_base_OnErase, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_base_OnEraseContents", (PyCFunction) _wrap_PyShape_base_OnEraseContents, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_base_OnHighlight", (PyCFunction) _wrap_PyShape_base_OnHighlight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_base_OnLeftClick", (PyCFunction) _wrap_PyShape_base_OnLeftClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_base_OnLeftDoubleClick", (PyCFunction) _wrap_PyShape_base_OnLeftDoubleClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_base_OnRightClick", (PyCFunction) _wrap_PyShape_base_OnRightClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_base_OnSize", (PyCFunction) _wrap_PyShape_base_OnSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_base_OnMovePre", (PyCFunction) _wrap_PyShape_base_OnMovePre, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_base_OnMovePost", (PyCFunction) _wrap_PyShape_base_OnMovePost, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_base_OnDragLeft", (PyCFunction) _wrap_PyShape_base_OnDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_base_OnBeginDragLeft", (PyCFunction) _wrap_PyShape_base_OnBeginDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_base_OnEndDragLeft", (PyCFunction) _wrap_PyShape_base_OnEndDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_base_OnDragRight", (PyCFunction) _wrap_PyShape_base_OnDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_base_OnBeginDragRight", (PyCFunction) _wrap_PyShape_base_OnBeginDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_base_OnEndDragRight", (PyCFunction) _wrap_PyShape_base_OnEndDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_base_OnDrawOutline", (PyCFunction) _wrap_PyShape_base_OnDrawOutline, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_base_OnDrawControlPoints", (PyCFunction) _wrap_PyShape_base_OnDrawControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_base_OnEraseControlPoints", (PyCFunction) _wrap_PyShape_base_OnEraseControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_base_OnMoveLink", (PyCFunction) _wrap_PyShape_base_OnMoveLink, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_base_OnSizingDragLeft", (PyCFunction) _wrap_PyShape_base_OnSizingDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_base_OnSizingBeginDragLeft", (PyCFunction) _wrap_PyShape_base_OnSizingBeginDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_base_OnSizingEndDragLeft", (PyCFunction) _wrap_PyShape_base_OnSizingEndDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_base_OnBeginSize", (PyCFunction) _wrap_PyShape_base_OnBeginSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_base_OnEndSize", (PyCFunction) _wrap_PyShape_base_OnEndSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShape_swigregister", PyShape_swigregister, METH_VARARGS },
+        { (char *)"new_PseudoMetaFile", (PyCFunction) _wrap_new_PseudoMetaFile, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"delete_PseudoMetaFile", (PyCFunction) _wrap_delete_PseudoMetaFile, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_Draw", (PyCFunction) _wrap_PseudoMetaFile_Draw, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_Clear", (PyCFunction) _wrap_PseudoMetaFile_Clear, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_Copy", (PyCFunction) _wrap_PseudoMetaFile_Copy, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_Scale", (PyCFunction) _wrap_PseudoMetaFile_Scale, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_ScaleTo", (PyCFunction) _wrap_PseudoMetaFile_ScaleTo, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_Translate", (PyCFunction) _wrap_PseudoMetaFile_Translate, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_Rotate", (PyCFunction) _wrap_PseudoMetaFile_Rotate, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_LoadFromMetaFile", (PyCFunction) _wrap_PseudoMetaFile_LoadFromMetaFile, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_GetBounds", (PyCFunction) _wrap_PseudoMetaFile_GetBounds, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_CalculateSize", (PyCFunction) _wrap_PseudoMetaFile_CalculateSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_SetRotateable", (PyCFunction) _wrap_PseudoMetaFile_SetRotateable, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_GetRotateable", (PyCFunction) _wrap_PseudoMetaFile_GetRotateable, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_SetSize", (PyCFunction) _wrap_PseudoMetaFile_SetSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_SetFillBrush", (PyCFunction) _wrap_PseudoMetaFile_SetFillBrush, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_GetFillBrush", (PyCFunction) _wrap_PseudoMetaFile_GetFillBrush, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_SetOutlinePen", (PyCFunction) _wrap_PseudoMetaFile_SetOutlinePen, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_GetOutlinePen", (PyCFunction) _wrap_PseudoMetaFile_GetOutlinePen, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_SetOutlineOp", (PyCFunction) _wrap_PseudoMetaFile_SetOutlineOp, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_GetOutlineOp", (PyCFunction) _wrap_PseudoMetaFile_GetOutlineOp, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_IsValid", (PyCFunction) _wrap_PseudoMetaFile_IsValid, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_DrawLine", (PyCFunction) _wrap_PseudoMetaFile_DrawLine, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_DrawRectangle", (PyCFunction) _wrap_PseudoMetaFile_DrawRectangle, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_DrawRoundedRectangle", (PyCFunction) _wrap_PseudoMetaFile_DrawRoundedRectangle, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_DrawArc", (PyCFunction) _wrap_PseudoMetaFile_DrawArc, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_DrawEllipticArc", (PyCFunction) _wrap_PseudoMetaFile_DrawEllipticArc, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_DrawEllipse", (PyCFunction) _wrap_PseudoMetaFile_DrawEllipse, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_DrawPoint", (PyCFunction) _wrap_PseudoMetaFile_DrawPoint, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_DrawText", (PyCFunction) _wrap_PseudoMetaFile_DrawText, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_DrawLines", (PyCFunction) _wrap_PseudoMetaFile_DrawLines, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_DrawPolygon", (PyCFunction) _wrap_PseudoMetaFile_DrawPolygon, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_DrawSpline", (PyCFunction) _wrap_PseudoMetaFile_DrawSpline, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_SetClippingRect", (PyCFunction) _wrap_PseudoMetaFile_SetClippingRect, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_DestroyClippingRect", (PyCFunction) _wrap_PseudoMetaFile_DestroyClippingRect, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_SetPen", (PyCFunction) _wrap_PseudoMetaFile_SetPen, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_SetBrush", (PyCFunction) _wrap_PseudoMetaFile_SetBrush, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_SetFont", (PyCFunction) _wrap_PseudoMetaFile_SetFont, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_SetTextColour", (PyCFunction) _wrap_PseudoMetaFile_SetTextColour, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_SetBackgroundColour", (PyCFunction) _wrap_PseudoMetaFile_SetBackgroundColour, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_SetBackgroundMode", (PyCFunction) _wrap_PseudoMetaFile_SetBackgroundMode, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PseudoMetaFile_swigregister", PseudoMetaFile_swigregister, METH_VARARGS },
+        { (char *)"new_PyRectangleShape", (PyCFunction) _wrap_new_PyRectangleShape, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyRectangleShape__setCallbackInfo", (PyCFunction) _wrap_PyRectangleShape__setCallbackInfo, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyRectangleShape_SetCornerRadius", (PyCFunction) _wrap_PyRectangleShape_SetCornerRadius, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyRectangleShape_base_OnDelete", (PyCFunction) _wrap_PyRectangleShape_base_OnDelete, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyRectangleShape_base_OnDraw", (PyCFunction) _wrap_PyRectangleShape_base_OnDraw, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyRectangleShape_base_OnDrawContents", (PyCFunction) _wrap_PyRectangleShape_base_OnDrawContents, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyRectangleShape_base_OnDrawBranches", (PyCFunction) _wrap_PyRectangleShape_base_OnDrawBranches, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyRectangleShape_base_OnMoveLinks", (PyCFunction) _wrap_PyRectangleShape_base_OnMoveLinks, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyRectangleShape_base_OnErase", (PyCFunction) _wrap_PyRectangleShape_base_OnErase, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyRectangleShape_base_OnEraseContents", (PyCFunction) _wrap_PyRectangleShape_base_OnEraseContents, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyRectangleShape_base_OnHighlight", (PyCFunction) _wrap_PyRectangleShape_base_OnHighlight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyRectangleShape_base_OnLeftClick", (PyCFunction) _wrap_PyRectangleShape_base_OnLeftClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyRectangleShape_base_OnLeftDoubleClick", (PyCFunction) _wrap_PyRectangleShape_base_OnLeftDoubleClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyRectangleShape_base_OnRightClick", (PyCFunction) _wrap_PyRectangleShape_base_OnRightClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyRectangleShape_base_OnSize", (PyCFunction) _wrap_PyRectangleShape_base_OnSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyRectangleShape_base_OnMovePre", (PyCFunction) _wrap_PyRectangleShape_base_OnMovePre, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyRectangleShape_base_OnMovePost", (PyCFunction) _wrap_PyRectangleShape_base_OnMovePost, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyRectangleShape_base_OnDragLeft", (PyCFunction) _wrap_PyRectangleShape_base_OnDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyRectangleShape_base_OnBeginDragLeft", (PyCFunction) _wrap_PyRectangleShape_base_OnBeginDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyRectangleShape_base_OnEndDragLeft", (PyCFunction) _wrap_PyRectangleShape_base_OnEndDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyRectangleShape_base_OnDragRight", (PyCFunction) _wrap_PyRectangleShape_base_OnDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyRectangleShape_base_OnBeginDragRight", (PyCFunction) _wrap_PyRectangleShape_base_OnBeginDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyRectangleShape_base_OnEndDragRight", (PyCFunction) _wrap_PyRectangleShape_base_OnEndDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyRectangleShape_base_OnDrawOutline", (PyCFunction) _wrap_PyRectangleShape_base_OnDrawOutline, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyRectangleShape_base_OnDrawControlPoints", (PyCFunction) _wrap_PyRectangleShape_base_OnDrawControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyRectangleShape_base_OnEraseControlPoints", (PyCFunction) _wrap_PyRectangleShape_base_OnEraseControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyRectangleShape_base_OnMoveLink", (PyCFunction) _wrap_PyRectangleShape_base_OnMoveLink, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyRectangleShape_base_OnSizingDragLeft", (PyCFunction) _wrap_PyRectangleShape_base_OnSizingDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyRectangleShape_base_OnSizingBeginDragLeft", (PyCFunction) _wrap_PyRectangleShape_base_OnSizingBeginDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyRectangleShape_base_OnSizingEndDragLeft", (PyCFunction) _wrap_PyRectangleShape_base_OnSizingEndDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyRectangleShape_base_OnBeginSize", (PyCFunction) _wrap_PyRectangleShape_base_OnBeginSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyRectangleShape_base_OnEndSize", (PyCFunction) _wrap_PyRectangleShape_base_OnEndSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyRectangleShape_swigregister", PyRectangleShape_swigregister, METH_VARARGS },
+        { (char *)"new_PyControlPoint", (PyCFunction) _wrap_new_PyControlPoint, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyControlPoint__setCallbackInfo", (PyCFunction) _wrap_PyControlPoint__setCallbackInfo, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyControlPoint_SetCornerRadius", (PyCFunction) _wrap_PyControlPoint_SetCornerRadius, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyControlPoint_base_OnDelete", (PyCFunction) _wrap_PyControlPoint_base_OnDelete, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyControlPoint_base_OnDraw", (PyCFunction) _wrap_PyControlPoint_base_OnDraw, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyControlPoint_base_OnDrawContents", (PyCFunction) _wrap_PyControlPoint_base_OnDrawContents, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyControlPoint_base_OnDrawBranches", (PyCFunction) _wrap_PyControlPoint_base_OnDrawBranches, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyControlPoint_base_OnMoveLinks", (PyCFunction) _wrap_PyControlPoint_base_OnMoveLinks, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyControlPoint_base_OnErase", (PyCFunction) _wrap_PyControlPoint_base_OnErase, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyControlPoint_base_OnEraseContents", (PyCFunction) _wrap_PyControlPoint_base_OnEraseContents, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyControlPoint_base_OnHighlight", (PyCFunction) _wrap_PyControlPoint_base_OnHighlight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyControlPoint_base_OnLeftClick", (PyCFunction) _wrap_PyControlPoint_base_OnLeftClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyControlPoint_base_OnLeftDoubleClick", (PyCFunction) _wrap_PyControlPoint_base_OnLeftDoubleClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyControlPoint_base_OnRightClick", (PyCFunction) _wrap_PyControlPoint_base_OnRightClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyControlPoint_base_OnSize", (PyCFunction) _wrap_PyControlPoint_base_OnSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyControlPoint_base_OnMovePre", (PyCFunction) _wrap_PyControlPoint_base_OnMovePre, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyControlPoint_base_OnMovePost", (PyCFunction) _wrap_PyControlPoint_base_OnMovePost, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyControlPoint_base_OnDragLeft", (PyCFunction) _wrap_PyControlPoint_base_OnDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyControlPoint_base_OnBeginDragLeft", (PyCFunction) _wrap_PyControlPoint_base_OnBeginDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyControlPoint_base_OnEndDragLeft", (PyCFunction) _wrap_PyControlPoint_base_OnEndDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyControlPoint_base_OnDragRight", (PyCFunction) _wrap_PyControlPoint_base_OnDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyControlPoint_base_OnBeginDragRight", (PyCFunction) _wrap_PyControlPoint_base_OnBeginDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyControlPoint_base_OnEndDragRight", (PyCFunction) _wrap_PyControlPoint_base_OnEndDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyControlPoint_base_OnDrawOutline", (PyCFunction) _wrap_PyControlPoint_base_OnDrawOutline, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyControlPoint_base_OnDrawControlPoints", (PyCFunction) _wrap_PyControlPoint_base_OnDrawControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyControlPoint_base_OnEraseControlPoints", (PyCFunction) _wrap_PyControlPoint_base_OnEraseControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyControlPoint_base_OnMoveLink", (PyCFunction) _wrap_PyControlPoint_base_OnMoveLink, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyControlPoint_base_OnSizingDragLeft", (PyCFunction) _wrap_PyControlPoint_base_OnSizingDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyControlPoint_base_OnSizingBeginDragLeft", (PyCFunction) _wrap_PyControlPoint_base_OnSizingBeginDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyControlPoint_base_OnSizingEndDragLeft", (PyCFunction) _wrap_PyControlPoint_base_OnSizingEndDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyControlPoint_base_OnBeginSize", (PyCFunction) _wrap_PyControlPoint_base_OnBeginSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyControlPoint_base_OnEndSize", (PyCFunction) _wrap_PyControlPoint_base_OnEndSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyControlPoint_swigregister", PyControlPoint_swigregister, METH_VARARGS },
+        { (char *)"new_PyBitmapShape", (PyCFunction) _wrap_new_PyBitmapShape, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape__setCallbackInfo", (PyCFunction) _wrap_PyBitmapShape__setCallbackInfo, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_GetBitmap", (PyCFunction) _wrap_PyBitmapShape_GetBitmap, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_GetFilename", (PyCFunction) _wrap_PyBitmapShape_GetFilename, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_SetBitmap", (PyCFunction) _wrap_PyBitmapShape_SetBitmap, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_SetFilename", (PyCFunction) _wrap_PyBitmapShape_SetFilename, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_base_OnDelete", (PyCFunction) _wrap_PyBitmapShape_base_OnDelete, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_base_OnDraw", (PyCFunction) _wrap_PyBitmapShape_base_OnDraw, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_base_OnDrawContents", (PyCFunction) _wrap_PyBitmapShape_base_OnDrawContents, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_base_OnDrawBranches", (PyCFunction) _wrap_PyBitmapShape_base_OnDrawBranches, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_base_OnMoveLinks", (PyCFunction) _wrap_PyBitmapShape_base_OnMoveLinks, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_base_OnErase", (PyCFunction) _wrap_PyBitmapShape_base_OnErase, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_base_OnEraseContents", (PyCFunction) _wrap_PyBitmapShape_base_OnEraseContents, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_base_OnHighlight", (PyCFunction) _wrap_PyBitmapShape_base_OnHighlight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_base_OnLeftClick", (PyCFunction) _wrap_PyBitmapShape_base_OnLeftClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_base_OnLeftDoubleClick", (PyCFunction) _wrap_PyBitmapShape_base_OnLeftDoubleClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_base_OnRightClick", (PyCFunction) _wrap_PyBitmapShape_base_OnRightClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_base_OnSize", (PyCFunction) _wrap_PyBitmapShape_base_OnSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_base_OnMovePre", (PyCFunction) _wrap_PyBitmapShape_base_OnMovePre, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_base_OnMovePost", (PyCFunction) _wrap_PyBitmapShape_base_OnMovePost, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_base_OnDragLeft", (PyCFunction) _wrap_PyBitmapShape_base_OnDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_base_OnBeginDragLeft", (PyCFunction) _wrap_PyBitmapShape_base_OnBeginDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_base_OnEndDragLeft", (PyCFunction) _wrap_PyBitmapShape_base_OnEndDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_base_OnDragRight", (PyCFunction) _wrap_PyBitmapShape_base_OnDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_base_OnBeginDragRight", (PyCFunction) _wrap_PyBitmapShape_base_OnBeginDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_base_OnEndDragRight", (PyCFunction) _wrap_PyBitmapShape_base_OnEndDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_base_OnDrawOutline", (PyCFunction) _wrap_PyBitmapShape_base_OnDrawOutline, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_base_OnDrawControlPoints", (PyCFunction) _wrap_PyBitmapShape_base_OnDrawControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_base_OnEraseControlPoints", (PyCFunction) _wrap_PyBitmapShape_base_OnEraseControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_base_OnMoveLink", (PyCFunction) _wrap_PyBitmapShape_base_OnMoveLink, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_base_OnSizingDragLeft", (PyCFunction) _wrap_PyBitmapShape_base_OnSizingDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_base_OnSizingBeginDragLeft", (PyCFunction) _wrap_PyBitmapShape_base_OnSizingBeginDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_base_OnSizingEndDragLeft", (PyCFunction) _wrap_PyBitmapShape_base_OnSizingEndDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_base_OnBeginSize", (PyCFunction) _wrap_PyBitmapShape_base_OnBeginSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_base_OnEndSize", (PyCFunction) _wrap_PyBitmapShape_base_OnEndSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyBitmapShape_swigregister", PyBitmapShape_swigregister, METH_VARARGS },
+        { (char *)"new_PyDrawnShape", (PyCFunction) _wrap_new_PyDrawnShape, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape__setCallbackInfo", (PyCFunction) _wrap_PyDrawnShape__setCallbackInfo, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_CalculateSize", (PyCFunction) _wrap_PyDrawnShape_CalculateSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_DestroyClippingRect", (PyCFunction) _wrap_PyDrawnShape_DestroyClippingRect, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_DrawArc", (PyCFunction) _wrap_PyDrawnShape_DrawArc, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_DrawAtAngle", (PyCFunction) _wrap_PyDrawnShape_DrawAtAngle, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_DrawEllipticArc", (PyCFunction) _wrap_PyDrawnShape_DrawEllipticArc, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_DrawLine", (PyCFunction) _wrap_PyDrawnShape_DrawLine, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_DrawLines", (PyCFunction) _wrap_PyDrawnShape_DrawLines, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_DrawPoint", (PyCFunction) _wrap_PyDrawnShape_DrawPoint, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_DrawPolygon", (PyCFunction) _wrap_PyDrawnShape_DrawPolygon, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_DrawRectangle", (PyCFunction) _wrap_PyDrawnShape_DrawRectangle, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_DrawRoundedRectangle", (PyCFunction) _wrap_PyDrawnShape_DrawRoundedRectangle, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_DrawSpline", (PyCFunction) _wrap_PyDrawnShape_DrawSpline, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_DrawText", (PyCFunction) _wrap_PyDrawnShape_DrawText, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_GetAngle", (PyCFunction) _wrap_PyDrawnShape_GetAngle, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_GetMetaFile", (PyCFunction) _wrap_PyDrawnShape_GetMetaFile, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_GetRotation", (PyCFunction) _wrap_PyDrawnShape_GetRotation, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_LoadFromMetaFile", (PyCFunction) _wrap_PyDrawnShape_LoadFromMetaFile, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_Rotate", (PyCFunction) _wrap_PyDrawnShape_Rotate, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_SetClippingRect", (PyCFunction) _wrap_PyDrawnShape_SetClippingRect, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_SetDrawnBackgroundColour", (PyCFunction) _wrap_PyDrawnShape_SetDrawnBackgroundColour, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_SetDrawnBackgroundMode", (PyCFunction) _wrap_PyDrawnShape_SetDrawnBackgroundMode, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_SetDrawnBrush", (PyCFunction) _wrap_PyDrawnShape_SetDrawnBrush, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_SetDrawnFont", (PyCFunction) _wrap_PyDrawnShape_SetDrawnFont, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_SetDrawnPen", (PyCFunction) _wrap_PyDrawnShape_SetDrawnPen, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_SetDrawnTextColour", (PyCFunction) _wrap_PyDrawnShape_SetDrawnTextColour, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_Scale", (PyCFunction) _wrap_PyDrawnShape_Scale, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_SetSaveToFile", (PyCFunction) _wrap_PyDrawnShape_SetSaveToFile, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_Translate", (PyCFunction) _wrap_PyDrawnShape_Translate, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_base_OnDelete", (PyCFunction) _wrap_PyDrawnShape_base_OnDelete, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_base_OnDraw", (PyCFunction) _wrap_PyDrawnShape_base_OnDraw, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_base_OnDrawContents", (PyCFunction) _wrap_PyDrawnShape_base_OnDrawContents, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_base_OnDrawBranches", (PyCFunction) _wrap_PyDrawnShape_base_OnDrawBranches, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_base_OnMoveLinks", (PyCFunction) _wrap_PyDrawnShape_base_OnMoveLinks, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_base_OnErase", (PyCFunction) _wrap_PyDrawnShape_base_OnErase, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_base_OnEraseContents", (PyCFunction) _wrap_PyDrawnShape_base_OnEraseContents, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_base_OnHighlight", (PyCFunction) _wrap_PyDrawnShape_base_OnHighlight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_base_OnLeftClick", (PyCFunction) _wrap_PyDrawnShape_base_OnLeftClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_base_OnLeftDoubleClick", (PyCFunction) _wrap_PyDrawnShape_base_OnLeftDoubleClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_base_OnRightClick", (PyCFunction) _wrap_PyDrawnShape_base_OnRightClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_base_OnSize", (PyCFunction) _wrap_PyDrawnShape_base_OnSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_base_OnMovePre", (PyCFunction) _wrap_PyDrawnShape_base_OnMovePre, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_base_OnMovePost", (PyCFunction) _wrap_PyDrawnShape_base_OnMovePost, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_base_OnDragLeft", (PyCFunction) _wrap_PyDrawnShape_base_OnDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_base_OnBeginDragLeft", (PyCFunction) _wrap_PyDrawnShape_base_OnBeginDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_base_OnEndDragLeft", (PyCFunction) _wrap_PyDrawnShape_base_OnEndDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_base_OnDragRight", (PyCFunction) _wrap_PyDrawnShape_base_OnDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_base_OnBeginDragRight", (PyCFunction) _wrap_PyDrawnShape_base_OnBeginDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_base_OnEndDragRight", (PyCFunction) _wrap_PyDrawnShape_base_OnEndDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_base_OnDrawOutline", (PyCFunction) _wrap_PyDrawnShape_base_OnDrawOutline, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_base_OnDrawControlPoints", (PyCFunction) _wrap_PyDrawnShape_base_OnDrawControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_base_OnEraseControlPoints", (PyCFunction) _wrap_PyDrawnShape_base_OnEraseControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_base_OnMoveLink", (PyCFunction) _wrap_PyDrawnShape_base_OnMoveLink, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_base_OnSizingDragLeft", (PyCFunction) _wrap_PyDrawnShape_base_OnSizingDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_base_OnSizingBeginDragLeft", (PyCFunction) _wrap_PyDrawnShape_base_OnSizingBeginDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_base_OnSizingEndDragLeft", (PyCFunction) _wrap_PyDrawnShape_base_OnSizingEndDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_base_OnBeginSize", (PyCFunction) _wrap_PyDrawnShape_base_OnBeginSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_base_OnEndSize", (PyCFunction) _wrap_PyDrawnShape_base_OnEndSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDrawnShape_swigregister", PyDrawnShape_swigregister, METH_VARARGS },
+        { (char *)"new_OGLConstraint", (PyCFunction) _wrap_new_OGLConstraint, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"OGLConstraint_Evaluate", (PyCFunction) _wrap_OGLConstraint_Evaluate, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"OGLConstraint_SetSpacing", (PyCFunction) _wrap_OGLConstraint_SetSpacing, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"OGLConstraint_Equals", (PyCFunction) _wrap_OGLConstraint_Equals, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"OGLConstraint_swigregister", OGLConstraint_swigregister, METH_VARARGS },
+        { (char *)"new_PyCompositeShape", (PyCFunction) _wrap_new_PyCompositeShape, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape__setCallbackInfo", (PyCFunction) _wrap_PyCompositeShape__setCallbackInfo, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_AddChild", (PyCFunction) _wrap_PyCompositeShape_AddChild, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_AddConstraint", (PyCFunction) _wrap_PyCompositeShape_AddConstraint, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_AddConstrainedShapes", (PyCFunction) _wrap_PyCompositeShape_AddConstrainedShapes, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_AddSimpleConstraint", (PyCFunction) _wrap_PyCompositeShape_AddSimpleConstraint, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_CalculateSize", (PyCFunction) _wrap_PyCompositeShape_CalculateSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_ContainsDivision", (PyCFunction) _wrap_PyCompositeShape_ContainsDivision, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_DeleteConstraint", (PyCFunction) _wrap_PyCompositeShape_DeleteConstraint, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_DeleteConstraintsInvolvingChild", (PyCFunction) _wrap_PyCompositeShape_DeleteConstraintsInvolvingChild, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_FindContainerImage", (PyCFunction) _wrap_PyCompositeShape_FindContainerImage, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_GetConstraints", (PyCFunction) _wrap_PyCompositeShape_GetConstraints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_GetDivisions", (PyCFunction) _wrap_PyCompositeShape_GetDivisions, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_MakeContainer", (PyCFunction) _wrap_PyCompositeShape_MakeContainer, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_Recompute", (PyCFunction) _wrap_PyCompositeShape_Recompute, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_RemoveChild", (PyCFunction) _wrap_PyCompositeShape_RemoveChild, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_base_OnDelete", (PyCFunction) _wrap_PyCompositeShape_base_OnDelete, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_base_OnDraw", (PyCFunction) _wrap_PyCompositeShape_base_OnDraw, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_base_OnDrawContents", (PyCFunction) _wrap_PyCompositeShape_base_OnDrawContents, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_base_OnDrawBranches", (PyCFunction) _wrap_PyCompositeShape_base_OnDrawBranches, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_base_OnMoveLinks", (PyCFunction) _wrap_PyCompositeShape_base_OnMoveLinks, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_base_OnErase", (PyCFunction) _wrap_PyCompositeShape_base_OnErase, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_base_OnEraseContents", (PyCFunction) _wrap_PyCompositeShape_base_OnEraseContents, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_base_OnHighlight", (PyCFunction) _wrap_PyCompositeShape_base_OnHighlight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_base_OnLeftClick", (PyCFunction) _wrap_PyCompositeShape_base_OnLeftClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_base_OnLeftDoubleClick", (PyCFunction) _wrap_PyCompositeShape_base_OnLeftDoubleClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_base_OnRightClick", (PyCFunction) _wrap_PyCompositeShape_base_OnRightClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_base_OnSize", (PyCFunction) _wrap_PyCompositeShape_base_OnSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_base_OnMovePre", (PyCFunction) _wrap_PyCompositeShape_base_OnMovePre, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_base_OnMovePost", (PyCFunction) _wrap_PyCompositeShape_base_OnMovePost, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_base_OnDragLeft", (PyCFunction) _wrap_PyCompositeShape_base_OnDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_base_OnBeginDragLeft", (PyCFunction) _wrap_PyCompositeShape_base_OnBeginDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_base_OnEndDragLeft", (PyCFunction) _wrap_PyCompositeShape_base_OnEndDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_base_OnDragRight", (PyCFunction) _wrap_PyCompositeShape_base_OnDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_base_OnBeginDragRight", (PyCFunction) _wrap_PyCompositeShape_base_OnBeginDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_base_OnEndDragRight", (PyCFunction) _wrap_PyCompositeShape_base_OnEndDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_base_OnDrawOutline", (PyCFunction) _wrap_PyCompositeShape_base_OnDrawOutline, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_base_OnDrawControlPoints", (PyCFunction) _wrap_PyCompositeShape_base_OnDrawControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_base_OnEraseControlPoints", (PyCFunction) _wrap_PyCompositeShape_base_OnEraseControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_base_OnMoveLink", (PyCFunction) _wrap_PyCompositeShape_base_OnMoveLink, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_base_OnSizingDragLeft", (PyCFunction) _wrap_PyCompositeShape_base_OnSizingDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_base_OnSizingBeginDragLeft", (PyCFunction) _wrap_PyCompositeShape_base_OnSizingBeginDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_base_OnSizingEndDragLeft", (PyCFunction) _wrap_PyCompositeShape_base_OnSizingEndDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_base_OnBeginSize", (PyCFunction) _wrap_PyCompositeShape_base_OnBeginSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_base_OnEndSize", (PyCFunction) _wrap_PyCompositeShape_base_OnEndSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCompositeShape_swigregister", PyCompositeShape_swigregister, METH_VARARGS },
+        { (char *)"new_PyDividedShape", (PyCFunction) _wrap_new_PyDividedShape, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDividedShape__setCallbackInfo", (PyCFunction) _wrap_PyDividedShape__setCallbackInfo, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDividedShape_EditRegions", (PyCFunction) _wrap_PyDividedShape_EditRegions, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDividedShape_SetRegionSizes", (PyCFunction) _wrap_PyDividedShape_SetRegionSizes, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDividedShape_base_OnDelete", (PyCFunction) _wrap_PyDividedShape_base_OnDelete, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDividedShape_base_OnDraw", (PyCFunction) _wrap_PyDividedShape_base_OnDraw, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDividedShape_base_OnDrawContents", (PyCFunction) _wrap_PyDividedShape_base_OnDrawContents, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDividedShape_base_OnDrawBranches", (PyCFunction) _wrap_PyDividedShape_base_OnDrawBranches, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDividedShape_base_OnMoveLinks", (PyCFunction) _wrap_PyDividedShape_base_OnMoveLinks, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDividedShape_base_OnErase", (PyCFunction) _wrap_PyDividedShape_base_OnErase, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDividedShape_base_OnEraseContents", (PyCFunction) _wrap_PyDividedShape_base_OnEraseContents, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDividedShape_base_OnHighlight", (PyCFunction) _wrap_PyDividedShape_base_OnHighlight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDividedShape_base_OnLeftClick", (PyCFunction) _wrap_PyDividedShape_base_OnLeftClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDividedShape_base_OnLeftDoubleClick", (PyCFunction) _wrap_PyDividedShape_base_OnLeftDoubleClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDividedShape_base_OnRightClick", (PyCFunction) _wrap_PyDividedShape_base_OnRightClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDividedShape_base_OnSize", (PyCFunction) _wrap_PyDividedShape_base_OnSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDividedShape_base_OnMovePre", (PyCFunction) _wrap_PyDividedShape_base_OnMovePre, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDividedShape_base_OnMovePost", (PyCFunction) _wrap_PyDividedShape_base_OnMovePost, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDividedShape_base_OnDragLeft", (PyCFunction) _wrap_PyDividedShape_base_OnDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDividedShape_base_OnBeginDragLeft", (PyCFunction) _wrap_PyDividedShape_base_OnBeginDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDividedShape_base_OnEndDragLeft", (PyCFunction) _wrap_PyDividedShape_base_OnEndDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDividedShape_base_OnDragRight", (PyCFunction) _wrap_PyDividedShape_base_OnDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDividedShape_base_OnBeginDragRight", (PyCFunction) _wrap_PyDividedShape_base_OnBeginDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDividedShape_base_OnEndDragRight", (PyCFunction) _wrap_PyDividedShape_base_OnEndDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDividedShape_base_OnDrawOutline", (PyCFunction) _wrap_PyDividedShape_base_OnDrawOutline, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDividedShape_base_OnDrawControlPoints", (PyCFunction) _wrap_PyDividedShape_base_OnDrawControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDividedShape_base_OnEraseControlPoints", (PyCFunction) _wrap_PyDividedShape_base_OnEraseControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDividedShape_base_OnMoveLink", (PyCFunction) _wrap_PyDividedShape_base_OnMoveLink, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDividedShape_base_OnSizingDragLeft", (PyCFunction) _wrap_PyDividedShape_base_OnSizingDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDividedShape_base_OnSizingBeginDragLeft", (PyCFunction) _wrap_PyDividedShape_base_OnSizingBeginDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDividedShape_base_OnSizingEndDragLeft", (PyCFunction) _wrap_PyDividedShape_base_OnSizingEndDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDividedShape_base_OnBeginSize", (PyCFunction) _wrap_PyDividedShape_base_OnBeginSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDividedShape_base_OnEndSize", (PyCFunction) _wrap_PyDividedShape_base_OnEndSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDividedShape_swigregister", PyDividedShape_swigregister, METH_VARARGS },
+        { (char *)"new_PyDivisionShape", (PyCFunction) _wrap_new_PyDivisionShape, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape__setCallbackInfo", (PyCFunction) _wrap_PyDivisionShape__setCallbackInfo, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_AdjustBottom", (PyCFunction) _wrap_PyDivisionShape_AdjustBottom, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_AdjustLeft", (PyCFunction) _wrap_PyDivisionShape_AdjustLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_AdjustRight", (PyCFunction) _wrap_PyDivisionShape_AdjustRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_AdjustTop", (PyCFunction) _wrap_PyDivisionShape_AdjustTop, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_Divide", (PyCFunction) _wrap_PyDivisionShape_Divide, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_EditEdge", (PyCFunction) _wrap_PyDivisionShape_EditEdge, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_GetBottomSide", (PyCFunction) _wrap_PyDivisionShape_GetBottomSide, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_GetHandleSide", (PyCFunction) _wrap_PyDivisionShape_GetHandleSide, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_GetLeftSide", (PyCFunction) _wrap_PyDivisionShape_GetLeftSide, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_GetLeftSideColour", (PyCFunction) _wrap_PyDivisionShape_GetLeftSideColour, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_GetLeftSidePen", (PyCFunction) _wrap_PyDivisionShape_GetLeftSidePen, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_GetRightSide", (PyCFunction) _wrap_PyDivisionShape_GetRightSide, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_GetTopSide", (PyCFunction) _wrap_PyDivisionShape_GetTopSide, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_GetTopSidePen", (PyCFunction) _wrap_PyDivisionShape_GetTopSidePen, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_ResizeAdjoining", (PyCFunction) _wrap_PyDivisionShape_ResizeAdjoining, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_PopupMenu", (PyCFunction) _wrap_PyDivisionShape_PopupMenu, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_SetBottomSide", (PyCFunction) _wrap_PyDivisionShape_SetBottomSide, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_SetHandleSide", (PyCFunction) _wrap_PyDivisionShape_SetHandleSide, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_SetLeftSide", (PyCFunction) _wrap_PyDivisionShape_SetLeftSide, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_SetLeftSideColour", (PyCFunction) _wrap_PyDivisionShape_SetLeftSideColour, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_SetLeftSidePen", (PyCFunction) _wrap_PyDivisionShape_SetLeftSidePen, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_SetRightSide", (PyCFunction) _wrap_PyDivisionShape_SetRightSide, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_SetTopSide", (PyCFunction) _wrap_PyDivisionShape_SetTopSide, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_SetTopSideColour", (PyCFunction) _wrap_PyDivisionShape_SetTopSideColour, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_SetTopSidePen", (PyCFunction) _wrap_PyDivisionShape_SetTopSidePen, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_base_OnDelete", (PyCFunction) _wrap_PyDivisionShape_base_OnDelete, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_base_OnDraw", (PyCFunction) _wrap_PyDivisionShape_base_OnDraw, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_base_OnDrawContents", (PyCFunction) _wrap_PyDivisionShape_base_OnDrawContents, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_base_OnDrawBranches", (PyCFunction) _wrap_PyDivisionShape_base_OnDrawBranches, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_base_OnMoveLinks", (PyCFunction) _wrap_PyDivisionShape_base_OnMoveLinks, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_base_OnErase", (PyCFunction) _wrap_PyDivisionShape_base_OnErase, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_base_OnEraseContents", (PyCFunction) _wrap_PyDivisionShape_base_OnEraseContents, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_base_OnHighlight", (PyCFunction) _wrap_PyDivisionShape_base_OnHighlight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_base_OnLeftClick", (PyCFunction) _wrap_PyDivisionShape_base_OnLeftClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_base_OnLeftDoubleClick", (PyCFunction) _wrap_PyDivisionShape_base_OnLeftDoubleClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_base_OnRightClick", (PyCFunction) _wrap_PyDivisionShape_base_OnRightClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_base_OnSize", (PyCFunction) _wrap_PyDivisionShape_base_OnSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_base_OnMovePre", (PyCFunction) _wrap_PyDivisionShape_base_OnMovePre, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_base_OnMovePost", (PyCFunction) _wrap_PyDivisionShape_base_OnMovePost, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_base_OnDragLeft", (PyCFunction) _wrap_PyDivisionShape_base_OnDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_base_OnBeginDragLeft", (PyCFunction) _wrap_PyDivisionShape_base_OnBeginDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_base_OnEndDragLeft", (PyCFunction) _wrap_PyDivisionShape_base_OnEndDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_base_OnDragRight", (PyCFunction) _wrap_PyDivisionShape_base_OnDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_base_OnBeginDragRight", (PyCFunction) _wrap_PyDivisionShape_base_OnBeginDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_base_OnEndDragRight", (PyCFunction) _wrap_PyDivisionShape_base_OnEndDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_base_OnDrawOutline", (PyCFunction) _wrap_PyDivisionShape_base_OnDrawOutline, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_base_OnDrawControlPoints", (PyCFunction) _wrap_PyDivisionShape_base_OnDrawControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_base_OnEraseControlPoints", (PyCFunction) _wrap_PyDivisionShape_base_OnEraseControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_base_OnMoveLink", (PyCFunction) _wrap_PyDivisionShape_base_OnMoveLink, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_base_OnSizingDragLeft", (PyCFunction) _wrap_PyDivisionShape_base_OnSizingDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_base_OnSizingBeginDragLeft", (PyCFunction) _wrap_PyDivisionShape_base_OnSizingBeginDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_base_OnSizingEndDragLeft", (PyCFunction) _wrap_PyDivisionShape_base_OnSizingEndDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_base_OnBeginSize", (PyCFunction) _wrap_PyDivisionShape_base_OnBeginSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_base_OnEndSize", (PyCFunction) _wrap_PyDivisionShape_base_OnEndSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyDivisionShape_swigregister", PyDivisionShape_swigregister, METH_VARARGS },
+        { (char *)"new_PyEllipseShape", (PyCFunction) _wrap_new_PyEllipseShape, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyEllipseShape__setCallbackInfo", (PyCFunction) _wrap_PyEllipseShape__setCallbackInfo, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyEllipseShape_base_OnDraw", (PyCFunction) _wrap_PyEllipseShape_base_OnDraw, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyEllipseShape_base_OnDrawContents", (PyCFunction) _wrap_PyEllipseShape_base_OnDrawContents, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyEllipseShape_base_OnDrawBranches", (PyCFunction) _wrap_PyEllipseShape_base_OnDrawBranches, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyEllipseShape_base_OnMoveLinks", (PyCFunction) _wrap_PyEllipseShape_base_OnMoveLinks, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyEllipseShape_base_OnErase", (PyCFunction) _wrap_PyEllipseShape_base_OnErase, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyEllipseShape_base_OnEraseContents", (PyCFunction) _wrap_PyEllipseShape_base_OnEraseContents, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyEllipseShape_base_OnHighlight", (PyCFunction) _wrap_PyEllipseShape_base_OnHighlight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyEllipseShape_base_OnLeftClick", (PyCFunction) _wrap_PyEllipseShape_base_OnLeftClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyEllipseShape_base_OnLeftDoubleClick", (PyCFunction) _wrap_PyEllipseShape_base_OnLeftDoubleClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyEllipseShape_base_OnRightClick", (PyCFunction) _wrap_PyEllipseShape_base_OnRightClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyEllipseShape_base_OnSize", (PyCFunction) _wrap_PyEllipseShape_base_OnSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyEllipseShape_base_OnMovePre", (PyCFunction) _wrap_PyEllipseShape_base_OnMovePre, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyEllipseShape_base_OnMovePost", (PyCFunction) _wrap_PyEllipseShape_base_OnMovePost, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyEllipseShape_base_OnDragLeft", (PyCFunction) _wrap_PyEllipseShape_base_OnDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyEllipseShape_base_OnBeginDragLeft", (PyCFunction) _wrap_PyEllipseShape_base_OnBeginDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyEllipseShape_base_OnEndDragLeft", (PyCFunction) _wrap_PyEllipseShape_base_OnEndDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyEllipseShape_base_OnDragRight", (PyCFunction) _wrap_PyEllipseShape_base_OnDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyEllipseShape_base_OnBeginDragRight", (PyCFunction) _wrap_PyEllipseShape_base_OnBeginDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyEllipseShape_base_OnEndDragRight", (PyCFunction) _wrap_PyEllipseShape_base_OnEndDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyEllipseShape_base_OnDrawOutline", (PyCFunction) _wrap_PyEllipseShape_base_OnDrawOutline, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyEllipseShape_base_OnDrawControlPoints", (PyCFunction) _wrap_PyEllipseShape_base_OnDrawControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyEllipseShape_base_OnEraseControlPoints", (PyCFunction) _wrap_PyEllipseShape_base_OnEraseControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyEllipseShape_base_OnMoveLink", (PyCFunction) _wrap_PyEllipseShape_base_OnMoveLink, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyEllipseShape_base_OnSizingDragLeft", (PyCFunction) _wrap_PyEllipseShape_base_OnSizingDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyEllipseShape_base_OnSizingBeginDragLeft", (PyCFunction) _wrap_PyEllipseShape_base_OnSizingBeginDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyEllipseShape_base_OnSizingEndDragLeft", (PyCFunction) _wrap_PyEllipseShape_base_OnSizingEndDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyEllipseShape_base_OnBeginSize", (PyCFunction) _wrap_PyEllipseShape_base_OnBeginSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyEllipseShape_base_OnEndSize", (PyCFunction) _wrap_PyEllipseShape_base_OnEndSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyEllipseShape_swigregister", PyEllipseShape_swigregister, METH_VARARGS },
+        { (char *)"new_PyCircleShape", (PyCFunction) _wrap_new_PyCircleShape, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCircleShape__setCallbackInfo", (PyCFunction) _wrap_PyCircleShape__setCallbackInfo, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCircleShape_base_OnDraw", (PyCFunction) _wrap_PyCircleShape_base_OnDraw, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCircleShape_base_OnDrawContents", (PyCFunction) _wrap_PyCircleShape_base_OnDrawContents, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCircleShape_base_OnDrawBranches", (PyCFunction) _wrap_PyCircleShape_base_OnDrawBranches, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCircleShape_base_OnMoveLinks", (PyCFunction) _wrap_PyCircleShape_base_OnMoveLinks, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCircleShape_base_OnErase", (PyCFunction) _wrap_PyCircleShape_base_OnErase, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCircleShape_base_OnEraseContents", (PyCFunction) _wrap_PyCircleShape_base_OnEraseContents, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCircleShape_base_OnHighlight", (PyCFunction) _wrap_PyCircleShape_base_OnHighlight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCircleShape_base_OnLeftClick", (PyCFunction) _wrap_PyCircleShape_base_OnLeftClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCircleShape_base_OnLeftDoubleClick", (PyCFunction) _wrap_PyCircleShape_base_OnLeftDoubleClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCircleShape_base_OnRightClick", (PyCFunction) _wrap_PyCircleShape_base_OnRightClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCircleShape_base_OnSize", (PyCFunction) _wrap_PyCircleShape_base_OnSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCircleShape_base_OnMovePre", (PyCFunction) _wrap_PyCircleShape_base_OnMovePre, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCircleShape_base_OnMovePost", (PyCFunction) _wrap_PyCircleShape_base_OnMovePost, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCircleShape_base_OnDragLeft", (PyCFunction) _wrap_PyCircleShape_base_OnDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCircleShape_base_OnBeginDragLeft", (PyCFunction) _wrap_PyCircleShape_base_OnBeginDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCircleShape_base_OnEndDragLeft", (PyCFunction) _wrap_PyCircleShape_base_OnEndDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCircleShape_base_OnDragRight", (PyCFunction) _wrap_PyCircleShape_base_OnDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCircleShape_base_OnBeginDragRight", (PyCFunction) _wrap_PyCircleShape_base_OnBeginDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCircleShape_base_OnEndDragRight", (PyCFunction) _wrap_PyCircleShape_base_OnEndDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCircleShape_base_OnDrawOutline", (PyCFunction) _wrap_PyCircleShape_base_OnDrawOutline, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCircleShape_base_OnDrawControlPoints", (PyCFunction) _wrap_PyCircleShape_base_OnDrawControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCircleShape_base_OnEraseControlPoints", (PyCFunction) _wrap_PyCircleShape_base_OnEraseControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCircleShape_base_OnMoveLink", (PyCFunction) _wrap_PyCircleShape_base_OnMoveLink, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCircleShape_base_OnSizingDragLeft", (PyCFunction) _wrap_PyCircleShape_base_OnSizingDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCircleShape_base_OnSizingBeginDragLeft", (PyCFunction) _wrap_PyCircleShape_base_OnSizingBeginDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCircleShape_base_OnSizingEndDragLeft", (PyCFunction) _wrap_PyCircleShape_base_OnSizingEndDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCircleShape_base_OnBeginSize", (PyCFunction) _wrap_PyCircleShape_base_OnBeginSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCircleShape_base_OnEndSize", (PyCFunction) _wrap_PyCircleShape_base_OnEndSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyCircleShape_swigregister", PyCircleShape_swigregister, METH_VARARGS },
+        { (char *)"new_ArrowHead", (PyCFunction) _wrap_new_ArrowHead, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"delete_ArrowHead", (PyCFunction) _wrap_delete_ArrowHead, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ArrowHead__GetType", (PyCFunction) _wrap_ArrowHead__GetType, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ArrowHead_GetPosition", (PyCFunction) _wrap_ArrowHead_GetPosition, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ArrowHead_SetPosition", (PyCFunction) _wrap_ArrowHead_SetPosition, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ArrowHead_GetXOffset", (PyCFunction) _wrap_ArrowHead_GetXOffset, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ArrowHead_GetYOffset", (PyCFunction) _wrap_ArrowHead_GetYOffset, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ArrowHead_GetSpacing", (PyCFunction) _wrap_ArrowHead_GetSpacing, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ArrowHead_GetSize", (PyCFunction) _wrap_ArrowHead_GetSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ArrowHead_GetName", (PyCFunction) _wrap_ArrowHead_GetName, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ArrowHead_SetXOffset", (PyCFunction) _wrap_ArrowHead_SetXOffset, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ArrowHead_SetYOffset", (PyCFunction) _wrap_ArrowHead_SetYOffset, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ArrowHead_GetMetaFile", (PyCFunction) _wrap_ArrowHead_GetMetaFile, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ArrowHead_GetId", (PyCFunction) _wrap_ArrowHead_GetId, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ArrowHead_GetArrowEnd", (PyCFunction) _wrap_ArrowHead_GetArrowEnd, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ArrowHead_GetArrowSize", (PyCFunction) _wrap_ArrowHead_GetArrowSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ArrowHead_SetSize", (PyCFunction) _wrap_ArrowHead_SetSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ArrowHead_SetSpacing", (PyCFunction) _wrap_ArrowHead_SetSpacing, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"ArrowHead_swigregister", ArrowHead_swigregister, METH_VARARGS },
+        { (char *)"new_PyLineShape", (PyCFunction) _wrap_new_PyLineShape, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape__setCallbackInfo", (PyCFunction) _wrap_PyLineShape__setCallbackInfo, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_AddArrow", (PyCFunction) _wrap_PyLineShape_AddArrow, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_AddArrowOrdered", (PyCFunction) _wrap_PyLineShape_AddArrowOrdered, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_ClearArrow", (PyCFunction) _wrap_PyLineShape_ClearArrow, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_ClearArrowsAtPosition", (PyCFunction) _wrap_PyLineShape_ClearArrowsAtPosition, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_DrawArrow", (PyCFunction) _wrap_PyLineShape_DrawArrow, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_DeleteArrowHeadId", (PyCFunction) _wrap_PyLineShape_DeleteArrowHeadId, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_DeleteArrowHead", (PyCFunction) _wrap_PyLineShape_DeleteArrowHead, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_DeleteLineControlPoint", (PyCFunction) _wrap_PyLineShape_DeleteLineControlPoint, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_DrawArrows", (PyCFunction) _wrap_PyLineShape_DrawArrows, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_DrawRegion", (PyCFunction) _wrap_PyLineShape_DrawRegion, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_EraseRegion", (PyCFunction) _wrap_PyLineShape_EraseRegion, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_FindArrowHeadId", (PyCFunction) _wrap_PyLineShape_FindArrowHeadId, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_FindArrowHead", (PyCFunction) _wrap_PyLineShape_FindArrowHead, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_FindLineEndPoints", (PyCFunction) _wrap_PyLineShape_FindLineEndPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_FindLinePosition", (PyCFunction) _wrap_PyLineShape_FindLinePosition, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_FindMinimumWidth", (PyCFunction) _wrap_PyLineShape_FindMinimumWidth, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_FindNth", (PyCFunction) _wrap_PyLineShape_FindNth, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_GetAttachmentFrom", (PyCFunction) _wrap_PyLineShape_GetAttachmentFrom, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_GetAttachmentTo", (PyCFunction) _wrap_PyLineShape_GetAttachmentTo, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_GetEnds", (PyCFunction) _wrap_PyLineShape_GetEnds, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_GetFrom", (PyCFunction) _wrap_PyLineShape_GetFrom, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_GetLabelPosition", (PyCFunction) _wrap_PyLineShape_GetLabelPosition, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_GetNextControlPoint", (PyCFunction) _wrap_PyLineShape_GetNextControlPoint, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_GetTo", (PyCFunction) _wrap_PyLineShape_GetTo, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_Initialise", (PyCFunction) _wrap_PyLineShape_Initialise, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_InsertLineControlPoint", (PyCFunction) _wrap_PyLineShape_InsertLineControlPoint, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_IsEnd", (PyCFunction) _wrap_PyLineShape_IsEnd, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_IsSpline", (PyCFunction) _wrap_PyLineShape_IsSpline, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_MakeLineControlPoints", (PyCFunction) _wrap_PyLineShape_MakeLineControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_GetLineControlPoints", (PyCFunction) _wrap_PyLineShape_GetLineControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_SetAttachmentFrom", (PyCFunction) _wrap_PyLineShape_SetAttachmentFrom, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_SetAttachments", (PyCFunction) _wrap_PyLineShape_SetAttachments, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_SetAttachmentTo", (PyCFunction) _wrap_PyLineShape_SetAttachmentTo, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_SetEnds", (PyCFunction) _wrap_PyLineShape_SetEnds, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_SetFrom", (PyCFunction) _wrap_PyLineShape_SetFrom, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_SetIgnoreOffsets", (PyCFunction) _wrap_PyLineShape_SetIgnoreOffsets, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_SetSpline", (PyCFunction) _wrap_PyLineShape_SetSpline, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_SetTo", (PyCFunction) _wrap_PyLineShape_SetTo, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_Straighten", (PyCFunction) _wrap_PyLineShape_Straighten, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_Unlink", (PyCFunction) _wrap_PyLineShape_Unlink, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_base_OnDraw", (PyCFunction) _wrap_PyLineShape_base_OnDraw, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_base_OnDrawContents", (PyCFunction) _wrap_PyLineShape_base_OnDrawContents, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_base_OnDrawBranches", (PyCFunction) _wrap_PyLineShape_base_OnDrawBranches, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_base_OnMoveLinks", (PyCFunction) _wrap_PyLineShape_base_OnMoveLinks, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_base_OnErase", (PyCFunction) _wrap_PyLineShape_base_OnErase, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_base_OnEraseContents", (PyCFunction) _wrap_PyLineShape_base_OnEraseContents, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_base_OnHighlight", (PyCFunction) _wrap_PyLineShape_base_OnHighlight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_base_OnLeftClick", (PyCFunction) _wrap_PyLineShape_base_OnLeftClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_base_OnLeftDoubleClick", (PyCFunction) _wrap_PyLineShape_base_OnLeftDoubleClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_base_OnRightClick", (PyCFunction) _wrap_PyLineShape_base_OnRightClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_base_OnSize", (PyCFunction) _wrap_PyLineShape_base_OnSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_base_OnMovePre", (PyCFunction) _wrap_PyLineShape_base_OnMovePre, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_base_OnMovePost", (PyCFunction) _wrap_PyLineShape_base_OnMovePost, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_base_OnDragLeft", (PyCFunction) _wrap_PyLineShape_base_OnDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_base_OnBeginDragLeft", (PyCFunction) _wrap_PyLineShape_base_OnBeginDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_base_OnEndDragLeft", (PyCFunction) _wrap_PyLineShape_base_OnEndDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_base_OnDragRight", (PyCFunction) _wrap_PyLineShape_base_OnDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_base_OnBeginDragRight", (PyCFunction) _wrap_PyLineShape_base_OnBeginDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_base_OnEndDragRight", (PyCFunction) _wrap_PyLineShape_base_OnEndDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_base_OnDrawOutline", (PyCFunction) _wrap_PyLineShape_base_OnDrawOutline, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_base_OnDrawControlPoints", (PyCFunction) _wrap_PyLineShape_base_OnDrawControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_base_OnEraseControlPoints", (PyCFunction) _wrap_PyLineShape_base_OnEraseControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_base_OnMoveLink", (PyCFunction) _wrap_PyLineShape_base_OnMoveLink, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_base_OnSizingDragLeft", (PyCFunction) _wrap_PyLineShape_base_OnSizingDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_base_OnSizingBeginDragLeft", (PyCFunction) _wrap_PyLineShape_base_OnSizingBeginDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_base_OnSizingEndDragLeft", (PyCFunction) _wrap_PyLineShape_base_OnSizingEndDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_base_OnBeginSize", (PyCFunction) _wrap_PyLineShape_base_OnBeginSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_base_OnEndSize", (PyCFunction) _wrap_PyLineShape_base_OnEndSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyLineShape_swigregister", PyLineShape_swigregister, METH_VARARGS },
+        { (char *)"new_PyPolygonShape", (PyCFunction) _wrap_new_PyPolygonShape, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape__setCallbackInfo", (PyCFunction) _wrap_PyPolygonShape__setCallbackInfo, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_Create", (PyCFunction) _wrap_PyPolygonShape_Create, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_AddPolygonPoint", (PyCFunction) _wrap_PyPolygonShape_AddPolygonPoint, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_CalculatePolygonCentre", (PyCFunction) _wrap_PyPolygonShape_CalculatePolygonCentre, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_DeletePolygonPoint", (PyCFunction) _wrap_PyPolygonShape_DeletePolygonPoint, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_GetPoints", (PyCFunction) _wrap_PyPolygonShape_GetPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_UpdateOriginalPoints", (PyCFunction) _wrap_PyPolygonShape_UpdateOriginalPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_base_OnDraw", (PyCFunction) _wrap_PyPolygonShape_base_OnDraw, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_base_OnDrawContents", (PyCFunction) _wrap_PyPolygonShape_base_OnDrawContents, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_base_OnDrawBranches", (PyCFunction) _wrap_PyPolygonShape_base_OnDrawBranches, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_base_OnMoveLinks", (PyCFunction) _wrap_PyPolygonShape_base_OnMoveLinks, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_base_OnErase", (PyCFunction) _wrap_PyPolygonShape_base_OnErase, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_base_OnEraseContents", (PyCFunction) _wrap_PyPolygonShape_base_OnEraseContents, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_base_OnHighlight", (PyCFunction) _wrap_PyPolygonShape_base_OnHighlight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_base_OnLeftClick", (PyCFunction) _wrap_PyPolygonShape_base_OnLeftClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_base_OnLeftDoubleClick", (PyCFunction) _wrap_PyPolygonShape_base_OnLeftDoubleClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_base_OnRightClick", (PyCFunction) _wrap_PyPolygonShape_base_OnRightClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_base_OnSize", (PyCFunction) _wrap_PyPolygonShape_base_OnSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_base_OnMovePre", (PyCFunction) _wrap_PyPolygonShape_base_OnMovePre, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_base_OnMovePost", (PyCFunction) _wrap_PyPolygonShape_base_OnMovePost, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_base_OnDragLeft", (PyCFunction) _wrap_PyPolygonShape_base_OnDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_base_OnBeginDragLeft", (PyCFunction) _wrap_PyPolygonShape_base_OnBeginDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_base_OnEndDragLeft", (PyCFunction) _wrap_PyPolygonShape_base_OnEndDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_base_OnDragRight", (PyCFunction) _wrap_PyPolygonShape_base_OnDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_base_OnBeginDragRight", (PyCFunction) _wrap_PyPolygonShape_base_OnBeginDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_base_OnEndDragRight", (PyCFunction) _wrap_PyPolygonShape_base_OnEndDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_base_OnDrawOutline", (PyCFunction) _wrap_PyPolygonShape_base_OnDrawOutline, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_base_OnDrawControlPoints", (PyCFunction) _wrap_PyPolygonShape_base_OnDrawControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_base_OnEraseControlPoints", (PyCFunction) _wrap_PyPolygonShape_base_OnEraseControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_base_OnMoveLink", (PyCFunction) _wrap_PyPolygonShape_base_OnMoveLink, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_base_OnSizingDragLeft", (PyCFunction) _wrap_PyPolygonShape_base_OnSizingDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_base_OnSizingBeginDragLeft", (PyCFunction) _wrap_PyPolygonShape_base_OnSizingBeginDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_base_OnSizingEndDragLeft", (PyCFunction) _wrap_PyPolygonShape_base_OnSizingEndDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_base_OnBeginSize", (PyCFunction) _wrap_PyPolygonShape_base_OnBeginSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_base_OnEndSize", (PyCFunction) _wrap_PyPolygonShape_base_OnEndSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyPolygonShape_swigregister", PyPolygonShape_swigregister, METH_VARARGS },
+        { (char *)"new_PyTextShape", (PyCFunction) _wrap_new_PyTextShape, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyTextShape__setCallbackInfo", (PyCFunction) _wrap_PyTextShape__setCallbackInfo, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyTextShape_base_OnDelete", (PyCFunction) _wrap_PyTextShape_base_OnDelete, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyTextShape_base_OnDraw", (PyCFunction) _wrap_PyTextShape_base_OnDraw, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyTextShape_base_OnDrawContents", (PyCFunction) _wrap_PyTextShape_base_OnDrawContents, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyTextShape_base_OnDrawBranches", (PyCFunction) _wrap_PyTextShape_base_OnDrawBranches, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyTextShape_base_OnMoveLinks", (PyCFunction) _wrap_PyTextShape_base_OnMoveLinks, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyTextShape_base_OnErase", (PyCFunction) _wrap_PyTextShape_base_OnErase, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyTextShape_base_OnEraseContents", (PyCFunction) _wrap_PyTextShape_base_OnEraseContents, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyTextShape_base_OnHighlight", (PyCFunction) _wrap_PyTextShape_base_OnHighlight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyTextShape_base_OnLeftClick", (PyCFunction) _wrap_PyTextShape_base_OnLeftClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyTextShape_base_OnLeftDoubleClick", (PyCFunction) _wrap_PyTextShape_base_OnLeftDoubleClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyTextShape_base_OnRightClick", (PyCFunction) _wrap_PyTextShape_base_OnRightClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyTextShape_base_OnSize", (PyCFunction) _wrap_PyTextShape_base_OnSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyTextShape_base_OnMovePre", (PyCFunction) _wrap_PyTextShape_base_OnMovePre, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyTextShape_base_OnMovePost", (PyCFunction) _wrap_PyTextShape_base_OnMovePost, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyTextShape_base_OnDragLeft", (PyCFunction) _wrap_PyTextShape_base_OnDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyTextShape_base_OnBeginDragLeft", (PyCFunction) _wrap_PyTextShape_base_OnBeginDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyTextShape_base_OnEndDragLeft", (PyCFunction) _wrap_PyTextShape_base_OnEndDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyTextShape_base_OnDragRight", (PyCFunction) _wrap_PyTextShape_base_OnDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyTextShape_base_OnBeginDragRight", (PyCFunction) _wrap_PyTextShape_base_OnBeginDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyTextShape_base_OnEndDragRight", (PyCFunction) _wrap_PyTextShape_base_OnEndDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyTextShape_base_OnDrawOutline", (PyCFunction) _wrap_PyTextShape_base_OnDrawOutline, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyTextShape_base_OnDrawControlPoints", (PyCFunction) _wrap_PyTextShape_base_OnDrawControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyTextShape_base_OnEraseControlPoints", (PyCFunction) _wrap_PyTextShape_base_OnEraseControlPoints, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyTextShape_base_OnMoveLink", (PyCFunction) _wrap_PyTextShape_base_OnMoveLink, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyTextShape_base_OnSizingDragLeft", (PyCFunction) _wrap_PyTextShape_base_OnSizingDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyTextShape_base_OnSizingBeginDragLeft", (PyCFunction) _wrap_PyTextShape_base_OnSizingBeginDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyTextShape_base_OnSizingEndDragLeft", (PyCFunction) _wrap_PyTextShape_base_OnSizingEndDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyTextShape_base_OnBeginSize", (PyCFunction) _wrap_PyTextShape_base_OnBeginSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyTextShape_base_OnEndSize", (PyCFunction) _wrap_PyTextShape_base_OnEndSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyTextShape_swigregister", PyTextShape_swigregister, METH_VARARGS },
+        { (char *)"new_Diagram", (PyCFunction) _wrap_new_Diagram, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"Diagram_AddShape", (PyCFunction) _wrap_Diagram_AddShape, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"Diagram_Clear", (PyCFunction) _wrap_Diagram_Clear, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"Diagram_DeleteAllShapes", (PyCFunction) _wrap_Diagram_DeleteAllShapes, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"Diagram_DrawOutline", (PyCFunction) _wrap_Diagram_DrawOutline, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"Diagram_FindShape", (PyCFunction) _wrap_Diagram_FindShape, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"Diagram_GetCanvas", (PyCFunction) _wrap_Diagram_GetCanvas, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"Diagram_GetCount", (PyCFunction) _wrap_Diagram_GetCount, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"Diagram_GetGridSpacing", (PyCFunction) _wrap_Diagram_GetGridSpacing, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"Diagram_GetMouseTolerance", (PyCFunction) _wrap_Diagram_GetMouseTolerance, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"Diagram_GetShapeList", (PyCFunction) _wrap_Diagram_GetShapeList, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"Diagram_GetQuickEditMode", (PyCFunction) _wrap_Diagram_GetQuickEditMode, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"Diagram_GetSnapToGrid", (PyCFunction) _wrap_Diagram_GetSnapToGrid, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"Diagram_InsertShape", (PyCFunction) _wrap_Diagram_InsertShape, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"Diagram_RecentreAll", (PyCFunction) _wrap_Diagram_RecentreAll, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"Diagram_Redraw", (PyCFunction) _wrap_Diagram_Redraw, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"Diagram_RemoveAllShapes", (PyCFunction) _wrap_Diagram_RemoveAllShapes, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"Diagram_RemoveShape", (PyCFunction) _wrap_Diagram_RemoveShape, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"Diagram_SetCanvas", (PyCFunction) _wrap_Diagram_SetCanvas, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"Diagram_SetGridSpacing", (PyCFunction) _wrap_Diagram_SetGridSpacing, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"Diagram_SetMouseTolerance", (PyCFunction) _wrap_Diagram_SetMouseTolerance, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"Diagram_SetQuickEditMode", (PyCFunction) _wrap_Diagram_SetQuickEditMode, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"Diagram_SetSnapToGrid", (PyCFunction) _wrap_Diagram_SetSnapToGrid, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"Diagram_ShowAll", (PyCFunction) _wrap_Diagram_ShowAll, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"Diagram_Snap", (PyCFunction) _wrap_Diagram_Snap, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"Diagram_swigregister", Diagram_swigregister, METH_VARARGS },
+        { (char *)"new_PyShapeCanvas", (PyCFunction) _wrap_new_PyShapeCanvas, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeCanvas__setCallbackInfo", (PyCFunction) _wrap_PyShapeCanvas__setCallbackInfo, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeCanvas_AddShape", (PyCFunction) _wrap_PyShapeCanvas_AddShape, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeCanvas_FindShape", (PyCFunction) _wrap_PyShapeCanvas_FindShape, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeCanvas_FindFirstSensitiveShape", (PyCFunction) _wrap_PyShapeCanvas_FindFirstSensitiveShape, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeCanvas_GetDiagram", (PyCFunction) _wrap_PyShapeCanvas_GetDiagram, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeCanvas_GetQuickEditMode", (PyCFunction) _wrap_PyShapeCanvas_GetQuickEditMode, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeCanvas_InsertShape", (PyCFunction) _wrap_PyShapeCanvas_InsertShape, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeCanvas_base_OnBeginDragLeft", (PyCFunction) _wrap_PyShapeCanvas_base_OnBeginDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeCanvas_base_OnBeginDragRight", (PyCFunction) _wrap_PyShapeCanvas_base_OnBeginDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeCanvas_base_OnEndDragLeft", (PyCFunction) _wrap_PyShapeCanvas_base_OnEndDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeCanvas_base_OnEndDragRight", (PyCFunction) _wrap_PyShapeCanvas_base_OnEndDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeCanvas_base_OnDragLeft", (PyCFunction) _wrap_PyShapeCanvas_base_OnDragLeft, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeCanvas_base_OnDragRight", (PyCFunction) _wrap_PyShapeCanvas_base_OnDragRight, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeCanvas_base_OnLeftClick", (PyCFunction) _wrap_PyShapeCanvas_base_OnLeftClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeCanvas_base_OnRightClick", (PyCFunction) _wrap_PyShapeCanvas_base_OnRightClick, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeCanvas_Redraw", (PyCFunction) _wrap_PyShapeCanvas_Redraw, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeCanvas_RemoveShape", (PyCFunction) _wrap_PyShapeCanvas_RemoveShape, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeCanvas_SetDiagram", (PyCFunction) _wrap_PyShapeCanvas_SetDiagram, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeCanvas_Snap", (PyCFunction) _wrap_PyShapeCanvas_Snap, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyShapeCanvas_swigregister", PyShapeCanvas_swigregister, METH_VARARGS },
+        { (char *)"OGLInitialize", (PyCFunction) _wrap_OGLInitialize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"OGLCleanUp", (PyCFunction) _wrap_OGLCleanUp, METH_VARARGS | METH_KEYWORDS },
+        { NULL, NULL }
+};
+
+
+/* -------- TYPE CONVERSION AND EQUIVALENCE RULES (BEGIN) -------- */
+
+static void *_p_wxScrolledWindowTo_p_wxPanel(void *x) {
+    return (void *)((wxPanel *)  ((wxScrolledWindow *) x));
+}
+static void *_p_wxPyVScrolledWindowTo_p_wxPanel(void *x) {
+    return (void *)((wxPanel *)  ((wxPyVScrolledWindow *) x));
+}
+static void *_p_wxPyVListBoxTo_p_wxPanel(void *x) {
+    return (void *)((wxPanel *) (wxPyVScrolledWindow *) ((wxPyVListBox *) x));
+}
+static void *_p_wxPyHtmlListBoxTo_p_wxPanel(void *x) {
+    return (void *)((wxPanel *) (wxPyVScrolledWindow *)(wxPyVListBox *) ((wxPyHtmlListBox *) x));
+}
+static void *_p_wxPyPanelTo_p_wxPanel(void *x) {
+    return (void *)((wxPanel *)  ((wxPyPanel *) x));
+}
+static void *_p_wxPreviewCanvasTo_p_wxPanel(void *x) {
+    return (void *)((wxPanel *) (wxScrolledWindow *) ((wxPreviewCanvas *) x));
+}
+static void *_p_wxPreviewControlBarTo_p_wxPanel(void *x) {
+    return (void *)((wxPanel *)  ((wxPreviewControlBar *) x));
+}
+static void *_p_wxPyPreviewControlBarTo_p_wxPanel(void *x) {
+    return (void *)((wxPanel *) (wxPreviewControlBar *) ((wxPyPreviewControlBar *) x));
+}
+static void *_p_wxPyShapeCanvasTo_p_wxPanel(void *x) {
+    return (void *)((wxPanel *) (wxScrolledWindow *) ((wxPyShapeCanvas *) x));
+}
+static void *_p_wxPreviewCanvasTo_p_wxScrolledWindow(void *x) {
+    return (void *)((wxScrolledWindow *)  ((wxPreviewCanvas *) x));
+}
+static void *_p_wxPyShapeCanvasTo_p_wxScrolledWindow(void *x) {
+    return (void *)((wxScrolledWindow *)  ((wxPyShapeCanvas *) x));
+}
+static void *_p_wxSplashScreenTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxFrame *) ((wxSplashScreen *) x));
+}
+static void *_p_wxMiniFrameTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxFrame *) ((wxMiniFrame *) x));
+}
+static void *_p_wxPyPanelTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxPanel *) ((wxPyPanel *) x));
+}
+static void *_p_wxMenuBarTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *)  ((wxMenuBar *) x));
+}
+static void *_p_wxFindReplaceDialogTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxDialog *) ((wxFindReplaceDialog *) x));
+}
+static void *_p_wxProgressDialogTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxFrame *) ((wxProgressDialog *) x));
+}
+static void *_p_wxMessageDialogTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxDialog *) ((wxMessageDialog *) x));
+}
+static void *_p_wxTextEntryDialogTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxDialog *) ((wxTextEntryDialog *) x));
+}
+static void *_p_wxSingleChoiceDialogTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxDialog *) ((wxSingleChoiceDialog *) x));
+}
+static void *_p_wxMultiChoiceDialogTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxDialog *) ((wxMultiChoiceDialog *) x));
+}
+static void *_p_wxFileDialogTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxDialog *) ((wxFileDialog *) x));
+}
+static void *_p_wxPanelTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *)  ((wxPanel *) x));
+}
+static void *_p_wxStatusBarTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *)  ((wxStatusBar *) x));
+}
+static void *_p_wxMDIClientWindowTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *)  ((wxMDIClientWindow *) x));
+}
+static void *_p_wxPyVScrolledWindowTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxPanel *) ((wxPyVScrolledWindow *) x));
+}
+static void *_p_wxTipWindowTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxPopupWindow *)(wxPyPopupTransientWindow *) ((wxTipWindow *) x));
+}
+static void *_p_wxPyPopupTransientWindowTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxPopupWindow *) ((wxPyPopupTransientWindow *) x));
+}
+static void *_p_wxPopupWindowTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *)  ((wxPopupWindow *) x));
+}
+static void *_p_wxSashLayoutWindowTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxSashWindow *) ((wxSashLayoutWindow *) x));
+}
+static void *_p_wxScrolledWindowTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxPanel *) ((wxScrolledWindow *) x));
+}
+static void *_p_wxTopLevelWindowTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *)  ((wxTopLevelWindow *) x));
+}
+static void *_p_wxSplashScreenWindowTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *)  ((wxSplashScreenWindow *) x));
+}
+static void *_p_wxSplitterWindowTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *)  ((wxSplitterWindow *) x));
+}
+static void *_p_wxSashWindowTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *)  ((wxSashWindow *) x));
+}
+static void *_p_wxControlTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *)  ((wxControl *) x));
+}
+static void *_p_wxPreviewFrameTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxFrame *) ((wxPreviewFrame *) x));
+}
+static void *_p_wxPyPreviewFrameTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxFrame *)(wxPreviewFrame *) ((wxPyPreviewFrame *) x));
+}
+static void *_p_wxMDIChildFrameTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxFrame *) ((wxMDIChildFrame *) x));
+}
+static void *_p_wxControlWithItemsTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxControl *) ((wxControlWithItems *) x));
+}
+static void *_p_wxPyWindowTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *)  ((wxPyWindow *) x));
+}
+static void *_p_wxPreviewCanvasTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxPanel *)(wxScrolledWindow *) ((wxPreviewCanvas *) x));
+}
+static void *_p_wxPyShapeCanvasTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxPanel *)(wxScrolledWindow *) ((wxPyShapeCanvas *) x));
+}
+static void *_p_wxPyHtmlListBoxTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxPanel *)(wxPyVScrolledWindow *)(wxPyVListBox *) ((wxPyHtmlListBox *) x));
+}
+static void *_p_wxPyVListBoxTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxPanel *)(wxPyVScrolledWindow *) ((wxPyVListBox *) x));
+}
+static void *_p_wxPreviewControlBarTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxPanel *) ((wxPreviewControlBar *) x));
+}
+static void *_p_wxPyPreviewControlBarTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxPanel *)(wxPreviewControlBar *) ((wxPyPreviewControlBar *) x));
+}
+static void *_p_wxFrameTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *) ((wxFrame *) x));
+}
+static void *_p_wxFontDialogTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxDialog *) ((wxFontDialog *) x));
+}
+static void *_p_wxDirDialogTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxDialog *) ((wxDirDialog *) x));
+}
+static void *_p_wxColourDialogTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxDialog *) ((wxColourDialog *) x));
+}
+static void *_p_wxDialogTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *) ((wxDialog *) x));
+}
+static void *_p_wxPageSetupDialogTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxDialog *) ((wxPageSetupDialog *) x));
+}
+static void *_p_wxPrintDialogTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxDialog *) ((wxPrintDialog *) x));
+}
+static void *_p_wxMDIParentFrameTo_p_wxWindow(void *x) {
+    return (void *)((wxWindow *) (wxTopLevelWindow *)(wxFrame *) ((wxMDIParentFrame *) x));
+}
+static void *_p_wxLayoutConstraintsTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxLayoutConstraints *) x));
+}
+static void *_p_wxQueryLayoutInfoEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxQueryLayoutInfoEvent *) x));
+}
+static void *_p_wxPyControlPointTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxPyShapeEvtHandler *)(wxPyShape *)(wxPyRectangleShape *) ((wxPyControlPoint *) x));
+}
+static void *_p_wxPreviewFrameTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxFrame *) ((wxPreviewFrame *) x));
+}
+static void *_p_wxPyPreviewFrameTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxFrame *)(wxPreviewFrame *) ((wxPyPreviewFrame *) x));
+}
+static void *_p_wxGBSizerItemTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxSizerItem *) ((wxGBSizerItem *) x));
+}
+static void *_p_wxSizerItemTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxSizerItem *) x));
+}
+static void *_p_wxScrollEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxScrollEvent *) x));
+}
+static void *_p_wxIndividualLayoutConstraintTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxIndividualLayoutConstraint *) x));
+}
+static void *_p_wxOGLConstraintTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxOGLConstraint *) x));
+}
+static void *_p_wxStaticBoxSizerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxSizer *)(wxBoxSizer *) ((wxStaticBoxSizer *) x));
+}
+static void *_p_wxBoxSizerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxSizer *) ((wxBoxSizer *) x));
+}
+static void *_p_wxSizerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxSizer *) x));
+}
+static void *_p_wxPyDrawnShapeTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxPyShapeEvtHandler *)(wxPyShape *)(wxPyRectangleShape *) ((wxPyDrawnShape *) x));
+}
+static void *_p_wxPyDivisionShapeTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxPyShapeEvtHandler *)(wxPyShape *)(wxPyRectangleShape *)(wxPyCompositeShape *) ((wxPyDivisionShape *) x));
+}
+static void *_p_wxPyPolygonShapeTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxPyShapeEvtHandler *)(wxPyShape *) ((wxPyPolygonShape *) x));
+}
+static void *_p_wxGridBagSizerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxSizer *)(wxGridSizer *)(wxFlexGridSizer *) ((wxGridBagSizer *) x));
+}
+static void *_p_wxUpdateUIEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxUpdateUIEvent *) x));
+}
+static void *_p_wxArrowHeadTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxArrowHead *) x));
+}
+static void *_p_wxPyPanelTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxPanel *) ((wxPyPanel *) x));
+}
+static void *_p_wxEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxEvent *) x));
+}
+static void *_p_wxFontDataTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxFontData *) x));
+}
+static void *_p_wxPrintDataTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxPrintData *) x));
+}
+static void *_p_wxFlexGridSizerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxSizer *)(wxGridSizer *) ((wxFlexGridSizer *) x));
+}
+static void *_p_wxGridSizerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxSizer *) ((wxGridSizer *) x));
+}
+static void *_p_wxInitDialogEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxInitDialogEvent *) x));
+}
+static void *_p_wxLayoutAlgorithmTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxLayoutAlgorithm *) x));
+}
+static void *_p_wxTaskBarIconTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *) ((wxTaskBarIcon *) x));
+}
+static void *_p_wxFindDialogEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxFindDialogEvent *) x));
+}
+static void *_p_wxPaintEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxPaintEvent *) x));
+}
+static void *_p_wxNcPaintEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxNcPaintEvent *) x));
+}
+static void *_p_wxPaletteChangedEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxPaletteChangedEvent *) x));
+}
+static void *_p_wxDisplayChangedEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxDisplayChangedEvent *) x));
+}
+static void *_p_wxMouseCaptureChangedEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxMouseCaptureChangedEvent *) x));
+}
+static void *_p_wxSysColourChangedEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxSysColourChangedEvent *) x));
+}
+static void *_p_wxPreviewCanvasTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxPanel *)(wxScrolledWindow *) ((wxPreviewCanvas *) x));
+}
+static void *_p_wxPyShapeCanvasTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxPanel *)(wxScrolledWindow *) ((wxPyShapeCanvas *) x));
+}
+static void *_p_wxControlTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *) ((wxControl *) x));
+}
+static void *_p_wxPyEllipseShapeTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxPyShapeEvtHandler *)(wxPyShape *) ((wxPyEllipseShape *) x));
+}
+static void *_p_wxSetCursorEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxSetCursorEvent *) x));
+}
+static void *_p_wxSplitterEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *)(wxNotifyEvent *) ((wxSplitterEvent *) x));
+}
+static void *_p_wxFSFileTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxFSFile *) x));
+}
+static void *_p_wxFindReplaceDataTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxFindReplaceData *) x));
+}
+static void *_p_wxPyBitmapShapeTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxPyShapeEvtHandler *)(wxPyShape *)(wxPyRectangleShape *) ((wxPyBitmapShape *) x));
+}
+static void *_p_wxPySizerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxSizer *) ((wxPySizer *) x));
+}
+static void *_p_wxMDIChildFrameTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxFrame *) ((wxMDIChildFrame *) x));
+}
+static void *_p_wxColourDataTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxColourData *) x));
+}
+static void *_p_wxPyEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxPyEvent *) x));
+}
+static void *_p_wxNotifyEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxNotifyEvent *) x));
+}
+static void *_p_wxPyWindowTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *) ((wxPyWindow *) x));
+}
+static void *_p_wxSplashScreenTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxFrame *) ((wxSplashScreen *) x));
+}
+static void *_p_wxFileDialogTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxFileDialog *) x));
+}
+static void *_p_wxMultiChoiceDialogTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxMultiChoiceDialog *) x));
+}
+static void *_p_wxSingleChoiceDialogTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxSingleChoiceDialog *) x));
+}
+static void *_p_wxTextEntryDialogTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxTextEntryDialog *) x));
+}
+static void *_p_wxMessageDialogTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxMessageDialog *) x));
+}
+static void *_p_wxProgressDialogTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxFrame *) ((wxProgressDialog *) x));
+}
+static void *_p_wxFindReplaceDialogTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxFindReplaceDialog *) x));
+}
+static void *_p_wxShowEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxShowEvent *) x));
+}
+static void *_p_wxPrinterTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxPrinter *) x));
+}
+static void *_p_wxMenuItemTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxMenuItem *) x));
+}
+static void *_p_wxIdleEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxIdleEvent *) x));
+}
+static void *_p_wxWindowCreateEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxWindowCreateEvent *) x));
+}
+static void *_p_wxQueryNewPaletteEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxQueryNewPaletteEvent *) x));
+}
+static void *_p_wxMaximizeEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxMaximizeEvent *) x));
+}
+static void *_p_wxIconizeEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxIconizeEvent *) x));
+}
+static void *_p_wxSizeEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxSizeEvent *) x));
+}
+static void *_p_wxMoveEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxMoveEvent *) x));
+}
+static void *_p_wxActivateEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxActivateEvent *) x));
+}
+static void *_p_wxXPMHandlerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxImageHandler *) ((wxXPMHandler *) x));
+}
+static void *_p_wxPNMHandlerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxImageHandler *) ((wxPNMHandler *) x));
+}
+static void *_p_wxJPEGHandlerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxImageHandler *) ((wxJPEGHandler *) x));
+}
+static void *_p_wxPCXHandlerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxImageHandler *) ((wxPCXHandler *) x));
+}
+static void *_p_wxGIFHandlerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxImageHandler *) ((wxGIFHandler *) x));
+}
+static void *_p_wxPNGHandlerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxImageHandler *) ((wxPNGHandler *) x));
+}
+static void *_p_wxANIHandlerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxImageHandler *)(wxBMPHandler *)(wxICOHandler *)(wxCURHandler *) ((wxANIHandler *) x));
+}
+static void *_p_wxCURHandlerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxImageHandler *)(wxBMPHandler *)(wxICOHandler *) ((wxCURHandler *) x));
+}
+static void *_p_wxICOHandlerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxImageHandler *)(wxBMPHandler *) ((wxICOHandler *) x));
+}
+static void *_p_wxBMPHandlerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxImageHandler *) ((wxBMPHandler *) x));
+}
+static void *_p_wxImageHandlerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxImageHandler *) x));
+}
+static void *_p_wxTIFFHandlerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxImageHandler *) ((wxTIFFHandler *) x));
+}
+static void *_p_wxEvtHandlerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxEvtHandler *) x));
+}
+static void *_p_wxCalculateLayoutEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxCalculateLayoutEvent *) x));
+}
+static void *_p_wxPyShapeEvtHandlerTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxPyShapeEvtHandler *) x));
+}
+static void *_p_wxPyVListBoxTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxPanel *)(wxPyVScrolledWindow *) ((wxPyVListBox *) x));
+}
+static void *_p_wxPyHtmlListBoxTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxPanel *)(wxPyVScrolledWindow *)(wxPyVListBox *) ((wxPyHtmlListBox *) x));
+}
+static void *_p_wxPyTextShapeTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxPyShapeEvtHandler *)(wxPyShape *)(wxPyRectangleShape *) ((wxPyTextShape *) x));
+}
+static void *_p_wxAcceleratorTableTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxAcceleratorTable *) x));
+}
+static void *_p_wxPyDividedShapeTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxPyShapeEvtHandler *)(wxPyShape *)(wxPyRectangleShape *) ((wxPyDividedShape *) x));
+}
+static void *_p_wxMiniFrameTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxFrame *) ((wxMiniFrame *) x));
+}
+static void *_p_wxImageTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxImage *) x));
+}
+static void *_p_wxFrameTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *) ((wxFrame *) x));
+}
+static void *_p_wxPyPrintoutTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxPyPrintout *) x));
+}
+static void *_p_wxScrollWinEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxScrollWinEvent *) x));
+}
+static void *_p_wxTaskBarIconEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxTaskBarIconEvent *) x));
+}
+static void *_p_wxDiagramTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxDiagram *) x));
+}
+static void *_p_wxStatusBarTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *) ((wxStatusBar *) x));
+}
+static void *_p_wxMDIParentFrameTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxFrame *) ((wxMDIParentFrame *) x));
+}
+static void *_p_wxWindowDestroyEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxWindowDestroyEvent *) x));
+}
+static void *_p_wxNavigationKeyEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxNavigationKeyEvent *) x));
+}
+static void *_p_wxKeyEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxKeyEvent *) x));
+}
+static void *_p_wxScrolledWindowTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxPanel *) ((wxScrolledWindow *) x));
+}
+static void *_p_wxWindowTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *) ((wxWindow *) x));
+}
+static void *_p_wxMenuTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *) ((wxMenu *) x));
+}
+static void *_p_wxMenuBarTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *) ((wxMenuBar *) x));
+}
+static void *_p_wxTopLevelWindowTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *) ((wxTopLevelWindow *) x));
+}
+static void *_p_wxSplashScreenWindowTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *) ((wxSplashScreenWindow *) x));
+}
+static void *_p_wxSplitterWindowTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *) ((wxSplitterWindow *) x));
+}
+static void *_p_wxSashWindowTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *) ((wxSashWindow *) x));
+}
+static void *_p_wxSashLayoutWindowTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxSashWindow *) ((wxSashLayoutWindow *) x));
+}
+static void *_p_wxPopupWindowTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *) ((wxPopupWindow *) x));
+}
+static void *_p_wxPyPopupTransientWindowTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxPopupWindow *) ((wxPyPopupTransientWindow *) x));
+}
+static void *_p_wxTipWindowTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxPopupWindow *)(wxPyPopupTransientWindow *) ((wxTipWindow *) x));
+}
+static void *_p_wxPyVScrolledWindowTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxPanel *) ((wxPyVScrolledWindow *) x));
+}
+static void *_p_wxMDIClientWindowTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *) ((wxMDIClientWindow *) x));
+}
+static void *_p_wxSashEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxSashEvent *) x));
+}
+static void *_p_wxPrintPreviewTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxPrintPreview *) x));
+}
+static void *_p_wxPyPrintPreviewTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxPrintPreview *) ((wxPyPrintPreview *) x));
+}
+static void *_p_wxPanelTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *) ((wxPanel *) x));
+}
+static void *_p_wxDialogTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *) ((wxDialog *) x));
+}
+static void *_p_wxColourDialogTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxColourDialog *) x));
+}
+static void *_p_wxDirDialogTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxDirDialog *) x));
+}
+static void *_p_wxFontDialogTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxFontDialog *) x));
+}
+static void *_p_wxPageSetupDialogTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxPageSetupDialog *) x));
+}
+static void *_p_wxPrintDialogTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxPrintDialog *) x));
+}
+static void *_p_wxPyShapeTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxPyShapeEvtHandler *) ((wxPyShape *) x));
+}
+static void *_p_wxFileSystemTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxFileSystem *) x));
+}
+static void *_p_wxContextMenuEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxContextMenuEvent *) x));
+}
+static void *_p_wxMenuEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxMenuEvent *) x));
+}
+static void *_p_wxPyAppTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *) ((wxPyApp *) x));
+}
+static void *_p_wxCloseEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxCloseEvent *) x));
+}
+static void *_p_wxMouseEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxMouseEvent *) x));
+}
+static void *_p_wxEraseEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxEraseEvent *) x));
+}
+static void *_p_wxPyCommandEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxPyCommandEvent *) x));
+}
+static void *_p_wxCommandEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxCommandEvent *) x));
+}
+static void *_p_wxPreviewControlBarTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxPanel *) ((wxPreviewControlBar *) x));
+}
+static void *_p_wxPyPreviewControlBarTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxPanel *)(wxPreviewControlBar *) ((wxPyPreviewControlBar *) x));
+}
+static void *_p_wxDropFilesEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxDropFilesEvent *) x));
+}
+static void *_p_wxFocusEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *) ((wxFocusEvent *) x));
+}
+static void *_p_wxChildFocusEventTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvent *)(wxCommandEvent *) ((wxChildFocusEvent *) x));
+}
+static void *_p_wxPyRectangleShapeTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxPyShapeEvtHandler *)(wxPyShape *) ((wxPyRectangleShape *) x));
+}
+static void *_p_wxPyCompositeShapeTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxPyShapeEvtHandler *)(wxPyShape *)(wxPyRectangleShape *) ((wxPyCompositeShape *) x));
+}
+static void *_p_wxPyCircleShapeTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxPyShapeEvtHandler *)(wxPyShape *)(wxPyEllipseShape *) ((wxPyCircleShape *) x));
+}
+static void *_p_wxPyLineShapeTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxPyShapeEvtHandler *)(wxPyShape *) ((wxPyLineShape *) x));
+}
+static void *_p_wxPseudoMetaFileTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxPseudoMetaFile *) x));
+}
+static void *_p_wxControlWithItemsTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxWindow *)(wxControl *) ((wxControlWithItems *) x));
+}
+static void *_p_wxPageSetupDialogDataTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxPageSetupDialogData *) x));
+}
+static void *_p_wxPrintDialogDataTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxPrintDialogData *) x));
+}
+static void *_p_wxPyValidatorTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *)(wxValidator *) ((wxPyValidator *) x));
+}
+static void *_p_wxValidatorTo_p_wxObject(void *x) {
+    return (void *)((wxObject *) (wxEvtHandler *) ((wxValidator *) x));
+}
+static void *_p_wxShapeRegionTo_p_wxObject(void *x) {
+    return (void *)((wxObject *)  ((wxShapeRegion *) x));
+}
+static void *_p_wxPyRectangleShapeTo_p_wxPyShapeEvtHandler(void *x) {
+    return (void *)((wxPyShapeEvtHandler *) (wxPyShape *) ((wxPyRectangleShape *) x));
+}
+static void *_p_wxPyBitmapShapeTo_p_wxPyShapeEvtHandler(void *x) {
+    return (void *)((wxPyShapeEvtHandler *) (wxPyShape *)(wxPyRectangleShape *) ((wxPyBitmapShape *) x));
+}
+static void *_p_wxPyCompositeShapeTo_p_wxPyShapeEvtHandler(void *x) {
+    return (void *)((wxPyShapeEvtHandler *) (wxPyShape *)(wxPyRectangleShape *) ((wxPyCompositeShape *) x));
+}
+static void *_p_wxPyCircleShapeTo_p_wxPyShapeEvtHandler(void *x) {
+    return (void *)((wxPyShapeEvtHandler *) (wxPyShape *)(wxPyEllipseShape *) ((wxPyCircleShape *) x));
+}
+static void *_p_wxPyLineShapeTo_p_wxPyShapeEvtHandler(void *x) {
+    return (void *)((wxPyShapeEvtHandler *) (wxPyShape *) ((wxPyLineShape *) x));
+}
+static void *_p_wxPyTextShapeTo_p_wxPyShapeEvtHandler(void *x) {
+    return (void *)((wxPyShapeEvtHandler *) (wxPyShape *)(wxPyRectangleShape *) ((wxPyTextShape *) x));
+}
+static void *_p_wxPyControlPointTo_p_wxPyShapeEvtHandler(void *x) {
+    return (void *)((wxPyShapeEvtHandler *) (wxPyShape *)(wxPyRectangleShape *) ((wxPyControlPoint *) x));
+}
+static void *_p_wxPyDrawnShapeTo_p_wxPyShapeEvtHandler(void *x) {
+    return (void *)((wxPyShapeEvtHandler *) (wxPyShape *)(wxPyRectangleShape *) ((wxPyDrawnShape *) x));
+}
+static void *_p_wxPyDivisionShapeTo_p_wxPyShapeEvtHandler(void *x) {
+    return (void *)((wxPyShapeEvtHandler *) (wxPyShape *)(wxPyRectangleShape *)(wxPyCompositeShape *) ((wxPyDivisionShape *) x));
+}
+static void *_p_wxPyPolygonShapeTo_p_wxPyShapeEvtHandler(void *x) {
+    return (void *)((wxPyShapeEvtHandler *) (wxPyShape *) ((wxPyPolygonShape *) x));
+}
+static void *_p_wxPyDividedShapeTo_p_wxPyShapeEvtHandler(void *x) {
+    return (void *)((wxPyShapeEvtHandler *) (wxPyShape *)(wxPyRectangleShape *) ((wxPyDividedShape *) x));
+}
+static void *_p_wxPyShapeTo_p_wxPyShapeEvtHandler(void *x) {
+    return (void *)((wxPyShapeEvtHandler *)  ((wxPyShape *) x));
+}
+static void *_p_wxPyEllipseShapeTo_p_wxPyShapeEvtHandler(void *x) {
+    return (void *)((wxPyShapeEvtHandler *) (wxPyShape *) ((wxPyEllipseShape *) x));
+}
+static void *_p_wxSplashScreenTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxFrame *) ((wxSplashScreen *) x));
+}
+static void *_p_wxMiniFrameTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxFrame *) ((wxMiniFrame *) x));
+}
+static void *_p_wxPyPanelTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxPanel *) ((wxPyPanel *) x));
+}
+static void *_p_wxMenuBarTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *) ((wxMenuBar *) x));
+}
+static void *_p_wxValidatorTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *)  ((wxValidator *) x));
+}
+static void *_p_wxPyValidatorTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxValidator *) ((wxPyValidator *) x));
+}
+static void *_p_wxMenuTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *)  ((wxMenu *) x));
+}
+static void *_p_wxTextEntryDialogTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxTextEntryDialog *) x));
+}
+static void *_p_wxSingleChoiceDialogTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxSingleChoiceDialog *) x));
+}
+static void *_p_wxMultiChoiceDialogTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxMultiChoiceDialog *) x));
+}
+static void *_p_wxFileDialogTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxFileDialog *) x));
+}
+static void *_p_wxMessageDialogTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxMessageDialog *) x));
+}
+static void *_p_wxProgressDialogTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxFrame *) ((wxProgressDialog *) x));
+}
+static void *_p_wxFindReplaceDialogTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxFindReplaceDialog *) x));
+}
+static void *_p_wxPanelTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *) ((wxPanel *) x));
+}
+static void *_p_wxStatusBarTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *) ((wxStatusBar *) x));
+}
+static void *_p_wxPyVScrolledWindowTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxPanel *) ((wxPyVScrolledWindow *) x));
+}
+static void *_p_wxTipWindowTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxPopupWindow *)(wxPyPopupTransientWindow *) ((wxTipWindow *) x));
+}
+static void *_p_wxPyPopupTransientWindowTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxPopupWindow *) ((wxPyPopupTransientWindow *) x));
+}
+static void *_p_wxPopupWindowTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *) ((wxPopupWindow *) x));
+}
+static void *_p_wxSashLayoutWindowTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxSashWindow *) ((wxSashLayoutWindow *) x));
+}
+static void *_p_wxSashWindowTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *) ((wxSashWindow *) x));
+}
+static void *_p_wxSplitterWindowTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *) ((wxSplitterWindow *) x));
+}
+static void *_p_wxSplashScreenWindowTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *) ((wxSplashScreenWindow *) x));
+}
+static void *_p_wxWindowTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *)  ((wxWindow *) x));
+}
+static void *_p_wxScrolledWindowTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxPanel *) ((wxScrolledWindow *) x));
+}
+static void *_p_wxTopLevelWindowTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *) ((wxTopLevelWindow *) x));
+}
+static void *_p_wxMDIClientWindowTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *) ((wxMDIClientWindow *) x));
+}
+static void *_p_wxControlTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *) ((wxControl *) x));
+}
+static void *_p_wxPreviewFrameTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxFrame *) ((wxPreviewFrame *) x));
+}
+static void *_p_wxPyPreviewFrameTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxFrame *)(wxPreviewFrame *) ((wxPyPreviewFrame *) x));
+}
+static void *_p_wxMDIChildFrameTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxFrame *) ((wxMDIChildFrame *) x));
+}
+static void *_p_wxPyAppTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *)  ((wxPyApp *) x));
+}
+static void *_p_wxControlWithItemsTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxControl *) ((wxControlWithItems *) x));
+}
+static void *_p_wxPyWindowTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *) ((wxPyWindow *) x));
+}
+static void *_p_wxPreviewCanvasTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxPanel *)(wxScrolledWindow *) ((wxPreviewCanvas *) x));
+}
+static void *_p_wxPyShapeCanvasTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxPanel *)(wxScrolledWindow *) ((wxPyShapeCanvas *) x));
+}
+static void *_p_wxPyHtmlListBoxTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxPanel *)(wxPyVScrolledWindow *)(wxPyVListBox *) ((wxPyHtmlListBox *) x));
+}
+static void *_p_wxPyVListBoxTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxPanel *)(wxPyVScrolledWindow *) ((wxPyVListBox *) x));
+}
+static void *_p_wxPreviewControlBarTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxPanel *) ((wxPreviewControlBar *) x));
+}
+static void *_p_wxPyPreviewControlBarTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxPanel *)(wxPreviewControlBar *) ((wxPyPreviewControlBar *) x));
+}
+static void *_p_wxTaskBarIconTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *)  ((wxTaskBarIcon *) x));
+}
+static void *_p_wxFrameTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *) ((wxFrame *) x));
+}
+static void *_p_wxFontDialogTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxFontDialog *) x));
+}
+static void *_p_wxDirDialogTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxDirDialog *) x));
+}
+static void *_p_wxColourDialogTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxColourDialog *) x));
+}
+static void *_p_wxDialogTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *) ((wxDialog *) x));
+}
+static void *_p_wxPageSetupDialogTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxPageSetupDialog *) x));
+}
+static void *_p_wxPrintDialogTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxDialog *) ((wxPrintDialog *) x));
+}
+static void *_p_wxMDIParentFrameTo_p_wxEvtHandler(void *x) {
+    return (void *)((wxEvtHandler *) (wxWindow *)(wxTopLevelWindow *)(wxFrame *) ((wxMDIParentFrame *) x));
+}
+static void *_p_wxPyCircleShapeTo_p_wxPyEllipseShape(void *x) {
+    return (void *)((wxPyEllipseShape *)  ((wxPyCircleShape *) x));
+}
+static void *_p_wxPyRectangleShapeTo_p_wxPyShape(void *x) {
+    return (void *)((wxPyShape *)  ((wxPyRectangleShape *) x));
+}
+static void *_p_wxPyBitmapShapeTo_p_wxPyShape(void *x) {
+    return (void *)((wxPyShape *) (wxPyRectangleShape *) ((wxPyBitmapShape *) x));
+}
+static void *_p_wxPyCompositeShapeTo_p_wxPyShape(void *x) {
+    return (void *)((wxPyShape *) (wxPyRectangleShape *) ((wxPyCompositeShape *) x));
+}
+static void *_p_wxPyCircleShapeTo_p_wxPyShape(void *x) {
+    return (void *)((wxPyShape *) (wxPyEllipseShape *) ((wxPyCircleShape *) x));
+}
+static void *_p_wxPyLineShapeTo_p_wxPyShape(void *x) {
+    return (void *)((wxPyShape *)  ((wxPyLineShape *) x));
+}
+static void *_p_wxPyTextShapeTo_p_wxPyShape(void *x) {
+    return (void *)((wxPyShape *) (wxPyRectangleShape *) ((wxPyTextShape *) x));
+}
+static void *_p_wxPyControlPointTo_p_wxPyShape(void *x) {
+    return (void *)((wxPyShape *) (wxPyRectangleShape *) ((wxPyControlPoint *) x));
+}
+static void *_p_wxPyDrawnShapeTo_p_wxPyShape(void *x) {
+    return (void *)((wxPyShape *) (wxPyRectangleShape *) ((wxPyDrawnShape *) x));
+}
+static void *_p_wxPyDivisionShapeTo_p_wxPyShape(void *x) {
+    return (void *)((wxPyShape *) (wxPyRectangleShape *)(wxPyCompositeShape *) ((wxPyDivisionShape *) x));
+}
+static void *_p_wxPyPolygonShapeTo_p_wxPyShape(void *x) {
+    return (void *)((wxPyShape *)  ((wxPyPolygonShape *) x));
+}
+static void *_p_wxPyDividedShapeTo_p_wxPyShape(void *x) {
+    return (void *)((wxPyShape *) (wxPyRectangleShape *) ((wxPyDividedShape *) x));
+}
+static void *_p_wxPyEllipseShapeTo_p_wxPyShape(void *x) {
+    return (void *)((wxPyShape *)  ((wxPyEllipseShape *) x));
+}
+static void *_p_wxPyBitmapShapeTo_p_wxPyRectangleShape(void *x) {
+    return (void *)((wxPyRectangleShape *)  ((wxPyBitmapShape *) x));
+}
+static void *_p_wxPyCompositeShapeTo_p_wxPyRectangleShape(void *x) {
+    return (void *)((wxPyRectangleShape *)  ((wxPyCompositeShape *) x));
+}
+static void *_p_wxPyTextShapeTo_p_wxPyRectangleShape(void *x) {
+    return (void *)((wxPyRectangleShape *)  ((wxPyTextShape *) x));
+}
+static void *_p_wxPyControlPointTo_p_wxPyRectangleShape(void *x) {
+    return (void *)((wxPyRectangleShape *)  ((wxPyControlPoint *) x));
+}
+static void *_p_wxPyDrawnShapeTo_p_wxPyRectangleShape(void *x) {
+    return (void *)((wxPyRectangleShape *)  ((wxPyDrawnShape *) x));
+}
+static void *_p_wxPyDivisionShapeTo_p_wxPyRectangleShape(void *x) {
+    return (void *)((wxPyRectangleShape *) (wxPyCompositeShape *) ((wxPyDivisionShape *) x));
+}
+static void *_p_wxPyDividedShapeTo_p_wxPyRectangleShape(void *x) {
+    return (void *)((wxPyRectangleShape *)  ((wxPyDividedShape *) x));
+}
+static void *_p_wxPyDivisionShapeTo_p_wxPyCompositeShape(void *x) {
+    return (void *)((wxPyCompositeShape *)  ((wxPyDivisionShape *) x));
+}
+static swig_type_info _swigt__p_wxOGLConstraint[] = {{"_p_wxOGLConstraint", 0, "wxOGLConstraint *", 0},{"_p_wxOGLConstraint"},{0}};
+static swig_type_info _swigt__p_wxBrush[] = {{"_p_wxBrush", 0, "wxBrush *", 0},{"_p_wxBrush"},{0}};
+static swig_type_info _swigt__p_wxColour[] = {{"_p_wxColour", 0, "wxColour *", 0},{"_p_wxColour"},{0}};
+static swig_type_info _swigt__p_wxShapeRegion[] = {{"_p_wxShapeRegion", 0, "wxShapeRegion *", 0},{"_p_wxShapeRegion"},{0}};
+static swig_type_info _swigt__p_wxDC[] = {{"_p_wxDC", 0, "wxDC *", 0},{"_p_wxDC"},{0}};
+static swig_type_info _swigt__p_wxRealPoint[] = {{"_p_wxRealPoint", 0, "wxRealPoint *", 0},{"_p_wxRealPoint"},{0}};
+static swig_type_info _swigt__p_wxPyControlPoint[] = {{"_p_wxPyControlPoint", 0, "wxPyControlPoint *", 0},{"_p_wxPyControlPoint"},{0}};
+static swig_type_info _swigt__p_wxArrowHead[] = {{"_p_wxArrowHead", 0, "wxArrowHead *", 0},{"_p_wxArrowHead"},{0}};
+static swig_type_info _swigt__p_wxStringList[] = {{"_p_wxStringList", 0, "wxStringList *", 0},{"_p_wxStringList"},{0}};
+static swig_type_info _swigt__p_wxPanel[] = {{"_p_wxPanel", 0, "wxPanel *", 0},{"_p_wxPanel"},{"_p_wxScrolledWindow", _p_wxScrolledWindowTo_p_wxPanel},{"_p_wxPyVScrolledWindow", _p_wxPyVScrolledWindowTo_p_wxPanel},{"_p_wxPyVListBox", _p_wxPyVListBoxTo_p_wxPanel},{"_p_wxPyHtmlListBox", _p_wxPyHtmlListBoxTo_p_wxPanel},{"_p_wxPyPanel", _p_wxPyPanelTo_p_wxPanel},{"_p_wxPreviewCanvas", _p_wxPreviewCanvasTo_p_wxPanel},{"_p_wxPyShapeCanvas", _p_wxPyShapeCanvasTo_p_wxPanel},{"_p_wxPreviewControlBar", _p_wxPreviewControlBarTo_p_wxPanel},{"_p_wxPyPreviewControlBar", _p_wxPyPreviewControlBarTo_p_wxPanel},{0}};
+static swig_type_info _swigt__p_bool[] = {{"_p_bool", 0, "bool *", 0},{"_p_bool"},{0}};
+static swig_type_info _swigt__p_wxList[] = {{"_p_wxList", 0, "wxList *", 0},{"_p_wxList"},{0}};
+static swig_type_info _swigt__p_wxFont[] = {{"_p_wxFont", 0, "wxFont *", 0},{"_p_wxFont"},{0}};
+static swig_type_info _swigt__p_wxScrolledWindow[] = {{"_p_wxScrolledWindow", 0, "wxScrolledWindow *", 0},{"_p_wxScrolledWindow"},{"_p_wxPreviewCanvas", _p_wxPreviewCanvasTo_p_wxScrolledWindow},{"_p_wxPyShapeCanvas", _p_wxPyShapeCanvasTo_p_wxScrolledWindow},{0}};
+static swig_type_info _swigt__p_wxWindow[] = {{"_p_wxWindow", 0, "wxWindow *", 0},{"_p_wxSplashScreen", _p_wxSplashScreenTo_p_wxWindow},{"_p_wxMiniFrame", _p_wxMiniFrameTo_p_wxWindow},{"_p_wxPyPanel", _p_wxPyPanelTo_p_wxWindow},{"_p_wxMenuBar", _p_wxMenuBarTo_p_wxWindow},{"_p_wxFindReplaceDialog", _p_wxFindReplaceDialogTo_p_wxWindow},{"_p_wxProgressDialog", _p_wxProgressDialogTo_p_wxWindow},{"_p_wxMessageDialog", _p_wxMessageDialogTo_p_wxWindow},{"_p_wxTextEntryDialog", _p_wxTextEntryDialogTo_p_wxWindow},{"_p_wxSingleChoiceDialog", _p_wxSingleChoiceDialogTo_p_wxWindow},{"_p_wxMultiChoiceDialog", _p_wxMultiChoiceDialogTo_p_wxWindow},{"_p_wxFileDialog", _p_wxFileDialogTo_p_wxWindow},{"_p_wxPanel", _p_wxPanelTo_p_wxWindow},{"_p_wxStatusBar", _p_wxStatusBarTo_p_wxWindow},{"_p_wxMDIClientWindow", _p_wxMDIClientWindowTo_p_wxWindow},{"_p_wxTipWindow", _p_wxTipWindowTo_p_wxWindow},{"_p_wxPyPopupTransientWindow", _p_wxPyPopupTransientWindowTo_p_wxWindow},{"_p_wxPopupWindow", _p_wxPopupWindowTo_p_wxWindow},{"_p_wxSashLayoutWindow", _p_wxSashLayoutWindowTo_p_wxWindow},{"_p_wxTopLevelWindow", _p_wxTopLevelWindowTo_p_wxWindow},{"_p_wxSplashScreenWindow", _p_wxSplashScreenWindowTo_p_wxWindow},{"_p_wxSplitterWindow", _p_wxSplitterWindowTo_p_wxWindow},{"_p_wxSashWindow", _p_wxSashWindowTo_p_wxWindow},{"_p_wxPyVScrolledWindow", _p_wxPyVScrolledWindowTo_p_wxWindow},{"_p_wxWindow"},{"_p_wxScrolledWindow", _p_wxScrolledWindowTo_p_wxWindow},{"_p_wxPreviewFrame", _p_wxPreviewFrameTo_p_wxWindow},{"_p_wxPyPreviewFrame", _p_wxPyPreviewFrameTo_p_wxWindow},{"_p_wxControl", _p_wxControlTo_p_wxWindow},{"_p_wxMDIChildFrame", _p_wxMDIChildFrameTo_p_wxWindow},{"_p_wxControlWithItems", _p_wxControlWithItemsTo_p_wxWindow},{"_p_wxPyShapeCanvas", _p_wxPyShapeCanvasTo_p_wxWindow},{"_p_wxPreviewCanvas", _p_wxPreviewCanvasTo_p_wxWindow},{"_p_wxPyWindow", _p_wxPyWindowTo_p_wxWindow},{"_p_wxPyHtmlListBox", _p_wxPyHtmlListBoxTo_p_wxWindow},{"_p_wxPyVListBox", _p_wxPyVListBoxTo_p_wxWindow},{"_p_wxPyPreviewControlBar", _p_wxPyPreviewControlBarTo_p_wxWindow},{"_p_wxPreviewControlBar", _p_wxPreviewControlBarTo_p_wxWindow},{"_p_wxFrame", _p_wxFrameTo_p_wxWindow},{"_p_wxFontDialog", _p_wxFontDialogTo_p_wxWindow},{"_p_wxDirDialog", _p_wxDirDialogTo_p_wxWindow},{"_p_wxColourDialog", _p_wxColourDialogTo_p_wxWindow},{"_p_wxDialog", _p_wxDialogTo_p_wxWindow},{"_p_wxPageSetupDialog", _p_wxPageSetupDialogTo_p_wxWindow},{"_p_wxPrintDialog", _p_wxPrintDialogTo_p_wxWindow},{"_p_wxMDIParentFrame", _p_wxMDIParentFrameTo_p_wxWindow},{0}};
+static swig_type_info _swigt__p_double[] = {{"_p_double", 0, "double *", 0},{"_p_double"},{0}};
+static swig_type_info _swigt__p_wxPyDivisionShape[] = {{"_p_wxPyDivisionShape", 0, "wxPyDivisionShape *", 0},{"_p_wxPyDivisionShape"},{0}};
+static swig_type_info _swigt__p_wxPyDrawnShape[] = {{"_p_wxPyDrawnShape", 0, "wxPyDrawnShape *", 0},{"_p_wxPyDrawnShape"},{0}};
+static swig_type_info _swigt__p_wxPyPolygonShape[] = {{"_p_wxPyPolygonShape", 0, "wxPyPolygonShape *", 0},{"_p_wxPyPolygonShape"},{0}};
+static swig_type_info _swigt__p_wxBitmap[] = {{"_p_wxBitmap", 0, "wxBitmap *", 0},{"_p_wxBitmap"},{0}};
+static swig_type_info _swigt__p_wxObject[] = {{"_p_wxObject", 0, "wxObject *", 0},{"_p_wxQueryLayoutInfoEvent", _p_wxQueryLayoutInfoEventTo_p_wxObject},{"_p_wxLayoutConstraints", _p_wxLayoutConstraintsTo_p_wxObject},{"_p_wxPyControlPoint", _p_wxPyControlPointTo_p_wxObject},{"_p_wxPreviewFrame", _p_wxPreviewFrameTo_p_wxObject},{"_p_wxPyPreviewFrame", _p_wxPyPreviewFrameTo_p_wxObject},{"_p_wxGBSizerItem", _p_wxGBSizerItemTo_p_wxObject},{"_p_wxSizerItem", _p_wxSizerItemTo_p_wxObject},{"_p_wxScrollEvent", _p_wxScrollEventTo_p_wxObject},{"_p_wxIndividualLayoutConstraint", _p_wxIndividualLayoutConstraintTo_p_wxObject},{"_p_wxOGLConstraint", _p_wxOGLConstraintTo_p_wxObject},{"_p_wxPyPolygonShape", _p_wxPyPolygonShapeTo_p_wxObject},{"_p_wxPyDivisionShape", _p_wxPyDivisionShapeTo_p_wxObject},{"_p_wxPyDrawnShape", _p_wxPyDrawnShapeTo_p_wxObject},{"_p_wxSizer", _p_wxSizerTo_p_wxObject},{"_p_wxBoxSizer", _p_wxBoxSizerTo_p_wxObject},{"_p_wxStaticBoxSizer", _p_wxStaticBoxSizerTo_p_wxObject},{"_p_wxGridBagSizer", _p_wxGridBagSizerTo_p_wxObject},{"_p_wxUpdateUIEvent", _p_wxUpdateUIEventTo_p_wxObject},{"_p_wxArrowHead", _p_wxArrowHeadTo_p_wxObject},{"_p_wxPyPanel", _p_wxPyPanelTo_p_wxObject},{"_p_wxMenu", _p_wxMenuTo_p_wxObject},{"_p_wxFontData", _p_wxFontDataTo_p_wxObject},{"_p_wxPrintData", _p_wxPrintDataTo_p_wxObject},{"_p_wxEvent", _p_wxEventTo_p_wxObject},{"_p_wxFlexGridSizer", _p_wxFlexGridSizerTo_p_wxObject},{"_p_wxGridSizer", _p_wxGridSizerTo_p_wxObject},{"_p_wxTaskBarIcon", _p_wxTaskBarIconTo_p_wxObject},{"_p_wxLayoutAlgorithm", _p_wxLayoutAlgorithmTo_p_wxObject},{"_p_wxInitDialogEvent", _p_wxInitDialogEventTo_p_wxObject},{"_p_wxFindDialogEvent", _p_wxFindDialogEventTo_p_wxObject},{"_p_wxPaintEvent", _p_wxPaintEventTo_p_wxObject},{"_p_wxNcPaintEvent", _p_wxNcPaintEventTo_p_wxObject},{"_p_wxDisplayChangedEvent", _p_wxDisplayChangedEventTo_p_wxObject},{"_p_wxPaletteChangedEvent", _p_wxPaletteChangedEventTo_p_wxObject},{"_p_wxMouseCaptureChangedEvent", _p_wxMouseCaptureChangedEventTo_p_wxObject},{"_p_wxSysColourChangedEvent", _p_wxSysColourChangedEventTo_p_wxObject},{"_p_wxPreviewCanvas", _p_wxPreviewCanvasTo_p_wxObject},{"_p_wxPyShapeCanvas", _p_wxPyShapeCanvasTo_p_wxObject},{"_p_wxControl", _p_wxControlTo_p_wxObject},{"_p_wxPyEllipseShape", _p_wxPyEllipseShapeTo_p_wxObject},{"_p_wxSetCursorEvent", _p_wxSetCursorEventTo_p_wxObject},{"_p_wxSplitterEvent", _p_wxSplitterEventTo_p_wxObject},{"_p_wxFSFile", _p_wxFSFileTo_p_wxObject},{"_p_wxFindReplaceData", _p_wxFindReplaceDataTo_p_wxObject},{"_p_wxPyBitmapShape", _p_wxPyBitmapShapeTo_p_wxObject},{"_p_wxPySizer", _p_wxPySizerTo_p_wxObject},{"_p_wxMDIChildFrame", _p_wxMDIChildFrameTo_p_wxObject},{"_p_wxColourData", _p_wxColourDataTo_p_wxObject},{"_p_wxPyEvent", _p_wxPyEventTo_p_wxObject},{"_p_wxNotifyEvent", _p_wxNotifyEventTo_p_wxObject},{"_p_wxPyWindow", _p_wxPyWindowTo_p_wxObject},{"_p_wxSplashScreen", _p_wxSplashScreenTo_p_wxObject},{"_p_wxFileDialog", _p_wxFileDialogTo_p_wxObject},{"_p_wxMultiChoiceDialog", _p_wxMultiChoiceDialogTo_p_wxObject},{"_p_wxSingleChoiceDialog", _p_wxSingleChoiceDialogTo_p_wxObject},{"_p_wxTextEntryDialog", _p_wxTextEntryDialogTo_p_wxObject},{"_p_wxMessageDialog", _p_wxMessageDialogTo_p_wxObject},{"_p_wxProgressDialog", _p_wxProgressDialogTo_p_wxObject},{"_p_wxFindReplaceDialog", _p_wxFindReplaceDialogTo_p_wxObject},{"_p_wxShowEvent", _p_wxShowEventTo_p_wxObject},{"_p_wxPrinter", _p_wxPrinterTo_p_wxObject},{"_p_wxMenuItem", _p_wxMenuItemTo_p_wxObject},{"_p_wxIdleEvent", _p_wxIdleEventTo_p_wxObject},{"_p_wxWindowCreateEvent", _p_wxWindowCreateEventTo_p_wxObject},{"_p_wxQueryNewPaletteEvent", _p_wxQueryNewPaletteEventTo_p_wxObject},{"_p_wxMaximizeEvent", _p_wxMaximizeEventTo_p_wxObject},{"_p_wxIconizeEvent", _p_wxIconizeEventTo_p_wxObject},{"_p_wxSizeEvent", _p_wxSizeEventTo_p_wxObject},{"_p_wxMoveEvent", _p_wxMoveEventTo_p_wxObject},{"_p_wxActivateEvent", _p_wxActivateEventTo_p_wxObject},{"_p_wxJPEGHandler", _p_wxJPEGHandlerTo_p_wxObject},{"_p_wxPCXHandler", _p_wxPCXHandlerTo_p_wxObject},{"_p_wxPNMHandler", _p_wxPNMHandlerTo_p_wxObject},{"_p_wxXPMHandler", _p_wxXPMHandlerTo_p_wxObject},{"_p_wxGIFHandler", _p_wxGIFHandlerTo_p_wxObject},{"_p_wxPNGHandler", _p_wxPNGHandlerTo_p_wxObject},{"_p_wxANIHandler", _p_wxANIHandlerTo_p_wxObject},{"_p_wxCURHandler", _p_wxCURHandlerTo_p_wxObject},{"_p_wxICOHandler", _p_wxICOHandlerTo_p_wxObject},{"_p_wxBMPHandler", _p_wxBMPHandlerTo_p_wxObject},{"_p_wxImageHandler", _p_wxImageHandlerTo_p_wxObject},{"_p_wxTIFFHandler", _p_wxTIFFHandlerTo_p_wxObject},{"_p_wxEvtHandler", _p_wxEvtHandlerTo_p_wxObject},{"_p_wxCalculateLayoutEvent", _p_wxCalculateLayoutEventTo_p_wxObject},{"_p_wxPyShapeEvtHandler", _p_wxPyShapeEvtHandlerTo_p_wxObject},{"_p_wxPyVListBox", _p_wxPyVListBoxTo_p_wxObject},{"_p_wxPyHtmlListBox", _p_wxPyHtmlListBoxTo_p_wxObject},{"_p_wxPyTextShape", _p_wxPyTextShapeTo_p_wxObject},{"_p_wxPyDividedShape", _p_wxPyDividedShapeTo_p_wxObject},{"_p_wxAcceleratorTable", _p_wxAcceleratorTableTo_p_wxObject},{"_p_wxMiniFrame", _p_wxMiniFrameTo_p_wxObject},{"_p_wxImage", _p_wxImageTo_p_wxObject},{"_p_wxFrame", _p_wxFrameTo_p_wxObject},{"_p_wxPyPrintout", _p_wxPyPrintoutTo_p_wxObject},{"_p_wxScrollWinEvent", _p_wxScrollWinEventTo_p_wxObject},{"_p_wxTaskBarIconEvent", _p_wxTaskBarIconEventTo_p_wxObject},{"_p_wxDiagram", _p_wxDiagramTo_p_wxObject},{"_p_wxStatusBar", _p_wxStatusBarTo_p_wxObject},{"_p_wxMDIParentFrame", _p_wxMDIParentFrameTo_p_wxObject},{"_p_wxObject"},{"_p_wxWindowDestroyEvent", _p_wxWindowDestroyEventTo_p_wxObject},{"_p_wxNavigationKeyEvent", _p_wxNavigationKeyEventTo_p_wxObject},{"_p_wxKeyEvent", _p_wxKeyEventTo_p_wxObject},{"_p_wxMenuBar", _p_wxMenuBarTo_p_wxObject},{"_p_wxScrolledWindow", _p_wxScrolledWindowTo_p_wxObject},{"_p_wxPyVScrolledWindow", _p_wxPyVScrolledWindowTo_p_wxObject},{"_p_wxMDIClientWindow", _p_wxMDIClientWindowTo_p_wxObject},{"_p_wxTopLevelWindow", _p_wxTopLevelWindowTo_p_wxObject},{"_p_wxWindow", _p_wxWindowTo_p_wxObject},{"_p_wxSashWindow", _p_wxSashWindowTo_p_wxObject},{"_p_wxSplitterWindow", _p_wxSplitterWindowTo_p_wxObject},{"_p_wxSplashScreenWindow", _p_wxSplashScreenWindowTo_p_wxObject},{"_p_wxSashLayoutWindow", _p_wxSashLayoutWindowTo_p_wxObject},{"_p_wxPopupWindow", _p_wxPopupWindowTo_p_wxObject},{"_p_wxPyPopupTransientWindow", _p_wxPyPopupTransientWindowTo_p_wxObject},{"_p_wxTipWindow", _p_wxTipWindowTo_p_wxObject},{"_p_wxSashEvent", _p_wxSashEventTo_p_wxObject},{"_p_wxPrintPreview", _p_wxPrintPreviewTo_p_wxObject},{"_p_wxPyPrintPreview", _p_wxPyPrintPreviewTo_p_wxObject},{"_p_wxPanel", _p_wxPanelTo_p_wxObject},{"_p_wxFontDialog", _p_wxFontDialogTo_p_wxObject},{"_p_wxDirDialog", _p_wxDirDialogTo_p_wxObject},{"_p_wxColourDialog", _p_wxColourDialogTo_p_wxObject},{"_p_wxDialog", _p_wxDialogTo_p_wxObject},{"_p_wxPageSetupDialog", _p_wxPageSetupDialogTo_p_wxObject},{"_p_wxPrintDialog", _p_wxPrintDialogTo_p_wxObject},{"_p_wxPyShape", _p_wxPyShapeTo_p_wxObject},{"_p_wxFileSystem", _p_wxFileSystemTo_p_wxObject},{"_p_wxContextMenuEvent", _p_wxContextMenuEventTo_p_wxObject},{"_p_wxMenuEvent", _p_wxMenuEventTo_p_wxObject},{"_p_wxPyApp", _p_wxPyAppTo_p_wxObject},{"_p_wxCloseEvent", _p_wxCloseEventTo_p_wxObject},{"_p_wxMouseEvent", _p_wxMouseEventTo_p_wxObject},{"_p_wxEraseEvent", _p_wxEraseEventTo_p_wxObject},{"_p_wxPyCommandEvent", _p_wxPyCommandEventTo_p_wxObject},{"_p_wxCommandEvent", _p_wxCommandEventTo_p_wxObject},{"_p_wxPreviewControlBar", _p_wxPreviewControlBarTo_p_wxObject},{"_p_wxPyPreviewControlBar", _p_wxPyPreviewControlBarTo_p_wxObject},{"_p_wxPyCircleShape", _p_wxPyCircleShapeTo_p_wxObject},{"_p_wxPyLineShape", _p_wxPyLineShapeTo_p_wxObject},{"_p_wxPyCompositeShape", _p_wxPyCompositeShapeTo_p_wxObject},{"_p_wxPyRectangleShape", _p_wxPyRectangleShapeTo_p_wxObject},{"_p_wxDropFilesEvent", _p_wxDropFilesEventTo_p_wxObject},{"_p_wxFocusEvent", _p_wxFocusEventTo_p_wxObject},{"_p_wxChildFocusEvent", _p_wxChildFocusEventTo_p_wxObject},{"_p_wxPseudoMetaFile", _p_wxPseudoMetaFileTo_p_wxObject},{"_p_wxControlWithItems", _p_wxControlWithItemsTo_p_wxObject},{"_p_wxPageSetupDialogData", _p_wxPageSetupDialogDataTo_p_wxObject},{"_p_wxPrintDialogData", _p_wxPrintDialogDataTo_p_wxObject},{"_p_wxValidator", _p_wxValidatorTo_p_wxObject},{"_p_wxPyValidator", _p_wxPyValidatorTo_p_wxObject},{"_p_wxShapeRegion", _p_wxShapeRegionTo_p_wxObject},{0}};
+static swig_type_info _swigt__p_wxPyBitmapShape[] = {{"_p_wxPyBitmapShape", 0, "wxPyBitmapShape *", 0},{"_p_wxPyBitmapShape"},{0}};
+static swig_type_info _swigt__p_wxString[] = {{"_p_wxString", 0, "wxString *", 0},{"_p_wxString"},{0}};
+static swig_type_info _swigt__p_wxPyShapeEvtHandler[] = {{"_p_wxPyShapeEvtHandler", 0, "wxPyShapeEvtHandler *", 0},{"_p_wxPyControlPoint", _p_wxPyControlPointTo_p_wxPyShapeEvtHandler},{"_p_wxPyRectangleShape", _p_wxPyRectangleShapeTo_p_wxPyShapeEvtHandler},{"_p_wxPyCompositeShape", _p_wxPyCompositeShapeTo_p_wxPyShapeEvtHandler},{"_p_wxPyCircleShape", _p_wxPyCircleShapeTo_p_wxPyShapeEvtHandler},{"_p_wxPyLineShape", _p_wxPyLineShapeTo_p_wxPyShapeEvtHandler},{"_p_wxPyDividedShape", _p_wxPyDividedShapeTo_p_wxPyShapeEvtHandler},{"_p_wxPyEllipseShape", _p_wxPyEllipseShapeTo_p_wxPyShapeEvtHandler},{"_p_wxPyPolygonShape", _p_wxPyPolygonShapeTo_p_wxPyShapeEvtHandler},{"_p_wxPyDrawnShape", _p_wxPyDrawnShapeTo_p_wxPyShapeEvtHandler},{"_p_wxPyDivisionShape", _p_wxPyDivisionShapeTo_p_wxPyShapeEvtHandler},{"_p_wxPyShape", _p_wxPyShapeTo_p_wxPyShapeEvtHandler},{"_p_wxPyShapeEvtHandler"},{"_p_wxPyBitmapShape", _p_wxPyBitmapShapeTo_p_wxPyShapeEvtHandler},{"_p_wxPyTextShape", _p_wxPyTextShapeTo_p_wxPyShapeEvtHandler},{0}};
+static swig_type_info _swigt__p_wxEvtHandler[] = {{"_p_wxEvtHandler", 0, "wxEvtHandler *", 0},{"_p_wxSplashScreen", _p_wxSplashScreenTo_p_wxEvtHandler},{"_p_wxMiniFrame", _p_wxMiniFrameTo_p_wxEvtHandler},{"_p_wxPyPanel", _p_wxPyPanelTo_p_wxEvtHandler},{"_p_wxMenuBar", _p_wxMenuBarTo_p_wxEvtHandler},{"_p_wxValidator", _p_wxValidatorTo_p_wxEvtHandler},{"_p_wxPyValidator", _p_wxPyValidatorTo_p_wxEvtHandler},{"_p_wxFindReplaceDialog", _p_wxFindReplaceDialogTo_p_wxEvtHandler},{"_p_wxTextEntryDialog", _p_wxTextEntryDialogTo_p_wxEvtHandler},{"_p_wxSingleChoiceDialog", _p_wxSingleChoiceDialogTo_p_wxEvtHandler},{"_p_wxMultiChoiceDialog", _p_wxMultiChoiceDialogTo_p_wxEvtHandler},{"_p_wxFileDialog", _p_wxFileDialogTo_p_wxEvtHandler},{"_p_wxMessageDialog", _p_wxMessageDialogTo_p_wxEvtHandler},{"_p_wxProgressDialog", _p_wxProgressDialogTo_p_wxEvtHandler},{"_p_wxPanel", _p_wxPanelTo_p_wxEvtHandler},{"_p_wxStatusBar", _p_wxStatusBarTo_p_wxEvtHandler},{"_p_wxTipWindow", _p_wxTipWindowTo_p_wxEvtHandler},{"_p_wxPyPopupTransientWindow", _p_wxPyPopupTransientWindowTo_p_wxEvtHandler},{"_p_wxPopupWindow", _p_wxPopupWindowTo_p_wxEvtHandler},{"_p_wxSashLayoutWindow", _p_wxSashLayoutWindowTo_p_wxEvtHandler},{"_p_wxSplashScreenWindow", _p_wxSplashScreenWindowTo_p_wxEvtHandler},{"_p_wxSplitterWindow", _p_wxSplitterWindowTo_p_wxEvtHandler},{"_p_wxSashWindow", _p_wxSashWindowTo_p_wxEvtHandler},{"_p_wxWindow", _p_wxWindowTo_p_wxEvtHandler},{"_p_wxTopLevelWindow", _p_wxTopLevelWindowTo_p_wxEvtHandler},{"_p_wxMDIClientWindow", _p_wxMDIClientWindowTo_p_wxEvtHandler},{"_p_wxPyVScrolledWindow", _p_wxPyVScrolledWindowTo_p_wxEvtHandler},{"_p_wxScrolledWindow", _p_wxScrolledWindowTo_p_wxEvtHandler},{"_p_wxPyPreviewFrame", _p_wxPyPreviewFrameTo_p_wxEvtHandler},{"_p_wxPreviewFrame", _p_wxPreviewFrameTo_p_wxEvtHandler},{"_p_wxControl", _p_wxControlTo_p_wxEvtHandler},{"_p_wxMDIChildFrame", _p_wxMDIChildFrameTo_p_wxEvtHandler},{"_p_wxPyApp", _p_wxPyAppTo_p_wxEvtHandler},{"_p_wxControlWithItems", _p_wxControlWithItemsTo_p_wxEvtHandler},{"_p_wxEvtHandler"},{"_p_wxPyShapeCanvas", _p_wxPyShapeCanvasTo_p_wxEvtHandler},{"_p_wxPreviewCanvas", _p_wxPreviewCanvasTo_p_wxEvtHandler},{"_p_wxPyWindow", _p_wxPyWindowTo_p_wxEvtHandler},{"_p_wxPyHtmlListBox", _p_wxPyHtmlListBoxTo_p_wxEvtHandler},{"_p_wxPyVListBox", _p_wxPyVListBoxTo_p_wxEvtHandler},{"_p_wxPyPreviewControlBar", _p_wxPyPreviewControlBarTo_p_wxEvtHandler},{"_p_wxPreviewControlBar", _p_wxPreviewControlBarTo_p_wxEvtHandler},{"_p_wxTaskBarIcon", _p_wxTaskBarIconTo_p_wxEvtHandler},{"_p_wxFrame", _p_wxFrameTo_p_wxEvtHandler},{"_p_wxFontDialog", _p_wxFontDialogTo_p_wxEvtHandler},{"_p_wxDirDialog", _p_wxDirDialogTo_p_wxEvtHandler},{"_p_wxColourDialog", _p_wxColourDialogTo_p_wxEvtHandler},{"_p_wxDialog", _p_wxDialogTo_p_wxEvtHandler},{"_p_wxPageSetupDialog", _p_wxPageSetupDialogTo_p_wxEvtHandler},{"_p_wxPrintDialog", _p_wxPrintDialogTo_p_wxEvtHandler},{"_p_wxMenu", _p_wxMenuTo_p_wxEvtHandler},{"_p_wxMDIParentFrame", _p_wxMDIParentFrameTo_p_wxEvtHandler},{0}};
+static swig_type_info _swigt__p_wxPyEllipseShape[] = {{"_p_wxPyEllipseShape", 0, "wxPyEllipseShape *", 0},{"_p_wxPyCircleShape", _p_wxPyCircleShapeTo_p_wxPyEllipseShape},{"_p_wxPyEllipseShape"},{0}};
+static swig_type_info _swigt__p_wxPyShapeCanvas[] = {{"_p_wxPyShapeCanvas", 0, "wxPyShapeCanvas *", 0},{"_p_wxPyShapeCanvas"},{0}};
+static swig_type_info _swigt__p_wxPoint[] = {{"_p_wxPoint", 0, "wxPoint *", 0},{"_p_wxPoint"},{0}};
+static swig_type_info _swigt__p_wxDiagram[] = {{"_p_wxDiagram", 0, "wxDiagram *", 0},{"_p_wxDiagram"},{0}};
+static swig_type_info _swigt__p_wxPyShape[] = {{"_p_wxPyShape", 0, "wxPyShape *", 0},{"_p_wxPyRectangleShape", _p_wxPyRectangleShapeTo_p_wxPyShape},{"_p_wxPyBitmapShape", _p_wxPyBitmapShapeTo_p_wxPyShape},{"_p_wxPyCompositeShape", _p_wxPyCompositeShapeTo_p_wxPyShape},{"_p_wxPyCircleShape", _p_wxPyCircleShapeTo_p_wxPyShape},{"_p_wxPyLineShape", _p_wxPyLineShapeTo_p_wxPyShape},{"_p_wxPyTextShape", _p_wxPyTextShapeTo_p_wxPyShape},{"_p_wxPyDivisionShape", _p_wxPyDivisionShapeTo_p_wxPyShape},{"_p_wxPyControlPoint", _p_wxPyControlPointTo_p_wxPyShape},{"_p_wxPyDrawnShape", _p_wxPyDrawnShapeTo_p_wxPyShape},{"_p_wxPyPolygonShape", _p_wxPyPolygonShapeTo_p_wxPyShape},{"_p_wxPyDividedShape", _p_wxPyDividedShapeTo_p_wxPyShape},{"_p_wxPyShape"},{"_p_wxPyEllipseShape", _p_wxPyEllipseShapeTo_p_wxPyShape},{0}};
+static swig_type_info _swigt__p_wxClassInfo[] = {{"_p_wxClassInfo", 0, "wxClassInfo *", 0},{"_p_wxClassInfo"},{0}};
+static swig_type_info _swigt__p_wxPyLineShape[] = {{"_p_wxPyLineShape", 0, "wxPyLineShape *", 0},{"_p_wxPyLineShape"},{0}};
+static swig_type_info _swigt__p_wxPyRectangleShape[] = {{"_p_wxPyRectangleShape", 0, "wxPyRectangleShape *", 0},{"_p_wxPyRectangleShape"},{"_p_wxPyBitmapShape", _p_wxPyBitmapShapeTo_p_wxPyRectangleShape},{"_p_wxPyCompositeShape", _p_wxPyCompositeShapeTo_p_wxPyRectangleShape},{"_p_wxPyTextShape", _p_wxPyTextShapeTo_p_wxPyRectangleShape},{"_p_wxPyDivisionShape", _p_wxPyDivisionShapeTo_p_wxPyRectangleShape},{"_p_wxPyControlPoint", _p_wxPyControlPointTo_p_wxPyRectangleShape},{"_p_wxPyDrawnShape", _p_wxPyDrawnShapeTo_p_wxPyRectangleShape},{"_p_wxPyDividedShape", _p_wxPyDividedShapeTo_p_wxPyRectangleShape},{0}};
+static swig_type_info _swigt__p_wxPyCompositeShape[] = {{"_p_wxPyCompositeShape", 0, "wxPyCompositeShape *", 0},{"_p_wxPyCompositeShape"},{"_p_wxPyDivisionShape", _p_wxPyDivisionShapeTo_p_wxPyCompositeShape},{0}};
+static swig_type_info _swigt__p_wxPyCircleShape[] = {{"_p_wxPyCircleShape", 0, "wxPyCircleShape *", 0},{"_p_wxPyCircleShape"},{0}};
+static swig_type_info _swigt__p_wxPen[] = {{"_p_wxPen", 0, "wxPen *", 0},{"_p_wxPen"},{0}};
+static swig_type_info _swigt__p_int[] = {{"_p_int", 0, "int *", 0},{"_p_int"},{0}};
+static swig_type_info _swigt__p_wxPseudoMetaFile[] = {{"_p_wxPseudoMetaFile", 0, "wxPseudoMetaFile *", 0},{"_p_wxPseudoMetaFile"},{0}};
+static swig_type_info _swigt__p_wxPyTextShape[] = {{"_p_wxPyTextShape", 0, "wxPyTextShape *", 0},{"_p_wxPyTextShape"},{0}};
+static swig_type_info _swigt__p_wxPyDividedShape[] = {{"_p_wxPyDividedShape", 0, "wxPyDividedShape *", 0},{"_p_wxPyDividedShape"},{0}};
+
+static swig_type_info *swig_types_initial[] = {
+_swigt__p_wxOGLConstraint, 
+_swigt__p_wxBrush, 
+_swigt__p_wxColour, 
+_swigt__p_wxShapeRegion, 
+_swigt__p_wxDC, 
+_swigt__p_wxRealPoint, 
+_swigt__p_wxPyControlPoint, 
+_swigt__p_wxArrowHead, 
+_swigt__p_wxStringList, 
+_swigt__p_wxPanel, 
+_swigt__p_bool, 
+_swigt__p_wxList, 
+_swigt__p_wxFont, 
+_swigt__p_wxScrolledWindow, 
+_swigt__p_wxWindow, 
+_swigt__p_double, 
+_swigt__p_wxPyDivisionShape, 
+_swigt__p_wxPyDrawnShape, 
+_swigt__p_wxPyPolygonShape, 
+_swigt__p_wxBitmap, 
+_swigt__p_wxObject, 
+_swigt__p_wxPyBitmapShape, 
+_swigt__p_wxString, 
+_swigt__p_wxPyShapeEvtHandler, 
+_swigt__p_wxEvtHandler, 
+_swigt__p_wxPyEllipseShape, 
+_swigt__p_wxPyShapeCanvas, 
+_swigt__p_wxPoint, 
+_swigt__p_wxDiagram, 
+_swigt__p_wxPyShape, 
+_swigt__p_wxClassInfo, 
+_swigt__p_wxPyLineShape, 
+_swigt__p_wxPyRectangleShape, 
+_swigt__p_wxPyCompositeShape, 
+_swigt__p_wxPyCircleShape, 
+_swigt__p_wxPen, 
+_swigt__p_int, 
+_swigt__p_wxPseudoMetaFile, 
+_swigt__p_wxPyTextShape, 
+_swigt__p_wxPyDividedShape, 
+0
+};
+
+
+/* -------- TYPE CONVERSION AND EQUIVALENCE RULES (END) -------- */
+
+static swig_const_info swig_const_table[] = {
+{ SWIG_PY_INT,     (char *)"oglMETAFLAGS_OUTLINE", (long) oglMETAFLAGS_OUTLINE, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"oglMETAFLAGS_ATTACHMENTS", (long) oglMETAFLAGS_ATTACHMENTS, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"KEY_SHIFT", (long) KEY_SHIFT, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"KEY_CTRL", (long) KEY_CTRL, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"ARROW_NONE", (long) ARROW_NONE, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"ARROW_END", (long) ARROW_END, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"ARROW_BOTH", (long) ARROW_BOTH, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"ARROW_MIDDLE", (long) ARROW_MIDDLE, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"ARROW_START", (long) ARROW_START, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"ARROW_HOLLOW_CIRCLE", (long) ARROW_HOLLOW_CIRCLE, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"ARROW_FILLED_CIRCLE", (long) ARROW_FILLED_CIRCLE, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"ARROW_ARROW", (long) ARROW_ARROW, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"ARROW_SINGLE_OBLIQUE", (long) ARROW_SINGLE_OBLIQUE, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"ARROW_DOUBLE_OBLIQUE", (long) ARROW_DOUBLE_OBLIQUE, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"ARROW_METAFILE", (long) ARROW_METAFILE, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"ARROW_POSITION_END", (long) ARROW_POSITION_END, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"ARROW_POSITION_START", (long) ARROW_POSITION_START, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"CONTROL_POINT_VERTICAL", (long) CONTROL_POINT_VERTICAL, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"CONTROL_POINT_HORIZONTAL", (long) CONTROL_POINT_HORIZONTAL, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"CONTROL_POINT_DIAGONAL", (long) CONTROL_POINT_DIAGONAL, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"CONTROL_POINT_ENDPOINT_TO", (long) CONTROL_POINT_ENDPOINT_TO, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"CONTROL_POINT_ENDPOINT_FROM", (long) CONTROL_POINT_ENDPOINT_FROM, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"CONTROL_POINT_LINE", (long) CONTROL_POINT_LINE, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"FORMAT_NONE", (long) FORMAT_NONE, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"FORMAT_CENTRE_HORIZ", (long) FORMAT_CENTRE_HORIZ, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"FORMAT_CENTRE_VERT", (long) FORMAT_CENTRE_VERT, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"FORMAT_SIZE_TO_CONTENTS", (long) FORMAT_SIZE_TO_CONTENTS, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"LINE_ALIGNMENT_HORIZ", (long) LINE_ALIGNMENT_HORIZ, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"LINE_ALIGNMENT_VERT", (long) LINE_ALIGNMENT_VERT, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"LINE_ALIGNMENT_TO_NEXT_HANDLE", (long) LINE_ALIGNMENT_TO_NEXT_HANDLE, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"LINE_ALIGNMENT_NONE", (long) LINE_ALIGNMENT_NONE, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"SHADOW_NONE", (long) SHADOW_NONE, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"SHADOW_LEFT", (long) SHADOW_LEFT, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"SHADOW_RIGHT", (long) SHADOW_RIGHT, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"OP_CLICK_LEFT", (long) OP_CLICK_LEFT, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"OP_CLICK_RIGHT", (long) OP_CLICK_RIGHT, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"OP_DRAG_LEFT", (long) OP_DRAG_LEFT, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"OP_DRAG_RIGHT", (long) OP_DRAG_RIGHT, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"OP_ALL", (long) OP_ALL, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"ATTACHMENT_MODE_NONE", (long) ATTACHMENT_MODE_NONE, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"ATTACHMENT_MODE_EDGE", (long) ATTACHMENT_MODE_EDGE, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"ATTACHMENT_MODE_BRANCHING", (long) ATTACHMENT_MODE_BRANCHING, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"BRANCHING_ATTACHMENT_NORMAL", (long) BRANCHING_ATTACHMENT_NORMAL, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"BRANCHING_ATTACHMENT_BLOB", (long) BRANCHING_ATTACHMENT_BLOB, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"gyCONSTRAINT_CENTRED_VERTICALLY", (long) gyCONSTRAINT_CENTRED_VERTICALLY, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"gyCONSTRAINT_CENTRED_HORIZONTALLY", (long) gyCONSTRAINT_CENTRED_HORIZONTALLY, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"gyCONSTRAINT_CENTRED_BOTH", (long) gyCONSTRAINT_CENTRED_BOTH, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"gyCONSTRAINT_LEFT_OF", (long) gyCONSTRAINT_LEFT_OF, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"gyCONSTRAINT_RIGHT_OF", (long) gyCONSTRAINT_RIGHT_OF, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"gyCONSTRAINT_ABOVE", (long) gyCONSTRAINT_ABOVE, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"gyCONSTRAINT_BELOW", (long) gyCONSTRAINT_BELOW, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"gyCONSTRAINT_ALIGNED_TOP", (long) gyCONSTRAINT_ALIGNED_TOP, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"gyCONSTRAINT_ALIGNED_BOTTOM", (long) gyCONSTRAINT_ALIGNED_BOTTOM, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"gyCONSTRAINT_ALIGNED_LEFT", (long) gyCONSTRAINT_ALIGNED_LEFT, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"gyCONSTRAINT_ALIGNED_RIGHT", (long) gyCONSTRAINT_ALIGNED_RIGHT, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"gyCONSTRAINT_MIDALIGNED_TOP", (long) gyCONSTRAINT_MIDALIGNED_TOP, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"gyCONSTRAINT_MIDALIGNED_BOTTOM", (long) gyCONSTRAINT_MIDALIGNED_BOTTOM, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"gyCONSTRAINT_MIDALIGNED_LEFT", (long) gyCONSTRAINT_MIDALIGNED_LEFT, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"gyCONSTRAINT_MIDALIGNED_RIGHT", (long) gyCONSTRAINT_MIDALIGNED_RIGHT, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"DIVISION_SIDE_NONE", (long) DIVISION_SIDE_NONE, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"DIVISION_SIDE_LEFT", (long) DIVISION_SIDE_LEFT, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"DIVISION_SIDE_TOP", (long) DIVISION_SIDE_TOP, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"DIVISION_SIDE_RIGHT", (long) DIVISION_SIDE_RIGHT, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"DIVISION_SIDE_BOTTOM", (long) DIVISION_SIDE_BOTTOM, 0, 0, 0},
+{0}};
+
+#ifdef __cplusplus
+}
+#endif
+
+#ifdef __cplusplus
+extern "C"
+#endif
+SWIGEXPORT(void) SWIG_init(void) {
+    static PyObject *SWIG_globals = 0; 
+    static int       typeinit = 0;
+    PyObject *m, *d;
+    int       i;
+    if (!SWIG_globals) SWIG_globals = SWIG_newvarlink();
+    m = Py_InitModule((char *) SWIG_name, SwigMethods);
+    d = PyModule_GetDict(m);
+    
+    if (!typeinit) {
+        for (i = 0; swig_types_initial[i]; i++) {
+            swig_types[i] = SWIG_TypeRegister(swig_types_initial[i]);
+        }
+        typeinit = 1;
+    }
+    SWIG_InstallConstants(d,swig_const_table);
+    
+    
+    
+    //     initoglbasicc();
+    //     initoglshapesc();
+    //     initoglshapes2c();
+    //     initoglcanvasc();
+    
+    
+    wxPyPtrTypeMap_Add("wxControlPoint", "wxPyControlPoint");
+    wxPyPtrTypeMap_Add("wxShapeCanvas", "wxPyShapeCanvas");
+    wxPyPtrTypeMap_Add("wxShapeEvtHandler", "wxPyShapeEvtHandler");
+    wxPyPtrTypeMap_Add("wxShape", "wxPyShape");
+    wxPyPtrTypeMap_Add("wxRectangleShape", "wxPyRectangleShape");
+    wxPyPtrTypeMap_Add("wxDrawnShape", "wxPyDrawnShape");
+    wxPyPtrTypeMap_Add("wxCompositeShape", "wxPyCompositeShape");
+    wxPyPtrTypeMap_Add("wxDividedShape", "wxPyDividedShape");
+    wxPyPtrTypeMap_Add("wxDivisionShape", "wxPyDivisionShape");
+    wxPyPtrTypeMap_Add("wxEllipseShape", "wxPyEllipseShape");
+    wxPyPtrTypeMap_Add("wxCircleShape", "wxPyCircleShape");
+    wxPyPtrTypeMap_Add("wxLineShape", "wxPyLineShape");
+    wxPyPtrTypeMap_Add("wxPolygonShape", "wxPyPolygonShape");
+    wxPyPtrTypeMap_Add("wxTextShape", "wxPyTextShape");
+    
+    
+}
+
index c98eec2e2a899a6df3115b2123b50e7031214fc2..bf64bbb2ab68df555d7dfdf30c622bf0f1136a95 100644 (file)
@@ -993,7 +993,9 @@ class TextCtrl(core.Control):
         return _controls.TextCtrl_IsMultiLine(*args, **kwargs)
 
     def GetSelection(*args, **kwargs):
-        """GetSelection(long OUTPUT, long OUTPUT)"""
+        """GetSelection() -> (from, to)
+
+If the return values from and to are the same, there is no selection."""
         return _controls.TextCtrl_GetSelection(*args, **kwargs)
 
     def GetStringSelection(*args, **kwargs):
@@ -1065,7 +1067,7 @@ class TextCtrl(core.Control):
         return _controls.TextCtrl_XYToPosition(*args, **kwargs)
 
     def PositionToXY(*args, **kwargs):
-        """PositionToXY(long pos, long OUTPUT, long OUTPUT)"""
+        """PositionToXY(long pos) -> (x, y)"""
         return _controls.TextCtrl_PositionToXY(*args, **kwargs)
 
     def ShowPosition(*args, **kwargs):
@@ -1874,7 +1876,9 @@ class Notebook(BookCtrl):
         return _controls.Notebook_SetTabSize(*args, **kwargs)
 
     def HitTest(*args, **kwargs):
-        """HitTest(Point pt, long OUTPUT) -> int"""
+        """HitTest(Point pt) -> (tab, where)
+
+Returns the tab which is hit, and flags indicating where using wxNB_HITTEST_ flags."""
         return _controls.Notebook_HitTest(*args, **kwargs)
 
     def CalcSizeFromPage(*args, **kwargs):
@@ -3220,7 +3224,10 @@ class ListCtrl(core.Control):
         return _controls.ListCtrl_FindItemAtPos(*args, **kwargs)
 
     def HitTest(*args, **kwargs):
-        """HitTest(Point point, int OUTPUT) -> long"""
+        """HitTest(Point point) -> (item, where)
+
+Determines which item (if any) is at the specified point,
+giving details in the second return value (see wxLIST_HITTEST_... flags.)"""
         return _controls.ListCtrl_HitTest(*args, **kwargs)
 
     def InsertItem(*args, **kwargs):
@@ -3949,7 +3956,13 @@ class TreeCtrl(core.Control):
         return _controls.TreeCtrl_SortChildren(*args, **kwargs)
 
     def HitTest(*args, **kwargs):
-        """HitTest(Point point, int OUTPUT) -> TreeItemId"""
+        """HitTest(Point point) -> (item, where)
+
+Determine which item (if any) belongs the given point.  The
+coordinates specified are relative to the client area of tree ctrl
+and the where return value is set to a bitmask of wxTREE_HITTEST_xxx
+constants.
+"""
         return _controls.TreeCtrl_HitTest(*args, **kwargs)
 
     def GetBoundingRect(*args, **kwargs):
@@ -4062,7 +4075,12 @@ class GenericDirCtrl(core.Control):
         return _controls.GenericDirCtrl_GetFilterListCtrl(*args, **kwargs)
 
     def FindChild(*args, **kwargs):
-        """FindChild(TreeItemId parentId, wxString path, bool OUTPUT) -> TreeItemId"""
+        """FindChild(wxTreeItemId parentId, wxString path) -> (item, done)
+
+Find the child that matches the first part of 'path'.  E.g. if a child path is
+"/usr" and 'path' is "/usr/include" then the child for /usr is returned.
+If the path string has been used (we're at the leaf), done is set to True
+"""
         return _controls.GenericDirCtrl_FindChild(*args, **kwargs)
 
     def DoResize(*args, **kwargs):
@@ -4160,15 +4178,15 @@ class PyControl(core.Control):
         return _controls.PyControl_base_DoSetVirtualSize(*args, **kwargs)
 
     def base_DoGetSize(*args, **kwargs):
-        """base_DoGetSize(int OUTPUT, int OUTPUT)"""
+        """base_DoGetSize() -> (width, height)"""
         return _controls.PyControl_base_DoGetSize(*args, **kwargs)
 
     def base_DoGetClientSize(*args, **kwargs):
-        """base_DoGetClientSize(int OUTPUT, int OUTPUT)"""
+        """base_DoGetClientSize() -> (width, height)"""
         return _controls.PyControl_base_DoGetClientSize(*args, **kwargs)
 
     def base_DoGetPosition(*args, **kwargs):
-        """base_DoGetPosition(int OUTPUT, int OUTPUT)"""
+        """base_DoGetPosition() -> (x,y)"""
         return _controls.PyControl_base_DoGetPosition(*args, **kwargs)
 
     def base_DoGetVirtualSize(*args, **kwargs):
index fd202377d422d15bdb95b44e731fdd6f06dccabe..4c89e589a6716f6013ccf2ed23ebe0f4382a3fd6 100644 (file)
@@ -4396,105 +4396,177 @@ class PyApp(EvtHandler):
         return _core.PyApp__setCallbackInfo(*args, **kwargs)
 
     def GetAppName(*args, **kwargs):
-        """GetAppName() -> wxString"""
+        """GetAppName() -> wxString
+
+Get the application name."""
         return _core.PyApp_GetAppName(*args, **kwargs)
 
     def SetAppName(*args, **kwargs):
-        """SetAppName(wxString name)"""
+        """SetAppName(wxString name)
+
+Set the application name. This value may be used automatically
+by wxConfig and such."""
         return _core.PyApp_SetAppName(*args, **kwargs)
 
     def GetClassName(*args, **kwargs):
         """GetClassName() -> wxString
 
-Returns the class name of the C++ object using wxRTTI."""
+Get the application's class name."""
         return _core.PyApp_GetClassName(*args, **kwargs)
 
     def SetClassName(*args, **kwargs):
-        """SetClassName(wxString name)"""
+        """SetClassName(wxString name)
+
+Set the application's class name. This value may be used for X-resources if
+applicable for the platform"""
         return _core.PyApp_SetClassName(*args, **kwargs)
 
     def GetVendorName(*args, **kwargs):
-        """GetVendorName() -> wxString"""
+        """GetVendorName() -> wxString
+
+Get the application's vendor name."""
         return _core.PyApp_GetVendorName(*args, **kwargs)
 
     def SetVendorName(*args, **kwargs):
-        """SetVendorName(wxString name)"""
+        """SetVendorName(wxString name)
+
+Set the application's vendor name. This value may be used automatically
+by wxConfig and such."""
         return _core.PyApp_SetVendorName(*args, **kwargs)
 
     def GetTraits(*args, **kwargs):
-        """GetTraits() -> wxAppTraits"""
+        """GetTraits() -> wxAppTraits
+
+Create the app traits object to which we delegate for everything which either
+should be configurable by the user (then he can change the default behaviour
+simply by overriding CreateTraits() and returning his own traits object) or
+which is GUI/console dependent as then wxAppTraits allows us to abstract the
+differences behind the common facade"""
         return _core.PyApp_GetTraits(*args, **kwargs)
 
     def ProcessPendingEvents(*args, **kwargs):
-        """ProcessPendingEvents()"""
+        """ProcessPendingEvents()
+
+Process all events in the wxPendingEvents list -- it is necessary to call this
+function to process posted events. This happens during each event loop
+iteration."""
         return _core.PyApp_ProcessPendingEvents(*args, **kwargs)
 
     def Yield(*args, **kwargs):
-        """Yield(bool onlyIfNeeded=False) -> bool"""
+        """Yield(bool onlyIfNeeded=False) -> bool
+
+Process all currently pending events right now, instead of waiting until
+return to the event loop.  It is an error to call Yield() recursively unless
+the value of onlyIfNeeded is True.
+
+WARNING: This function is dangerous as it can lead to unexpected
+         reentrancies (i.e. when called from an event handler it
+         may result in calling the same event handler again), use
+         with _extreme_ care or, better, don't use at all!
+"""
         return _core.PyApp_Yield(*args, **kwargs)
 
     def WakeUpIdle(*args, **kwargs):
-        """WakeUpIdle()"""
+        """WakeUpIdle()
+
+Make sure that idle events are sent again"""
         return _core.PyApp_WakeUpIdle(*args, **kwargs)
 
     def MainLoop(*args, **kwargs):
-        """MainLoop() -> int"""
+        """MainLoop() -> int
+
+Execute the main GUI loop, the function returns when the loop ends."""
         return _core.PyApp_MainLoop(*args, **kwargs)
 
     def Exit(*args, **kwargs):
-        """Exit()"""
+        """Exit()
+
+Exit the main loop thus terminating the application."""
         return _core.PyApp_Exit(*args, **kwargs)
 
     def ExitMainLoop(*args, **kwargs):
-        """ExitMainLoop()"""
+        """ExitMainLoop()
+
+Exit the main GUI loop during the next iteration (i.e. it does not
+stop the program immediately!)"""
         return _core.PyApp_ExitMainLoop(*args, **kwargs)
 
     def Pending(*args, **kwargs):
-        """Pending() -> bool"""
+        """Pending() -> bool
+
+Returns True if there are unprocessed events in the event queue."""
         return _core.PyApp_Pending(*args, **kwargs)
 
     def Dispatch(*args, **kwargs):
-        """Dispatch() -> bool"""
+        """Dispatch() -> bool
+
+Process the first event in the event queue (blocks until an event
+appears if there are none currently)"""
         return _core.PyApp_Dispatch(*args, **kwargs)
 
     def ProcessIdle(*args, **kwargs):
-        """ProcessIdle() -> bool"""
+        """ProcessIdle() -> bool
+
+Called from the MainLoop when the application becomes idle and sends an
+IdleEvent to all interested parties.  Returns True is more idle events are
+needed, False if not."""
         return _core.PyApp_ProcessIdle(*args, **kwargs)
 
     def SendIdleEvents(*args, **kwargs):
-        """SendIdleEvents(Window win, IdleEvent event) -> bool"""
-        return _core.PyApp_SendIdleEvents(*args, **kwargs)
+        """SendIdleEvents(Window win, IdleEvent event) -> bool
 
-    def OnIdle(*args, **kwargs):
-        """OnIdle(IdleEvent event)"""
-        return _core.PyApp_OnIdle(*args, **kwargs)
+Send idle event to window and all subwindows.  Returns True if more idle time
+is requested."""
+        return _core.PyApp_SendIdleEvents(*args, **kwargs)
 
     def IsActive(*args, **kwargs):
-        """IsActive() -> bool"""
+        """IsActive() -> bool
+
+Return True if our app has focus."""
         return _core.PyApp_IsActive(*args, **kwargs)
 
     def SetTopWindow(*args, **kwargs):
-        """SetTopWindow(Window win)"""
+        """SetTopWindow(Window win)
+
+Set the "main" top level window"""
         return _core.PyApp_SetTopWindow(*args, **kwargs)
 
     def GetTopWindow(*args, **kwargs):
-        """GetTopWindow() -> Window"""
+        """GetTopWindow() -> Window
+
+Return the "main" top level window (if it hadn't been set previously with
+SetTopWindow(), will return just some top level window and, if there not any,
+will return None)"""
         return _core.PyApp_GetTopWindow(*args, **kwargs)
 
     def SetExitOnFrameDelete(*args, **kwargs):
-        """SetExitOnFrameDelete(bool flag)"""
+        """SetExitOnFrameDelete(bool flag)
+
+Control the exit behaviour: by default, the program will exit the main loop
+(and so, usually, terminate) when the last top-level program window is
+deleted.  Beware that if you disable this behaviour (with
+SetExitOnFrameDelete(False)), you'll have to call ExitMainLoop() explicitly
+from somewhere.
+"""
         return _core.PyApp_SetExitOnFrameDelete(*args, **kwargs)
 
     def GetExitOnFrameDelete(*args, **kwargs):
-        """GetExitOnFrameDelete() -> bool"""
+        """GetExitOnFrameDelete() -> bool
+
+Get the current exit behaviour setting."""
         return _core.PyApp_GetExitOnFrameDelete(*args, **kwargs)
 
     def SetUseBestVisual(*args, **kwargs):
-        """SetUseBestVisual(bool flag)"""
+        """SetUseBestVisual(bool flag)
+
+Set whether the app should try to use the best available visual on systems
+where more than one is available, (Sun, SGI, XFree86 4, etc.)"""
         return _core.PyApp_SetUseBestVisual(*args, **kwargs)
 
     def GetUseBestVisual(*args, **kwargs):
-        """GetUseBestVisual() -> bool"""
+        """GetUseBestVisual() -> bool
+
+Get current UseBestVisual setting."""
         return _core.PyApp_GetUseBestVisual(*args, **kwargs)
 
     def SetPrintMode(*args, **kwargs):
@@ -4505,14 +4577,25 @@ Returns the class name of the C++ object using wxRTTI."""
         """GetPrintMode() -> int"""
         return _core.PyApp_GetPrintMode(*args, **kwargs)
 
-    def GetAssertMode(*args, **kwargs):
-        """GetAssertMode() -> int"""
-        return _core.PyApp_GetAssertMode(*args, **kwargs)
-
     def SetAssertMode(*args, **kwargs):
-        """SetAssertMode(int mode)"""
+        """SetAssertMode(int mode)
+
+Set the OnAssert behaviour for debug and hybrid builds.  The following flags
+may be or'd together:
+
+ wxPYAPP_ASSERT_SUPPRESS         Don't do anything
+ wxPYAPP_ASSERT_EXCEPTION        Turn it into a Python exception if possible (default)
+ wxPYAPP_ASSERT_DIALOG           Display a message dialog
+ wxPYAPP_ASSERT_LOG              Write the assertion info to the wxLog
+"""
         return _core.PyApp_SetAssertMode(*args, **kwargs)
 
+    def GetAssertMode(*args, **kwargs):
+        """GetAssertMode() -> int
+
+Get the current OnAssert behaviour setting."""
+        return _core.PyApp_GetAssertMode(*args, **kwargs)
+
     def GetMacSupportPCMenuShortcuts(*args, **kwargs):
         """PyApp.GetMacSupportPCMenuShortcuts() -> bool"""
         return _core.PyApp_GetMacSupportPCMenuShortcuts(*args, **kwargs)
@@ -4564,11 +4647,16 @@ Returns the class name of the C++ object using wxRTTI."""
 
     SetMacHelpMenuTitleName = staticmethod(SetMacHelpMenuTitleName)
     def _BootstrapApp(*args, **kwargs):
-        """_BootstrapApp()"""
+        """_BootstrapApp()
+
+For internal use only"""
         return _core.PyApp__BootstrapApp(*args, **kwargs)
 
     def GetComCtl32Version(*args, **kwargs):
-        """PyApp.GetComCtl32Version() -> int"""
+        """PyApp.GetComCtl32Version() -> int
+
+Returns 400, 470, 471 for comctl32.dll 4.00, 4.70, 4.71 or 0 if it
+wasn't found at all.  Raises an exception on non-Windows platforms."""
         return _core.PyApp_GetComCtl32Version(*args, **kwargs)
 
     GetComCtl32Version = staticmethod(GetComCtl32Version)
@@ -4621,91 +4709,135 @@ def PyApp_SetMacHelpMenuTitleName(*args, **kwargs):
     return _core.PyApp_SetMacHelpMenuTitleName(*args, **kwargs)
 
 def PyApp_GetComCtl32Version(*args, **kwargs):
-    """PyApp_GetComCtl32Version() -> int"""
+    """PyApp_GetComCtl32Version() -> int
+
+Returns 400, 470, 471 for comctl32.dll 4.00, 4.70, 4.71 or 0 if it
+wasn't found at all.  Raises an exception on non-Windows platforms."""
     return _core.PyApp_GetComCtl32Version(*args, **kwargs)
 
 #---------------------------------------------------------------------------
 
 
 def Exit(*args, **kwargs):
-    """Exit()"""
+    """Exit()
+
+Force an exit of the application.  Convenience for wx.GetApp().Exit()"""
     return _core.Exit(*args, **kwargs)
 
 def Yield(*args, **kwargs):
-    """Yield() -> bool"""
+    """Yield() -> bool
+
+Yield to other apps/messages.  Convenience for wx.GetApp().Yield()"""
     return _core.Yield(*args, **kwargs)
 
 def YieldIfNeeded(*args, **kwargs):
-    """YieldIfNeeded() -> bool"""
+    """YieldIfNeeded() -> bool
+
+Yield to other apps/messages.  Convenience for wx.GetApp().Yield(True)"""
     return _core.YieldIfNeeded(*args, **kwargs)
 
 def SafeYield(*args, **kwargs):
-    """SafeYield(Window win=None, bool onlyIfNeeded=False) -> bool"""
+    """SafeYield(Window win=None, bool onlyIfNeeded=False) -> bool
+
+This function is similar to wx.Yield, except that it disables the user input
+to all program windows before calling wx.Yield and re-enables it again
+afterwards. If win is not None, this window will remain enabled, allowing the
+implementation of some limited user interaction.
+
+Returns the result of the call to wx.Yield."""
     return _core.SafeYield(*args, **kwargs)
 
 def WakeUpIdle(*args, **kwargs):
-    """WakeUpIdle()"""
+    """WakeUpIdle()
+
+Cause the message queue to become empty again, so idle events will be sent."""
     return _core.WakeUpIdle(*args, **kwargs)
 
 def PostEvent(*args, **kwargs):
-    """PostEvent(EvtHandler dest, Event event)"""
+    """PostEvent(EvtHandler dest, Event event)
+
+Send an event to a window or other wx.EvtHandler to be processed later."""
     return _core.PostEvent(*args, **kwargs)
 
 def App_CleanUp(*args, **kwargs):
-    """App_CleanUp()"""
+    """App_CleanUp()
+
+For internal use only, it is used to cleanup after wxWindows when Python shuts down."""
     return _core.App_CleanUp(*args, **kwargs)
 
 def GetApp(*args, **kwargs):
-    """GetApp() -> PyApp"""
+    """GetApp() -> PyApp
+
+Return a reference to the current wxApp object."""
     return _core.GetApp(*args, **kwargs)
 #----------------------------------------------------------------------
 
 class PyOnDemandOutputWindow:
+    """
+    A class that can be used for redirecting Python's stdout and
+    stderr streams.  It will do nothing until something is wrriten to
+    the stream at which point it will create a Frame with a text area
+    and write the text there.
+    """
     def __init__(self, title = "wxPython: stdout/stderr"):
         self.frame  = None
         self.title  = title
         self.parent = None
 
     def SetParent(self, parent):
+        """Set the window to be used as the popup Frame's parent."""
         self.parent = parent
 
-    def OnCloseWindow(self, event):
-        if self.frame != None:
-            self.frame.Destroy()
-        self.frame = None
-        self.text  = None
+
+    def CreateOutputWindow(self, st):
+        self.frame = wx.Frame(self.parent, -1, self.title,
+                              style=wx.DEFAULT_FRAME_STYLE | wx.NO_FULL_REPAINT_ON_RESIZE)
+        self.text  = wxTextCtrl(self.frame, -1, "",
+                                style = wx.TE_MULTILINE | wx.TE_READONLY)
+        self.frame.SetSize((450, 300))
+        self.frame.Show(True)
+        EVT_CLOSE(self.frame, self.OnCloseWindow)
+        
 
     # These methods provide the file-like output behaviour.
-    def write(self, str):
-        if not wx.Thread_IsMain():
-            # Aquire the GUI mutex before making GUI calls.  Mutex is released
-            # when locker is deleted at the end of this function.
-            locker = wx.MutexGuiLocker()
-
-        if not self.frame:
-            self.frame = wx.Frame(self.parent, -1, self.title,
-                                 style=wx.DEFAULT_FRAME_STYLE | wx.NO_FULL_REPAINT_ON_RESIZE)
-            self.text  = wxTextCtrl(self.frame, -1, "",
-                                    style = wx.TE_MULTILINE | wx.TE_READONLY)
-            self.frame.SetSize((450, 300))
-            self.frame.Show(True)
-            EVT_CLOSE(self.frame, self.OnCloseWindow)
-        self.text.AppendText(str)
+    def write(self, text):
+        """
+        Create the output window if needed and write the string to it.
+        If not called in the context of the gui thread then uses
+        CallAfter to do the work there.
+        """        
+        if self.frame is None:
+            if not wx.Thread_IsMain():
+                wx.CallAfter(self.CreateOutputWindow, text)
+            else:
+                self.CreateOutputWindow(text)
+        else:
+            if not wx.Thread_IsMain():
+                wx.CallAfter(self.text.AppendText, text)
+            else:
+                self.text.AppendText(text)
+
 
     def close(self):
-        if self.frame != None:
-            if not wx.Thread_IsMain():
-                locker = wx.MutexGuiLocker()
-            self.frame.Close()
+        if self.frame is not None:
+            wx.CallAfter(self.frame.Close)
+
 
+    def OnCloseWindow(self, event):
+        if self.frame is not None:
+            self.frame.Destroy()
+        self.frame = None
+        self.text  = None
 
 #----------------------------------------------------------------------
-# The main application class.  Derive from this and implement an OnInit
-# method that creates a frame and then calls self.SetTopWindow(frame)
 
 _defRedirect = (wx.Platform == '__WXMSW__' or wx.Platform == '__WXMAC__')
 
 class App(wx.PyApp):
+    """
+    The main application class.  Derive from this and implement an OnInit
+    method that creates a frame and then calls self.SetTopWindow(frame)
+    """
     outputWindowClass = PyOnDemandOutputWindow
 
     def __init__(self, redirect=_defRedirect, filename=None, useBestVisual=False):
@@ -4796,13 +4928,20 @@ App_GetComCtl32Version           = _core.PyApp_GetComCtl32Version
 #----------------------------------------------------------------------------
 
 class PySimpleApp(wx.App):
-    def __init__(self, redirect=False, filename=None):
-        wx.App.__init__(self, redirect, filename)
+    """
+    A simple application class.  You can just create one of these and
+    then then make your top level windows later, and not have to worry
+    about OnInit."""
+
+    def __init__(self, redirect=False, filename=None, useBestVisual=False):
+        wx.App.__init__(self, redirect, filename, useBestVisual)
+        
     def OnInit(self):
         wx.InitAllImageHandlers()
         return True
 
 
+# Is anybody using this one?
 class PyWidgetTester(wx.App):
     def __init__(self, size = (250, 100)):
         self.size = size
@@ -5589,13 +5728,13 @@ Get the width, height, decent and leading of the text using the current or speci
         return _core.Window_GetToolTip(*args, **kwargs)
 
     def SetDropTarget(*args, **kwargs):
-        """SetDropTarget(wxDropTarget dropTarget)"""
+        """SetDropTarget(wxPyDropTarget dropTarget)"""
         val = _core.Window_SetDropTarget(*args, **kwargs)
         args[1].thisown = 0
         return val
 
     def GetDropTarget(*args, **kwargs):
-        """GetDropTarget() -> wxDropTarget"""
+        """GetDropTarget() -> wxPyDropTarget"""
         return _core.Window_GetDropTarget(*args, **kwargs)
 
     def SetConstraints(*args, **kwargs):
@@ -7455,7 +7594,7 @@ class LayoutConstraints(Object):
         self.thisown = 1
         del newobj.thisown
     def SatisfyConstraints(*args, **kwargs):
-        """SatisfyConstraints(Window win, int OUTPUT) -> bool"""
+        """SatisfyConstraints(Window win) -> (areSatisfied, noChanges)"""
         return _core.LayoutConstraints_SatisfyConstraints(*args, **kwargs)
 
     def AreSatisfied(*args, **kwargs):
@@ -7472,16 +7611,13 @@ _core.LayoutConstraints_swigregister(LayoutConstraintsPtr)
 
 #----------------------------------------------------------------------------
 
-# Use Python's bool constants if available, make aliases if not
+# Use Python's bool constants if available, make some if not
 try:
     True
 except NameError:
-    True = 1==1
-    False = 1==0
+    __builtins__.True = 1==1
+    __builtins__.False = 1==0
 
-# Backwards compaatibility
-TRUE  = true  = True
-FALSE = false = False
 
 
 # workarounds for bad wxRTTI names
index 5799c049c5b15b2d10952aae64fe3779e2ba2193..6aee253f778c033f0c4bdbe100822bc8e4311628 100644 (file)
@@ -321,7 +321,7 @@ SWIGEXPORT(void)              SWIG_Python_InstallConstants(PyObject *d, swig_con
 #define  SWIGTYPE_p_wxPyApp swig_types[103] 
 #define  SWIGTYPE_p_wxCommandEvent swig_types[104] 
 #define  SWIGTYPE_p_wxPyCommandEvent swig_types[105] 
-#define  SWIGTYPE_p_wxDropTarget swig_types[106] 
+#define  SWIGTYPE_p_wxPyDropTarget swig_types[106] 
 #define  SWIGTYPE_p_wxChildFocusEvent swig_types[107] 
 #define  SWIGTYPE_p_wxFocusEvent swig_types[108] 
 #define  SWIGTYPE_p_wxDropFilesEvent swig_types[109] 
@@ -17740,36 +17740,6 @@ static PyObject *_wrap_PyApp_SendIdleEvents(PyObject *self, PyObject *args, PyOb
 }
 
 
-static PyObject *_wrap_PyApp_OnIdle(PyObject *self, PyObject *args, PyObject *kwargs) {
-    PyObject *resultobj;
-    wxPyApp *arg1 = (wxPyApp *) 0 ;
-    wxIdleEvent *arg2 = 0 ;
-    PyObject * obj0 = 0 ;
-    PyObject * obj1 = 0 ;
-    char *kwnames[] = {
-        (char *) "self",(char *) "event", NULL 
-    };
-    
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyApp_OnIdle",kwnames,&obj0,&obj1)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyApp,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxIdleEvent,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if (arg2 == NULL) {
-        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
-    }
-    {
-        PyThreadState* __tstate = wxPyBeginAllowThreads();
-        (arg1)->OnIdle(*arg2);
-        
-        wxPyEndAllowThreads(__tstate);
-        if (PyErr_Occurred()) SWIG_fail;
-    }
-    Py_INCREF(Py_None); resultobj = Py_None;
-    return resultobj;
-    fail:
-    return NULL;
-}
-
-
 static PyObject *_wrap_PyApp_IsActive(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxPyApp *arg1 = (wxPyApp *) 0 ;
@@ -18005,50 +17975,50 @@ static PyObject *_wrap_PyApp_GetPrintMode(PyObject *self, PyObject *args, PyObje
 }
 
 
-static PyObject *_wrap_PyApp_GetAssertMode(PyObject *self, PyObject *args, PyObject *kwargs) {
+static PyObject *_wrap_PyApp_SetAssertMode(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxPyApp *arg1 = (wxPyApp *) 0 ;
-    int result;
+    int arg2 ;
     PyObject * obj0 = 0 ;
     char *kwnames[] = {
-        (char *) "self", NULL 
+        (char *) "self",(char *) "mode", NULL 
     };
     
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyApp_GetAssertMode",kwnames,&obj0)) goto fail;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:PyApp_SetAssertMode",kwnames,&obj0,&arg2)) goto fail;
     if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyApp,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
-        result = (int)(arg1)->GetAssertMode();
+        (arg1)->SetAssertMode(arg2);
         
         wxPyEndAllowThreads(__tstate);
         if (PyErr_Occurred()) SWIG_fail;
     }
-    resultobj = PyInt_FromLong((long)result);
+    Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_PyApp_SetAssertMode(PyObject *self, PyObject *args, PyObject *kwargs) {
+static PyObject *_wrap_PyApp_GetAssertMode(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxPyApp *arg1 = (wxPyApp *) 0 ;
-    int arg2 ;
+    int result;
     PyObject * obj0 = 0 ;
     char *kwnames[] = {
-        (char *) "self",(char *) "mode", NULL 
+        (char *) "self", NULL 
     };
     
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:PyApp_SetAssertMode",kwnames,&obj0,&arg2)) goto fail;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyApp_GetAssertMode",kwnames,&obj0)) goto fail;
     if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyApp,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
-        (arg1)->SetAssertMode(arg2);
+        result = (int)(arg1)->GetAssertMode();
         
         wxPyEndAllowThreads(__tstate);
         if (PyErr_Occurred()) SWIG_fail;
     }
-    Py_INCREF(Py_None); resultobj = Py_None;
+    resultobj = PyInt_FromLong((long)result);
     return resultobj;
     fail:
     return NULL;
@@ -23670,7 +23640,7 @@ static PyObject *_wrap_Window_GetToolTip(PyObject *self, PyObject *args, PyObjec
 static PyObject *_wrap_Window_SetDropTarget(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxWindow *arg1 = (wxWindow *) 0 ;
-    wxDropTarget *arg2 = (wxDropTarget *) 0 ;
+    wxPyDropTarget *arg2 = (wxPyDropTarget *) 0 ;
     PyObject * obj0 = 0 ;
     PyObject * obj1 = 0 ;
     char *kwnames[] = {
@@ -23679,7 +23649,7 @@ static PyObject *_wrap_Window_SetDropTarget(PyObject *self, PyObject *args, PyOb
     
     if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:Window_SetDropTarget",kwnames,&obj0,&obj1)) goto fail;
     if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxWindow,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDropTarget,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyDropTarget,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
         (arg1)->SetDropTarget(arg2);
@@ -23697,7 +23667,7 @@ static PyObject *_wrap_Window_SetDropTarget(PyObject *self, PyObject *args, PyOb
 static PyObject *_wrap_Window_GetDropTarget(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxWindow *arg1 = (wxWindow *) 0 ;
-    wxDropTarget *result;
+    wxPyDropTarget *result;
     PyObject * obj0 = 0 ;
     char *kwnames[] = {
         (char *) "self", NULL 
@@ -23707,12 +23677,12 @@ static PyObject *_wrap_Window_GetDropTarget(PyObject *self, PyObject *args, PyOb
     if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxWindow,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
-        result = (wxDropTarget *)((wxWindow const *)arg1)->GetDropTarget();
+        result = (wxPyDropTarget *)((wxWindow const *)arg1)->GetDropTarget();
         
         wxPyEndAllowThreads(__tstate);
         if (PyErr_Occurred()) SWIG_fail;
     }
-    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxDropTarget, 0);
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxPyDropTarget, 0);
     return resultobj;
     fail:
     return NULL;
@@ -35612,7 +35582,6 @@ static PyMethodDef SwigMethods[] = {
         { (char *)"PyApp_Dispatch", (PyCFunction) _wrap_PyApp_Dispatch, METH_VARARGS | METH_KEYWORDS },
         { (char *)"PyApp_ProcessIdle", (PyCFunction) _wrap_PyApp_ProcessIdle, METH_VARARGS | METH_KEYWORDS },
         { (char *)"PyApp_SendIdleEvents", (PyCFunction) _wrap_PyApp_SendIdleEvents, METH_VARARGS | METH_KEYWORDS },
-        { (char *)"PyApp_OnIdle", (PyCFunction) _wrap_PyApp_OnIdle, METH_VARARGS | METH_KEYWORDS },
         { (char *)"PyApp_IsActive", (PyCFunction) _wrap_PyApp_IsActive, METH_VARARGS | METH_KEYWORDS },
         { (char *)"PyApp_SetTopWindow", (PyCFunction) _wrap_PyApp_SetTopWindow, METH_VARARGS | METH_KEYWORDS },
         { (char *)"PyApp_GetTopWindow", (PyCFunction) _wrap_PyApp_GetTopWindow, METH_VARARGS | METH_KEYWORDS },
@@ -35622,8 +35591,8 @@ static PyMethodDef SwigMethods[] = {
         { (char *)"PyApp_GetUseBestVisual", (PyCFunction) _wrap_PyApp_GetUseBestVisual, METH_VARARGS | METH_KEYWORDS },
         { (char *)"PyApp_SetPrintMode", (PyCFunction) _wrap_PyApp_SetPrintMode, METH_VARARGS | METH_KEYWORDS },
         { (char *)"PyApp_GetPrintMode", (PyCFunction) _wrap_PyApp_GetPrintMode, METH_VARARGS | METH_KEYWORDS },
-        { (char *)"PyApp_GetAssertMode", (PyCFunction) _wrap_PyApp_GetAssertMode, METH_VARARGS | METH_KEYWORDS },
         { (char *)"PyApp_SetAssertMode", (PyCFunction) _wrap_PyApp_SetAssertMode, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyApp_GetAssertMode", (PyCFunction) _wrap_PyApp_GetAssertMode, METH_VARARGS | METH_KEYWORDS },
         { (char *)"PyApp_GetMacSupportPCMenuShortcuts", (PyCFunction) _wrap_PyApp_GetMacSupportPCMenuShortcuts, METH_VARARGS | METH_KEYWORDS },
         { (char *)"PyApp_GetMacAboutMenuItemId", (PyCFunction) _wrap_PyApp_GetMacAboutMenuItemId, METH_VARARGS | METH_KEYWORDS },
         { (char *)"PyApp_GetMacPreferencesMenuItemId", (PyCFunction) _wrap_PyApp_GetMacPreferencesMenuItemId, METH_VARARGS | METH_KEYWORDS },
@@ -36771,7 +36740,7 @@ static swig_type_info _swigt__p_wxMouseEvent[] = {{"_p_wxMouseEvent", 0, "wxMous
 static swig_type_info _swigt__p_wxPyApp[] = {{"_p_wxPyApp", 0, "wxPyApp *", 0},{"_p_wxPyApp"},{0}};
 static swig_type_info _swigt__p_wxCommandEvent[] = {{"_p_wxCommandEvent", 0, "wxCommandEvent *", 0},{"_p_wxChildFocusEvent", _p_wxChildFocusEventTo_p_wxCommandEvent},{"_p_wxScrollEvent", _p_wxScrollEventTo_p_wxCommandEvent},{"_p_wxWindowCreateEvent", _p_wxWindowCreateEventTo_p_wxCommandEvent},{"_p_wxUpdateUIEvent", _p_wxUpdateUIEventTo_p_wxCommandEvent},{"_p_wxWindowDestroyEvent", _p_wxWindowDestroyEventTo_p_wxCommandEvent},{"_p_wxContextMenuEvent", _p_wxContextMenuEventTo_p_wxCommandEvent},{"_p_wxCommandEvent"},{"_p_wxNotifyEvent", _p_wxNotifyEventTo_p_wxCommandEvent},{"_p_wxPyCommandEvent", _p_wxPyCommandEventTo_p_wxCommandEvent},{0}};
 static swig_type_info _swigt__p_wxPyCommandEvent[] = {{"_p_wxPyCommandEvent", 0, "wxPyCommandEvent *", 0},{"_p_wxPyCommandEvent"},{0}};
-static swig_type_info _swigt__p_wxDropTarget[] = {{"_p_wxDropTarget", 0, "wxDropTarget *", 0},{"_p_wxDropTarget"},{0}};
+static swig_type_info _swigt__p_wxPyDropTarget[] = {{"_p_wxPyDropTarget", 0, "wxPyDropTarget *", 0},{"_p_wxPyDropTarget"},{0}};
 static swig_type_info _swigt__p_wxChildFocusEvent[] = {{"_p_wxChildFocusEvent", 0, "wxChildFocusEvent *", 0},{"_p_wxChildFocusEvent"},{0}};
 static swig_type_info _swigt__p_wxFocusEvent[] = {{"_p_wxFocusEvent", 0, "wxFocusEvent *", 0},{"_p_wxFocusEvent"},{0}};
 static swig_type_info _swigt__p_wxDropFilesEvent[] = {{"_p_wxDropFilesEvent", 0, "wxDropFilesEvent *", 0},{"_p_wxDropFilesEvent"},{0}};
@@ -36887,7 +36856,7 @@ _swigt__p_wxMouseEvent,
 _swigt__p_wxPyApp, 
 _swigt__p_wxCommandEvent, 
 _swigt__p_wxPyCommandEvent, 
-_swigt__p_wxDropTarget, 
+_swigt__p_wxPyDropTarget, 
 _swigt__p_wxChildFocusEvent, 
 _swigt__p_wxFocusEvent, 
 _swigt__p_wxDropFilesEvent, 
index b0e8ffb3f1ef56df7d1ab3663bd38be3f9ab3c92..b78dcf4cf38285f593ff6e6a1051bde5adce0b14 100644 (file)
@@ -146,13 +146,14 @@ class Palette(GDIObject):
         return _gdi.Palette_GetPixel(*args, **kwargs)
 
     def GetRGB(*args, **kwargs):
-        """GetRGB(int pixel, byte OUTPUT, byte OUTPUT, byte OUTPUT) -> bool"""
+        """GetRGB(int pixel) -> (R,G,B)"""
         return _gdi.Palette_GetRGB(*args, **kwargs)
 
     def Ok(*args, **kwargs):
         """Ok() -> bool"""
         return _gdi.Palette_Ok(*args, **kwargs)
 
+    def __nonzero__(self): return self.Ok() 
 
 class PalettePtr(Palette):
     def __init__(self, this):
@@ -2231,7 +2232,7 @@ class DC(core.Object):
         return _gdi.DC_DestroyClippingRegion(*args, **kwargs)
 
     def GetClippingBox(*args, **kwargs):
-        """GetClippingBox(int OUTPUT, int OUTPUT, int OUTPUT, int OUTPUT)"""
+        """GetClippingBox() -> (x, y, width, height)"""
         return _gdi.DC_GetClippingBox(*args, **kwargs)
 
     def GetClippingRect(*args, **kwargs):
@@ -2247,35 +2248,52 @@ class DC(core.Object):
         return _gdi.DC_GetCharWidth(*args, **kwargs)
 
     def GetTextExtent(*args, **kwargs):
-        """GetTextExtent(wxString string, int OUTPUT, int OUTPUT)"""
+        """GetTextExtent(wxString string) -> (width, height)
+
+Get the width and height of the text using the current font.
+Only works for single line strings."""
         return _gdi.DC_GetTextExtent(*args, **kwargs)
 
     def GetFullTextExtent(*args, **kwargs):
-        """GetFullTextExtent(wxString string, int OUTPUT, int OUTPUT, int OUTPUT, 
-    int OUTPUT, Font font=None)"""
+        """GetFullTextExtent(wxString string, Font font=None) ->
+   (width, height, descent, externalLeading)
+
+Get the width, height, decent and leading of the text using the current or specified font.
+Only works for single line strings."""
         return _gdi.DC_GetFullTextExtent(*args, **kwargs)
 
     def GetMultiLineTextExtent(*args, **kwargs):
-        """GetMultiLineTextExtent(wxString text, int OUTPUT, int OUTPUT, int OUTPUT, 
-    Font font=None)"""
-        return _gdi.DC_GetMultiLineTextExtent(*args, **kwargs)
+        """GetMultiLineTextExtent(wxString string, Font font=None) ->
+   (width, height, descent, externalLeading)
 
-    def GetSizeTuple(*args, **kwargs):
-        """GetSizeTuple(int OUTPUT, int OUTPUT)"""
-        return _gdi.DC_GetSizeTuple(*args, **kwargs)
+Get the width, height, decent and leading of the text using the current or specified font.
+Works for single as well as multi-line strings."""
+        return _gdi.DC_GetMultiLineTextExtent(*args, **kwargs)
 
     def GetSize(*args, **kwargs):
-        """GetSize() -> Size"""
+        """GetSize() -> Size
+
+Get the DC size in device units."""
         return _gdi.DC_GetSize(*args, **kwargs)
 
-    def GetSizeMMWH(*args, **kwargs):
-        """GetSizeMMWH(int OUTPUT, int OUTPUT)"""
-        return _gdi.DC_GetSizeMMWH(*args, **kwargs)
+    def GetSizeTuple(*args, **kwargs):
+        """GetSizeTuple() -> (width, height)
+
+Get the DC size in device units."""
+        return _gdi.DC_GetSizeTuple(*args, **kwargs)
 
     def GetSizeMM(*args, **kwargs):
-        """GetSizeMM() -> Size"""
+        """GetSizeMM() -> Size
+
+Get the DC size in milimeters."""
         return _gdi.DC_GetSizeMM(*args, **kwargs)
 
+    def GetSizeMMTuple(*args, **kwargs):
+        """GetSizeMMTuple() -> (width, height)
+
+Get the DC size in milimeters."""
+        return _gdi.DC_GetSizeMMTuple(*args, **kwargs)
+
     def DeviceToLogicalX(*args, **kwargs):
         """DeviceToLogicalX(int x) -> int"""
         return _gdi.DC_DeviceToLogicalX(*args, **kwargs)
@@ -2373,7 +2391,7 @@ class DC(core.Object):
         return _gdi.DC_SetMapMode(*args, **kwargs)
 
     def GetUserScale(*args, **kwargs):
-        """GetUserScale(double OUTPUT, double OUTPUT)"""
+        """GetUserScale() -> (xScale, yScale)"""
         return _gdi.DC_GetUserScale(*args, **kwargs)
 
     def SetUserScale(*args, **kwargs):
@@ -2381,33 +2399,33 @@ class DC(core.Object):
         return _gdi.DC_SetUserScale(*args, **kwargs)
 
     def GetLogicalScale(*args, **kwargs):
-        """GetLogicalScale(double OUTPUT, double OUTPUT)"""
+        """GetLogicalScale() -> (xScale, yScale)"""
         return _gdi.DC_GetLogicalScale(*args, **kwargs)
 
     def SetLogicalScale(*args, **kwargs):
         """SetLogicalScale(double x, double y)"""
         return _gdi.DC_SetLogicalScale(*args, **kwargs)
 
-    def GetLogicalOriginTuple(*args, **kwargs):
-        """GetLogicalOriginTuple(int OUTPUT, int OUTPUT)"""
-        return _gdi.DC_GetLogicalOriginTuple(*args, **kwargs)
-
     def GetLogicalOrigin(*args, **kwargs):
         """GetLogicalOrigin() -> Point"""
         return _gdi.DC_GetLogicalOrigin(*args, **kwargs)
 
+    def GetLogicalOriginTuple(*args, **kwargs):
+        """GetLogicalOriginTuple() -> (x,y)"""
+        return _gdi.DC_GetLogicalOriginTuple(*args, **kwargs)
+
     def SetLogicalOrigin(*args, **kwargs):
         """SetLogicalOrigin(int x, int y)"""
         return _gdi.DC_SetLogicalOrigin(*args, **kwargs)
 
-    def GetDeviceOriginTuple(*args, **kwargs):
-        """GetDeviceOriginTuple(int OUTPUT, int OUTPUT)"""
-        return _gdi.DC_GetDeviceOriginTuple(*args, **kwargs)
-
     def GetDeviceOrigin(*args, **kwargs):
         """GetDeviceOrigin() -> Point"""
         return _gdi.DC_GetDeviceOrigin(*args, **kwargs)
 
+    def GetDeviceOriginTuple(*args, **kwargs):
+        """GetDeviceOriginTuple() -> (x,y)"""
+        return _gdi.DC_GetDeviceOriginTuple(*args, **kwargs)
+
     def SetDeviceOrigin(*args, **kwargs):
         """SetDeviceOrigin(int x, int y)"""
         return _gdi.DC_SetDeviceOrigin(*args, **kwargs)
@@ -2457,7 +2475,7 @@ class DC(core.Object):
         return _gdi.DC_MaxY(*args, **kwargs)
 
     def GetBoundingBox(*args, **kwargs):
-        """GetBoundingBox(int OUTPUT, int OUTPUT, int OUTPUT, int OUTPUT)"""
+        """GetBoundingBox() -> (x1,y1, x2,y2)"""
         return _gdi.DC_GetBoundingBox(*args, **kwargs)
 
     def __nonzero__(self): return self.Ok() 
@@ -2941,7 +2959,7 @@ class ImageList(core.Object):
         return _gdi.ImageList_RemoveAll(*args, **kwargs)
 
     def GetSize(*args, **kwargs):
-        """GetSize(int index, int OUTPUT, int OUTPUT)"""
+        """GetSize() -> (width,height)"""
         return _gdi.ImageList_GetSize(*args, **kwargs)
 
 
index e1737c255eb87b52fc22b87b9cfdd3e20e0dca13..76df93f138438d0918d124700b2b01a3331e8c5e 100644 (file)
@@ -11251,6 +11251,35 @@ static PyObject *_wrap_DC_GetMultiLineTextExtent(PyObject *self, PyObject *args,
 }
 
 
+static PyObject *_wrap_DC_GetSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxDC *arg1 = (wxDC *) 0 ;
+    wxSize result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:DC_GetSize",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (arg1)->GetSize();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        wxSize * resultptr;
+        resultptr = new wxSize((wxSize &) result);
+        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_wxSize, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
 static PyObject *_wrap_DC_GetSizeTuple(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxDC *arg1 = (wxDC *) 0 ;
@@ -11289,7 +11318,7 @@ static PyObject *_wrap_DC_GetSizeTuple(PyObject *self, PyObject *args, PyObject
 }
 
 
-static PyObject *_wrap_DC_GetSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+static PyObject *_wrap_DC_GetSizeMM(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxDC *arg1 = (wxDC *) 0 ;
     wxSize result;
@@ -11298,11 +11327,11 @@ static PyObject *_wrap_DC_GetSize(PyObject *self, PyObject *args, PyObject *kwar
         (char *) "self", NULL 
     };
     
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:DC_GetSize",kwnames,&obj0)) goto fail;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:DC_GetSizeMM",kwnames,&obj0)) goto fail;
     if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
-        result = (arg1)->GetSize();
+        result = ((wxDC const *)arg1)->GetSizeMM();
         
         wxPyEndAllowThreads(__tstate);
         if (PyErr_Occurred()) SWIG_fail;
@@ -11318,7 +11347,7 @@ static PyObject *_wrap_DC_GetSize(PyObject *self, PyObject *args, PyObject *kwar
 }
 
 
-static PyObject *_wrap_DC_GetSizeMMWH(PyObject *self, PyObject *args, PyObject *kwargs) {
+static PyObject *_wrap_DC_GetSizeMMTuple(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxDC *arg1 = (wxDC *) 0 ;
     int *arg2 = (int *) 0 ;
@@ -11332,7 +11361,7 @@ static PyObject *_wrap_DC_GetSizeMMWH(PyObject *self, PyObject *args, PyObject *
     
     arg2 = &temp2;
     arg3 = &temp3;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:DC_GetSizeMMWH",kwnames,&obj0)) goto fail;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:DC_GetSizeMMTuple",kwnames,&obj0)) goto fail;
     if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
@@ -11356,35 +11385,6 @@ static PyObject *_wrap_DC_GetSizeMMWH(PyObject *self, PyObject *args, PyObject *
 }
 
 
-static PyObject *_wrap_DC_GetSizeMM(PyObject *self, PyObject *args, PyObject *kwargs) {
-    PyObject *resultobj;
-    wxDC *arg1 = (wxDC *) 0 ;
-    wxSize result;
-    PyObject * obj0 = 0 ;
-    char *kwnames[] = {
-        (char *) "self", NULL 
-    };
-    
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:DC_GetSizeMM",kwnames,&obj0)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    {
-        PyThreadState* __tstate = wxPyBeginAllowThreads();
-        result = ((wxDC const *)arg1)->GetSizeMM();
-        
-        wxPyEndAllowThreads(__tstate);
-        if (PyErr_Occurred()) SWIG_fail;
-    }
-    {
-        wxSize * resultptr;
-        resultptr = new wxSize((wxSize &) result);
-        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_wxSize, 1);
-    }
-    return resultobj;
-    fail:
-    return NULL;
-}
-
-
 static PyObject *_wrap_DC_DeviceToLogicalX(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxDC *arg1 = (wxDC *) 0 ;
@@ -12155,37 +12155,28 @@ static PyObject *_wrap_DC_SetLogicalScale(PyObject *self, PyObject *args, PyObje
 }
 
 
-static PyObject *_wrap_DC_GetLogicalOriginTuple(PyObject *self, PyObject *args, PyObject *kwargs) {
+static PyObject *_wrap_DC_GetLogicalOrigin(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxDC *arg1 = (wxDC *) 0 ;
-    int *arg2 = (int *) 0 ;
-    int *arg3 = (int *) 0 ;
-    int temp2 ;
-    int temp3 ;
+    wxPoint result;
     PyObject * obj0 = 0 ;
     char *kwnames[] = {
         (char *) "self", NULL 
     };
     
-    arg2 = &temp2;
-    arg3 = &temp3;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:DC_GetLogicalOriginTuple",kwnames,&obj0)) goto fail;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:DC_GetLogicalOrigin",kwnames,&obj0)) goto fail;
     if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
-        ((wxDC const *)arg1)->GetLogicalOrigin(arg2,arg3);
+        result = ((wxDC const *)arg1)->GetLogicalOrigin();
         
         wxPyEndAllowThreads(__tstate);
         if (PyErr_Occurred()) SWIG_fail;
     }
-    Py_INCREF(Py_None); resultobj = Py_None;
-    {
-        PyObject *o = PyInt_FromLong((long) (*arg2));
-        resultobj = t_output_helper(resultobj,o);
-    }
     {
-        PyObject *o = PyInt_FromLong((long) (*arg3));
-        resultobj = t_output_helper(resultobj,o);
+        wxPoint * resultptr;
+        resultptr = new wxPoint((wxPoint &) result);
+        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_wxPoint, 1);
     }
     return resultobj;
     fail:
@@ -12193,28 +12184,37 @@ static PyObject *_wrap_DC_GetLogicalOriginTuple(PyObject *self, PyObject *args,
 }
 
 
-static PyObject *_wrap_DC_GetLogicalOrigin(PyObject *self, PyObject *args, PyObject *kwargs) {
+static PyObject *_wrap_DC_GetLogicalOriginTuple(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxDC *arg1 = (wxDC *) 0 ;
-    wxPoint result;
+    int *arg2 = (int *) 0 ;
+    int *arg3 = (int *) 0 ;
+    int temp2 ;
+    int temp3 ;
     PyObject * obj0 = 0 ;
     char *kwnames[] = {
         (char *) "self", NULL 
     };
     
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:DC_GetLogicalOrigin",kwnames,&obj0)) goto fail;
+    arg2 = &temp2;
+    arg3 = &temp3;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:DC_GetLogicalOriginTuple",kwnames,&obj0)) goto fail;
     if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
-        result = ((wxDC const *)arg1)->GetLogicalOrigin();
+        ((wxDC const *)arg1)->GetLogicalOrigin(arg2,arg3);
         
         wxPyEndAllowThreads(__tstate);
         if (PyErr_Occurred()) SWIG_fail;
     }
+    Py_INCREF(Py_None); resultobj = Py_None;
     {
-        wxPoint * resultptr;
-        resultptr = new wxPoint((wxPoint &) result);
-        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_wxPoint, 1);
+        PyObject *o = PyInt_FromLong((long) (*arg2));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    {
+        PyObject *o = PyInt_FromLong((long) (*arg3));
+        resultobj = t_output_helper(resultobj,o);
     }
     return resultobj;
     fail:
@@ -12248,37 +12248,28 @@ static PyObject *_wrap_DC_SetLogicalOrigin(PyObject *self, PyObject *args, PyObj
 }
 
 
-static PyObject *_wrap_DC_GetDeviceOriginTuple(PyObject *self, PyObject *args, PyObject *kwargs) {
+static PyObject *_wrap_DC_GetDeviceOrigin(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxDC *arg1 = (wxDC *) 0 ;
-    int *arg2 = (int *) 0 ;
-    int *arg3 = (int *) 0 ;
-    int temp2 ;
-    int temp3 ;
+    wxPoint result;
     PyObject * obj0 = 0 ;
     char *kwnames[] = {
         (char *) "self", NULL 
     };
     
-    arg2 = &temp2;
-    arg3 = &temp3;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:DC_GetDeviceOriginTuple",kwnames,&obj0)) goto fail;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:DC_GetDeviceOrigin",kwnames,&obj0)) goto fail;
     if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
-        ((wxDC const *)arg1)->GetDeviceOrigin(arg2,arg3);
+        result = ((wxDC const *)arg1)->GetDeviceOrigin();
         
         wxPyEndAllowThreads(__tstate);
         if (PyErr_Occurred()) SWIG_fail;
     }
-    Py_INCREF(Py_None); resultobj = Py_None;
-    {
-        PyObject *o = PyInt_FromLong((long) (*arg2));
-        resultobj = t_output_helper(resultobj,o);
-    }
     {
-        PyObject *o = PyInt_FromLong((long) (*arg3));
-        resultobj = t_output_helper(resultobj,o);
+        wxPoint * resultptr;
+        resultptr = new wxPoint((wxPoint &) result);
+        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_wxPoint, 1);
     }
     return resultobj;
     fail:
@@ -12286,28 +12277,37 @@ static PyObject *_wrap_DC_GetDeviceOriginTuple(PyObject *self, PyObject *args, P
 }
 
 
-static PyObject *_wrap_DC_GetDeviceOrigin(PyObject *self, PyObject *args, PyObject *kwargs) {
+static PyObject *_wrap_DC_GetDeviceOriginTuple(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxDC *arg1 = (wxDC *) 0 ;
-    wxPoint result;
+    int *arg2 = (int *) 0 ;
+    int *arg3 = (int *) 0 ;
+    int temp2 ;
+    int temp3 ;
     PyObject * obj0 = 0 ;
     char *kwnames[] = {
         (char *) "self", NULL 
     };
     
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:DC_GetDeviceOrigin",kwnames,&obj0)) goto fail;
+    arg2 = &temp2;
+    arg3 = &temp3;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:DC_GetDeviceOriginTuple",kwnames,&obj0)) goto fail;
     if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
-        result = ((wxDC const *)arg1)->GetDeviceOrigin();
+        ((wxDC const *)arg1)->GetDeviceOrigin(arg2,arg3);
         
         wxPyEndAllowThreads(__tstate);
         if (PyErr_Occurred()) SWIG_fail;
     }
+    Py_INCREF(Py_None); resultobj = Py_None;
     {
-        wxPoint * resultptr;
-        resultptr = new wxPoint((wxPoint &) result);
-        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_wxPoint, 1);
+        PyObject *o = PyInt_FromLong((long) (*arg2));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    {
+        PyObject *o = PyInt_FromLong((long) (*arg3));
+        resultobj = t_output_helper(resultobj,o);
     }
     return resultobj;
     fail:
@@ -16089,10 +16089,10 @@ static PyMethodDef SwigMethods[] = {
         { (char *)"DC_GetTextExtent", (PyCFunction) _wrap_DC_GetTextExtent, METH_VARARGS | METH_KEYWORDS },
         { (char *)"DC_GetFullTextExtent", (PyCFunction) _wrap_DC_GetFullTextExtent, METH_VARARGS | METH_KEYWORDS },
         { (char *)"DC_GetMultiLineTextExtent", (PyCFunction) _wrap_DC_GetMultiLineTextExtent, METH_VARARGS | METH_KEYWORDS },
-        { (char *)"DC_GetSizeTuple", (PyCFunction) _wrap_DC_GetSizeTuple, METH_VARARGS | METH_KEYWORDS },
         { (char *)"DC_GetSize", (PyCFunction) _wrap_DC_GetSize, METH_VARARGS | METH_KEYWORDS },
-        { (char *)"DC_GetSizeMMWH", (PyCFunction) _wrap_DC_GetSizeMMWH, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"DC_GetSizeTuple", (PyCFunction) _wrap_DC_GetSizeTuple, METH_VARARGS | METH_KEYWORDS },
         { (char *)"DC_GetSizeMM", (PyCFunction) _wrap_DC_GetSizeMM, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"DC_GetSizeMMTuple", (PyCFunction) _wrap_DC_GetSizeMMTuple, METH_VARARGS | METH_KEYWORDS },
         { (char *)"DC_DeviceToLogicalX", (PyCFunction) _wrap_DC_DeviceToLogicalX, METH_VARARGS | METH_KEYWORDS },
         { (char *)"DC_DeviceToLogicalY", (PyCFunction) _wrap_DC_DeviceToLogicalY, METH_VARARGS | METH_KEYWORDS },
         { (char *)"DC_DeviceToLogicalXRel", (PyCFunction) _wrap_DC_DeviceToLogicalXRel, METH_VARARGS | METH_KEYWORDS },
@@ -16121,11 +16121,11 @@ static PyMethodDef SwigMethods[] = {
         { (char *)"DC_SetUserScale", (PyCFunction) _wrap_DC_SetUserScale, METH_VARARGS | METH_KEYWORDS },
         { (char *)"DC_GetLogicalScale", (PyCFunction) _wrap_DC_GetLogicalScale, METH_VARARGS | METH_KEYWORDS },
         { (char *)"DC_SetLogicalScale", (PyCFunction) _wrap_DC_SetLogicalScale, METH_VARARGS | METH_KEYWORDS },
-        { (char *)"DC_GetLogicalOriginTuple", (PyCFunction) _wrap_DC_GetLogicalOriginTuple, METH_VARARGS | METH_KEYWORDS },
         { (char *)"DC_GetLogicalOrigin", (PyCFunction) _wrap_DC_GetLogicalOrigin, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"DC_GetLogicalOriginTuple", (PyCFunction) _wrap_DC_GetLogicalOriginTuple, METH_VARARGS | METH_KEYWORDS },
         { (char *)"DC_SetLogicalOrigin", (PyCFunction) _wrap_DC_SetLogicalOrigin, METH_VARARGS | METH_KEYWORDS },
-        { (char *)"DC_GetDeviceOriginTuple", (PyCFunction) _wrap_DC_GetDeviceOriginTuple, METH_VARARGS | METH_KEYWORDS },
         { (char *)"DC_GetDeviceOrigin", (PyCFunction) _wrap_DC_GetDeviceOrigin, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"DC_GetDeviceOriginTuple", (PyCFunction) _wrap_DC_GetDeviceOriginTuple, METH_VARARGS | METH_KEYWORDS },
         { (char *)"DC_SetDeviceOrigin", (PyCFunction) _wrap_DC_SetDeviceOrigin, METH_VARARGS | METH_KEYWORDS },
         { (char *)"DC_SetAxisOrientation", (PyCFunction) _wrap_DC_SetAxisOrientation, METH_VARARGS | METH_KEYWORDS },
         { (char *)"DC_GetLogicalFunction", (PyCFunction) _wrap_DC_GetLogicalFunction, METH_VARARGS | METH_KEYWORDS },
@@ -17164,5 +17164,9 @@ SWIGEXPORT(void) SWIG_init(void) {
     SWIG_addvarlink(SWIG_globals,(char*)"ThePenList",_wrap_ThePenList_get, _wrap_ThePenList_set);
     SWIG_addvarlink(SWIG_globals,(char*)"TheBrushList",_wrap_TheBrushList_get, _wrap_TheBrushList_set);
     SWIG_addvarlink(SWIG_globals,(char*)"TheColourDatabase",_wrap_TheColourDatabase_get, _wrap_TheColourDatabase_set);
+    
+    // Work around a chicken/egg problem in drawlist.cpp
+    wxPyDrawList_SetAPIPtr();
+    
 }
 
index 87fe1a39d640f4b8d3ac1919319d50670328b2e0..0cc50a9b02b041599f894c1a305635d793ad1a6a 100644 (file)
@@ -506,7 +506,7 @@ class GridCellChoiceEditor(GridCellEditor):
     def __repr__(self):
         return "<%s.%s; proxy of C++ wxGridCellChoiceEditor instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     def __init__(self, *args, **kwargs):
-        """__init__(int LCOUNT=0, wxString choices=None, bool allowOthers=False) -> GridCellChoiceEditor"""
+        """__init__(int choices=0, wxString choices_array=None, bool allowOthers=False) -> GridCellChoiceEditor"""
         newobj = _grid.new_GridCellChoiceEditor(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
@@ -696,11 +696,11 @@ class GridCellAttr(object):
         return _grid.GridCellAttr_GetFont(*args, **kwargs)
 
     def GetAlignment(*args, **kwargs):
-        """GetAlignment(int OUTPUT, int OUTPUT)"""
+        """GetAlignment() -> (hAlign, vAlign)"""
         return _grid.GridCellAttr_GetAlignment(*args, **kwargs)
 
     def GetSize(*args, **kwargs):
-        """GetSize(int OUTPUT, int OUTPUT)"""
+        """GetSize() -> (num_rows, num_cols)"""
         return _grid.GridCellAttr_GetSize(*args, **kwargs)
 
     def GetOverflow(*args, **kwargs):
@@ -1314,7 +1314,7 @@ class Grid(windows.ScrolledWindow):
         return _grid.Grid_DrawTextRectangle(*args, **kwargs)
 
     def GetTextBoxSize(*args, **kwargs):
-        """GetTextBoxSize(wxDC dc, wxArrayString lines, long OUTPUT, long OUTPUT)"""
+        """GetTextBoxSize(DC dc, list lines) -> (width, height)"""
         return _grid.Grid_GetTextBoxSize(*args, **kwargs)
 
     def BeginBatch(*args, **kwargs):
@@ -1494,11 +1494,11 @@ class Grid(windows.ScrolledWindow):
         return _grid.Grid_GetLabelFont(*args, **kwargs)
 
     def GetRowLabelAlignment(*args, **kwargs):
-        """GetRowLabelAlignment(int OUTPUT, int OUTPUT)"""
+        """GetRowLabelAlignment() -> (horiz, vert)"""
         return _grid.Grid_GetRowLabelAlignment(*args, **kwargs)
 
     def GetColLabelAlignment(*args, **kwargs):
-        """GetColLabelAlignment(int OUTPUT, int OUTPUT)"""
+        """GetColLabelAlignment() -> (horiz, vert)"""
         return _grid.Grid_GetColLabelAlignment(*args, **kwargs)
 
     def GetColLabelTextOrientation(*args, **kwargs):
@@ -1698,11 +1698,11 @@ class Grid(windows.ScrolledWindow):
         return _grid.Grid_GetCellFont(*args, **kwargs)
 
     def GetDefaultCellAlignment(*args, **kwargs):
-        """GetDefaultCellAlignment(int OUTPUT, int OUTPUT)"""
+        """GetDefaultCellAlignment() -> (horiz, vert)"""
         return _grid.Grid_GetDefaultCellAlignment(*args, **kwargs)
 
     def GetCellAlignment(*args, **kwargs):
-        """GetCellAlignment(int row, int col, int OUTPUT, int OUTPUT)"""
+        """GetCellAlignment() -> (horiz, vert)"""
         return _grid.Grid_GetCellAlignment(*args, **kwargs)
 
     def GetDefaultCellOverflow(*args, **kwargs):
@@ -1714,7 +1714,7 @@ class Grid(windows.ScrolledWindow):
         return _grid.Grid_GetCellOverflow(*args, **kwargs)
 
     def GetCellSize(*args, **kwargs):
-        """GetCellSize(int row, int col, int OUTPUT, int OUTPUT)"""
+        """GetCellSize(int row, int col) -> (num_rows, num_cols)"""
         return _grid.Grid_GetCellSize(*args, **kwargs)
 
     def SetDefaultRowSize(*args, **kwargs):
index 236c7b4639d79b15b19a2c445696afb091a6b86f..12fc52dd9eac5c06875530b81e8fad4d1a166a81 100644 (file)
@@ -3151,18 +3151,22 @@ static PyObject *_wrap_new_GridCellChoiceEditor(PyObject *self, PyObject *args,
     wxString *arg2 = (wxString *) NULL ;
     bool arg3 = (bool) False ;
     wxGridCellChoiceEditor *result;
+    PyObject * obj0 = 0 ;
     PyObject * obj1 = 0 ;
-    PyObject * obj2 = 0 ;
     char *kwnames[] = {
-        (char *) "LCOUNT",(char *) "choices",(char *) "allowOthers", NULL 
+        (char *) "choices",(char *) "allowOthers", NULL 
     };
     
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"|iOO:new_GridCellChoiceEditor",kwnames,&arg1,&obj1,&obj2)) goto fail;
-    if (obj1) {
-        if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxString,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"|OO:new_GridCellChoiceEditor",kwnames,&obj0,&obj1)) goto fail;
+    if (obj0) {
+        {
+            arg1 = PyList_Size(obj0);
+            arg2 = wxString_LIST_helper(obj0);
+            if (arg2 == NULL) SWIG_fail;
+        }
     }
-    if (obj2) {
-        arg3 = PyInt_AsLong(obj2) ? true : false;
+    if (obj1) {
+        arg3 = PyInt_AsLong(obj1) ? true : false;
         if (PyErr_Occurred()) SWIG_fail;
     }
     {
@@ -3173,8 +3177,14 @@ static PyObject *_wrap_new_GridCellChoiceEditor(PyObject *self, PyObject *args,
         if (PyErr_Occurred()) SWIG_fail;
     }
     resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxGridCellChoiceEditor, 1);
+    {
+        if (arg2) delete [] arg2;
+    }
     return resultobj;
     fail:
+    {
+        if (arg2) delete [] arg2;
+    }
     return NULL;
 }
 
index 452dae04c82e59c1b896c81d3c292d1d397141e2..3f585bcc02f2d8d9d98dbec095f6c81d468d7885 100644 (file)
@@ -27,6 +27,13 @@ HTML_INDENT_ALL = _html.HTML_INDENT_ALL
 HTML_COND_ISANCHOR = _html.HTML_COND_ISANCHOR
 HTML_COND_ISIMAGEMAP = _html.HTML_COND_ISIMAGEMAP
 HTML_COND_USER = _html.HTML_COND_USER
+HTML_FONT_SIZE_1 = _html.HTML_FONT_SIZE_1
+HTML_FONT_SIZE_2 = _html.HTML_FONT_SIZE_2
+HTML_FONT_SIZE_3 = _html.HTML_FONT_SIZE_3
+HTML_FONT_SIZE_4 = _html.HTML_FONT_SIZE_4
+HTML_FONT_SIZE_5 = _html.HTML_FONT_SIZE_5
+HTML_FONT_SIZE_6 = _html.HTML_FONT_SIZE_6
+HTML_FONT_SIZE_7 = _html.HTML_FONT_SIZE_7
 HW_SCROLLBAR_NEVER = _html.HW_SCROLLBAR_NEVER
 HW_SCROLLBAR_AUTO = _html.HW_SCROLLBAR_AUTO
 HW_NO_SELECTION = _html.HW_NO_SELECTION
index 5f34bfcbfc8afbac32921b92abba37697d6c7350..f64094848d98e013872e017cc8a58184c54f22f5 100644 (file)
@@ -10668,6 +10668,13 @@ static swig_const_info swig_const_table[] = {
 { SWIG_PY_INT,     (char *)"HTML_COND_ISANCHOR", (long) wxHTML_COND_ISANCHOR, 0, 0, 0},
 { SWIG_PY_INT,     (char *)"HTML_COND_ISIMAGEMAP", (long) wxHTML_COND_ISIMAGEMAP, 0, 0, 0},
 { SWIG_PY_INT,     (char *)"HTML_COND_USER", (long) wxHTML_COND_USER, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"HTML_FONT_SIZE_1", (long) wxHTML_FONT_SIZE_1, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"HTML_FONT_SIZE_2", (long) wxHTML_FONT_SIZE_2, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"HTML_FONT_SIZE_3", (long) wxHTML_FONT_SIZE_3, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"HTML_FONT_SIZE_4", (long) wxHTML_FONT_SIZE_4, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"HTML_FONT_SIZE_5", (long) wxHTML_FONT_SIZE_5, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"HTML_FONT_SIZE_6", (long) wxHTML_FONT_SIZE_6, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"HTML_FONT_SIZE_7", (long) wxHTML_FONT_SIZE_7, 0, 0, 0},
 { SWIG_PY_INT,     (char *)"HW_SCROLLBAR_NEVER", (long) wxHW_SCROLLBAR_NEVER, 0, 0, 0},
 { SWIG_PY_INT,     (char *)"HW_SCROLLBAR_AUTO", (long) wxHW_SCROLLBAR_AUTO, 0, 0, 0},
 { SWIG_PY_INT,     (char *)"HW_NO_SELECTION", (long) wxHW_NO_SELECTION, 0, 0, 0},
index c12e24daab0b85afe744c661b2bcc0d830c6bc3b..1f07159792f875120bb60ac5e2d098cea80af00f 100644 (file)
@@ -256,7 +256,7 @@ def GetElapsedTime(*args, **kwargs):
     return _misc.GetElapsedTime(*args, **kwargs)
 
 def GetMousePosition(*args, **kwargs):
-    """GetMousePosition(int OUTPUT, int OUTPUT)"""
+    """GetMousePosition() -> (x,y)"""
     return _misc.GetMousePosition(*args, **kwargs)
 
 def IsBusy(*args, **kwargs):
@@ -276,7 +276,7 @@ def StartTimer(*args, **kwargs):
     return _misc.StartTimer(*args, **kwargs)
 
 def GetOsVersion(*args, **kwargs):
-    """GetOsVersion(int OUTPUT, int OUTPUT) -> int"""
+    """GetOsVersion() -> (platform, major, minor)"""
     return _misc.GetOsVersion(*args, **kwargs)
 
 def GetOsDescription(*args, **kwargs):
@@ -420,7 +420,7 @@ def GetDisplayDepth(*args, **kwargs):
     return _misc.GetDisplayDepth(*args, **kwargs)
 
 def DisplaySize(*args, **kwargs):
-    """DisplaySize(int OUTPUT, int OUTPUT)"""
+    """DisplaySize() -> (width, height)"""
     return _misc.DisplaySize(*args, **kwargs)
 
 def GetDisplaySize(*args, **kwargs):
@@ -428,7 +428,7 @@ def GetDisplaySize(*args, **kwargs):
     return _misc.GetDisplaySize(*args, **kwargs)
 
 def DisplaySizeMM(*args, **kwargs):
-    """DisplaySizeMM(int OUTPUT, int OUTPUT)"""
+    """DisplaySizeMM() -> (width, height)"""
     return _misc.DisplaySizeMM(*args, **kwargs)
 
 def GetDisplaySizeMM(*args, **kwargs):
@@ -436,7 +436,7 @@ def GetDisplaySizeMM(*args, **kwargs):
     return _misc.GetDisplaySizeMM(*args, **kwargs)
 
 def ClientDisplayRect(*args, **kwargs):
-    """ClientDisplayRect(int OUTPUT, int OUTPUT, int OUTPUT, int OUTPUT)"""
+    """ClientDisplayRect() -> (x, y, width, height)"""
     return _misc.ClientDisplayRect(*args, **kwargs)
 
 def GetClientDisplayRect(*args, **kwargs):
@@ -580,22 +580,22 @@ class Caret(object):
         """IsVisible() -> bool"""
         return _misc.Caret_IsVisible(*args, **kwargs)
 
-    def GetPositionTuple(*args, **kwargs):
-        """GetPositionTuple(int OUTPUT, int OUTPUT)"""
-        return _misc.Caret_GetPositionTuple(*args, **kwargs)
-
     def GetPosition(*args, **kwargs):
         """GetPosition() -> Point"""
         return _misc.Caret_GetPosition(*args, **kwargs)
 
-    def GetSizeTuple(*args, **kwargs):
-        """GetSizeTuple(int OUTPUT, int OUTPUT)"""
-        return _misc.Caret_GetSizeTuple(*args, **kwargs)
+    def GetPositionTuple(*args, **kwargs):
+        """GetPositionTuple() -> (x,y)"""
+        return _misc.Caret_GetPositionTuple(*args, **kwargs)
 
     def GetSize(*args, **kwargs):
         """GetSize() -> Size"""
         return _misc.Caret_GetSize(*args, **kwargs)
 
+    def GetSizeTuple(*args, **kwargs):
+        """GetSizeTuple() -> (width, height)"""
+        return _misc.Caret_GetSizeTuple(*args, **kwargs)
+
     def GetWindow(*args, **kwargs):
         """GetWindow() -> Window"""
         return _misc.Caret_GetWindow(*args, **kwargs)
@@ -624,6 +624,7 @@ class Caret(object):
         """Hide()"""
         return _misc.Caret_Hide(*args, **kwargs)
 
+    def __nonzero__(self): return self.IsOk() 
 
 class CaretPtr(Caret):
     def __init__(self, this):
@@ -934,12 +935,18 @@ class Timer(core.EvtHandler):
         self.this = newobj.this
         self.thisown = 1
         del newobj.thisown
+        self._setCallbackInfo(self, Timer)
+
     def __del__(self, destroy=_misc.delete_Timer):
         """__del__()"""
         try:
             if self.thisown: destroy(self)
         except: pass
 
+    def _setCallbackInfo(*args, **kwargs):
+        """_setCallbackInfo(PyObject self, PyObject _class)"""
+        return _misc.Timer__setCallbackInfo(*args, **kwargs)
+
     def SetOwner(*args, **kwargs):
         """SetOwner(EvtHandler owner, int id=-1)"""
         return _misc.Timer_SetOwner(*args, **kwargs)
@@ -952,10 +959,6 @@ class Timer(core.EvtHandler):
         """Stop()"""
         return _misc.Timer_Stop(*args, **kwargs)
 
-    def Notify(*args, **kwargs):
-        """Notify()"""
-        return _misc.Timer_Notify(*args, **kwargs)
-
     def IsRunning(*args, **kwargs):
         """IsRunning() -> bool"""
         return _misc.Timer_IsRunning(*args, **kwargs)
@@ -2902,12 +2905,12 @@ class DateTime(object):
 
     GetCentury = staticmethod(GetCentury)
     def GetNumberOfDaysinYear(*args, **kwargs):
-        """DateTime.GetNumberOfDaysinYear(int year, wxDateTime::Calendar cal=Gregorian) -> wxDateTime_t"""
+        """DateTime.GetNumberOfDaysinYear(int year, wxDateTime::Calendar cal=Gregorian) -> int"""
         return _misc.DateTime_GetNumberOfDaysinYear(*args, **kwargs)
 
     GetNumberOfDaysinYear = staticmethod(GetNumberOfDaysinYear)
     def GetNumberOfDaysInMonth(*args, **kwargs):
-        """DateTime.GetNumberOfDaysInMonth(wxDateTime::Month month, int year=Inv_Year, wxDateTime::Calendar cal=Gregorian) -> wxDateTime_t"""
+        """DateTime.GetNumberOfDaysInMonth(wxDateTime::Month month, int year=Inv_Year, wxDateTime::Calendar cal=Gregorian) -> int"""
         return _misc.DateTime_GetNumberOfDaysInMonth(*args, **kwargs)
 
     GetNumberOfDaysInMonth = staticmethod(GetNumberOfDaysInMonth)
@@ -2922,7 +2925,9 @@ class DateTime(object):
 
     GetWeekDayName = staticmethod(GetWeekDayName)
     def GetAmPmStrings(*args, **kwargs):
-        """DateTime.GetAmPmStrings(wxString OUTPUT, wxString OUTPUT)"""
+        """GetAmPmStrings() -> (am, pm)
+
+Get the AM and PM strings in the current locale (may be empty)"""
         return _misc.DateTime_GetAmPmStrings(*args, **kwargs)
 
     GetAmPmStrings = staticmethod(GetAmPmStrings)
@@ -2981,14 +2986,13 @@ class DateTime(object):
         return _misc.DateTime_SetJDN(*args, **kwargs)
 
     def SetHMS(*args, **kwargs):
-        """SetHMS(wxDateTime_t hour, wxDateTime_t minute=0, wxDateTime_t second=0, 
-    wxDateTime_t millisec=0) -> DateTime"""
+        """SetHMS(int hour, int minute=0, int second=0, int millisec=0) -> DateTime"""
         return _misc.DateTime_SetHMS(*args, **kwargs)
 
     def Set(*args, **kwargs):
-        """Set(wxDateTime_t day, wxDateTime::Month month=Inv_Month
-    int year=Inv_Year, wxDateTime_t hour=0, wxDateTime_t minute=0, 
-    wxDateTime_t second=0, wxDateTime_t millisec=0) -> DateTime"""
+        """Set(int day, wxDateTime::Month month=Inv_Month, int year=Inv_Year
+    int hour=0, int minute=0, int second=0, 
+    int millisec=0) -> DateTime"""
         return _misc.DateTime_Set(*args, **kwargs)
 
     def ResetTime(*args, **kwargs):
@@ -3004,23 +3008,23 @@ class DateTime(object):
         return _misc.DateTime_SetMonth(*args, **kwargs)
 
     def SetDay(*args, **kwargs):
-        """SetDay(wxDateTime_t day) -> DateTime"""
+        """SetDay(int day) -> DateTime"""
         return _misc.DateTime_SetDay(*args, **kwargs)
 
     def SetHour(*args, **kwargs):
-        """SetHour(wxDateTime_t hour) -> DateTime"""
+        """SetHour(int hour) -> DateTime"""
         return _misc.DateTime_SetHour(*args, **kwargs)
 
     def SetMinute(*args, **kwargs):
-        """SetMinute(wxDateTime_t minute) -> DateTime"""
+        """SetMinute(int minute) -> DateTime"""
         return _misc.DateTime_SetMinute(*args, **kwargs)
 
     def SetSecond(*args, **kwargs):
-        """SetSecond(wxDateTime_t second) -> DateTime"""
+        """SetSecond(int second) -> DateTime"""
         return _misc.DateTime_SetSecond(*args, **kwargs)
 
     def SetMillisecond(*args, **kwargs):
-        """SetMillisecond(wxDateTime_t millisecond) -> DateTime"""
+        """SetMillisecond(int millisecond) -> DateTime"""
         return _misc.DateTime_SetMillisecond(*args, **kwargs)
 
     def SetToWeekDayInSameWeek(*args, **kwargs):
@@ -3063,13 +3067,11 @@ class DateTime(object):
         return _misc.DateTime_GetLastWeekDay(*args, **kwargs)
 
     def SetToTheWeek(*args, **kwargs):
-        """SetToTheWeek(wxDateTime_t numWeek, wxDateTime::WeekDay weekday=Mon, 
-    wxDateTime::WeekFlags flags=Monday_First) -> bool"""
+        """SetToTheWeek(int numWeek, wxDateTime::WeekDay weekday=Mon, wxDateTime::WeekFlags flags=Monday_First) -> bool"""
         return _misc.DateTime_SetToTheWeek(*args, **kwargs)
 
     def GetWeek(*args, **kwargs):
-        """GetWeek(wxDateTime_t numWeek, wxDateTime::WeekDay weekday=Mon, 
-    wxDateTime::WeekFlags flags=Monday_First) -> DateTime"""
+        """GetWeek(int numWeek, wxDateTime::WeekDay weekday=Mon, wxDateTime::WeekFlags flags=Monday_First) -> DateTime"""
         return _misc.DateTime_GetWeek(*args, **kwargs)
 
     def SetToLastMonthDay(*args, **kwargs):
@@ -3081,11 +3083,11 @@ class DateTime(object):
         return _misc.DateTime_GetLastMonthDay(*args, **kwargs)
 
     def SetToYearDay(*args, **kwargs):
-        """SetToYearDay(wxDateTime_t yday) -> DateTime"""
+        """SetToYearDay(int yday) -> DateTime"""
         return _misc.DateTime_SetToYearDay(*args, **kwargs)
 
     def GetYearDay(*args, **kwargs):
-        """GetYearDay(wxDateTime_t yday) -> DateTime"""
+        """GetYearDay(int yday) -> DateTime"""
         return _misc.DateTime_GetYearDay(*args, **kwargs)
 
     def GetJulianDayNumber(*args, **kwargs):
@@ -3145,7 +3147,7 @@ class DateTime(object):
         return _misc.DateTime_GetMonth(*args, **kwargs)
 
     def GetDay(*args, **kwargs):
-        """GetDay(wxDateTime::TimeZone tz=LOCAL_TZ) -> wxDateTime_t"""
+        """GetDay(wxDateTime::TimeZone tz=LOCAL_TZ) -> int"""
         return _misc.DateTime_GetDay(*args, **kwargs)
 
     def GetWeekDay(*args, **kwargs):
@@ -3153,31 +3155,31 @@ class DateTime(object):
         return _misc.DateTime_GetWeekDay(*args, **kwargs)
 
     def GetHour(*args, **kwargs):
-        """GetHour(wxDateTime::TimeZone tz=LOCAL_TZ) -> wxDateTime_t"""
+        """GetHour(wxDateTime::TimeZone tz=LOCAL_TZ) -> int"""
         return _misc.DateTime_GetHour(*args, **kwargs)
 
     def GetMinute(*args, **kwargs):
-        """GetMinute(wxDateTime::TimeZone tz=LOCAL_TZ) -> wxDateTime_t"""
+        """GetMinute(wxDateTime::TimeZone tz=LOCAL_TZ) -> int"""
         return _misc.DateTime_GetMinute(*args, **kwargs)
 
     def GetSecond(*args, **kwargs):
-        """GetSecond(wxDateTime::TimeZone tz=LOCAL_TZ) -> wxDateTime_t"""
+        """GetSecond(wxDateTime::TimeZone tz=LOCAL_TZ) -> int"""
         return _misc.DateTime_GetSecond(*args, **kwargs)
 
     def GetMillisecond(*args, **kwargs):
-        """GetMillisecond(wxDateTime::TimeZone tz=LOCAL_TZ) -> wxDateTime_t"""
+        """GetMillisecond(wxDateTime::TimeZone tz=LOCAL_TZ) -> int"""
         return _misc.DateTime_GetMillisecond(*args, **kwargs)
 
     def GetDayOfYear(*args, **kwargs):
-        """GetDayOfYear(wxDateTime::TimeZone tz=LOCAL_TZ) -> wxDateTime_t"""
+        """GetDayOfYear(wxDateTime::TimeZone tz=LOCAL_TZ) -> int"""
         return _misc.DateTime_GetDayOfYear(*args, **kwargs)
 
     def GetWeekOfYear(*args, **kwargs):
-        """GetWeekOfYear(wxDateTime::WeekFlags flags=Monday_First, wxDateTime::TimeZone tz=LOCAL_TZ) -> wxDateTime_t"""
+        """GetWeekOfYear(wxDateTime::WeekFlags flags=Monday_First, wxDateTime::TimeZone tz=LOCAL_TZ) -> int"""
         return _misc.DateTime_GetWeekOfYear(*args, **kwargs)
 
     def GetWeekOfMonth(*args, **kwargs):
-        """GetWeekOfMonth(wxDateTime::WeekFlags flags=Monday_First, wxDateTime::TimeZone tz=LOCAL_TZ) -> wxDateTime_t"""
+        """GetWeekOfMonth(wxDateTime::WeekFlags flags=Monday_First, wxDateTime::TimeZone tz=LOCAL_TZ) -> int"""
         return _misc.DateTime_GetWeekOfMonth(*args, **kwargs)
 
     def IsWorkDay(*args, **kwargs):
@@ -3367,11 +3369,11 @@ def DateTime_GetCentury(*args, **kwargs):
     return _misc.DateTime_GetCentury(*args, **kwargs)
 
 def DateTime_GetNumberOfDaysinYear(*args, **kwargs):
-    """DateTime_GetNumberOfDaysinYear(int year, wxDateTime::Calendar cal=Gregorian) -> wxDateTime_t"""
+    """DateTime_GetNumberOfDaysinYear(int year, wxDateTime::Calendar cal=Gregorian) -> int"""
     return _misc.DateTime_GetNumberOfDaysinYear(*args, **kwargs)
 
 def DateTime_GetNumberOfDaysInMonth(*args, **kwargs):
-    """DateTime_GetNumberOfDaysInMonth(wxDateTime::Month month, int year=Inv_Year, wxDateTime::Calendar cal=Gregorian) -> wxDateTime_t"""
+    """DateTime_GetNumberOfDaysInMonth(wxDateTime::Month month, int year=Inv_Year, wxDateTime::Calendar cal=Gregorian) -> int"""
     return _misc.DateTime_GetNumberOfDaysInMonth(*args, **kwargs)
 
 def DateTime_GetMonthName(*args, **kwargs):
@@ -3383,7 +3385,9 @@ def DateTime_GetWeekDayName(*args, **kwargs):
     return _misc.DateTime_GetWeekDayName(*args, **kwargs)
 
 def DateTime_GetAmPmStrings(*args, **kwargs):
-    """DateTime_GetAmPmStrings(wxString OUTPUT, wxString OUTPUT)"""
+    """GetAmPmStrings() -> (am, pm)
+
+Get the AM and PM strings in the current locale (may be empty)"""
     return _misc.DateTime_GetAmPmStrings(*args, **kwargs)
 
 def DateTime_IsDSTApplicable(*args, **kwargs):
@@ -3423,16 +3427,15 @@ def DateTimeFromJDN(*args, **kwargs):
     return val
 
 def DateTimeFromHMS(*args, **kwargs):
-    """DateTimeFromHMS(wxDateTime_t hour, wxDateTime_t minute=0, wxDateTime_t second=0, 
-    wxDateTime_t millisec=0) -> DateTime"""
+    """DateTimeFromHMS(int hour, int minute=0, int second=0, int millisec=0) -> DateTime"""
     val = _misc.new_DateTimeFromHMS(*args, **kwargs)
     val.thisown = 1
     return val
 
 def DateTimeFromDMY(*args, **kwargs):
-    """DateTimeFromDMY(wxDateTime_t day, wxDateTime::Month month=Inv_Month
-    int year=Inv_Year, wxDateTime_t hour=0, wxDateTime_t minute=0, 
-    wxDateTime_t second=0, wxDateTime_t millisec=0) -> DateTime"""
+    """DateTimeFromDMY(int day, wxDateTime::Month month=Inv_Month, int year=Inv_Year
+    int hour=0, int minute=0, int second=0, 
+    int millisec=0) -> DateTime"""
     val = _misc.new_DateTimeFromDMY(*args, **kwargs)
     val.thisown = 1
     return val
index 527d92b301e9d726624cf371914ae0594c17c0e8..a299cd3a326d3c19e0b51e7786917f09b1f83620 100644 (file)
@@ -1048,65 +1048,11 @@ PyObject *wxCustomDataObject_GetData(wxCustomDataObject *self){
 #include <wx/metafile.h>
 
 
-#include <wx/dnd.h>
 
 
-class wxPyDropSource : public wxDropSource {
-public:
-#ifndef __WXGTK__
-     wxPyDropSource(wxWindow *win = NULL,
-                    const wxCursor &copy = wxNullCursor,
-                    const wxCursor &move = wxNullCursor,
-                    const wxCursor &none = wxNullCursor)
-         : wxDropSource(win, copy, move, none) {}
-#else
-    wxPyDropSource(wxWindow *win = NULL,
-                   const wxIcon& copy = wxNullIcon,
-                   const wxIcon& move = wxNullIcon,
-                   const wxIcon& none = wxNullIcon)
-        : wxDropSource(win, copy, move, none) {}
-#endif
-    ~wxPyDropSource() { }
-
-    DEC_PYCALLBACK_BOOL_DR(GiveFeedback);
-    PYPRIVATE;
-};
-
 IMP_PYCALLBACK_BOOL_DR(wxPyDropSource, wxDropSource, GiveFeedback);
 
 
-
-class wxPyDropTarget : public wxDropTarget {
-public:
-    wxPyDropTarget(wxDataObject *dataObject = NULL)
-        : wxDropTarget(dataObject) {}
-
-    // called when mouse leaves the window: might be used to remove the
-    // feedback which was given in OnEnter()
-    DEC_PYCALLBACK__(OnLeave);
-
-    // called when the mouse enters the window (only once until OnLeave())
-    DEC_PYCALLBACK_DR_2WXCDR(OnEnter);
-
-    // called when the mouse moves in the window - shouldn't take long to
-    // execute or otherwise mouse movement would be too slow
-    DEC_PYCALLBACK_DR_2WXCDR(OnDragOver);
-    
-    // called after OnDrop() returns True: you will usually just call
-    // GetData() from here and, probably, also refresh something to update the
-    // new data and, finally, return the code indicating how did the operation
-    // complete (returning default value in case of success and wxDragError on
-    // failure is usually ok)
-    DEC_PYCALLBACK_DR_2WXCDR_pure(OnData);
-    
-    // this function is called when data is dropped at position (x, y) - if it
-    // returns True, OnData() will be called immediately afterwards which will
-    // allow to retrieve the data dropped.
-    DEC_PYCALLBACK_BOOL_INTINT(OnDrop);
-
-    PYPRIVATE;
-};
-
 IMP_PYCALLBACK__(wxPyDropTarget, wxDropTarget, OnLeave);
 IMP_PYCALLBACK_DR_2WXCDR(wxPyDropTarget, wxDropTarget, OnEnter);
 IMP_PYCALLBACK_DR_2WXCDR(wxPyDropTarget, wxDropTarget, OnDragOver);
@@ -1114,7 +1060,6 @@ IMP_PYCALLBACK_DR_2WXCDR_pure(wxPyDropTarget, wxDropTarget, OnData);
 IMP_PYCALLBACK_BOOL_INTINT(wxPyDropTarget, wxDropTarget, OnDrop);
 
 
-
 class wxPyTextDropTarget : public wxTextDropTarget {
 public:
     wxPyTextDropTarget() {}
@@ -4092,6 +4037,35 @@ static PyObject *_wrap_Caret_IsVisible(PyObject *self, PyObject *args, PyObject
 }
 
 
+static PyObject *_wrap_Caret_GetPosition(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxCaret *arg1 = (wxCaret *) 0 ;
+    wxPoint result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:Caret_GetPosition",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxCaret,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (arg1)->GetPosition();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        wxPoint * resultptr;
+        resultptr = new wxPoint((wxPoint &) result);
+        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_wxPoint, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
 static PyObject *_wrap_Caret_GetPositionTuple(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxCaret *arg1 = (wxCaret *) 0 ;
@@ -4130,28 +4104,28 @@ static PyObject *_wrap_Caret_GetPositionTuple(PyObject *self, PyObject *args, Py
 }
 
 
-static PyObject *_wrap_Caret_GetPosition(PyObject *self, PyObject *args, PyObject *kwargs) {
+static PyObject *_wrap_Caret_GetSize(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxCaret *arg1 = (wxCaret *) 0 ;
-    wxPoint result;
+    wxSize result;
     PyObject * obj0 = 0 ;
     char *kwnames[] = {
         (char *) "self", NULL 
     };
     
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:Caret_GetPosition",kwnames,&obj0)) goto fail;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:Caret_GetSize",kwnames,&obj0)) goto fail;
     if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxCaret,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
-        result = (arg1)->GetPosition();
+        result = (arg1)->GetSize();
         
         wxPyEndAllowThreads(__tstate);
         if (PyErr_Occurred()) SWIG_fail;
     }
     {
-        wxPoint * resultptr;
-        resultptr = new wxPoint((wxPoint &) result);
-        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_wxPoint, 1);
+        wxSize * resultptr;
+        resultptr = new wxSize((wxSize &) result);
+        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_wxSize, 1);
     }
     return resultobj;
     fail:
@@ -4197,35 +4171,6 @@ static PyObject *_wrap_Caret_GetSizeTuple(PyObject *self, PyObject *args, PyObje
 }
 
 
-static PyObject *_wrap_Caret_GetSize(PyObject *self, PyObject *args, PyObject *kwargs) {
-    PyObject *resultobj;
-    wxCaret *arg1 = (wxCaret *) 0 ;
-    wxSize result;
-    PyObject * obj0 = 0 ;
-    char *kwnames[] = {
-        (char *) "self", NULL 
-    };
-    
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:Caret_GetSize",kwnames,&obj0)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxCaret,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    {
-        PyThreadState* __tstate = wxPyBeginAllowThreads();
-        result = (arg1)->GetSize();
-        
-        wxPyEndAllowThreads(__tstate);
-        if (PyErr_Occurred()) SWIG_fail;
-    }
-    {
-        wxSize * resultptr;
-        resultptr = new wxSize((wxSize &) result);
-        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_wxSize, 1);
-    }
-    return resultobj;
-    fail:
-    return NULL;
-}
-
-
 static PyObject *_wrap_Caret_GetWindow(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxCaret *arg1 = (wxCaret *) 0 ;
@@ -5696,6 +5641,36 @@ static PyObject *_wrap_delete_Timer(PyObject *self, PyObject *args, PyObject *kw
 }
 
 
+static PyObject *_wrap_Timer__setCallbackInfo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTimer *arg1 = (wxPyTimer *) 0 ;
+    PyObject *arg2 = (PyObject *) 0 ;
+    PyObject *arg3 = (PyObject *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "self",(char *) "_class", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:Timer__setCallbackInfo",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTimer,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = obj1;
+    arg3 = obj2;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->_setCallbackInfo(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
 static PyObject *_wrap_Timer_SetOwner(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxPyTimer *arg1 = (wxPyTimer *) 0 ;
@@ -5780,30 +5755,6 @@ static PyObject *_wrap_Timer_Stop(PyObject *self, PyObject *args, PyObject *kwar
 }
 
 
-static PyObject *_wrap_Timer_Notify(PyObject *self, PyObject *args, PyObject *kwargs) {
-    PyObject *resultobj;
-    wxPyTimer *arg1 = (wxPyTimer *) 0 ;
-    PyObject * obj0 = 0 ;
-    char *kwnames[] = {
-        (char *) "self", NULL 
-    };
-    
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:Timer_Notify",kwnames,&obj0)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTimer,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    {
-        PyThreadState* __tstate = wxPyBeginAllowThreads();
-        (arg1)->Notify();
-        
-        wxPyEndAllowThreads(__tstate);
-        if (PyErr_Occurred()) SWIG_fail;
-    }
-    Py_INCREF(Py_None); resultobj = Py_None;
-    return resultobj;
-    fail:
-    return NULL;
-}
-
-
 static PyObject *_wrap_Timer_IsRunning(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxPyTimer *arg1 = (wxPyTimer *) 0 ;
@@ -10486,7 +10437,7 @@ static PyObject *_wrap_Wave_Play(PyObject *self, PyObject *args, PyObject *kwarg
     }
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
-        result = (bool)((wxWave const *)arg1)->Play(arg2,arg3);
+        result = (bool)(arg1)->Play(arg2,arg3);
         
         wxPyEndAllowThreads(__tstate);
         if (PyErr_Occurred()) SWIG_fail;
@@ -15257,7 +15208,7 @@ static PyObject *_wrap_DateTime_GetNumberOfDaysinYear(PyObject *self, PyObject *
     PyObject *resultobj;
     int arg1 ;
     int arg2 = (int) wxDateTime::Gregorian ;
-    wxDateTime::wxDateTime_t result;
+    int result;
     char *kwnames[] = {
         (char *) "year",(char *) "cal", NULL 
     };
@@ -15265,7 +15216,7 @@ static PyObject *_wrap_DateTime_GetNumberOfDaysinYear(PyObject *self, PyObject *
     if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"i|i:DateTime_GetNumberOfDaysinYear",kwnames,&arg1,&arg2)) goto fail;
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
-        result = (wxDateTime::wxDateTime_t)wxDateTime::GetNumberOfDays(arg1,(wxDateTime::Calendar )arg2);
+        result = (int)wxDateTime::GetNumberOfDays(arg1,(wxDateTime::Calendar )arg2);
         
         wxPyEndAllowThreads(__tstate);
         if (PyErr_Occurred()) SWIG_fail;
@@ -15282,7 +15233,7 @@ static PyObject *_wrap_DateTime_GetNumberOfDaysInMonth(PyObject *self, PyObject
     int arg1 ;
     int arg2 = (int) wxDateTime::Inv_Year ;
     int arg3 = (int) wxDateTime::Gregorian ;
-    wxDateTime::wxDateTime_t result;
+    int result;
     char *kwnames[] = {
         (char *) "month",(char *) "year",(char *) "cal", NULL 
     };
@@ -15290,7 +15241,7 @@ static PyObject *_wrap_DateTime_GetNumberOfDaysInMonth(PyObject *self, PyObject
     if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"i|ii:DateTime_GetNumberOfDaysInMonth",kwnames,&arg1,&arg2,&arg3)) goto fail;
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
-        result = (wxDateTime::wxDateTime_t)wxDateTime::GetNumberOfDays((wxDateTime::Month )arg1,arg2,(wxDateTime::Calendar )arg3);
+        result = (int)wxDateTime::GetNumberOfDays((wxDateTime::Month )arg1,arg2,(wxDateTime::Calendar )arg3);
         
         wxPyEndAllowThreads(__tstate);
         if (PyErr_Occurred()) SWIG_fail;
@@ -15620,34 +15571,16 @@ static PyObject *_wrap_new_DateTimeFromJDN(PyObject *self, PyObject *args, PyObj
 
 static PyObject *_wrap_new_DateTimeFromHMS(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
-    wxDateTime::wxDateTime_t arg1 ;
-    wxDateTime::wxDateTime_t arg2 = (wxDateTime::wxDateTime_t) 0 ;
-    wxDateTime::wxDateTime_t arg3 = (wxDateTime::wxDateTime_t) 0 ;
-    wxDateTime::wxDateTime_t arg4 = (wxDateTime::wxDateTime_t) 0 ;
+    int arg1 ;
+    int arg2 = (int) 0 ;
+    int arg3 = (int) 0 ;
+    int arg4 = (int) 0 ;
     wxDateTime *result;
-    PyObject * obj0 = 0 ;
-    PyObject * obj1 = 0 ;
-    PyObject * obj2 = 0 ;
-    PyObject * obj3 = 0 ;
     char *kwnames[] = {
         (char *) "hour",(char *) "minute",(char *) "second",(char *) "millisec", NULL 
     };
     
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O|OOO:new_DateTimeFromHMS",kwnames,&obj0,&obj1,&obj2,&obj3)) goto fail;
-    arg1 = (wxDateTime::wxDateTime_t) PyInt_AsLong(obj0);
-    if (PyErr_Occurred()) SWIG_fail;
-    if (obj1) {
-        arg2 = (wxDateTime::wxDateTime_t) PyInt_AsLong(obj1);
-        if (PyErr_Occurred()) SWIG_fail;
-    }
-    if (obj2) {
-        arg3 = (wxDateTime::wxDateTime_t) PyInt_AsLong(obj2);
-        if (PyErr_Occurred()) SWIG_fail;
-    }
-    if (obj3) {
-        arg4 = (wxDateTime::wxDateTime_t) PyInt_AsLong(obj3);
-        if (PyErr_Occurred()) SWIG_fail;
-    }
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"i|iii:new_DateTimeFromHMS",kwnames,&arg1,&arg2,&arg3,&arg4)) goto fail;
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
         result = (wxDateTime *)new wxDateTime(arg1,arg2,arg3,arg4);
@@ -15664,42 +15597,19 @@ static PyObject *_wrap_new_DateTimeFromHMS(PyObject *self, PyObject *args, PyObj
 
 static PyObject *_wrap_new_DateTimeFromDMY(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
-    wxDateTime::wxDateTime_t arg1 ;
+    int arg1 ;
     int arg2 = (int) wxDateTime::Inv_Month ;
     int arg3 = (int) wxDateTime::Inv_Year ;
-    wxDateTime::wxDateTime_t arg4 = (wxDateTime::wxDateTime_t) 0 ;
-    wxDateTime::wxDateTime_t arg5 = (wxDateTime::wxDateTime_t) 0 ;
-    wxDateTime::wxDateTime_t arg6 = (wxDateTime::wxDateTime_t) 0 ;
-    wxDateTime::wxDateTime_t arg7 = (wxDateTime::wxDateTime_t) 0 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    int arg7 = (int) 0 ;
     wxDateTime *result;
-    PyObject * obj0 = 0 ;
-    PyObject * obj3 = 0 ;
-    PyObject * obj4 = 0 ;
-    PyObject * obj5 = 0 ;
-    PyObject * obj6 = 0 ;
     char *kwnames[] = {
         (char *) "day",(char *) "month",(char *) "year",(char *) "hour",(char *) "minute",(char *) "second",(char *) "millisec", NULL 
     };
     
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O|iiOOOO:new_DateTimeFromDMY",kwnames,&obj0,&arg2,&arg3,&obj3,&obj4,&obj5,&obj6)) goto fail;
-    arg1 = (wxDateTime::wxDateTime_t) PyInt_AsLong(obj0);
-    if (PyErr_Occurred()) SWIG_fail;
-    if (obj3) {
-        arg4 = (wxDateTime::wxDateTime_t) PyInt_AsLong(obj3);
-        if (PyErr_Occurred()) SWIG_fail;
-    }
-    if (obj4) {
-        arg5 = (wxDateTime::wxDateTime_t) PyInt_AsLong(obj4);
-        if (PyErr_Occurred()) SWIG_fail;
-    }
-    if (obj5) {
-        arg6 = (wxDateTime::wxDateTime_t) PyInt_AsLong(obj5);
-        if (PyErr_Occurred()) SWIG_fail;
-    }
-    if (obj6) {
-        arg7 = (wxDateTime::wxDateTime_t) PyInt_AsLong(obj6);
-        if (PyErr_Occurred()) SWIG_fail;
-    }
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"i|iiiiii:new_DateTimeFromDMY",kwnames,&arg1,&arg2,&arg3,&arg4,&arg5,&arg6,&arg7)) goto fail;
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
         result = (wxDateTime *)new wxDateTime(arg1,(wxDateTime::Month )arg2,arg3,arg4,arg5,arg6,arg7);
@@ -15830,36 +15740,18 @@ static PyObject *_wrap_DateTime_SetJDN(PyObject *self, PyObject *args, PyObject
 static PyObject *_wrap_DateTime_SetHMS(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxDateTime *arg1 = (wxDateTime *) 0 ;
-    wxDateTime::wxDateTime_t arg2 ;
-    wxDateTime::wxDateTime_t arg3 = (wxDateTime::wxDateTime_t) 0 ;
-    wxDateTime::wxDateTime_t arg4 = (wxDateTime::wxDateTime_t) 0 ;
-    wxDateTime::wxDateTime_t arg5 = (wxDateTime::wxDateTime_t) 0 ;
+    int arg2 ;
+    int arg3 = (int) 0 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
     wxDateTime *result;
     PyObject * obj0 = 0 ;
-    PyObject * obj1 = 0 ;
-    PyObject * obj2 = 0 ;
-    PyObject * obj3 = 0 ;
-    PyObject * obj4 = 0 ;
     char *kwnames[] = {
         (char *) "self",(char *) "hour",(char *) "minute",(char *) "second",(char *) "millisec", NULL 
     };
     
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|OOO:DateTime_SetHMS",kwnames,&obj0,&obj1,&obj2,&obj3,&obj4)) goto fail;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi|iii:DateTime_SetHMS",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
     if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDateTime,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    arg2 = (wxDateTime::wxDateTime_t) PyInt_AsLong(obj1);
-    if (PyErr_Occurred()) SWIG_fail;
-    if (obj2) {
-        arg3 = (wxDateTime::wxDateTime_t) PyInt_AsLong(obj2);
-        if (PyErr_Occurred()) SWIG_fail;
-    }
-    if (obj3) {
-        arg4 = (wxDateTime::wxDateTime_t) PyInt_AsLong(obj3);
-        if (PyErr_Occurred()) SWIG_fail;
-    }
-    if (obj4) {
-        arg5 = (wxDateTime::wxDateTime_t) PyInt_AsLong(obj4);
-        if (PyErr_Occurred()) SWIG_fail;
-    }
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
         {
@@ -15880,44 +15772,21 @@ static PyObject *_wrap_DateTime_SetHMS(PyObject *self, PyObject *args, PyObject
 static PyObject *_wrap_DateTime_Set(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxDateTime *arg1 = (wxDateTime *) 0 ;
-    wxDateTime::wxDateTime_t arg2 ;
+    int arg2 ;
     int arg3 = (int) wxDateTime::Inv_Month ;
     int arg4 = (int) wxDateTime::Inv_Year ;
-    wxDateTime::wxDateTime_t arg5 = (wxDateTime::wxDateTime_t) 0 ;
-    wxDateTime::wxDateTime_t arg6 = (wxDateTime::wxDateTime_t) 0 ;
-    wxDateTime::wxDateTime_t arg7 = (wxDateTime::wxDateTime_t) 0 ;
-    wxDateTime::wxDateTime_t arg8 = (wxDateTime::wxDateTime_t) 0 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    int arg7 = (int) 0 ;
+    int arg8 = (int) 0 ;
     wxDateTime *result;
     PyObject * obj0 = 0 ;
-    PyObject * obj1 = 0 ;
-    PyObject * obj4 = 0 ;
-    PyObject * obj5 = 0 ;
-    PyObject * obj6 = 0 ;
-    PyObject * obj7 = 0 ;
     char *kwnames[] = {
         (char *) "self",(char *) "day",(char *) "month",(char *) "year",(char *) "hour",(char *) "minute",(char *) "second",(char *) "millisec", NULL 
     };
     
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|iiOOOO:DateTime_Set",kwnames,&obj0,&obj1,&arg3,&arg4,&obj4,&obj5,&obj6,&obj7)) goto fail;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi|iiiiii:DateTime_Set",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5,&arg6,&arg7,&arg8)) goto fail;
     if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDateTime,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    arg2 = (wxDateTime::wxDateTime_t) PyInt_AsLong(obj1);
-    if (PyErr_Occurred()) SWIG_fail;
-    if (obj4) {
-        arg5 = (wxDateTime::wxDateTime_t) PyInt_AsLong(obj4);
-        if (PyErr_Occurred()) SWIG_fail;
-    }
-    if (obj5) {
-        arg6 = (wxDateTime::wxDateTime_t) PyInt_AsLong(obj5);
-        if (PyErr_Occurred()) SWIG_fail;
-    }
-    if (obj6) {
-        arg7 = (wxDateTime::wxDateTime_t) PyInt_AsLong(obj6);
-        if (PyErr_Occurred()) SWIG_fail;
-    }
-    if (obj7) {
-        arg8 = (wxDateTime::wxDateTime_t) PyInt_AsLong(obj7);
-        if (PyErr_Occurred()) SWIG_fail;
-    }
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
         {
@@ -16024,18 +15893,15 @@ static PyObject *_wrap_DateTime_SetMonth(PyObject *self, PyObject *args, PyObjec
 static PyObject *_wrap_DateTime_SetDay(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxDateTime *arg1 = (wxDateTime *) 0 ;
-    wxDateTime::wxDateTime_t arg2 ;
+    int arg2 ;
     wxDateTime *result;
     PyObject * obj0 = 0 ;
-    PyObject * obj1 = 0 ;
     char *kwnames[] = {
         (char *) "self",(char *) "day", NULL 
     };
     
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:DateTime_SetDay",kwnames,&obj0,&obj1)) goto fail;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:DateTime_SetDay",kwnames,&obj0,&arg2)) goto fail;
     if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDateTime,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    arg2 = (wxDateTime::wxDateTime_t) PyInt_AsLong(obj1);
-    if (PyErr_Occurred()) SWIG_fail;
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
         {
@@ -16056,18 +15922,15 @@ static PyObject *_wrap_DateTime_SetDay(PyObject *self, PyObject *args, PyObject
 static PyObject *_wrap_DateTime_SetHour(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxDateTime *arg1 = (wxDateTime *) 0 ;
-    wxDateTime::wxDateTime_t arg2 ;
+    int arg2 ;
     wxDateTime *result;
     PyObject * obj0 = 0 ;
-    PyObject * obj1 = 0 ;
     char *kwnames[] = {
         (char *) "self",(char *) "hour", NULL 
     };
     
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:DateTime_SetHour",kwnames,&obj0,&obj1)) goto fail;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:DateTime_SetHour",kwnames,&obj0,&arg2)) goto fail;
     if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDateTime,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    arg2 = (wxDateTime::wxDateTime_t) PyInt_AsLong(obj1);
-    if (PyErr_Occurred()) SWIG_fail;
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
         {
@@ -16088,18 +15951,15 @@ static PyObject *_wrap_DateTime_SetHour(PyObject *self, PyObject *args, PyObject
 static PyObject *_wrap_DateTime_SetMinute(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxDateTime *arg1 = (wxDateTime *) 0 ;
-    wxDateTime::wxDateTime_t arg2 ;
+    int arg2 ;
     wxDateTime *result;
     PyObject * obj0 = 0 ;
-    PyObject * obj1 = 0 ;
     char *kwnames[] = {
         (char *) "self",(char *) "minute", NULL 
     };
     
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:DateTime_SetMinute",kwnames,&obj0,&obj1)) goto fail;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:DateTime_SetMinute",kwnames,&obj0,&arg2)) goto fail;
     if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDateTime,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    arg2 = (wxDateTime::wxDateTime_t) PyInt_AsLong(obj1);
-    if (PyErr_Occurred()) SWIG_fail;
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
         {
@@ -16120,18 +15980,15 @@ static PyObject *_wrap_DateTime_SetMinute(PyObject *self, PyObject *args, PyObje
 static PyObject *_wrap_DateTime_SetSecond(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxDateTime *arg1 = (wxDateTime *) 0 ;
-    wxDateTime::wxDateTime_t arg2 ;
+    int arg2 ;
     wxDateTime *result;
     PyObject * obj0 = 0 ;
-    PyObject * obj1 = 0 ;
     char *kwnames[] = {
         (char *) "self",(char *) "second", NULL 
     };
     
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:DateTime_SetSecond",kwnames,&obj0,&obj1)) goto fail;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:DateTime_SetSecond",kwnames,&obj0,&arg2)) goto fail;
     if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDateTime,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    arg2 = (wxDateTime::wxDateTime_t) PyInt_AsLong(obj1);
-    if (PyErr_Occurred()) SWIG_fail;
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
         {
@@ -16152,18 +16009,15 @@ static PyObject *_wrap_DateTime_SetSecond(PyObject *self, PyObject *args, PyObje
 static PyObject *_wrap_DateTime_SetMillisecond(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxDateTime *arg1 = (wxDateTime *) 0 ;
-    wxDateTime::wxDateTime_t arg2 ;
+    int arg2 ;
     wxDateTime *result;
     PyObject * obj0 = 0 ;
-    PyObject * obj1 = 0 ;
     char *kwnames[] = {
         (char *) "self",(char *) "millisecond", NULL 
     };
     
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:DateTime_SetMillisecond",kwnames,&obj0,&obj1)) goto fail;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:DateTime_SetMillisecond",kwnames,&obj0,&arg2)) goto fail;
     if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDateTime,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    arg2 = (wxDateTime::wxDateTime_t) PyInt_AsLong(obj1);
-    if (PyErr_Occurred()) SWIG_fail;
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
         {
@@ -16452,20 +16306,17 @@ static PyObject *_wrap_DateTime_GetLastWeekDay(PyObject *self, PyObject *args, P
 static PyObject *_wrap_DateTime_SetToTheWeek(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxDateTime *arg1 = (wxDateTime *) 0 ;
-    wxDateTime::wxDateTime_t arg2 ;
+    int arg2 ;
     int arg3 = (int) wxDateTime::Mon ;
     int arg4 = (int) wxDateTime::Monday_First ;
     bool result;
     PyObject * obj0 = 0 ;
-    PyObject * obj1 = 0 ;
     char *kwnames[] = {
         (char *) "self",(char *) "numWeek",(char *) "weekday",(char *) "flags", NULL 
     };
     
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|ii:DateTime_SetToTheWeek",kwnames,&obj0,&obj1,&arg3,&arg4)) goto fail;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi|ii:DateTime_SetToTheWeek",kwnames,&obj0,&arg2,&arg3,&arg4)) goto fail;
     if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDateTime,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    arg2 = (wxDateTime::wxDateTime_t) PyInt_AsLong(obj1);
-    if (PyErr_Occurred()) SWIG_fail;
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
         result = (bool)(arg1)->SetToTheWeek(arg2,(wxDateTime::WeekDay )arg3,(wxDateTime::WeekFlags )arg4);
@@ -16483,20 +16334,17 @@ static PyObject *_wrap_DateTime_SetToTheWeek(PyObject *self, PyObject *args, PyO
 static PyObject *_wrap_DateTime_GetWeek(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxDateTime *arg1 = (wxDateTime *) 0 ;
-    wxDateTime::wxDateTime_t arg2 ;
+    int arg2 ;
     int arg3 = (int) wxDateTime::Mon ;
     int arg4 = (int) wxDateTime::Monday_First ;
     wxDateTime result;
     PyObject * obj0 = 0 ;
-    PyObject * obj1 = 0 ;
     char *kwnames[] = {
         (char *) "self",(char *) "numWeek",(char *) "weekday",(char *) "flags", NULL 
     };
     
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|ii:DateTime_GetWeek",kwnames,&obj0,&obj1,&arg3,&arg4)) goto fail;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi|ii:DateTime_GetWeek",kwnames,&obj0,&arg2,&arg3,&arg4)) goto fail;
     if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDateTime,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    arg2 = (wxDateTime::wxDateTime_t) PyInt_AsLong(obj1);
-    if (PyErr_Occurred()) SWIG_fail;
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
         result = (arg1)->GetWeek(arg2,(wxDateTime::WeekDay )arg3,(wxDateTime::WeekFlags )arg4);
@@ -16579,18 +16427,15 @@ static PyObject *_wrap_DateTime_GetLastMonthDay(PyObject *self, PyObject *args,
 static PyObject *_wrap_DateTime_SetToYearDay(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxDateTime *arg1 = (wxDateTime *) 0 ;
-    wxDateTime::wxDateTime_t arg2 ;
+    int arg2 ;
     wxDateTime *result;
     PyObject * obj0 = 0 ;
-    PyObject * obj1 = 0 ;
     char *kwnames[] = {
         (char *) "self",(char *) "yday", NULL 
     };
     
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:DateTime_SetToYearDay",kwnames,&obj0,&obj1)) goto fail;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:DateTime_SetToYearDay",kwnames,&obj0,&arg2)) goto fail;
     if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDateTime,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    arg2 = (wxDateTime::wxDateTime_t) PyInt_AsLong(obj1);
-    if (PyErr_Occurred()) SWIG_fail;
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
         {
@@ -16611,18 +16456,15 @@ static PyObject *_wrap_DateTime_SetToYearDay(PyObject *self, PyObject *args, PyO
 static PyObject *_wrap_DateTime_GetYearDay(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxDateTime *arg1 = (wxDateTime *) 0 ;
-    wxDateTime::wxDateTime_t arg2 ;
+    int arg2 ;
     wxDateTime result;
     PyObject * obj0 = 0 ;
-    PyObject * obj1 = 0 ;
     char *kwnames[] = {
         (char *) "self",(char *) "yday", NULL 
     };
     
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:DateTime_GetYearDay",kwnames,&obj0,&obj1)) goto fail;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:DateTime_GetYearDay",kwnames,&obj0,&arg2)) goto fail;
     if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDateTime,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    arg2 = (wxDateTime::wxDateTime_t) PyInt_AsLong(obj1);
-    if (PyErr_Occurred()) SWIG_fail;
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
         result = (arg1)->GetYearDay(arg2);
@@ -16772,6 +16614,7 @@ static PyObject *_wrap_DateTime_ToTimezone(PyObject *self, PyObject *args, PyObj
     wxDateTime::TimeZone *arg2 = 0 ;
     bool arg3 = (bool) False ;
     wxDateTime result;
+    bool temp2 = False ;
     PyObject * obj0 = 0 ;
     PyObject * obj1 = 0 ;
     PyObject * obj2 = 0 ;
@@ -16783,6 +16626,7 @@ static PyObject *_wrap_DateTime_ToTimezone(PyObject *self, PyObject *args, PyObj
     if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDateTime,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
     {
         arg2 = new wxDateTime::TimeZone((wxDateTime::TZ)PyInt_AsLong(obj1));
+        temp2 = True;
     }
     if (obj2) {
         arg3 = PyInt_AsLong(obj2) ? true : false;
@@ -16801,12 +16645,12 @@ static PyObject *_wrap_DateTime_ToTimezone(PyObject *self, PyObject *args, PyObj
         resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_wxDateTime, 1);
     }
     {
-        if (arg2) delete arg2;
+        if (temp2) delete arg2;
     }
     return resultobj;
     fail:
     {
-        if (arg2) delete arg2;
+        if (temp2) delete arg2;
     }
     return NULL;
 }
@@ -16818,6 +16662,7 @@ static PyObject *_wrap_DateTime_MakeTimezone(PyObject *self, PyObject *args, PyO
     wxDateTime::TimeZone *arg2 = 0 ;
     bool arg3 = (bool) False ;
     wxDateTime *result;
+    bool temp2 = False ;
     PyObject * obj0 = 0 ;
     PyObject * obj1 = 0 ;
     PyObject * obj2 = 0 ;
@@ -16829,6 +16674,7 @@ static PyObject *_wrap_DateTime_MakeTimezone(PyObject *self, PyObject *args, PyO
     if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDateTime,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
     {
         arg2 = new wxDateTime::TimeZone((wxDateTime::TZ)PyInt_AsLong(obj1));
+        temp2 = True;
     }
     if (obj2) {
         arg3 = PyInt_AsLong(obj2) ? true : false;
@@ -16846,12 +16692,12 @@ static PyObject *_wrap_DateTime_MakeTimezone(PyObject *self, PyObject *args, PyO
     }
     resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxDateTime, 0);
     {
-        if (arg2) delete arg2;
+        if (temp2) delete arg2;
     }
     return resultobj;
     fail:
     {
-        if (arg2) delete arg2;
+        if (temp2) delete arg2;
     }
     return NULL;
 }
@@ -17008,6 +16854,7 @@ static PyObject *_wrap_DateTime_GetYear(PyObject *self, PyObject *args, PyObject
     wxDateTime::TimeZone const &arg2_defvalue = LOCAL_TZ ;
     wxDateTime::TimeZone *arg2 = (wxDateTime::TimeZone *) &arg2_defvalue ;
     int result;
+    bool temp2 = False ;
     PyObject * obj0 = 0 ;
     PyObject * obj1 = 0 ;
     char *kwnames[] = {
@@ -17019,6 +16866,7 @@ static PyObject *_wrap_DateTime_GetYear(PyObject *self, PyObject *args, PyObject
     if (obj1) {
         {
             arg2 = new wxDateTime::TimeZone((wxDateTime::TZ)PyInt_AsLong(obj1));
+            temp2 = True;
         }
     }
     {
@@ -17030,12 +16878,12 @@ static PyObject *_wrap_DateTime_GetYear(PyObject *self, PyObject *args, PyObject
     }
     resultobj = PyInt_FromLong((long)result);
     {
-        if (arg2) delete arg2;
+        if (temp2) delete arg2;
     }
     return resultobj;
     fail:
     {
-        if (arg2) delete arg2;
+        if (temp2) delete arg2;
     }
     return NULL;
 }
@@ -17047,6 +16895,7 @@ static PyObject *_wrap_DateTime_GetMonth(PyObject *self, PyObject *args, PyObjec
     wxDateTime::TimeZone const &arg2_defvalue = LOCAL_TZ ;
     wxDateTime::TimeZone *arg2 = (wxDateTime::TimeZone *) &arg2_defvalue ;
     int result;
+    bool temp2 = False ;
     PyObject * obj0 = 0 ;
     PyObject * obj1 = 0 ;
     char *kwnames[] = {
@@ -17058,6 +16907,7 @@ static PyObject *_wrap_DateTime_GetMonth(PyObject *self, PyObject *args, PyObjec
     if (obj1) {
         {
             arg2 = new wxDateTime::TimeZone((wxDateTime::TZ)PyInt_AsLong(obj1));
+            temp2 = True;
         }
     }
     {
@@ -17069,12 +16919,12 @@ static PyObject *_wrap_DateTime_GetMonth(PyObject *self, PyObject *args, PyObjec
     }
     resultobj = PyInt_FromLong((long)result);
     {
-        if (arg2) delete arg2;
+        if (temp2) delete arg2;
     }
     return resultobj;
     fail:
     {
-        if (arg2) delete arg2;
+        if (temp2) delete arg2;
     }
     return NULL;
 }
@@ -17085,7 +16935,8 @@ static PyObject *_wrap_DateTime_GetDay(PyObject *self, PyObject *args, PyObject
     wxDateTime *arg1 = (wxDateTime *) 0 ;
     wxDateTime::TimeZone const &arg2_defvalue = LOCAL_TZ ;
     wxDateTime::TimeZone *arg2 = (wxDateTime::TimeZone *) &arg2_defvalue ;
-    wxDateTime::wxDateTime_t result;
+    int result;
+    bool temp2 = False ;
     PyObject * obj0 = 0 ;
     PyObject * obj1 = 0 ;
     char *kwnames[] = {
@@ -17097,23 +16948,24 @@ static PyObject *_wrap_DateTime_GetDay(PyObject *self, PyObject *args, PyObject
     if (obj1) {
         {
             arg2 = new wxDateTime::TimeZone((wxDateTime::TZ)PyInt_AsLong(obj1));
+            temp2 = True;
         }
     }
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
-        result = (wxDateTime::wxDateTime_t)((wxDateTime const *)arg1)->GetDay((wxDateTime::TimeZone const &)*arg2);
+        result = (int)((wxDateTime const *)arg1)->GetDay((wxDateTime::TimeZone const &)*arg2);
         
         wxPyEndAllowThreads(__tstate);
         if (PyErr_Occurred()) SWIG_fail;
     }
     resultobj = PyInt_FromLong((long)result);
     {
-        if (arg2) delete arg2;
+        if (temp2) delete arg2;
     }
     return resultobj;
     fail:
     {
-        if (arg2) delete arg2;
+        if (temp2) delete arg2;
     }
     return NULL;
 }
@@ -17125,6 +16977,7 @@ static PyObject *_wrap_DateTime_GetWeekDay(PyObject *self, PyObject *args, PyObj
     wxDateTime::TimeZone const &arg2_defvalue = LOCAL_TZ ;
     wxDateTime::TimeZone *arg2 = (wxDateTime::TimeZone *) &arg2_defvalue ;
     int result;
+    bool temp2 = False ;
     PyObject * obj0 = 0 ;
     PyObject * obj1 = 0 ;
     char *kwnames[] = {
@@ -17136,6 +16989,7 @@ static PyObject *_wrap_DateTime_GetWeekDay(PyObject *self, PyObject *args, PyObj
     if (obj1) {
         {
             arg2 = new wxDateTime::TimeZone((wxDateTime::TZ)PyInt_AsLong(obj1));
+            temp2 = True;
         }
     }
     {
@@ -17147,12 +17001,12 @@ static PyObject *_wrap_DateTime_GetWeekDay(PyObject *self, PyObject *args, PyObj
     }
     resultobj = PyInt_FromLong((long)result);
     {
-        if (arg2) delete arg2;
+        if (temp2) delete arg2;
     }
     return resultobj;
     fail:
     {
-        if (arg2) delete arg2;
+        if (temp2) delete arg2;
     }
     return NULL;
 }
@@ -17163,7 +17017,8 @@ static PyObject *_wrap_DateTime_GetHour(PyObject *self, PyObject *args, PyObject
     wxDateTime *arg1 = (wxDateTime *) 0 ;
     wxDateTime::TimeZone const &arg2_defvalue = LOCAL_TZ ;
     wxDateTime::TimeZone *arg2 = (wxDateTime::TimeZone *) &arg2_defvalue ;
-    wxDateTime::wxDateTime_t result;
+    int result;
+    bool temp2 = False ;
     PyObject * obj0 = 0 ;
     PyObject * obj1 = 0 ;
     char *kwnames[] = {
@@ -17175,23 +17030,24 @@ static PyObject *_wrap_DateTime_GetHour(PyObject *self, PyObject *args, PyObject
     if (obj1) {
         {
             arg2 = new wxDateTime::TimeZone((wxDateTime::TZ)PyInt_AsLong(obj1));
+            temp2 = True;
         }
     }
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
-        result = (wxDateTime::wxDateTime_t)((wxDateTime const *)arg1)->GetHour((wxDateTime::TimeZone const &)*arg2);
+        result = (int)((wxDateTime const *)arg1)->GetHour((wxDateTime::TimeZone const &)*arg2);
         
         wxPyEndAllowThreads(__tstate);
         if (PyErr_Occurred()) SWIG_fail;
     }
     resultobj = PyInt_FromLong((long)result);
     {
-        if (arg2) delete arg2;
+        if (temp2) delete arg2;
     }
     return resultobj;
     fail:
     {
-        if (arg2) delete arg2;
+        if (temp2) delete arg2;
     }
     return NULL;
 }
@@ -17202,7 +17058,8 @@ static PyObject *_wrap_DateTime_GetMinute(PyObject *self, PyObject *args, PyObje
     wxDateTime *arg1 = (wxDateTime *) 0 ;
     wxDateTime::TimeZone const &arg2_defvalue = LOCAL_TZ ;
     wxDateTime::TimeZone *arg2 = (wxDateTime::TimeZone *) &arg2_defvalue ;
-    wxDateTime::wxDateTime_t result;
+    int result;
+    bool temp2 = False ;
     PyObject * obj0 = 0 ;
     PyObject * obj1 = 0 ;
     char *kwnames[] = {
@@ -17214,23 +17071,24 @@ static PyObject *_wrap_DateTime_GetMinute(PyObject *self, PyObject *args, PyObje
     if (obj1) {
         {
             arg2 = new wxDateTime::TimeZone((wxDateTime::TZ)PyInt_AsLong(obj1));
+            temp2 = True;
         }
     }
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
-        result = (wxDateTime::wxDateTime_t)((wxDateTime const *)arg1)->GetMinute((wxDateTime::TimeZone const &)*arg2);
+        result = (int)((wxDateTime const *)arg1)->GetMinute((wxDateTime::TimeZone const &)*arg2);
         
         wxPyEndAllowThreads(__tstate);
         if (PyErr_Occurred()) SWIG_fail;
     }
     resultobj = PyInt_FromLong((long)result);
     {
-        if (arg2) delete arg2;
+        if (temp2) delete arg2;
     }
     return resultobj;
     fail:
     {
-        if (arg2) delete arg2;
+        if (temp2) delete arg2;
     }
     return NULL;
 }
@@ -17241,7 +17099,8 @@ static PyObject *_wrap_DateTime_GetSecond(PyObject *self, PyObject *args, PyObje
     wxDateTime *arg1 = (wxDateTime *) 0 ;
     wxDateTime::TimeZone const &arg2_defvalue = LOCAL_TZ ;
     wxDateTime::TimeZone *arg2 = (wxDateTime::TimeZone *) &arg2_defvalue ;
-    wxDateTime::wxDateTime_t result;
+    int result;
+    bool temp2 = False ;
     PyObject * obj0 = 0 ;
     PyObject * obj1 = 0 ;
     char *kwnames[] = {
@@ -17253,23 +17112,24 @@ static PyObject *_wrap_DateTime_GetSecond(PyObject *self, PyObject *args, PyObje
     if (obj1) {
         {
             arg2 = new wxDateTime::TimeZone((wxDateTime::TZ)PyInt_AsLong(obj1));
+            temp2 = True;
         }
     }
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
-        result = (wxDateTime::wxDateTime_t)((wxDateTime const *)arg1)->GetSecond((wxDateTime::TimeZone const &)*arg2);
+        result = (int)((wxDateTime const *)arg1)->GetSecond((wxDateTime::TimeZone const &)*arg2);
         
         wxPyEndAllowThreads(__tstate);
         if (PyErr_Occurred()) SWIG_fail;
     }
     resultobj = PyInt_FromLong((long)result);
     {
-        if (arg2) delete arg2;
+        if (temp2) delete arg2;
     }
     return resultobj;
     fail:
     {
-        if (arg2) delete arg2;
+        if (temp2) delete arg2;
     }
     return NULL;
 }
@@ -17280,7 +17140,8 @@ static PyObject *_wrap_DateTime_GetMillisecond(PyObject *self, PyObject *args, P
     wxDateTime *arg1 = (wxDateTime *) 0 ;
     wxDateTime::TimeZone const &arg2_defvalue = LOCAL_TZ ;
     wxDateTime::TimeZone *arg2 = (wxDateTime::TimeZone *) &arg2_defvalue ;
-    wxDateTime::wxDateTime_t result;
+    int result;
+    bool temp2 = False ;
     PyObject * obj0 = 0 ;
     PyObject * obj1 = 0 ;
     char *kwnames[] = {
@@ -17292,23 +17153,24 @@ static PyObject *_wrap_DateTime_GetMillisecond(PyObject *self, PyObject *args, P
     if (obj1) {
         {
             arg2 = new wxDateTime::TimeZone((wxDateTime::TZ)PyInt_AsLong(obj1));
+            temp2 = True;
         }
     }
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
-        result = (wxDateTime::wxDateTime_t)((wxDateTime const *)arg1)->GetMillisecond((wxDateTime::TimeZone const &)*arg2);
+        result = (int)((wxDateTime const *)arg1)->GetMillisecond((wxDateTime::TimeZone const &)*arg2);
         
         wxPyEndAllowThreads(__tstate);
         if (PyErr_Occurred()) SWIG_fail;
     }
     resultobj = PyInt_FromLong((long)result);
     {
-        if (arg2) delete arg2;
+        if (temp2) delete arg2;
     }
     return resultobj;
     fail:
     {
-        if (arg2) delete arg2;
+        if (temp2) delete arg2;
     }
     return NULL;
 }
@@ -17319,7 +17181,8 @@ static PyObject *_wrap_DateTime_GetDayOfYear(PyObject *self, PyObject *args, PyO
     wxDateTime *arg1 = (wxDateTime *) 0 ;
     wxDateTime::TimeZone const &arg2_defvalue = LOCAL_TZ ;
     wxDateTime::TimeZone *arg2 = (wxDateTime::TimeZone *) &arg2_defvalue ;
-    wxDateTime::wxDateTime_t result;
+    int result;
+    bool temp2 = False ;
     PyObject * obj0 = 0 ;
     PyObject * obj1 = 0 ;
     char *kwnames[] = {
@@ -17331,23 +17194,24 @@ static PyObject *_wrap_DateTime_GetDayOfYear(PyObject *self, PyObject *args, PyO
     if (obj1) {
         {
             arg2 = new wxDateTime::TimeZone((wxDateTime::TZ)PyInt_AsLong(obj1));
+            temp2 = True;
         }
     }
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
-        result = (wxDateTime::wxDateTime_t)((wxDateTime const *)arg1)->GetDayOfYear((wxDateTime::TimeZone const &)*arg2);
+        result = (int)((wxDateTime const *)arg1)->GetDayOfYear((wxDateTime::TimeZone const &)*arg2);
         
         wxPyEndAllowThreads(__tstate);
         if (PyErr_Occurred()) SWIG_fail;
     }
     resultobj = PyInt_FromLong((long)result);
     {
-        if (arg2) delete arg2;
+        if (temp2) delete arg2;
     }
     return resultobj;
     fail:
     {
-        if (arg2) delete arg2;
+        if (temp2) delete arg2;
     }
     return NULL;
 }
@@ -17359,7 +17223,8 @@ static PyObject *_wrap_DateTime_GetWeekOfYear(PyObject *self, PyObject *args, Py
     int arg2 = (int) wxDateTime::Monday_First ;
     wxDateTime::TimeZone const &arg3_defvalue = LOCAL_TZ ;
     wxDateTime::TimeZone *arg3 = (wxDateTime::TimeZone *) &arg3_defvalue ;
-    wxDateTime::wxDateTime_t result;
+    int result;
+    bool temp3 = False ;
     PyObject * obj0 = 0 ;
     PyObject * obj2 = 0 ;
     char *kwnames[] = {
@@ -17371,23 +17236,24 @@ static PyObject *_wrap_DateTime_GetWeekOfYear(PyObject *self, PyObject *args, Py
     if (obj2) {
         {
             arg3 = new wxDateTime::TimeZone((wxDateTime::TZ)PyInt_AsLong(obj2));
+            temp3 = True;
         }
     }
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
-        result = (wxDateTime::wxDateTime_t)((wxDateTime const *)arg1)->GetWeekOfYear((wxDateTime::WeekFlags )arg2,(wxDateTime::TimeZone const &)*arg3);
+        result = (int)((wxDateTime const *)arg1)->GetWeekOfYear((wxDateTime::WeekFlags )arg2,(wxDateTime::TimeZone const &)*arg3);
         
         wxPyEndAllowThreads(__tstate);
         if (PyErr_Occurred()) SWIG_fail;
     }
     resultobj = PyInt_FromLong((long)result);
     {
-        if (arg3) delete arg3;
+        if (temp3) delete arg3;
     }
     return resultobj;
     fail:
     {
-        if (arg3) delete arg3;
+        if (temp3) delete arg3;
     }
     return NULL;
 }
@@ -17399,7 +17265,8 @@ static PyObject *_wrap_DateTime_GetWeekOfMonth(PyObject *self, PyObject *args, P
     int arg2 = (int) wxDateTime::Monday_First ;
     wxDateTime::TimeZone const &arg3_defvalue = LOCAL_TZ ;
     wxDateTime::TimeZone *arg3 = (wxDateTime::TimeZone *) &arg3_defvalue ;
-    wxDateTime::wxDateTime_t result;
+    int result;
+    bool temp3 = False ;
     PyObject * obj0 = 0 ;
     PyObject * obj2 = 0 ;
     char *kwnames[] = {
@@ -17411,23 +17278,24 @@ static PyObject *_wrap_DateTime_GetWeekOfMonth(PyObject *self, PyObject *args, P
     if (obj2) {
         {
             arg3 = new wxDateTime::TimeZone((wxDateTime::TZ)PyInt_AsLong(obj2));
+            temp3 = True;
         }
     }
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
-        result = (wxDateTime::wxDateTime_t)((wxDateTime const *)arg1)->GetWeekOfMonth((wxDateTime::WeekFlags )arg2,(wxDateTime::TimeZone const &)*arg3);
+        result = (int)((wxDateTime const *)arg1)->GetWeekOfMonth((wxDateTime::WeekFlags )arg2,(wxDateTime::TimeZone const &)*arg3);
         
         wxPyEndAllowThreads(__tstate);
         if (PyErr_Occurred()) SWIG_fail;
     }
     resultobj = PyInt_FromLong((long)result);
     {
-        if (arg3) delete arg3;
+        if (temp3) delete arg3;
     }
     return resultobj;
     fail:
     {
-        if (arg3) delete arg3;
+        if (temp3) delete arg3;
     }
     return NULL;
 }
@@ -18884,6 +18752,7 @@ static PyObject *_wrap_DateTime_Format(PyObject *self, PyObject *args, PyObject
     wxDateTime::TimeZone *arg3 = (wxDateTime::TimeZone *) &arg3_defvalue ;
     wxString result;
     bool temp2 = False ;
+    bool temp3 = False ;
     PyObject * obj0 = 0 ;
     PyObject * obj1 = 0 ;
     PyObject * obj2 = 0 ;
@@ -18903,6 +18772,7 @@ static PyObject *_wrap_DateTime_Format(PyObject *self, PyObject *args, PyObject
     if (obj2) {
         {
             arg3 = new wxDateTime::TimeZone((wxDateTime::TZ)PyInt_AsLong(obj2));
+            temp3 = True;
         }
     }
     {
@@ -18924,7 +18794,7 @@ static PyObject *_wrap_DateTime_Format(PyObject *self, PyObject *args, PyObject
         delete arg2;
     }
     {
-        if (arg3) delete arg3;
+        if (temp3) delete arg3;
     }
     return resultobj;
     fail:
@@ -18933,7 +18803,7 @@ static PyObject *_wrap_DateTime_Format(PyObject *self, PyObject *args, PyObject
         delete arg2;
     }
     {
-        if (arg3) delete arg3;
+        if (temp3) delete arg3;
     }
     return NULL;
 }
@@ -24571,10 +24441,10 @@ static PyMethodDef SwigMethods[] = {
         { (char *)"delete_Caret", (PyCFunction) _wrap_delete_Caret, METH_VARARGS | METH_KEYWORDS },
         { (char *)"Caret_IsOk", (PyCFunction) _wrap_Caret_IsOk, METH_VARARGS | METH_KEYWORDS },
         { (char *)"Caret_IsVisible", (PyCFunction) _wrap_Caret_IsVisible, METH_VARARGS | METH_KEYWORDS },
-        { (char *)"Caret_GetPositionTuple", (PyCFunction) _wrap_Caret_GetPositionTuple, METH_VARARGS | METH_KEYWORDS },
         { (char *)"Caret_GetPosition", (PyCFunction) _wrap_Caret_GetPosition, METH_VARARGS | METH_KEYWORDS },
-        { (char *)"Caret_GetSizeTuple", (PyCFunction) _wrap_Caret_GetSizeTuple, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"Caret_GetPositionTuple", (PyCFunction) _wrap_Caret_GetPositionTuple, METH_VARARGS | METH_KEYWORDS },
         { (char *)"Caret_GetSize", (PyCFunction) _wrap_Caret_GetSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"Caret_GetSizeTuple", (PyCFunction) _wrap_Caret_GetSizeTuple, METH_VARARGS | METH_KEYWORDS },
         { (char *)"Caret_GetWindow", (PyCFunction) _wrap_Caret_GetWindow, METH_VARARGS | METH_KEYWORDS },
         { (char *)"Caret_MoveXY", (PyCFunction) _wrap_Caret_MoveXY, METH_VARARGS | METH_KEYWORDS },
         { (char *)"Caret_Move", (PyCFunction) _wrap_Caret_Move, METH_VARARGS | METH_KEYWORDS },
@@ -24633,10 +24503,10 @@ static PyMethodDef SwigMethods[] = {
         { (char *)"CreateFileTipProvider", (PyCFunction) _wrap_CreateFileTipProvider, METH_VARARGS | METH_KEYWORDS },
         { (char *)"new_Timer", (PyCFunction) _wrap_new_Timer, METH_VARARGS | METH_KEYWORDS },
         { (char *)"delete_Timer", (PyCFunction) _wrap_delete_Timer, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"Timer__setCallbackInfo", (PyCFunction) _wrap_Timer__setCallbackInfo, METH_VARARGS | METH_KEYWORDS },
         { (char *)"Timer_SetOwner", (PyCFunction) _wrap_Timer_SetOwner, METH_VARARGS | METH_KEYWORDS },
         { (char *)"Timer_Start", (PyCFunction) _wrap_Timer_Start, METH_VARARGS | METH_KEYWORDS },
         { (char *)"Timer_Stop", (PyCFunction) _wrap_Timer_Stop, METH_VARARGS | METH_KEYWORDS },
-        { (char *)"Timer_Notify", (PyCFunction) _wrap_Timer_Notify, METH_VARARGS | METH_KEYWORDS },
         { (char *)"Timer_IsRunning", (PyCFunction) _wrap_Timer_IsRunning, METH_VARARGS | METH_KEYWORDS },
         { (char *)"Timer_GetInterval", (PyCFunction) _wrap_Timer_GetInterval, METH_VARARGS | METH_KEYWORDS },
         { (char *)"Timer_IsOneShot", (PyCFunction) _wrap_Timer_IsOneShot, METH_VARARGS | METH_KEYWORDS },
index 196f9371ec1cd5e9fcf58f9b3baeb60b7253177c..c658e38b63cf0f1492e8874d254c1e4be0210f71 100644 (file)
@@ -91,9 +91,7 @@ class ScrolledWindow(Panel):
     def GetScrollPixelsPerUnit(*args, **kwargs):
         """GetScrollPixelsPerUnit() -> (xUnit, yUnit)
 
-
-        get the size of one logical unit in physical ones
-        """
+Get the size of one logical unit in physical units."""
         return _windows.ScrolledWindow_GetScrollPixelsPerUnit(*args, **kwargs)
 
     def EnableScrolling(*args, **kwargs):
@@ -101,7 +99,9 @@ class ScrolledWindow(Panel):
         return _windows.ScrolledWindow_EnableScrolling(*args, **kwargs)
 
     def GetViewStart(*args, **kwargs):
-        """GetViewStart(int OUTPUT, int OUTPUT)"""
+        """GetViewStart() -> (x,y)
+
+Get the view start"""
         return _windows.ScrolledWindow_GetViewStart(*args, **kwargs)
 
     def SetScale(*args, **kwargs):
@@ -117,13 +117,17 @@ class ScrolledWindow(Panel):
         return _windows.ScrolledWindow_GetScaleY(*args, **kwargs)
 
     def CalcScrolledPosition(*args):
-        """CalcScrolledPosition(int x, int y, int OUTPUT, int OUTPUT)
-CalcScrolledPosition(Point pt) -> Point"""
+        """CalcScrolledPosition(Point pt) -> Point
+CalcScrolledPosition(int x, int y) -> (sx, sy)
+
+Translate between scrolled and unscrolled coordinates."""
         return _windows.ScrolledWindow_CalcScrolledPosition(*args)
 
     def CalcUnscrolledPosition(*args):
-        """CalcUnscrolledPosition(int x, int y, int OUTPUT, int OUTPUT)
-CalcUnscrolledPosition(Point pt) -> Point"""
+        """CalcUnscrolledPosition(Point pt) -> Point
+CalcUnscrolledPosition(int x, int y) -> (ux, uy)
+
+Translate between scrolled and unscrolled coordinates."""
         return _windows.ScrolledWindow_CalcUnscrolledPosition(*args)
 
     def AdjustScrollbars(*args, **kwargs):
@@ -661,7 +665,7 @@ class StatusBar(core.Window):
         return _windows.StatusBar_SetStatusWidths(*args, **kwargs)
 
     def GetFieldRect(*args, **kwargs):
-        """GetFieldRect(int i, Rect rect) -> bool"""
+        """GetFieldRect(int i) -> Rect"""
         return _windows.StatusBar_GetFieldRect(*args, **kwargs)
 
     def SetMinHeight(*args, **kwargs):
@@ -2459,15 +2463,15 @@ class PyWindow(core.Window):
         return _windows.PyWindow_base_DoSetVirtualSize(*args, **kwargs)
 
     def base_DoGetSize(*args, **kwargs):
-        """base_DoGetSize(int OUTPUT, int OUTPUT)"""
+        """base_DoGetSize() -> (width, height)"""
         return _windows.PyWindow_base_DoGetSize(*args, **kwargs)
 
     def base_DoGetClientSize(*args, **kwargs):
-        """base_DoGetClientSize(int OUTPUT, int OUTPUT)"""
+        """base_DoGetClientSize() -> (width, height)"""
         return _windows.PyWindow_base_DoGetClientSize(*args, **kwargs)
 
     def base_DoGetPosition(*args, **kwargs):
-        """base_DoGetPosition(int OUTPUT, int OUTPUT)"""
+        """base_DoGetPosition() -> (x,y)"""
         return _windows.PyWindow_base_DoGetPosition(*args, **kwargs)
 
     def base_DoGetVirtualSize(*args, **kwargs):
@@ -2556,15 +2560,15 @@ class PyPanel(Panel):
         return _windows.PyPanel_base_DoSetVirtualSize(*args, **kwargs)
 
     def base_DoGetSize(*args, **kwargs):
-        """base_DoGetSize(int OUTPUT, int OUTPUT)"""
+        """base_DoGetSize() -> (width, height)"""
         return _windows.PyPanel_base_DoGetSize(*args, **kwargs)
 
     def base_DoGetClientSize(*args, **kwargs):
-        """base_DoGetClientSize(int OUTPUT, int OUTPUT)"""
+        """base_DoGetClientSize() -> (width, height)"""
         return _windows.PyPanel_base_DoGetClientSize(*args, **kwargs)
 
     def base_DoGetPosition(*args, **kwargs):
-        """base_DoGetPosition(int OUTPUT, int OUTPUT)"""
+        """base_DoGetPosition() -> (x,y)"""
         return _windows.PyPanel_base_DoGetPosition(*args, **kwargs)
 
     def base_DoGetVirtualSize(*args, **kwargs):
@@ -3256,20 +3260,20 @@ class Printout(core.Object):
         """SetDC(wxDC dc)"""
         return _windows.Printout_SetDC(*args, **kwargs)
 
-    def GetPageSizePixels(*args, **kwargs):
-        """GetPageSizePixels(int OUTPUT, int OUTPUT)"""
-        return _windows.Printout_GetPageSizePixels(*args, **kwargs)
-
     def SetPageSizePixels(*args, **kwargs):
         """SetPageSizePixels(int w, int h)"""
         return _windows.Printout_SetPageSizePixels(*args, **kwargs)
 
+    def GetPageSizePixels(*args, **kwargs):
+        """GetPageSizePixels() -> (w, h)"""
+        return _windows.Printout_GetPageSizePixels(*args, **kwargs)
+
     def SetPageSizeMM(*args, **kwargs):
         """SetPageSizeMM(int w, int h)"""
         return _windows.Printout_SetPageSizeMM(*args, **kwargs)
 
     def GetPageSizeMM(*args, **kwargs):
-        """GetPageSizeMM(int OUTPUT, int OUTPUT)"""
+        """GetPageSizeMM() -> (w, h)"""
         return _windows.Printout_GetPageSizeMM(*args, **kwargs)
 
     def SetPPIScreen(*args, **kwargs):
@@ -3277,7 +3281,7 @@ class Printout(core.Object):
         return _windows.Printout_SetPPIScreen(*args, **kwargs)
 
     def GetPPIScreen(*args, **kwargs):
-        """GetPPIScreen(int OUTPUT, int OUTPUT)"""
+        """GetPPIScreen() -> (x,y)"""
         return _windows.Printout_GetPPIScreen(*args, **kwargs)
 
     def SetPPIPrinter(*args, **kwargs):
@@ -3285,7 +3289,7 @@ class Printout(core.Object):
         return _windows.Printout_SetPPIPrinter(*args, **kwargs)
 
     def GetPPIPrinter(*args, **kwargs):
-        """GetPPIPrinter(int OUTPUT, int OUTPUT)"""
+        """GetPPIPrinter() -> (x,y)"""
         return _windows.Printout_GetPPIPrinter(*args, **kwargs)
 
     def IsPreview(*args, **kwargs):
@@ -3316,14 +3320,14 @@ class Printout(core.Object):
         """base_OnPreparePrinting()"""
         return _windows.Printout_base_OnPreparePrinting(*args, **kwargs)
 
-    def base_GetPageInfo(*args, **kwargs):
-        """base_GetPageInfo(int OUTPUT, int OUTPUT, int OUTPUT, int OUTPUT)"""
-        return _windows.Printout_base_GetPageInfo(*args, **kwargs)
-
     def base_HasPage(*args, **kwargs):
         """base_HasPage(int page) -> bool"""
         return _windows.Printout_base_HasPage(*args, **kwargs)
 
+    def base_GetPageInfo(*args, **kwargs):
+        """base_GetPageInfo() -> (minPage, maxPage, pageFrom, pageTo)"""
+        return _windows.Printout_base_GetPageInfo(*args, **kwargs)
+
 
 class PrintoutPtr(Printout):
     def __init__(self, this):
index fd44547253a5ffefaf8a1580f32b88645ac90c35..4a20e7ac316a09fc1f44717038020bc18f8019b6 100644 (file)
@@ -365,6 +365,11 @@ bool wxDialog_IsModalShowing(wxDialog *self){
         }
 
 
+wxRect wxStatusBar_GetFieldRect(wxStatusBar *self,int i){
+            wxRect r;
+            self->GetFieldRect(i, r);
+            return r;
+        }
 
     static const wxChar* wxSplitterNameStr = wxT("splitter");
     DECLARE_DEF_STRING(SplitterNameStr);
@@ -1663,33 +1668,29 @@ static PyObject *_wrap_ScrolledWindow_GetScaleY(PyObject *self, PyObject *args,
 static PyObject *_wrap_ScrolledWindow_CalcScrolledPosition__SWIG_0(PyObject *self, PyObject *args) {
     PyObject *resultobj;
     wxScrolledWindow *arg1 = (wxScrolledWindow *) 0 ;
-    int arg2 ;
-    int arg3 ;
-    int *arg4 = (int *) 0 ;
-    int *arg5 = (int *) 0 ;
-    int temp4 ;
-    int temp5 ;
+    wxPoint *arg2 = 0 ;
+    wxPoint result;
+    wxPoint temp2 ;
     PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
     
-    arg4 = &temp4;
-    arg5 = &temp5;
-    if(!PyArg_ParseTuple(args,(char *)"Oii:ScrolledWindow_CalcScrolledPosition",&obj0,&arg2,&arg3)) goto fail;
+    if(!PyArg_ParseTuple(args,(char *)"OO:ScrolledWindow_CalcScrolledPosition",&obj0,&obj1)) goto fail;
     if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxScrolledWindow,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = &temp2;
+        if ( ! wxPoint_helper(obj1, &arg2)) SWIG_fail;
+    }
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
-        ((wxScrolledWindow const *)arg1)->CalcScrolledPosition(arg2,arg3,arg4,arg5);
+        result = ((wxScrolledWindow const *)arg1)->CalcScrolledPosition((wxPoint const &)*arg2);
         
         wxPyEndAllowThreads(__tstate);
         if (PyErr_Occurred()) SWIG_fail;
     }
-    Py_INCREF(Py_None); resultobj = Py_None;
     {
-        PyObject *o = PyInt_FromLong((long) (*arg4));
-        resultobj = t_output_helper(resultobj,o);
-    }
-    {
-        PyObject *o = PyInt_FromLong((long) (*arg5));
-        resultobj = t_output_helper(resultobj,o);
+        wxPoint * resultptr;
+        resultptr = new wxPoint((wxPoint &) result);
+        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_wxPoint, 1);
     }
     return resultobj;
     fail:
@@ -1700,29 +1701,33 @@ static PyObject *_wrap_ScrolledWindow_CalcScrolledPosition__SWIG_0(PyObject *sel
 static PyObject *_wrap_ScrolledWindow_CalcScrolledPosition__SWIG_1(PyObject *self, PyObject *args) {
     PyObject *resultobj;
     wxScrolledWindow *arg1 = (wxScrolledWindow *) 0 ;
-    wxPoint *arg2 = 0 ;
-    wxPoint result;
-    wxPoint temp2 ;
+    int arg2 ;
+    int arg3 ;
+    int *arg4 = (int *) 0 ;
+    int *arg5 = (int *) 0 ;
+    int temp4 ;
+    int temp5 ;
     PyObject * obj0 = 0 ;
-    PyObject * obj1 = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"OO:ScrolledWindow_CalcScrolledPosition",&obj0,&obj1)) goto fail;
+    arg4 = &temp4;
+    arg5 = &temp5;
+    if(!PyArg_ParseTuple(args,(char *)"Oii:ScrolledWindow_CalcScrolledPosition",&obj0,&arg2,&arg3)) goto fail;
     if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxScrolledWindow,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    {
-        arg2 = &temp2;
-        if ( ! wxPoint_helper(obj1, &arg2)) SWIG_fail;
-    }
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
-        result = ((wxScrolledWindow const *)arg1)->CalcScrolledPosition((wxPoint const &)*arg2);
+        ((wxScrolledWindow const *)arg1)->CalcScrolledPosition(arg2,arg3,arg4,arg5);
         
         wxPyEndAllowThreads(__tstate);
         if (PyErr_Occurred()) SWIG_fail;
     }
+    Py_INCREF(Py_None); resultobj = Py_None;
     {
-        wxPoint * resultptr;
-        resultptr = new wxPoint((wxPoint &) result);
-        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_wxPoint, 1);
+        PyObject *o = PyInt_FromLong((long) (*arg4));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    {
+        PyObject *o = PyInt_FromLong((long) (*arg5));
+        resultobj = t_output_helper(resultobj,o);
     }
     return resultobj;
     fail:
@@ -1755,7 +1760,7 @@ static PyObject *_wrap_ScrolledWindow_CalcScrolledPosition(PyObject *self, PyObj
                 _v = wxPySimple_typecheck(argv[1], wxT("wxPoint"), 2);
             }
             if (_v) {
-                return _wrap_ScrolledWindow_CalcScrolledPosition__SWIG_1(self,args);
+                return _wrap_ScrolledWindow_CalcScrolledPosition__SWIG_0(self,args);
             }
         }
     }
@@ -1779,7 +1784,7 @@ static PyObject *_wrap_ScrolledWindow_CalcScrolledPosition(PyObject *self, PyObj
                     _v = (PyInt_Check(argv[2]) || PyLong_Check(argv[2])) ? 1 : 0;
                 }
                 if (_v) {
-                    return _wrap_ScrolledWindow_CalcScrolledPosition__SWIG_0(self,args);
+                    return _wrap_ScrolledWindow_CalcScrolledPosition__SWIG_1(self,args);
                 }
             }
         }
@@ -1793,33 +1798,29 @@ static PyObject *_wrap_ScrolledWindow_CalcScrolledPosition(PyObject *self, PyObj
 static PyObject *_wrap_ScrolledWindow_CalcUnscrolledPosition__SWIG_0(PyObject *self, PyObject *args) {
     PyObject *resultobj;
     wxScrolledWindow *arg1 = (wxScrolledWindow *) 0 ;
-    int arg2 ;
-    int arg3 ;
-    int *arg4 = (int *) 0 ;
-    int *arg5 = (int *) 0 ;
-    int temp4 ;
-    int temp5 ;
+    wxPoint *arg2 = 0 ;
+    wxPoint result;
+    wxPoint temp2 ;
     PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
     
-    arg4 = &temp4;
-    arg5 = &temp5;
-    if(!PyArg_ParseTuple(args,(char *)"Oii:ScrolledWindow_CalcUnscrolledPosition",&obj0,&arg2,&arg3)) goto fail;
+    if(!PyArg_ParseTuple(args,(char *)"OO:ScrolledWindow_CalcUnscrolledPosition",&obj0,&obj1)) goto fail;
     if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxScrolledWindow,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = &temp2;
+        if ( ! wxPoint_helper(obj1, &arg2)) SWIG_fail;
+    }
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
-        ((wxScrolledWindow const *)arg1)->CalcUnscrolledPosition(arg2,arg3,arg4,arg5);
+        result = ((wxScrolledWindow const *)arg1)->CalcUnscrolledPosition((wxPoint const &)*arg2);
         
         wxPyEndAllowThreads(__tstate);
         if (PyErr_Occurred()) SWIG_fail;
     }
-    Py_INCREF(Py_None); resultobj = Py_None;
     {
-        PyObject *o = PyInt_FromLong((long) (*arg4));
-        resultobj = t_output_helper(resultobj,o);
-    }
-    {
-        PyObject *o = PyInt_FromLong((long) (*arg5));
-        resultobj = t_output_helper(resultobj,o);
+        wxPoint * resultptr;
+        resultptr = new wxPoint((wxPoint &) result);
+        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_wxPoint, 1);
     }
     return resultobj;
     fail:
@@ -1830,29 +1831,33 @@ static PyObject *_wrap_ScrolledWindow_CalcUnscrolledPosition__SWIG_0(PyObject *s
 static PyObject *_wrap_ScrolledWindow_CalcUnscrolledPosition__SWIG_1(PyObject *self, PyObject *args) {
     PyObject *resultobj;
     wxScrolledWindow *arg1 = (wxScrolledWindow *) 0 ;
-    wxPoint *arg2 = 0 ;
-    wxPoint result;
-    wxPoint temp2 ;
+    int arg2 ;
+    int arg3 ;
+    int *arg4 = (int *) 0 ;
+    int *arg5 = (int *) 0 ;
+    int temp4 ;
+    int temp5 ;
     PyObject * obj0 = 0 ;
-    PyObject * obj1 = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"OO:ScrolledWindow_CalcUnscrolledPosition",&obj0,&obj1)) goto fail;
+    arg4 = &temp4;
+    arg5 = &temp5;
+    if(!PyArg_ParseTuple(args,(char *)"Oii:ScrolledWindow_CalcUnscrolledPosition",&obj0,&arg2,&arg3)) goto fail;
     if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxScrolledWindow,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    {
-        arg2 = &temp2;
-        if ( ! wxPoint_helper(obj1, &arg2)) SWIG_fail;
-    }
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
-        result = ((wxScrolledWindow const *)arg1)->CalcUnscrolledPosition((wxPoint const &)*arg2);
+        ((wxScrolledWindow const *)arg1)->CalcUnscrolledPosition(arg2,arg3,arg4,arg5);
         
         wxPyEndAllowThreads(__tstate);
         if (PyErr_Occurred()) SWIG_fail;
     }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        PyObject *o = PyInt_FromLong((long) (*arg4));
+        resultobj = t_output_helper(resultobj,o);
+    }
     {
-        wxPoint * resultptr;
-        resultptr = new wxPoint((wxPoint &) result);
-        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_wxPoint, 1);
+        PyObject *o = PyInt_FromLong((long) (*arg5));
+        resultobj = t_output_helper(resultobj,o);
     }
     return resultobj;
     fail:
@@ -1885,7 +1890,7 @@ static PyObject *_wrap_ScrolledWindow_CalcUnscrolledPosition(PyObject *self, PyO
                 _v = wxPySimple_typecheck(argv[1], wxT("wxPoint"), 2);
             }
             if (_v) {
-                return _wrap_ScrolledWindow_CalcUnscrolledPosition__SWIG_1(self,args);
+                return _wrap_ScrolledWindow_CalcUnscrolledPosition__SWIG_0(self,args);
             }
         }
     }
@@ -1909,7 +1914,7 @@ static PyObject *_wrap_ScrolledWindow_CalcUnscrolledPosition(PyObject *self, PyO
                     _v = (PyInt_Check(argv[2]) || PyLong_Check(argv[2])) ? 1 : 0;
                 }
                 if (_v) {
-                    return _wrap_ScrolledWindow_CalcUnscrolledPosition__SWIG_0(self,args);
+                    return _wrap_ScrolledWindow_CalcUnscrolledPosition__SWIG_1(self,args);
                 }
             }
         }
@@ -4903,29 +4908,26 @@ static PyObject *_wrap_StatusBar_GetFieldRect(PyObject *self, PyObject *args, Py
     PyObject *resultobj;
     wxStatusBar *arg1 = (wxStatusBar *) 0 ;
     int arg2 ;
-    wxRect *arg3 = 0 ;
-    bool result;
-    wxRect temp3 ;
+    wxRect result;
     PyObject * obj0 = 0 ;
-    PyObject * obj2 = 0 ;
     char *kwnames[] = {
-        (char *) "self",(char *) "i",(char *) "rect", NULL 
+        (char *) "self",(char *) "i", NULL 
     };
     
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OiO:StatusBar_GetFieldRect",kwnames,&obj0,&arg2,&obj2)) goto fail;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:StatusBar_GetFieldRect",kwnames,&obj0,&arg2)) goto fail;
     if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxStatusBar,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    {
-        arg3 = &temp3;
-        if ( ! wxRect_helper(obj2, &arg3)) SWIG_fail;
-    }
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
-        result = (bool)((wxStatusBar const *)arg1)->GetFieldRect(arg2,*arg3);
+        result = wxStatusBar_GetFieldRect(arg1,arg2);
         
         wxPyEndAllowThreads(__tstate);
         if (PyErr_Occurred()) SWIG_fail;
     }
-    resultobj = PyInt_FromLong((long)result);
+    {
+        wxRect * resultptr;
+        resultptr = new wxRect((wxRect &) result);
+        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_wxRect, 1);
+    }
     return resultobj;
     fail:
     return NULL;
@@ -18296,64 +18298,64 @@ static PyObject *_wrap_Printout_SetDC(PyObject *self, PyObject *args, PyObject *
 }
 
 
-static PyObject *_wrap_Printout_GetPageSizePixels(PyObject *self, PyObject *args, PyObject *kwargs) {
+static PyObject *_wrap_Printout_SetPageSizePixels(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxPyPrintout *arg1 = (wxPyPrintout *) 0 ;
-    int *arg2 = (int *) 0 ;
-    int *arg3 = (int *) 0 ;
-    int temp2 ;
-    int temp3 ;
+    int arg2 ;
+    int arg3 ;
     PyObject * obj0 = 0 ;
     char *kwnames[] = {
-        (char *) "self", NULL 
+        (char *) "self",(char *) "w",(char *) "h", NULL 
     };
     
-    arg2 = &temp2;
-    arg3 = &temp3;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:Printout_GetPageSizePixels",kwnames,&obj0)) goto fail;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oii:Printout_SetPageSizePixels",kwnames,&obj0,&arg2,&arg3)) goto fail;
     if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPrintout,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
-        (arg1)->GetPageSizePixels(arg2,arg3);
+        (arg1)->SetPageSizePixels(arg2,arg3);
         
         wxPyEndAllowThreads(__tstate);
         if (PyErr_Occurred()) SWIG_fail;
     }
     Py_INCREF(Py_None); resultobj = Py_None;
-    {
-        PyObject *o = PyInt_FromLong((long) (*arg2));
-        resultobj = t_output_helper(resultobj,o);
-    }
-    {
-        PyObject *o = PyInt_FromLong((long) (*arg3));
-        resultobj = t_output_helper(resultobj,o);
-    }
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_Printout_SetPageSizePixels(PyObject *self, PyObject *args, PyObject *kwargs) {
+static PyObject *_wrap_Printout_GetPageSizePixels(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxPyPrintout *arg1 = (wxPyPrintout *) 0 ;
-    int arg2 ;
-    int arg3 ;
+    int *arg2 = (int *) 0 ;
+    int *arg3 = (int *) 0 ;
+    int temp2 ;
+    int temp3 ;
     PyObject * obj0 = 0 ;
     char *kwnames[] = {
-        (char *) "self",(char *) "w",(char *) "h", NULL 
+        (char *) "self", NULL 
     };
     
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oii:Printout_SetPageSizePixels",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    arg2 = &temp2;
+    arg3 = &temp3;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:Printout_GetPageSizePixels",kwnames,&obj0)) goto fail;
     if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPrintout,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
-        (arg1)->SetPageSizePixels(arg2,arg3);
+        (arg1)->GetPageSizePixels(arg2,arg3);
         
         wxPyEndAllowThreads(__tstate);
         if (PyErr_Occurred()) SWIG_fail;
     }
     Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        PyObject *o = PyInt_FromLong((long) (*arg2));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    {
+        PyObject *o = PyInt_FromLong((long) (*arg3));
+        resultobj = t_output_helper(resultobj,o);
+    }
     return resultobj;
     fail:
     return NULL;
@@ -18728,6 +18730,32 @@ static PyObject *_wrap_Printout_base_OnPreparePrinting(PyObject *self, PyObject
 }
 
 
+static PyObject *_wrap_Printout_base_HasPage(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPrintout *arg1 = (wxPyPrintout *) 0 ;
+    int arg2 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "page", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:Printout_base_HasPage",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPrintout,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->base_HasPage(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
 static PyObject *_wrap_Printout_base_GetPageInfo(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxPyPrintout *arg1 = (wxPyPrintout *) 0 ;
@@ -18780,32 +18808,6 @@ static PyObject *_wrap_Printout_base_GetPageInfo(PyObject *self, PyObject *args,
 }
 
 
-static PyObject *_wrap_Printout_base_HasPage(PyObject *self, PyObject *args, PyObject *kwargs) {
-    PyObject *resultobj;
-    wxPyPrintout *arg1 = (wxPyPrintout *) 0 ;
-    int arg2 ;
-    bool result;
-    PyObject * obj0 = 0 ;
-    char *kwnames[] = {
-        (char *) "self",(char *) "page", NULL 
-    };
-    
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:Printout_base_HasPage",kwnames,&obj0,&arg2)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPrintout,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    {
-        PyThreadState* __tstate = wxPyBeginAllowThreads();
-        result = (bool)(arg1)->base_HasPage(arg2);
-        
-        wxPyEndAllowThreads(__tstate);
-        if (PyErr_Occurred()) SWIG_fail;
-    }
-    resultobj = PyInt_FromLong((long)result);
-    return resultobj;
-    fail:
-    return NULL;
-}
-
-
 static PyObject * Printout_swigregister(PyObject *self, PyObject *args) {
     PyObject *obj;
     if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
@@ -21266,8 +21268,8 @@ static PyMethodDef SwigMethods[] = {
         { (char *)"Printout_GetTitle", (PyCFunction) _wrap_Printout_GetTitle, METH_VARARGS | METH_KEYWORDS },
         { (char *)"Printout_GetDC", (PyCFunction) _wrap_Printout_GetDC, METH_VARARGS | METH_KEYWORDS },
         { (char *)"Printout_SetDC", (PyCFunction) _wrap_Printout_SetDC, METH_VARARGS | METH_KEYWORDS },
-        { (char *)"Printout_GetPageSizePixels", (PyCFunction) _wrap_Printout_GetPageSizePixels, METH_VARARGS | METH_KEYWORDS },
         { (char *)"Printout_SetPageSizePixels", (PyCFunction) _wrap_Printout_SetPageSizePixels, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"Printout_GetPageSizePixels", (PyCFunction) _wrap_Printout_GetPageSizePixels, METH_VARARGS | METH_KEYWORDS },
         { (char *)"Printout_SetPageSizeMM", (PyCFunction) _wrap_Printout_SetPageSizeMM, METH_VARARGS | METH_KEYWORDS },
         { (char *)"Printout_GetPageSizeMM", (PyCFunction) _wrap_Printout_GetPageSizeMM, METH_VARARGS | METH_KEYWORDS },
         { (char *)"Printout_SetPPIScreen", (PyCFunction) _wrap_Printout_SetPPIScreen, METH_VARARGS | METH_KEYWORDS },
@@ -21281,8 +21283,8 @@ static PyMethodDef SwigMethods[] = {
         { (char *)"Printout_base_OnBeginPrinting", (PyCFunction) _wrap_Printout_base_OnBeginPrinting, METH_VARARGS | METH_KEYWORDS },
         { (char *)"Printout_base_OnEndPrinting", (PyCFunction) _wrap_Printout_base_OnEndPrinting, METH_VARARGS | METH_KEYWORDS },
         { (char *)"Printout_base_OnPreparePrinting", (PyCFunction) _wrap_Printout_base_OnPreparePrinting, METH_VARARGS | METH_KEYWORDS },
-        { (char *)"Printout_base_GetPageInfo", (PyCFunction) _wrap_Printout_base_GetPageInfo, METH_VARARGS | METH_KEYWORDS },
         { (char *)"Printout_base_HasPage", (PyCFunction) _wrap_Printout_base_HasPage, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"Printout_base_GetPageInfo", (PyCFunction) _wrap_Printout_base_GetPageInfo, METH_VARARGS | METH_KEYWORDS },
         { (char *)"Printout_swigregister", Printout_swigregister, METH_VARARGS },
         { (char *)"new_PreviewCanvas", (PyCFunction) _wrap_new_PreviewCanvas, METH_VARARGS | METH_KEYWORDS },
         { (char *)"PreviewCanvas_swigregister", PreviewCanvas_swigregister, METH_VARARGS },
index 55feb72b344781a0a0c95eacd8513ad25ca8767d..589de2b875219542a598c0eb91c27e1ee04e532d 100644 (file)
@@ -111,15 +111,15 @@ class PyWizardPage(WizardPage):
         return _wizard.PyWizardPage_base_DoSetVirtualSize(*args, **kwargs)
 
     def base_DoGetSize(*args, **kwargs):
-        """base_DoGetSize(int OUTPUT, int OUTPUT)"""
+        """base_DoGetSize() -> (width, height)"""
         return _wizard.PyWizardPage_base_DoGetSize(*args, **kwargs)
 
     def base_DoGetClientSize(*args, **kwargs):
-        """base_DoGetClientSize(int OUTPUT, int OUTPUT)"""
+        """base_DoGetClientSize() -> (width, height)"""
         return _wizard.PyWizardPage_base_DoGetClientSize(*args, **kwargs)
 
     def base_DoGetPosition(*args, **kwargs):
-        """base_DoGetPosition(int OUTPUT, int OUTPUT)"""
+        """base_DoGetPosition() -> (x,y)"""
         return _wizard.PyWizardPage_base_DoGetPosition(*args, **kwargs)
 
     def base_DoGetVirtualSize(*args, **kwargs):
index 28796b03323d2fc4459a3f86da5c0d699b4a0ef8..b5dc976af4b20e30336d5ff2824b7314aaddef99 100644 (file)
@@ -1005,7 +1005,9 @@ class TextCtrl(core.Control):
         return _controls.TextCtrl_IsMultiLine(*args, **kwargs)
 
     def GetSelection(*args, **kwargs):
-        """GetSelection(long OUTPUT, long OUTPUT)"""
+        """GetSelection() -> (from, to)
+
+If the return values from and to are the same, there is no selection."""
         return _controls.TextCtrl_GetSelection(*args, **kwargs)
 
     def GetStringSelection(*args, **kwargs):
@@ -1077,7 +1079,7 @@ class TextCtrl(core.Control):
         return _controls.TextCtrl_XYToPosition(*args, **kwargs)
 
     def PositionToXY(*args, **kwargs):
-        """PositionToXY(long pos, long OUTPUT, long OUTPUT)"""
+        """PositionToXY(long pos) -> (x, y)"""
         return _controls.TextCtrl_PositionToXY(*args, **kwargs)
 
     def ShowPosition(*args, **kwargs):
@@ -1913,7 +1915,9 @@ class Notebook(BookCtrl):
         return _controls.Notebook_SetTabSize(*args, **kwargs)
 
     def HitTest(*args, **kwargs):
-        """HitTest(Point pt, long OUTPUT) -> int"""
+        """HitTest(Point pt) -> (tab, where)
+
+Returns the tab which is hit, and flags indicating where using wxNB_HITTEST_ flags."""
         return _controls.Notebook_HitTest(*args, **kwargs)
 
     def CalcSizeFromPage(*args, **kwargs):
@@ -3267,7 +3271,10 @@ class ListCtrl(core.Control):
         return _controls.ListCtrl_FindItemAtPos(*args, **kwargs)
 
     def HitTest(*args, **kwargs):
-        """HitTest(Point point, int OUTPUT) -> long"""
+        """HitTest(Point point) -> (item, where)
+
+Determines which item (if any) is at the specified point,
+giving details in the second return value (see wxLIST_HITTEST_... flags.)"""
         return _controls.ListCtrl_HitTest(*args, **kwargs)
 
     def InsertItem(*args, **kwargs):
@@ -4004,7 +4011,13 @@ class TreeCtrl(core.Control):
         return _controls.TreeCtrl_SortChildren(*args, **kwargs)
 
     def HitTest(*args, **kwargs):
-        """HitTest(Point point, int OUTPUT) -> TreeItemId"""
+        """HitTest(Point point) -> (item, where)
+
+Determine which item (if any) belongs the given point.  The
+coordinates specified are relative to the client area of tree ctrl
+and the where return value is set to a bitmask of wxTREE_HITTEST_xxx
+constants.
+"""
         return _controls.TreeCtrl_HitTest(*args, **kwargs)
 
     def GetBoundingRect(*args, **kwargs):
@@ -4117,7 +4130,12 @@ class GenericDirCtrl(core.Control):
         return _controls.GenericDirCtrl_GetFilterListCtrl(*args, **kwargs)
 
     def FindChild(*args, **kwargs):
-        """FindChild(TreeItemId parentId, wxString path, bool OUTPUT) -> TreeItemId"""
+        """FindChild(wxTreeItemId parentId, wxString path) -> (item, done)
+
+Find the child that matches the first part of 'path'.  E.g. if a child path is
+"/usr" and 'path' is "/usr/include" then the child for /usr is returned.
+If the path string has been used (we're at the leaf), done is set to True
+"""
         return _controls.GenericDirCtrl_FindChild(*args, **kwargs)
 
     def DoResize(*args, **kwargs):
@@ -4215,15 +4233,15 @@ class PyControl(core.Control):
         return _controls.PyControl_base_DoSetVirtualSize(*args, **kwargs)
 
     def base_DoGetSize(*args, **kwargs):
-        """base_DoGetSize(int OUTPUT, int OUTPUT)"""
+        """base_DoGetSize() -> (width, height)"""
         return _controls.PyControl_base_DoGetSize(*args, **kwargs)
 
     def base_DoGetClientSize(*args, **kwargs):
-        """base_DoGetClientSize(int OUTPUT, int OUTPUT)"""
+        """base_DoGetClientSize() -> (width, height)"""
         return _controls.PyControl_base_DoGetClientSize(*args, **kwargs)
 
     def base_DoGetPosition(*args, **kwargs):
-        """base_DoGetPosition(int OUTPUT, int OUTPUT)"""
+        """base_DoGetPosition() -> (x,y)"""
         return _controls.PyControl_base_DoGetPosition(*args, **kwargs)
 
     def base_DoGetVirtualSize(*args, **kwargs):
index 20984a1c55e8369e6b94a817aae4d0f753e870e7..75a0ee4ba31bdcfea4cd65eb59365d2e75b98dc0 100644 (file)
@@ -4396,105 +4396,177 @@ class PyApp(EvtHandler):
         return _core.PyApp__setCallbackInfo(*args, **kwargs)
 
     def GetAppName(*args, **kwargs):
-        """GetAppName() -> wxString"""
+        """GetAppName() -> wxString
+
+Get the application name."""
         return _core.PyApp_GetAppName(*args, **kwargs)
 
     def SetAppName(*args, **kwargs):
-        """SetAppName(wxString name)"""
+        """SetAppName(wxString name)
+
+Set the application name. This value may be used automatically
+by wxConfig and such."""
         return _core.PyApp_SetAppName(*args, **kwargs)
 
     def GetClassName(*args, **kwargs):
         """GetClassName() -> wxString
 
-Returns the class name of the C++ object using wxRTTI."""
+Get the application's class name."""
         return _core.PyApp_GetClassName(*args, **kwargs)
 
     def SetClassName(*args, **kwargs):
-        """SetClassName(wxString name)"""
+        """SetClassName(wxString name)
+
+Set the application's class name. This value may be used for X-resources if
+applicable for the platform"""
         return _core.PyApp_SetClassName(*args, **kwargs)
 
     def GetVendorName(*args, **kwargs):
-        """GetVendorName() -> wxString"""
+        """GetVendorName() -> wxString
+
+Get the application's vendor name."""
         return _core.PyApp_GetVendorName(*args, **kwargs)
 
     def SetVendorName(*args, **kwargs):
-        """SetVendorName(wxString name)"""
+        """SetVendorName(wxString name)
+
+Set the application's vendor name. This value may be used automatically
+by wxConfig and such."""
         return _core.PyApp_SetVendorName(*args, **kwargs)
 
     def GetTraits(*args, **kwargs):
-        """GetTraits() -> wxAppTraits"""
+        """GetTraits() -> wxAppTraits
+
+Create the app traits object to which we delegate for everything which either
+should be configurable by the user (then he can change the default behaviour
+simply by overriding CreateTraits() and returning his own traits object) or
+which is GUI/console dependent as then wxAppTraits allows us to abstract the
+differences behind the common facade"""
         return _core.PyApp_GetTraits(*args, **kwargs)
 
     def ProcessPendingEvents(*args, **kwargs):
-        """ProcessPendingEvents()"""
+        """ProcessPendingEvents()
+
+Process all events in the wxPendingEvents list -- it is necessary to call this
+function to process posted events. This happens during each event loop
+iteration."""
         return _core.PyApp_ProcessPendingEvents(*args, **kwargs)
 
     def Yield(*args, **kwargs):
-        """Yield(bool onlyIfNeeded=False) -> bool"""
+        """Yield(bool onlyIfNeeded=False) -> bool
+
+Process all currently pending events right now, instead of waiting until
+return to the event loop.  It is an error to call Yield() recursively unless
+the value of onlyIfNeeded is True.
+
+WARNING: This function is dangerous as it can lead to unexpected
+         reentrancies (i.e. when called from an event handler it
+         may result in calling the same event handler again), use
+         with _extreme_ care or, better, don't use at all!
+"""
         return _core.PyApp_Yield(*args, **kwargs)
 
     def WakeUpIdle(*args, **kwargs):
-        """WakeUpIdle()"""
+        """WakeUpIdle()
+
+Make sure that idle events are sent again"""
         return _core.PyApp_WakeUpIdle(*args, **kwargs)
 
     def MainLoop(*args, **kwargs):
-        """MainLoop() -> int"""
+        """MainLoop() -> int
+
+Execute the main GUI loop, the function returns when the loop ends."""
         return _core.PyApp_MainLoop(*args, **kwargs)
 
     def Exit(*args, **kwargs):
-        """Exit()"""
+        """Exit()
+
+Exit the main loop thus terminating the application."""
         return _core.PyApp_Exit(*args, **kwargs)
 
     def ExitMainLoop(*args, **kwargs):
-        """ExitMainLoop()"""
+        """ExitMainLoop()
+
+Exit the main GUI loop during the next iteration (i.e. it does not
+stop the program immediately!)"""
         return _core.PyApp_ExitMainLoop(*args, **kwargs)
 
     def Pending(*args, **kwargs):
-        """Pending() -> bool"""
+        """Pending() -> bool
+
+Returns True if there are unprocessed events in the event queue."""
         return _core.PyApp_Pending(*args, **kwargs)
 
     def Dispatch(*args, **kwargs):
-        """Dispatch() -> bool"""
+        """Dispatch() -> bool
+
+Process the first event in the event queue (blocks until an event
+appears if there are none currently)"""
         return _core.PyApp_Dispatch(*args, **kwargs)
 
     def ProcessIdle(*args, **kwargs):
-        """ProcessIdle() -> bool"""
+        """ProcessIdle() -> bool
+
+Called from the MainLoop when the application becomes idle and sends an
+IdleEvent to all interested parties.  Returns True is more idle events are
+needed, False if not."""
         return _core.PyApp_ProcessIdle(*args, **kwargs)
 
     def SendIdleEvents(*args, **kwargs):
-        """SendIdleEvents(Window win, IdleEvent event) -> bool"""
-        return _core.PyApp_SendIdleEvents(*args, **kwargs)
+        """SendIdleEvents(Window win, IdleEvent event) -> bool
 
-    def OnIdle(*args, **kwargs):
-        """OnIdle(IdleEvent event)"""
-        return _core.PyApp_OnIdle(*args, **kwargs)
+Send idle event to window and all subwindows.  Returns True if more idle time
+is requested."""
+        return _core.PyApp_SendIdleEvents(*args, **kwargs)
 
     def IsActive(*args, **kwargs):
-        """IsActive() -> bool"""
+        """IsActive() -> bool
+
+Return True if our app has focus."""
         return _core.PyApp_IsActive(*args, **kwargs)
 
     def SetTopWindow(*args, **kwargs):
-        """SetTopWindow(Window win)"""
+        """SetTopWindow(Window win)
+
+Set the "main" top level window"""
         return _core.PyApp_SetTopWindow(*args, **kwargs)
 
     def GetTopWindow(*args, **kwargs):
-        """GetTopWindow() -> Window"""
+        """GetTopWindow() -> Window
+
+Return the "main" top level window (if it hadn't been set previously with
+SetTopWindow(), will return just some top level window and, if there not any,
+will return None)"""
         return _core.PyApp_GetTopWindow(*args, **kwargs)
 
     def SetExitOnFrameDelete(*args, **kwargs):
-        """SetExitOnFrameDelete(bool flag)"""
+        """SetExitOnFrameDelete(bool flag)
+
+Control the exit behaviour: by default, the program will exit the main loop
+(and so, usually, terminate) when the last top-level program window is
+deleted.  Beware that if you disable this behaviour (with
+SetExitOnFrameDelete(False)), you'll have to call ExitMainLoop() explicitly
+from somewhere.
+"""
         return _core.PyApp_SetExitOnFrameDelete(*args, **kwargs)
 
     def GetExitOnFrameDelete(*args, **kwargs):
-        """GetExitOnFrameDelete() -> bool"""
+        """GetExitOnFrameDelete() -> bool
+
+Get the current exit behaviour setting."""
         return _core.PyApp_GetExitOnFrameDelete(*args, **kwargs)
 
     def SetUseBestVisual(*args, **kwargs):
-        """SetUseBestVisual(bool flag)"""
+        """SetUseBestVisual(bool flag)
+
+Set whether the app should try to use the best available visual on systems
+where more than one is available, (Sun, SGI, XFree86 4, etc.)"""
         return _core.PyApp_SetUseBestVisual(*args, **kwargs)
 
     def GetUseBestVisual(*args, **kwargs):
-        """GetUseBestVisual() -> bool"""
+        """GetUseBestVisual() -> bool
+
+Get current UseBestVisual setting."""
         return _core.PyApp_GetUseBestVisual(*args, **kwargs)
 
     def SetPrintMode(*args, **kwargs):
@@ -4505,14 +4577,25 @@ Returns the class name of the C++ object using wxRTTI."""
         """GetPrintMode() -> int"""
         return _core.PyApp_GetPrintMode(*args, **kwargs)
 
-    def GetAssertMode(*args, **kwargs):
-        """GetAssertMode() -> int"""
-        return _core.PyApp_GetAssertMode(*args, **kwargs)
-
     def SetAssertMode(*args, **kwargs):
-        """SetAssertMode(int mode)"""
+        """SetAssertMode(int mode)
+
+Set the OnAssert behaviour for debug and hybrid builds.  The following flags
+may be or'd together:
+
+ wxPYAPP_ASSERT_SUPPRESS         Don't do anything
+ wxPYAPP_ASSERT_EXCEPTION        Turn it into a Python exception if possible (default)
+ wxPYAPP_ASSERT_DIALOG           Display a message dialog
+ wxPYAPP_ASSERT_LOG              Write the assertion info to the wxLog
+"""
         return _core.PyApp_SetAssertMode(*args, **kwargs)
 
+    def GetAssertMode(*args, **kwargs):
+        """GetAssertMode() -> int
+
+Get the current OnAssert behaviour setting."""
+        return _core.PyApp_GetAssertMode(*args, **kwargs)
+
     def GetMacSupportPCMenuShortcuts(*args, **kwargs):
         """PyApp.GetMacSupportPCMenuShortcuts() -> bool"""
         return _core.PyApp_GetMacSupportPCMenuShortcuts(*args, **kwargs)
@@ -4564,11 +4647,16 @@ Returns the class name of the C++ object using wxRTTI."""
 
     SetMacHelpMenuTitleName = staticmethod(SetMacHelpMenuTitleName)
     def _BootstrapApp(*args, **kwargs):
-        """_BootstrapApp()"""
+        """_BootstrapApp()
+
+For internal use only"""
         return _core.PyApp__BootstrapApp(*args, **kwargs)
 
     def GetComCtl32Version(*args, **kwargs):
-        """PyApp.GetComCtl32Version() -> int"""
+        """PyApp.GetComCtl32Version() -> int
+
+Returns 400, 470, 471 for comctl32.dll 4.00, 4.70, 4.71 or 0 if it
+wasn't found at all.  Raises an exception on non-Windows platforms."""
         return _core.PyApp_GetComCtl32Version(*args, **kwargs)
 
     GetComCtl32Version = staticmethod(GetComCtl32Version)
@@ -4621,91 +4709,135 @@ def PyApp_SetMacHelpMenuTitleName(*args, **kwargs):
     return _core.PyApp_SetMacHelpMenuTitleName(*args, **kwargs)
 
 def PyApp_GetComCtl32Version(*args, **kwargs):
-    """PyApp_GetComCtl32Version() -> int"""
+    """PyApp_GetComCtl32Version() -> int
+
+Returns 400, 470, 471 for comctl32.dll 4.00, 4.70, 4.71 or 0 if it
+wasn't found at all.  Raises an exception on non-Windows platforms."""
     return _core.PyApp_GetComCtl32Version(*args, **kwargs)
 
 #---------------------------------------------------------------------------
 
 
 def Exit(*args, **kwargs):
-    """Exit()"""
+    """Exit()
+
+Force an exit of the application.  Convenience for wx.GetApp().Exit()"""
     return _core.Exit(*args, **kwargs)
 
 def Yield(*args, **kwargs):
-    """Yield() -> bool"""
+    """Yield() -> bool
+
+Yield to other apps/messages.  Convenience for wx.GetApp().Yield()"""
     return _core.Yield(*args, **kwargs)
 
 def YieldIfNeeded(*args, **kwargs):
-    """YieldIfNeeded() -> bool"""
+    """YieldIfNeeded() -> bool
+
+Yield to other apps/messages.  Convenience for wx.GetApp().Yield(True)"""
     return _core.YieldIfNeeded(*args, **kwargs)
 
 def SafeYield(*args, **kwargs):
-    """SafeYield(Window win=None, bool onlyIfNeeded=False) -> bool"""
+    """SafeYield(Window win=None, bool onlyIfNeeded=False) -> bool
+
+This function is similar to wx.Yield, except that it disables the user input
+to all program windows before calling wx.Yield and re-enables it again
+afterwards. If win is not None, this window will remain enabled, allowing the
+implementation of some limited user interaction.
+
+Returns the result of the call to wx.Yield."""
     return _core.SafeYield(*args, **kwargs)
 
 def WakeUpIdle(*args, **kwargs):
-    """WakeUpIdle()"""
+    """WakeUpIdle()
+
+Cause the message queue to become empty again, so idle events will be sent."""
     return _core.WakeUpIdle(*args, **kwargs)
 
 def PostEvent(*args, **kwargs):
-    """PostEvent(EvtHandler dest, Event event)"""
+    """PostEvent(EvtHandler dest, Event event)
+
+Send an event to a window or other wx.EvtHandler to be processed later."""
     return _core.PostEvent(*args, **kwargs)
 
 def App_CleanUp(*args, **kwargs):
-    """App_CleanUp()"""
+    """App_CleanUp()
+
+For internal use only, it is used to cleanup after wxWindows when Python shuts down."""
     return _core.App_CleanUp(*args, **kwargs)
 
 def GetApp(*args, **kwargs):
-    """GetApp() -> PyApp"""
+    """GetApp() -> PyApp
+
+Return a reference to the current wxApp object."""
     return _core.GetApp(*args, **kwargs)
 #----------------------------------------------------------------------
 
 class PyOnDemandOutputWindow:
+    """
+    A class that can be used for redirecting Python's stdout and
+    stderr streams.  It will do nothing until something is wrriten to
+    the stream at which point it will create a Frame with a text area
+    and write the text there.
+    """
     def __init__(self, title = "wxPython: stdout/stderr"):
         self.frame  = None
         self.title  = title
         self.parent = None
 
     def SetParent(self, parent):
+        """Set the window to be used as the popup Frame's parent."""
         self.parent = parent
 
-    def OnCloseWindow(self, event):
-        if self.frame != None:
-            self.frame.Destroy()
-        self.frame = None
-        self.text  = None
+
+    def CreateOutputWindow(self, st):
+        self.frame = wx.Frame(self.parent, -1, self.title,
+                              style=wx.DEFAULT_FRAME_STYLE | wx.NO_FULL_REPAINT_ON_RESIZE)
+        self.text  = wxTextCtrl(self.frame, -1, "",
+                                style = wx.TE_MULTILINE | wx.TE_READONLY)
+        self.frame.SetSize((450, 300))
+        self.frame.Show(True)
+        EVT_CLOSE(self.frame, self.OnCloseWindow)
+        
 
     # These methods provide the file-like output behaviour.
-    def write(self, str):
-        if not wx.Thread_IsMain():
-            # Aquire the GUI mutex before making GUI calls.  Mutex is released
-            # when locker is deleted at the end of this function.
-            locker = wx.MutexGuiLocker()
-
-        if not self.frame:
-            self.frame = wx.Frame(self.parent, -1, self.title,
-                                 style=wx.DEFAULT_FRAME_STYLE | wx.NO_FULL_REPAINT_ON_RESIZE)
-            self.text  = wxTextCtrl(self.frame, -1, "",
-                                    style = wx.TE_MULTILINE | wx.TE_READONLY)
-            self.frame.SetSize((450, 300))
-            self.frame.Show(True)
-            EVT_CLOSE(self.frame, self.OnCloseWindow)
-        self.text.AppendText(str)
+    def write(self, text):
+        """
+        Create the output window if needed and write the string to it.
+        If not called in the context of the gui thread then uses
+        CallAfter to do the work there.
+        """        
+        if self.frame is None:
+            if not wx.Thread_IsMain():
+                wx.CallAfter(self.CreateOutputWindow, text)
+            else:
+                self.CreateOutputWindow(text)
+        else:
+            if not wx.Thread_IsMain():
+                wx.CallAfter(self.text.AppendText, text)
+            else:
+                self.text.AppendText(text)
+
 
     def close(self):
-        if self.frame != None:
-            if not wx.Thread_IsMain():
-                locker = wx.MutexGuiLocker()
-            self.frame.Close()
+        if self.frame is not None:
+            wx.CallAfter(self.frame.Close)
+
 
+    def OnCloseWindow(self, event):
+        if self.frame is not None:
+            self.frame.Destroy()
+        self.frame = None
+        self.text  = None
 
 #----------------------------------------------------------------------
-# The main application class.  Derive from this and implement an OnInit
-# method that creates a frame and then calls self.SetTopWindow(frame)
 
 _defRedirect = (wx.Platform == '__WXMSW__' or wx.Platform == '__WXMAC__')
 
 class App(wx.PyApp):
+    """
+    The main application class.  Derive from this and implement an OnInit
+    method that creates a frame and then calls self.SetTopWindow(frame)
+    """
     outputWindowClass = PyOnDemandOutputWindow
 
     def __init__(self, redirect=_defRedirect, filename=None, useBestVisual=False):
@@ -4796,13 +4928,20 @@ App_GetComCtl32Version           = _core.PyApp_GetComCtl32Version
 #----------------------------------------------------------------------------
 
 class PySimpleApp(wx.App):
-    def __init__(self, redirect=False, filename=None):
-        wx.App.__init__(self, redirect, filename)
+    """
+    A simple application class.  You can just create one of these and
+    then then make your top level windows later, and not have to worry
+    about OnInit."""
+
+    def __init__(self, redirect=False, filename=None, useBestVisual=False):
+        wx.App.__init__(self, redirect, filename, useBestVisual)
+        
     def OnInit(self):
         wx.InitAllImageHandlers()
         return True
 
 
+# Is anybody using this one?
 class PyWidgetTester(wx.App):
     def __init__(self, size = (250, 100)):
         self.size = size
@@ -5593,13 +5732,13 @@ Get the width, height, decent and leading of the text using the current or speci
         return _core.Window_GetToolTip(*args, **kwargs)
 
     def SetDropTarget(*args, **kwargs):
-        """SetDropTarget(wxDropTarget dropTarget)"""
+        """SetDropTarget(wxPyDropTarget dropTarget)"""
         val = _core.Window_SetDropTarget(*args, **kwargs)
         args[1].thisown = 0
         return val
 
     def GetDropTarget(*args, **kwargs):
-        """GetDropTarget() -> wxDropTarget"""
+        """GetDropTarget() -> wxPyDropTarget"""
         return _core.Window_GetDropTarget(*args, **kwargs)
 
     def DragAcceptFiles(*args, **kwargs):
@@ -7519,7 +7658,7 @@ class LayoutConstraints(Object):
         self.thisown = 1
         del newobj.thisown
     def SatisfyConstraints(*args, **kwargs):
-        """SatisfyConstraints(Window win, int OUTPUT) -> bool"""
+        """SatisfyConstraints(Window win) -> (areSatisfied, noChanges)"""
         return _core.LayoutConstraints_SatisfyConstraints(*args, **kwargs)
 
     def AreSatisfied(*args, **kwargs):
@@ -7536,16 +7675,13 @@ _core.LayoutConstraints_swigregister(LayoutConstraintsPtr)
 
 #----------------------------------------------------------------------------
 
-# Use Python's bool constants if available, make aliases if not
+# Use Python's bool constants if available, make some if not
 try:
     True
 except NameError:
-    True = 1==1
-    False = 1==0
+    __builtins__.True = 1==1
+    __builtins__.False = 1==0
 
-# Backwards compaatibility
-TRUE  = true  = True
-FALSE = false = False
 
 
 # workarounds for bad wxRTTI names
index 9420c5837c34f9aea9be8b7e3d83bc13406a52de..bb99361d27e0acfdc5af6182cc313f4d63cc03e8 100644 (file)
@@ -321,7 +321,7 @@ SWIGEXPORT(void)              SWIG_Python_InstallConstants(PyObject *d, swig_con
 #define  SWIGTYPE_p_wxPyApp swig_types[103] 
 #define  SWIGTYPE_p_wxCommandEvent swig_types[104] 
 #define  SWIGTYPE_p_wxPyCommandEvent swig_types[105] 
-#define  SWIGTYPE_p_wxDropTarget swig_types[106] 
+#define  SWIGTYPE_p_wxPyDropTarget swig_types[106] 
 #define  SWIGTYPE_p_wxChildFocusEvent swig_types[107] 
 #define  SWIGTYPE_p_wxFocusEvent swig_types[108] 
 #define  SWIGTYPE_p_wxDropFilesEvent swig_types[109] 
@@ -17738,36 +17738,6 @@ static PyObject *_wrap_PyApp_SendIdleEvents(PyObject *self, PyObject *args, PyOb
 }
 
 
-static PyObject *_wrap_PyApp_OnIdle(PyObject *self, PyObject *args, PyObject *kwargs) {
-    PyObject *resultobj;
-    wxPyApp *arg1 = (wxPyApp *) 0 ;
-    wxIdleEvent *arg2 = 0 ;
-    PyObject * obj0 = 0 ;
-    PyObject * obj1 = 0 ;
-    char *kwnames[] = {
-        (char *) "self",(char *) "event", NULL 
-    };
-    
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyApp_OnIdle",kwnames,&obj0,&obj1)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyApp,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxIdleEvent,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if (arg2 == NULL) {
-        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
-    }
-    {
-        PyThreadState* __tstate = wxPyBeginAllowThreads();
-        (arg1)->OnIdle(*arg2);
-        
-        wxPyEndAllowThreads(__tstate);
-        if (PyErr_Occurred()) SWIG_fail;
-    }
-    Py_INCREF(Py_None); resultobj = Py_None;
-    return resultobj;
-    fail:
-    return NULL;
-}
-
-
 static PyObject *_wrap_PyApp_IsActive(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxPyApp *arg1 = (wxPyApp *) 0 ;
@@ -18003,50 +17973,50 @@ static PyObject *_wrap_PyApp_GetPrintMode(PyObject *self, PyObject *args, PyObje
 }
 
 
-static PyObject *_wrap_PyApp_GetAssertMode(PyObject *self, PyObject *args, PyObject *kwargs) {
+static PyObject *_wrap_PyApp_SetAssertMode(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxPyApp *arg1 = (wxPyApp *) 0 ;
-    int result;
+    int arg2 ;
     PyObject * obj0 = 0 ;
     char *kwnames[] = {
-        (char *) "self", NULL 
+        (char *) "self",(char *) "mode", NULL 
     };
     
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyApp_GetAssertMode",kwnames,&obj0)) goto fail;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:PyApp_SetAssertMode",kwnames,&obj0,&arg2)) goto fail;
     if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyApp,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
-        result = (int)(arg1)->GetAssertMode();
+        (arg1)->SetAssertMode(arg2);
         
         wxPyEndAllowThreads(__tstate);
         if (PyErr_Occurred()) SWIG_fail;
     }
-    resultobj = PyInt_FromLong((long)result);
+    Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_PyApp_SetAssertMode(PyObject *self, PyObject *args, PyObject *kwargs) {
+static PyObject *_wrap_PyApp_GetAssertMode(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxPyApp *arg1 = (wxPyApp *) 0 ;
-    int arg2 ;
+    int result;
     PyObject * obj0 = 0 ;
     char *kwnames[] = {
-        (char *) "self",(char *) "mode", NULL 
+        (char *) "self", NULL 
     };
     
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:PyApp_SetAssertMode",kwnames,&obj0,&arg2)) goto fail;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:PyApp_GetAssertMode",kwnames,&obj0)) goto fail;
     if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyApp,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
-        (arg1)->SetAssertMode(arg2);
+        result = (int)(arg1)->GetAssertMode();
         
         wxPyEndAllowThreads(__tstate);
         if (PyErr_Occurred()) SWIG_fail;
     }
-    Py_INCREF(Py_None); resultobj = Py_None;
+    resultobj = PyInt_FromLong((long)result);
     return resultobj;
     fail:
     return NULL;
@@ -23698,7 +23668,7 @@ static PyObject *_wrap_Window_GetToolTip(PyObject *self, PyObject *args, PyObjec
 static PyObject *_wrap_Window_SetDropTarget(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxWindow *arg1 = (wxWindow *) 0 ;
-    wxDropTarget *arg2 = (wxDropTarget *) 0 ;
+    wxPyDropTarget *arg2 = (wxPyDropTarget *) 0 ;
     PyObject * obj0 = 0 ;
     PyObject * obj1 = 0 ;
     char *kwnames[] = {
@@ -23707,7 +23677,7 @@ static PyObject *_wrap_Window_SetDropTarget(PyObject *self, PyObject *args, PyOb
     
     if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:Window_SetDropTarget",kwnames,&obj0,&obj1)) goto fail;
     if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxWindow,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxDropTarget,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxPyDropTarget,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
         (arg1)->SetDropTarget(arg2);
@@ -23725,7 +23695,7 @@ static PyObject *_wrap_Window_SetDropTarget(PyObject *self, PyObject *args, PyOb
 static PyObject *_wrap_Window_GetDropTarget(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxWindow *arg1 = (wxWindow *) 0 ;
-    wxDropTarget *result;
+    wxPyDropTarget *result;
     PyObject * obj0 = 0 ;
     char *kwnames[] = {
         (char *) "self", NULL 
@@ -23735,12 +23705,12 @@ static PyObject *_wrap_Window_GetDropTarget(PyObject *self, PyObject *args, PyOb
     if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxWindow,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
-        result = (wxDropTarget *)((wxWindow const *)arg1)->GetDropTarget();
+        result = (wxPyDropTarget *)((wxWindow const *)arg1)->GetDropTarget();
         
         wxPyEndAllowThreads(__tstate);
         if (PyErr_Occurred()) SWIG_fail;
     }
-    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxDropTarget, 0);
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxPyDropTarget, 0);
     return resultobj;
     fail:
     return NULL;
@@ -36073,7 +36043,6 @@ static PyMethodDef SwigMethods[] = {
         { (char *)"PyApp_Dispatch", (PyCFunction) _wrap_PyApp_Dispatch, METH_VARARGS | METH_KEYWORDS },
         { (char *)"PyApp_ProcessIdle", (PyCFunction) _wrap_PyApp_ProcessIdle, METH_VARARGS | METH_KEYWORDS },
         { (char *)"PyApp_SendIdleEvents", (PyCFunction) _wrap_PyApp_SendIdleEvents, METH_VARARGS | METH_KEYWORDS },
-        { (char *)"PyApp_OnIdle", (PyCFunction) _wrap_PyApp_OnIdle, METH_VARARGS | METH_KEYWORDS },
         { (char *)"PyApp_IsActive", (PyCFunction) _wrap_PyApp_IsActive, METH_VARARGS | METH_KEYWORDS },
         { (char *)"PyApp_SetTopWindow", (PyCFunction) _wrap_PyApp_SetTopWindow, METH_VARARGS | METH_KEYWORDS },
         { (char *)"PyApp_GetTopWindow", (PyCFunction) _wrap_PyApp_GetTopWindow, METH_VARARGS | METH_KEYWORDS },
@@ -36083,8 +36052,8 @@ static PyMethodDef SwigMethods[] = {
         { (char *)"PyApp_GetUseBestVisual", (PyCFunction) _wrap_PyApp_GetUseBestVisual, METH_VARARGS | METH_KEYWORDS },
         { (char *)"PyApp_SetPrintMode", (PyCFunction) _wrap_PyApp_SetPrintMode, METH_VARARGS | METH_KEYWORDS },
         { (char *)"PyApp_GetPrintMode", (PyCFunction) _wrap_PyApp_GetPrintMode, METH_VARARGS | METH_KEYWORDS },
-        { (char *)"PyApp_GetAssertMode", (PyCFunction) _wrap_PyApp_GetAssertMode, METH_VARARGS | METH_KEYWORDS },
         { (char *)"PyApp_SetAssertMode", (PyCFunction) _wrap_PyApp_SetAssertMode, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"PyApp_GetAssertMode", (PyCFunction) _wrap_PyApp_GetAssertMode, METH_VARARGS | METH_KEYWORDS },
         { (char *)"PyApp_GetMacSupportPCMenuShortcuts", (PyCFunction) _wrap_PyApp_GetMacSupportPCMenuShortcuts, METH_VARARGS | METH_KEYWORDS },
         { (char *)"PyApp_GetMacAboutMenuItemId", (PyCFunction) _wrap_PyApp_GetMacAboutMenuItemId, METH_VARARGS | METH_KEYWORDS },
         { (char *)"PyApp_GetMacPreferencesMenuItemId", (PyCFunction) _wrap_PyApp_GetMacPreferencesMenuItemId, METH_VARARGS | METH_KEYWORDS },
@@ -37248,7 +37217,7 @@ static swig_type_info _swigt__p_wxMouseEvent[] = {{"_p_wxMouseEvent", 0, "wxMous
 static swig_type_info _swigt__p_wxPyApp[] = {{"_p_wxPyApp", 0, "wxPyApp *", 0},{"_p_wxPyApp"},{0}};
 static swig_type_info _swigt__p_wxCommandEvent[] = {{"_p_wxCommandEvent", 0, "wxCommandEvent *", 0},{"_p_wxChildFocusEvent", _p_wxChildFocusEventTo_p_wxCommandEvent},{"_p_wxScrollEvent", _p_wxScrollEventTo_p_wxCommandEvent},{"_p_wxWindowCreateEvent", _p_wxWindowCreateEventTo_p_wxCommandEvent},{"_p_wxUpdateUIEvent", _p_wxUpdateUIEventTo_p_wxCommandEvent},{"_p_wxWindowDestroyEvent", _p_wxWindowDestroyEventTo_p_wxCommandEvent},{"_p_wxContextMenuEvent", _p_wxContextMenuEventTo_p_wxCommandEvent},{"_p_wxCommandEvent"},{"_p_wxNotifyEvent", _p_wxNotifyEventTo_p_wxCommandEvent},{"_p_wxPyCommandEvent", _p_wxPyCommandEventTo_p_wxCommandEvent},{0}};
 static swig_type_info _swigt__p_wxPyCommandEvent[] = {{"_p_wxPyCommandEvent", 0, "wxPyCommandEvent *", 0},{"_p_wxPyCommandEvent"},{0}};
-static swig_type_info _swigt__p_wxDropTarget[] = {{"_p_wxDropTarget", 0, "wxDropTarget *", 0},{"_p_wxDropTarget"},{0}};
+static swig_type_info _swigt__p_wxPyDropTarget[] = {{"_p_wxPyDropTarget", 0, "wxPyDropTarget *", 0},{"_p_wxPyDropTarget"},{0}};
 static swig_type_info _swigt__p_wxChildFocusEvent[] = {{"_p_wxChildFocusEvent", 0, "wxChildFocusEvent *", 0},{"_p_wxChildFocusEvent"},{0}};
 static swig_type_info _swigt__p_wxFocusEvent[] = {{"_p_wxFocusEvent", 0, "wxFocusEvent *", 0},{"_p_wxFocusEvent"},{0}};
 static swig_type_info _swigt__p_wxDropFilesEvent[] = {{"_p_wxDropFilesEvent", 0, "wxDropFilesEvent *", 0},{"_p_wxDropFilesEvent"},{0}};
@@ -37364,7 +37333,7 @@ _swigt__p_wxMouseEvent,
 _swigt__p_wxPyApp, 
 _swigt__p_wxCommandEvent, 
 _swigt__p_wxPyCommandEvent, 
-_swigt__p_wxDropTarget, 
+_swigt__p_wxPyDropTarget, 
 _swigt__p_wxChildFocusEvent, 
 _swigt__p_wxFocusEvent, 
 _swigt__p_wxDropFilesEvent, 
index dcc04ca2c7dab1f5a6a0251e4a5a91740eda6e0f..06c72fd690922a5f33a72e2d601a9bd0e125eb9e 100644 (file)
@@ -146,13 +146,14 @@ class Palette(GDIObject):
         return _gdi.Palette_GetPixel(*args, **kwargs)
 
     def GetRGB(*args, **kwargs):
-        """GetRGB(int pixel, byte OUTPUT, byte OUTPUT, byte OUTPUT) -> bool"""
+        """GetRGB(int pixel) -> (R,G,B)"""
         return _gdi.Palette_GetRGB(*args, **kwargs)
 
     def Ok(*args, **kwargs):
         """Ok() -> bool"""
         return _gdi.Palette_Ok(*args, **kwargs)
 
+    def __nonzero__(self): return self.Ok() 
 
 class PalettePtr(Palette):
     def __init__(self, this):
@@ -2311,7 +2312,7 @@ class DC(core.Object):
         return _gdi.DC_DestroyClippingRegion(*args, **kwargs)
 
     def GetClippingBox(*args, **kwargs):
-        """GetClippingBox(int OUTPUT, int OUTPUT, int OUTPUT, int OUTPUT)"""
+        """GetClippingBox() -> (x, y, width, height)"""
         return _gdi.DC_GetClippingBox(*args, **kwargs)
 
     def GetClippingRect(*args, **kwargs):
@@ -2327,35 +2328,52 @@ class DC(core.Object):
         return _gdi.DC_GetCharWidth(*args, **kwargs)
 
     def GetTextExtent(*args, **kwargs):
-        """GetTextExtent(wxString string, int OUTPUT, int OUTPUT)"""
+        """GetTextExtent(wxString string) -> (width, height)
+
+Get the width and height of the text using the current font.
+Only works for single line strings."""
         return _gdi.DC_GetTextExtent(*args, **kwargs)
 
     def GetFullTextExtent(*args, **kwargs):
-        """GetFullTextExtent(wxString string, int OUTPUT, int OUTPUT, int OUTPUT, 
-    int OUTPUT, Font font=None)"""
+        """GetFullTextExtent(wxString string, Font font=None) ->
+   (width, height, descent, externalLeading)
+
+Get the width, height, decent and leading of the text using the current or specified font.
+Only works for single line strings."""
         return _gdi.DC_GetFullTextExtent(*args, **kwargs)
 
     def GetMultiLineTextExtent(*args, **kwargs):
-        """GetMultiLineTextExtent(wxString text, int OUTPUT, int OUTPUT, int OUTPUT, 
-    Font font=None)"""
-        return _gdi.DC_GetMultiLineTextExtent(*args, **kwargs)
+        """GetMultiLineTextExtent(wxString string, Font font=None) ->
+   (width, height, descent, externalLeading)
 
-    def GetSizeTuple(*args, **kwargs):
-        """GetSizeTuple(int OUTPUT, int OUTPUT)"""
-        return _gdi.DC_GetSizeTuple(*args, **kwargs)
+Get the width, height, decent and leading of the text using the current or specified font.
+Works for single as well as multi-line strings."""
+        return _gdi.DC_GetMultiLineTextExtent(*args, **kwargs)
 
     def GetSize(*args, **kwargs):
-        """GetSize() -> Size"""
+        """GetSize() -> Size
+
+Get the DC size in device units."""
         return _gdi.DC_GetSize(*args, **kwargs)
 
-    def GetSizeMMWH(*args, **kwargs):
-        """GetSizeMMWH(int OUTPUT, int OUTPUT)"""
-        return _gdi.DC_GetSizeMMWH(*args, **kwargs)
+    def GetSizeTuple(*args, **kwargs):
+        """GetSizeTuple() -> (width, height)
+
+Get the DC size in device units."""
+        return _gdi.DC_GetSizeTuple(*args, **kwargs)
 
     def GetSizeMM(*args, **kwargs):
-        """GetSizeMM() -> Size"""
+        """GetSizeMM() -> Size
+
+Get the DC size in milimeters."""
         return _gdi.DC_GetSizeMM(*args, **kwargs)
 
+    def GetSizeMMTuple(*args, **kwargs):
+        """GetSizeMMTuple() -> (width, height)
+
+Get the DC size in milimeters."""
+        return _gdi.DC_GetSizeMMTuple(*args, **kwargs)
+
     def DeviceToLogicalX(*args, **kwargs):
         """DeviceToLogicalX(int x) -> int"""
         return _gdi.DC_DeviceToLogicalX(*args, **kwargs)
@@ -2453,7 +2471,7 @@ class DC(core.Object):
         return _gdi.DC_SetMapMode(*args, **kwargs)
 
     def GetUserScale(*args, **kwargs):
-        """GetUserScale(double OUTPUT, double OUTPUT)"""
+        """GetUserScale() -> (xScale, yScale)"""
         return _gdi.DC_GetUserScale(*args, **kwargs)
 
     def SetUserScale(*args, **kwargs):
@@ -2461,33 +2479,33 @@ class DC(core.Object):
         return _gdi.DC_SetUserScale(*args, **kwargs)
 
     def GetLogicalScale(*args, **kwargs):
-        """GetLogicalScale(double OUTPUT, double OUTPUT)"""
+        """GetLogicalScale() -> (xScale, yScale)"""
         return _gdi.DC_GetLogicalScale(*args, **kwargs)
 
     def SetLogicalScale(*args, **kwargs):
         """SetLogicalScale(double x, double y)"""
         return _gdi.DC_SetLogicalScale(*args, **kwargs)
 
-    def GetLogicalOriginTuple(*args, **kwargs):
-        """GetLogicalOriginTuple(int OUTPUT, int OUTPUT)"""
-        return _gdi.DC_GetLogicalOriginTuple(*args, **kwargs)
-
     def GetLogicalOrigin(*args, **kwargs):
         """GetLogicalOrigin() -> Point"""
         return _gdi.DC_GetLogicalOrigin(*args, **kwargs)
 
+    def GetLogicalOriginTuple(*args, **kwargs):
+        """GetLogicalOriginTuple() -> (x,y)"""
+        return _gdi.DC_GetLogicalOriginTuple(*args, **kwargs)
+
     def SetLogicalOrigin(*args, **kwargs):
         """SetLogicalOrigin(int x, int y)"""
         return _gdi.DC_SetLogicalOrigin(*args, **kwargs)
 
-    def GetDeviceOriginTuple(*args, **kwargs):
-        """GetDeviceOriginTuple(int OUTPUT, int OUTPUT)"""
-        return _gdi.DC_GetDeviceOriginTuple(*args, **kwargs)
-
     def GetDeviceOrigin(*args, **kwargs):
         """GetDeviceOrigin() -> Point"""
         return _gdi.DC_GetDeviceOrigin(*args, **kwargs)
 
+    def GetDeviceOriginTuple(*args, **kwargs):
+        """GetDeviceOriginTuple() -> (x,y)"""
+        return _gdi.DC_GetDeviceOriginTuple(*args, **kwargs)
+
     def SetDeviceOrigin(*args, **kwargs):
         """SetDeviceOrigin(int x, int y)"""
         return _gdi.DC_SetDeviceOrigin(*args, **kwargs)
@@ -2537,7 +2555,7 @@ class DC(core.Object):
         return _gdi.DC_MaxY(*args, **kwargs)
 
     def GetBoundingBox(*args, **kwargs):
-        """GetBoundingBox(int OUTPUT, int OUTPUT, int OUTPUT, int OUTPUT)"""
+        """GetBoundingBox() -> (x1,y1, x2,y2)"""
         return _gdi.DC_GetBoundingBox(*args, **kwargs)
 
     def __nonzero__(self): return self.Ok() 
@@ -3056,7 +3074,7 @@ class ImageList(core.Object):
         return _gdi.ImageList_RemoveAll(*args, **kwargs)
 
     def GetSize(*args, **kwargs):
-        """GetSize(int index, int OUTPUT, int OUTPUT)"""
+        """GetSize() -> (width,height)"""
         return _gdi.ImageList_GetSize(*args, **kwargs)
 
 
index 5afb76f3bf11a1bd66e7a4a2fd2914a001349d50..f620eb7221be600656ec390f6318608cd1fea227 100644 (file)
@@ -11781,6 +11781,35 @@ static PyObject *_wrap_DC_GetMultiLineTextExtent(PyObject *self, PyObject *args,
 }
 
 
+static PyObject *_wrap_DC_GetSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxDC *arg1 = (wxDC *) 0 ;
+    wxSize result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:DC_GetSize",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (arg1)->GetSize();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        wxSize * resultptr;
+        resultptr = new wxSize((wxSize &) result);
+        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_wxSize, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
 static PyObject *_wrap_DC_GetSizeTuple(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxDC *arg1 = (wxDC *) 0 ;
@@ -11819,7 +11848,7 @@ static PyObject *_wrap_DC_GetSizeTuple(PyObject *self, PyObject *args, PyObject
 }
 
 
-static PyObject *_wrap_DC_GetSize(PyObject *self, PyObject *args, PyObject *kwargs) {
+static PyObject *_wrap_DC_GetSizeMM(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxDC *arg1 = (wxDC *) 0 ;
     wxSize result;
@@ -11828,11 +11857,11 @@ static PyObject *_wrap_DC_GetSize(PyObject *self, PyObject *args, PyObject *kwar
         (char *) "self", NULL 
     };
     
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:DC_GetSize",kwnames,&obj0)) goto fail;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:DC_GetSizeMM",kwnames,&obj0)) goto fail;
     if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
-        result = (arg1)->GetSize();
+        result = ((wxDC const *)arg1)->GetSizeMM();
         
         wxPyEndAllowThreads(__tstate);
         if (PyErr_Occurred()) SWIG_fail;
@@ -11848,7 +11877,7 @@ static PyObject *_wrap_DC_GetSize(PyObject *self, PyObject *args, PyObject *kwar
 }
 
 
-static PyObject *_wrap_DC_GetSizeMMWH(PyObject *self, PyObject *args, PyObject *kwargs) {
+static PyObject *_wrap_DC_GetSizeMMTuple(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxDC *arg1 = (wxDC *) 0 ;
     int *arg2 = (int *) 0 ;
@@ -11862,7 +11891,7 @@ static PyObject *_wrap_DC_GetSizeMMWH(PyObject *self, PyObject *args, PyObject *
     
     arg2 = &temp2;
     arg3 = &temp3;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:DC_GetSizeMMWH",kwnames,&obj0)) goto fail;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:DC_GetSizeMMTuple",kwnames,&obj0)) goto fail;
     if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
@@ -11886,35 +11915,6 @@ static PyObject *_wrap_DC_GetSizeMMWH(PyObject *self, PyObject *args, PyObject *
 }
 
 
-static PyObject *_wrap_DC_GetSizeMM(PyObject *self, PyObject *args, PyObject *kwargs) {
-    PyObject *resultobj;
-    wxDC *arg1 = (wxDC *) 0 ;
-    wxSize result;
-    PyObject * obj0 = 0 ;
-    char *kwnames[] = {
-        (char *) "self", NULL 
-    };
-    
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:DC_GetSizeMM",kwnames,&obj0)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    {
-        PyThreadState* __tstate = wxPyBeginAllowThreads();
-        result = ((wxDC const *)arg1)->GetSizeMM();
-        
-        wxPyEndAllowThreads(__tstate);
-        if (PyErr_Occurred()) SWIG_fail;
-    }
-    {
-        wxSize * resultptr;
-        resultptr = new wxSize((wxSize &) result);
-        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_wxSize, 1);
-    }
-    return resultobj;
-    fail:
-    return NULL;
-}
-
-
 static PyObject *_wrap_DC_DeviceToLogicalX(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxDC *arg1 = (wxDC *) 0 ;
@@ -12685,37 +12685,28 @@ static PyObject *_wrap_DC_SetLogicalScale(PyObject *self, PyObject *args, PyObje
 }
 
 
-static PyObject *_wrap_DC_GetLogicalOriginTuple(PyObject *self, PyObject *args, PyObject *kwargs) {
+static PyObject *_wrap_DC_GetLogicalOrigin(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxDC *arg1 = (wxDC *) 0 ;
-    int *arg2 = (int *) 0 ;
-    int *arg3 = (int *) 0 ;
-    int temp2 ;
-    int temp3 ;
+    wxPoint result;
     PyObject * obj0 = 0 ;
     char *kwnames[] = {
         (char *) "self", NULL 
     };
     
-    arg2 = &temp2;
-    arg3 = &temp3;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:DC_GetLogicalOriginTuple",kwnames,&obj0)) goto fail;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:DC_GetLogicalOrigin",kwnames,&obj0)) goto fail;
     if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
-        ((wxDC const *)arg1)->GetLogicalOrigin(arg2,arg3);
+        result = ((wxDC const *)arg1)->GetLogicalOrigin();
         
         wxPyEndAllowThreads(__tstate);
         if (PyErr_Occurred()) SWIG_fail;
     }
-    Py_INCREF(Py_None); resultobj = Py_None;
-    {
-        PyObject *o = PyInt_FromLong((long) (*arg2));
-        resultobj = t_output_helper(resultobj,o);
-    }
     {
-        PyObject *o = PyInt_FromLong((long) (*arg3));
-        resultobj = t_output_helper(resultobj,o);
+        wxPoint * resultptr;
+        resultptr = new wxPoint((wxPoint &) result);
+        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_wxPoint, 1);
     }
     return resultobj;
     fail:
@@ -12723,28 +12714,37 @@ static PyObject *_wrap_DC_GetLogicalOriginTuple(PyObject *self, PyObject *args,
 }
 
 
-static PyObject *_wrap_DC_GetLogicalOrigin(PyObject *self, PyObject *args, PyObject *kwargs) {
+static PyObject *_wrap_DC_GetLogicalOriginTuple(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxDC *arg1 = (wxDC *) 0 ;
-    wxPoint result;
+    int *arg2 = (int *) 0 ;
+    int *arg3 = (int *) 0 ;
+    int temp2 ;
+    int temp3 ;
     PyObject * obj0 = 0 ;
     char *kwnames[] = {
         (char *) "self", NULL 
     };
     
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:DC_GetLogicalOrigin",kwnames,&obj0)) goto fail;
+    arg2 = &temp2;
+    arg3 = &temp3;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:DC_GetLogicalOriginTuple",kwnames,&obj0)) goto fail;
     if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
-        result = ((wxDC const *)arg1)->GetLogicalOrigin();
+        ((wxDC const *)arg1)->GetLogicalOrigin(arg2,arg3);
         
         wxPyEndAllowThreads(__tstate);
         if (PyErr_Occurred()) SWIG_fail;
     }
+    Py_INCREF(Py_None); resultobj = Py_None;
     {
-        wxPoint * resultptr;
-        resultptr = new wxPoint((wxPoint &) result);
-        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_wxPoint, 1);
+        PyObject *o = PyInt_FromLong((long) (*arg2));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    {
+        PyObject *o = PyInt_FromLong((long) (*arg3));
+        resultobj = t_output_helper(resultobj,o);
     }
     return resultobj;
     fail:
@@ -12778,37 +12778,28 @@ static PyObject *_wrap_DC_SetLogicalOrigin(PyObject *self, PyObject *args, PyObj
 }
 
 
-static PyObject *_wrap_DC_GetDeviceOriginTuple(PyObject *self, PyObject *args, PyObject *kwargs) {
+static PyObject *_wrap_DC_GetDeviceOrigin(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxDC *arg1 = (wxDC *) 0 ;
-    int *arg2 = (int *) 0 ;
-    int *arg3 = (int *) 0 ;
-    int temp2 ;
-    int temp3 ;
+    wxPoint result;
     PyObject * obj0 = 0 ;
     char *kwnames[] = {
         (char *) "self", NULL 
     };
     
-    arg2 = &temp2;
-    arg3 = &temp3;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:DC_GetDeviceOriginTuple",kwnames,&obj0)) goto fail;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:DC_GetDeviceOrigin",kwnames,&obj0)) goto fail;
     if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
-        ((wxDC const *)arg1)->GetDeviceOrigin(arg2,arg3);
+        result = ((wxDC const *)arg1)->GetDeviceOrigin();
         
         wxPyEndAllowThreads(__tstate);
         if (PyErr_Occurred()) SWIG_fail;
     }
-    Py_INCREF(Py_None); resultobj = Py_None;
-    {
-        PyObject *o = PyInt_FromLong((long) (*arg2));
-        resultobj = t_output_helper(resultobj,o);
-    }
     {
-        PyObject *o = PyInt_FromLong((long) (*arg3));
-        resultobj = t_output_helper(resultobj,o);
+        wxPoint * resultptr;
+        resultptr = new wxPoint((wxPoint &) result);
+        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_wxPoint, 1);
     }
     return resultobj;
     fail:
@@ -12816,28 +12807,37 @@ static PyObject *_wrap_DC_GetDeviceOriginTuple(PyObject *self, PyObject *args, P
 }
 
 
-static PyObject *_wrap_DC_GetDeviceOrigin(PyObject *self, PyObject *args, PyObject *kwargs) {
+static PyObject *_wrap_DC_GetDeviceOriginTuple(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxDC *arg1 = (wxDC *) 0 ;
-    wxPoint result;
+    int *arg2 = (int *) 0 ;
+    int *arg3 = (int *) 0 ;
+    int temp2 ;
+    int temp3 ;
     PyObject * obj0 = 0 ;
     char *kwnames[] = {
         (char *) "self", NULL 
     };
     
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:DC_GetDeviceOrigin",kwnames,&obj0)) goto fail;
+    arg2 = &temp2;
+    arg3 = &temp3;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:DC_GetDeviceOriginTuple",kwnames,&obj0)) goto fail;
     if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDC,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
-        result = ((wxDC const *)arg1)->GetDeviceOrigin();
+        ((wxDC const *)arg1)->GetDeviceOrigin(arg2,arg3);
         
         wxPyEndAllowThreads(__tstate);
         if (PyErr_Occurred()) SWIG_fail;
     }
+    Py_INCREF(Py_None); resultobj = Py_None;
     {
-        wxPoint * resultptr;
-        resultptr = new wxPoint((wxPoint &) result);
-        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_wxPoint, 1);
+        PyObject *o = PyInt_FromLong((long) (*arg2));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    {
+        PyObject *o = PyInt_FromLong((long) (*arg3));
+        resultobj = t_output_helper(resultobj,o);
     }
     return resultobj;
     fail:
@@ -16856,10 +16856,10 @@ static PyMethodDef SwigMethods[] = {
         { (char *)"DC_GetTextExtent", (PyCFunction) _wrap_DC_GetTextExtent, METH_VARARGS | METH_KEYWORDS },
         { (char *)"DC_GetFullTextExtent", (PyCFunction) _wrap_DC_GetFullTextExtent, METH_VARARGS | METH_KEYWORDS },
         { (char *)"DC_GetMultiLineTextExtent", (PyCFunction) _wrap_DC_GetMultiLineTextExtent, METH_VARARGS | METH_KEYWORDS },
-        { (char *)"DC_GetSizeTuple", (PyCFunction) _wrap_DC_GetSizeTuple, METH_VARARGS | METH_KEYWORDS },
         { (char *)"DC_GetSize", (PyCFunction) _wrap_DC_GetSize, METH_VARARGS | METH_KEYWORDS },
-        { (char *)"DC_GetSizeMMWH", (PyCFunction) _wrap_DC_GetSizeMMWH, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"DC_GetSizeTuple", (PyCFunction) _wrap_DC_GetSizeTuple, METH_VARARGS | METH_KEYWORDS },
         { (char *)"DC_GetSizeMM", (PyCFunction) _wrap_DC_GetSizeMM, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"DC_GetSizeMMTuple", (PyCFunction) _wrap_DC_GetSizeMMTuple, METH_VARARGS | METH_KEYWORDS },
         { (char *)"DC_DeviceToLogicalX", (PyCFunction) _wrap_DC_DeviceToLogicalX, METH_VARARGS | METH_KEYWORDS },
         { (char *)"DC_DeviceToLogicalY", (PyCFunction) _wrap_DC_DeviceToLogicalY, METH_VARARGS | METH_KEYWORDS },
         { (char *)"DC_DeviceToLogicalXRel", (PyCFunction) _wrap_DC_DeviceToLogicalXRel, METH_VARARGS | METH_KEYWORDS },
@@ -16888,11 +16888,11 @@ static PyMethodDef SwigMethods[] = {
         { (char *)"DC_SetUserScale", (PyCFunction) _wrap_DC_SetUserScale, METH_VARARGS | METH_KEYWORDS },
         { (char *)"DC_GetLogicalScale", (PyCFunction) _wrap_DC_GetLogicalScale, METH_VARARGS | METH_KEYWORDS },
         { (char *)"DC_SetLogicalScale", (PyCFunction) _wrap_DC_SetLogicalScale, METH_VARARGS | METH_KEYWORDS },
-        { (char *)"DC_GetLogicalOriginTuple", (PyCFunction) _wrap_DC_GetLogicalOriginTuple, METH_VARARGS | METH_KEYWORDS },
         { (char *)"DC_GetLogicalOrigin", (PyCFunction) _wrap_DC_GetLogicalOrigin, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"DC_GetLogicalOriginTuple", (PyCFunction) _wrap_DC_GetLogicalOriginTuple, METH_VARARGS | METH_KEYWORDS },
         { (char *)"DC_SetLogicalOrigin", (PyCFunction) _wrap_DC_SetLogicalOrigin, METH_VARARGS | METH_KEYWORDS },
-        { (char *)"DC_GetDeviceOriginTuple", (PyCFunction) _wrap_DC_GetDeviceOriginTuple, METH_VARARGS | METH_KEYWORDS },
         { (char *)"DC_GetDeviceOrigin", (PyCFunction) _wrap_DC_GetDeviceOrigin, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"DC_GetDeviceOriginTuple", (PyCFunction) _wrap_DC_GetDeviceOriginTuple, METH_VARARGS | METH_KEYWORDS },
         { (char *)"DC_SetDeviceOrigin", (PyCFunction) _wrap_DC_SetDeviceOrigin, METH_VARARGS | METH_KEYWORDS },
         { (char *)"DC_SetAxisOrientation", (PyCFunction) _wrap_DC_SetAxisOrientation, METH_VARARGS | METH_KEYWORDS },
         { (char *)"DC_GetLogicalFunction", (PyCFunction) _wrap_DC_GetLogicalFunction, METH_VARARGS | METH_KEYWORDS },
@@ -17939,5 +17939,9 @@ SWIGEXPORT(void) SWIG_init(void) {
     SWIG_addvarlink(SWIG_globals,(char*)"ThePenList",_wrap_ThePenList_get, _wrap_ThePenList_set);
     SWIG_addvarlink(SWIG_globals,(char*)"TheBrushList",_wrap_TheBrushList_get, _wrap_TheBrushList_set);
     SWIG_addvarlink(SWIG_globals,(char*)"TheColourDatabase",_wrap_TheColourDatabase_get, _wrap_TheColourDatabase_set);
+    
+    // Work around a chicken/egg problem in drawlist.cpp
+    wxPyDrawList_SetAPIPtr();
+    
 }
 
index 87fe1a39d640f4b8d3ac1919319d50670328b2e0..0cc50a9b02b041599f894c1a305635d793ad1a6a 100644 (file)
@@ -506,7 +506,7 @@ class GridCellChoiceEditor(GridCellEditor):
     def __repr__(self):
         return "<%s.%s; proxy of C++ wxGridCellChoiceEditor instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     def __init__(self, *args, **kwargs):
-        """__init__(int LCOUNT=0, wxString choices=None, bool allowOthers=False) -> GridCellChoiceEditor"""
+        """__init__(int choices=0, wxString choices_array=None, bool allowOthers=False) -> GridCellChoiceEditor"""
         newobj = _grid.new_GridCellChoiceEditor(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
@@ -696,11 +696,11 @@ class GridCellAttr(object):
         return _grid.GridCellAttr_GetFont(*args, **kwargs)
 
     def GetAlignment(*args, **kwargs):
-        """GetAlignment(int OUTPUT, int OUTPUT)"""
+        """GetAlignment() -> (hAlign, vAlign)"""
         return _grid.GridCellAttr_GetAlignment(*args, **kwargs)
 
     def GetSize(*args, **kwargs):
-        """GetSize(int OUTPUT, int OUTPUT)"""
+        """GetSize() -> (num_rows, num_cols)"""
         return _grid.GridCellAttr_GetSize(*args, **kwargs)
 
     def GetOverflow(*args, **kwargs):
@@ -1314,7 +1314,7 @@ class Grid(windows.ScrolledWindow):
         return _grid.Grid_DrawTextRectangle(*args, **kwargs)
 
     def GetTextBoxSize(*args, **kwargs):
-        """GetTextBoxSize(wxDC dc, wxArrayString lines, long OUTPUT, long OUTPUT)"""
+        """GetTextBoxSize(DC dc, list lines) -> (width, height)"""
         return _grid.Grid_GetTextBoxSize(*args, **kwargs)
 
     def BeginBatch(*args, **kwargs):
@@ -1494,11 +1494,11 @@ class Grid(windows.ScrolledWindow):
         return _grid.Grid_GetLabelFont(*args, **kwargs)
 
     def GetRowLabelAlignment(*args, **kwargs):
-        """GetRowLabelAlignment(int OUTPUT, int OUTPUT)"""
+        """GetRowLabelAlignment() -> (horiz, vert)"""
         return _grid.Grid_GetRowLabelAlignment(*args, **kwargs)
 
     def GetColLabelAlignment(*args, **kwargs):
-        """GetColLabelAlignment(int OUTPUT, int OUTPUT)"""
+        """GetColLabelAlignment() -> (horiz, vert)"""
         return _grid.Grid_GetColLabelAlignment(*args, **kwargs)
 
     def GetColLabelTextOrientation(*args, **kwargs):
@@ -1698,11 +1698,11 @@ class Grid(windows.ScrolledWindow):
         return _grid.Grid_GetCellFont(*args, **kwargs)
 
     def GetDefaultCellAlignment(*args, **kwargs):
-        """GetDefaultCellAlignment(int OUTPUT, int OUTPUT)"""
+        """GetDefaultCellAlignment() -> (horiz, vert)"""
         return _grid.Grid_GetDefaultCellAlignment(*args, **kwargs)
 
     def GetCellAlignment(*args, **kwargs):
-        """GetCellAlignment(int row, int col, int OUTPUT, int OUTPUT)"""
+        """GetCellAlignment() -> (horiz, vert)"""
         return _grid.Grid_GetCellAlignment(*args, **kwargs)
 
     def GetDefaultCellOverflow(*args, **kwargs):
@@ -1714,7 +1714,7 @@ class Grid(windows.ScrolledWindow):
         return _grid.Grid_GetCellOverflow(*args, **kwargs)
 
     def GetCellSize(*args, **kwargs):
-        """GetCellSize(int row, int col, int OUTPUT, int OUTPUT)"""
+        """GetCellSize(int row, int col) -> (num_rows, num_cols)"""
         return _grid.Grid_GetCellSize(*args, **kwargs)
 
     def SetDefaultRowSize(*args, **kwargs):
index 5b4ded6275a47c5911a2d2619ddb5cbd59e82c79..91918b230ebb43afc8abbfe99dde022cfc08af0d 100644 (file)
@@ -3151,18 +3151,22 @@ static PyObject *_wrap_new_GridCellChoiceEditor(PyObject *self, PyObject *args,
     wxString *arg2 = (wxString *) NULL ;
     bool arg3 = (bool) False ;
     wxGridCellChoiceEditor *result;
+    PyObject * obj0 = 0 ;
     PyObject * obj1 = 0 ;
-    PyObject * obj2 = 0 ;
     char *kwnames[] = {
-        (char *) "LCOUNT",(char *) "choices",(char *) "allowOthers", NULL 
+        (char *) "choices",(char *) "allowOthers", NULL 
     };
     
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"|iOO:new_GridCellChoiceEditor",kwnames,&arg1,&obj1,&obj2)) goto fail;
-    if (obj1) {
-        if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_wxString,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"|OO:new_GridCellChoiceEditor",kwnames,&obj0,&obj1)) goto fail;
+    if (obj0) {
+        {
+            arg1 = PyList_Size(obj0);
+            arg2 = wxString_LIST_helper(obj0);
+            if (arg2 == NULL) SWIG_fail;
+        }
     }
-    if (obj2) {
-        arg3 = PyInt_AsLong(obj2) ? true : false;
+    if (obj1) {
+        arg3 = PyInt_AsLong(obj1) ? true : false;
         if (PyErr_Occurred()) SWIG_fail;
     }
     {
@@ -3173,8 +3177,14 @@ static PyObject *_wrap_new_GridCellChoiceEditor(PyObject *self, PyObject *args,
         if (PyErr_Occurred()) SWIG_fail;
     }
     resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxGridCellChoiceEditor, 1);
+    {
+        if (arg2) delete [] arg2;
+    }
     return resultobj;
     fail:
+    {
+        if (arg2) delete [] arg2;
+    }
     return NULL;
 }
 
index 452dae04c82e59c1b896c81d3c292d1d397141e2..3f585bcc02f2d8d9d98dbec095f6c81d468d7885 100644 (file)
@@ -27,6 +27,13 @@ HTML_INDENT_ALL = _html.HTML_INDENT_ALL
 HTML_COND_ISANCHOR = _html.HTML_COND_ISANCHOR
 HTML_COND_ISIMAGEMAP = _html.HTML_COND_ISIMAGEMAP
 HTML_COND_USER = _html.HTML_COND_USER
+HTML_FONT_SIZE_1 = _html.HTML_FONT_SIZE_1
+HTML_FONT_SIZE_2 = _html.HTML_FONT_SIZE_2
+HTML_FONT_SIZE_3 = _html.HTML_FONT_SIZE_3
+HTML_FONT_SIZE_4 = _html.HTML_FONT_SIZE_4
+HTML_FONT_SIZE_5 = _html.HTML_FONT_SIZE_5
+HTML_FONT_SIZE_6 = _html.HTML_FONT_SIZE_6
+HTML_FONT_SIZE_7 = _html.HTML_FONT_SIZE_7
 HW_SCROLLBAR_NEVER = _html.HW_SCROLLBAR_NEVER
 HW_SCROLLBAR_AUTO = _html.HW_SCROLLBAR_AUTO
 HW_NO_SELECTION = _html.HW_NO_SELECTION
index cb1c29b653e060a6f9b69aa038dbe327879c848f..a2f15dc94a6f9db900d8bb83003e6294d623bc26 100644 (file)
@@ -10662,6 +10662,13 @@ static swig_const_info swig_const_table[] = {
 { SWIG_PY_INT,     (char *)"HTML_COND_ISANCHOR", (long) wxHTML_COND_ISANCHOR, 0, 0, 0},
 { SWIG_PY_INT,     (char *)"HTML_COND_ISIMAGEMAP", (long) wxHTML_COND_ISIMAGEMAP, 0, 0, 0},
 { SWIG_PY_INT,     (char *)"HTML_COND_USER", (long) wxHTML_COND_USER, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"HTML_FONT_SIZE_1", (long) wxHTML_FONT_SIZE_1, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"HTML_FONT_SIZE_2", (long) wxHTML_FONT_SIZE_2, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"HTML_FONT_SIZE_3", (long) wxHTML_FONT_SIZE_3, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"HTML_FONT_SIZE_4", (long) wxHTML_FONT_SIZE_4, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"HTML_FONT_SIZE_5", (long) wxHTML_FONT_SIZE_5, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"HTML_FONT_SIZE_6", (long) wxHTML_FONT_SIZE_6, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"HTML_FONT_SIZE_7", (long) wxHTML_FONT_SIZE_7, 0, 0, 0},
 { SWIG_PY_INT,     (char *)"HW_SCROLLBAR_NEVER", (long) wxHW_SCROLLBAR_NEVER, 0, 0, 0},
 { SWIG_PY_INT,     (char *)"HW_SCROLLBAR_AUTO", (long) wxHW_SCROLLBAR_AUTO, 0, 0, 0},
 { SWIG_PY_INT,     (char *)"HW_NO_SELECTION", (long) wxHW_NO_SELECTION, 0, 0, 0},
index 7ddcda83e54e06f02dae07e5d9cb52dcc1da4636..1900feaae97f8f031c2b50f7cda1e368eed3c9e2 100644 (file)
@@ -256,7 +256,7 @@ def GetElapsedTime(*args, **kwargs):
     return _misc.GetElapsedTime(*args, **kwargs)
 
 def GetMousePosition(*args, **kwargs):
-    """GetMousePosition(int OUTPUT, int OUTPUT)"""
+    """GetMousePosition() -> (x,y)"""
     return _misc.GetMousePosition(*args, **kwargs)
 
 def IsBusy(*args, **kwargs):
@@ -276,7 +276,7 @@ def StartTimer(*args, **kwargs):
     return _misc.StartTimer(*args, **kwargs)
 
 def GetOsVersion(*args, **kwargs):
-    """GetOsVersion(int OUTPUT, int OUTPUT) -> int"""
+    """GetOsVersion() -> (platform, major, minor)"""
     return _misc.GetOsVersion(*args, **kwargs)
 
 def GetOsDescription(*args, **kwargs):
@@ -420,7 +420,7 @@ def GetDisplayDepth(*args, **kwargs):
     return _misc.GetDisplayDepth(*args, **kwargs)
 
 def DisplaySize(*args, **kwargs):
-    """DisplaySize(int OUTPUT, int OUTPUT)"""
+    """DisplaySize() -> (width, height)"""
     return _misc.DisplaySize(*args, **kwargs)
 
 def GetDisplaySize(*args, **kwargs):
@@ -428,7 +428,7 @@ def GetDisplaySize(*args, **kwargs):
     return _misc.GetDisplaySize(*args, **kwargs)
 
 def DisplaySizeMM(*args, **kwargs):
-    """DisplaySizeMM(int OUTPUT, int OUTPUT)"""
+    """DisplaySizeMM() -> (width, height)"""
     return _misc.DisplaySizeMM(*args, **kwargs)
 
 def GetDisplaySizeMM(*args, **kwargs):
@@ -436,7 +436,7 @@ def GetDisplaySizeMM(*args, **kwargs):
     return _misc.GetDisplaySizeMM(*args, **kwargs)
 
 def ClientDisplayRect(*args, **kwargs):
-    """ClientDisplayRect(int OUTPUT, int OUTPUT, int OUTPUT, int OUTPUT)"""
+    """ClientDisplayRect() -> (x, y, width, height)"""
     return _misc.ClientDisplayRect(*args, **kwargs)
 
 def GetClientDisplayRect(*args, **kwargs):
@@ -580,22 +580,22 @@ class Caret(object):
         """IsVisible() -> bool"""
         return _misc.Caret_IsVisible(*args, **kwargs)
 
-    def GetPositionTuple(*args, **kwargs):
-        """GetPositionTuple(int OUTPUT, int OUTPUT)"""
-        return _misc.Caret_GetPositionTuple(*args, **kwargs)
-
     def GetPosition(*args, **kwargs):
         """GetPosition() -> Point"""
         return _misc.Caret_GetPosition(*args, **kwargs)
 
-    def GetSizeTuple(*args, **kwargs):
-        """GetSizeTuple(int OUTPUT, int OUTPUT)"""
-        return _misc.Caret_GetSizeTuple(*args, **kwargs)
+    def GetPositionTuple(*args, **kwargs):
+        """GetPositionTuple() -> (x,y)"""
+        return _misc.Caret_GetPositionTuple(*args, **kwargs)
 
     def GetSize(*args, **kwargs):
         """GetSize() -> Size"""
         return _misc.Caret_GetSize(*args, **kwargs)
 
+    def GetSizeTuple(*args, **kwargs):
+        """GetSizeTuple() -> (width, height)"""
+        return _misc.Caret_GetSizeTuple(*args, **kwargs)
+
     def GetWindow(*args, **kwargs):
         """GetWindow() -> Window"""
         return _misc.Caret_GetWindow(*args, **kwargs)
@@ -624,6 +624,7 @@ class Caret(object):
         """Hide()"""
         return _misc.Caret_Hide(*args, **kwargs)
 
+    def __nonzero__(self): return self.IsOk() 
 
 class CaretPtr(Caret):
     def __init__(self, this):
@@ -934,12 +935,18 @@ class Timer(core.EvtHandler):
         self.this = newobj.this
         self.thisown = 1
         del newobj.thisown
+        self._setCallbackInfo(self, Timer)
+
     def __del__(self, destroy=_misc.delete_Timer):
         """__del__()"""
         try:
             if self.thisown: destroy(self)
         except: pass
 
+    def _setCallbackInfo(*args, **kwargs):
+        """_setCallbackInfo(PyObject self, PyObject _class)"""
+        return _misc.Timer__setCallbackInfo(*args, **kwargs)
+
     def SetOwner(*args, **kwargs):
         """SetOwner(EvtHandler owner, int id=-1)"""
         return _misc.Timer_SetOwner(*args, **kwargs)
@@ -952,10 +959,6 @@ class Timer(core.EvtHandler):
         """Stop()"""
         return _misc.Timer_Stop(*args, **kwargs)
 
-    def Notify(*args, **kwargs):
-        """Notify()"""
-        return _misc.Timer_Notify(*args, **kwargs)
-
     def IsRunning(*args, **kwargs):
         """IsRunning() -> bool"""
         return _misc.Timer_IsRunning(*args, **kwargs)
@@ -2902,12 +2905,12 @@ class DateTime(object):
 
     GetCentury = staticmethod(GetCentury)
     def GetNumberOfDaysinYear(*args, **kwargs):
-        """DateTime.GetNumberOfDaysinYear(int year, wxDateTime::Calendar cal=Gregorian) -> wxDateTime_t"""
+        """DateTime.GetNumberOfDaysinYear(int year, wxDateTime::Calendar cal=Gregorian) -> int"""
         return _misc.DateTime_GetNumberOfDaysinYear(*args, **kwargs)
 
     GetNumberOfDaysinYear = staticmethod(GetNumberOfDaysinYear)
     def GetNumberOfDaysInMonth(*args, **kwargs):
-        """DateTime.GetNumberOfDaysInMonth(wxDateTime::Month month, int year=Inv_Year, wxDateTime::Calendar cal=Gregorian) -> wxDateTime_t"""
+        """DateTime.GetNumberOfDaysInMonth(wxDateTime::Month month, int year=Inv_Year, wxDateTime::Calendar cal=Gregorian) -> int"""
         return _misc.DateTime_GetNumberOfDaysInMonth(*args, **kwargs)
 
     GetNumberOfDaysInMonth = staticmethod(GetNumberOfDaysInMonth)
@@ -2922,7 +2925,9 @@ class DateTime(object):
 
     GetWeekDayName = staticmethod(GetWeekDayName)
     def GetAmPmStrings(*args, **kwargs):
-        """DateTime.GetAmPmStrings(wxString OUTPUT, wxString OUTPUT)"""
+        """GetAmPmStrings() -> (am, pm)
+
+Get the AM and PM strings in the current locale (may be empty)"""
         return _misc.DateTime_GetAmPmStrings(*args, **kwargs)
 
     GetAmPmStrings = staticmethod(GetAmPmStrings)
@@ -2981,14 +2986,13 @@ class DateTime(object):
         return _misc.DateTime_SetJDN(*args, **kwargs)
 
     def SetHMS(*args, **kwargs):
-        """SetHMS(wxDateTime_t hour, wxDateTime_t minute=0, wxDateTime_t second=0, 
-    wxDateTime_t millisec=0) -> DateTime"""
+        """SetHMS(int hour, int minute=0, int second=0, int millisec=0) -> DateTime"""
         return _misc.DateTime_SetHMS(*args, **kwargs)
 
     def Set(*args, **kwargs):
-        """Set(wxDateTime_t day, wxDateTime::Month month=Inv_Month
-    int year=Inv_Year, wxDateTime_t hour=0, wxDateTime_t minute=0, 
-    wxDateTime_t second=0, wxDateTime_t millisec=0) -> DateTime"""
+        """Set(int day, wxDateTime::Month month=Inv_Month, int year=Inv_Year
+    int hour=0, int minute=0, int second=0, 
+    int millisec=0) -> DateTime"""
         return _misc.DateTime_Set(*args, **kwargs)
 
     def ResetTime(*args, **kwargs):
@@ -3004,23 +3008,23 @@ class DateTime(object):
         return _misc.DateTime_SetMonth(*args, **kwargs)
 
     def SetDay(*args, **kwargs):
-        """SetDay(wxDateTime_t day) -> DateTime"""
+        """SetDay(int day) -> DateTime"""
         return _misc.DateTime_SetDay(*args, **kwargs)
 
     def SetHour(*args, **kwargs):
-        """SetHour(wxDateTime_t hour) -> DateTime"""
+        """SetHour(int hour) -> DateTime"""
         return _misc.DateTime_SetHour(*args, **kwargs)
 
     def SetMinute(*args, **kwargs):
-        """SetMinute(wxDateTime_t minute) -> DateTime"""
+        """SetMinute(int minute) -> DateTime"""
         return _misc.DateTime_SetMinute(*args, **kwargs)
 
     def SetSecond(*args, **kwargs):
-        """SetSecond(wxDateTime_t second) -> DateTime"""
+        """SetSecond(int second) -> DateTime"""
         return _misc.DateTime_SetSecond(*args, **kwargs)
 
     def SetMillisecond(*args, **kwargs):
-        """SetMillisecond(wxDateTime_t millisecond) -> DateTime"""
+        """SetMillisecond(int millisecond) -> DateTime"""
         return _misc.DateTime_SetMillisecond(*args, **kwargs)
 
     def SetToWeekDayInSameWeek(*args, **kwargs):
@@ -3063,13 +3067,11 @@ class DateTime(object):
         return _misc.DateTime_GetLastWeekDay(*args, **kwargs)
 
     def SetToTheWeek(*args, **kwargs):
-        """SetToTheWeek(wxDateTime_t numWeek, wxDateTime::WeekDay weekday=Mon, 
-    wxDateTime::WeekFlags flags=Monday_First) -> bool"""
+        """SetToTheWeek(int numWeek, wxDateTime::WeekDay weekday=Mon, wxDateTime::WeekFlags flags=Monday_First) -> bool"""
         return _misc.DateTime_SetToTheWeek(*args, **kwargs)
 
     def GetWeek(*args, **kwargs):
-        """GetWeek(wxDateTime_t numWeek, wxDateTime::WeekDay weekday=Mon, 
-    wxDateTime::WeekFlags flags=Monday_First) -> DateTime"""
+        """GetWeek(int numWeek, wxDateTime::WeekDay weekday=Mon, wxDateTime::WeekFlags flags=Monday_First) -> DateTime"""
         return _misc.DateTime_GetWeek(*args, **kwargs)
 
     def SetToLastMonthDay(*args, **kwargs):
@@ -3081,11 +3083,11 @@ class DateTime(object):
         return _misc.DateTime_GetLastMonthDay(*args, **kwargs)
 
     def SetToYearDay(*args, **kwargs):
-        """SetToYearDay(wxDateTime_t yday) -> DateTime"""
+        """SetToYearDay(int yday) -> DateTime"""
         return _misc.DateTime_SetToYearDay(*args, **kwargs)
 
     def GetYearDay(*args, **kwargs):
-        """GetYearDay(wxDateTime_t yday) -> DateTime"""
+        """GetYearDay(int yday) -> DateTime"""
         return _misc.DateTime_GetYearDay(*args, **kwargs)
 
     def GetJulianDayNumber(*args, **kwargs):
@@ -3145,7 +3147,7 @@ class DateTime(object):
         return _misc.DateTime_GetMonth(*args, **kwargs)
 
     def GetDay(*args, **kwargs):
-        """GetDay(wxDateTime::TimeZone tz=LOCAL_TZ) -> wxDateTime_t"""
+        """GetDay(wxDateTime::TimeZone tz=LOCAL_TZ) -> int"""
         return _misc.DateTime_GetDay(*args, **kwargs)
 
     def GetWeekDay(*args, **kwargs):
@@ -3153,31 +3155,31 @@ class DateTime(object):
         return _misc.DateTime_GetWeekDay(*args, **kwargs)
 
     def GetHour(*args, **kwargs):
-        """GetHour(wxDateTime::TimeZone tz=LOCAL_TZ) -> wxDateTime_t"""
+        """GetHour(wxDateTime::TimeZone tz=LOCAL_TZ) -> int"""
         return _misc.DateTime_GetHour(*args, **kwargs)
 
     def GetMinute(*args, **kwargs):
-        """GetMinute(wxDateTime::TimeZone tz=LOCAL_TZ) -> wxDateTime_t"""
+        """GetMinute(wxDateTime::TimeZone tz=LOCAL_TZ) -> int"""
         return _misc.DateTime_GetMinute(*args, **kwargs)
 
     def GetSecond(*args, **kwargs):
-        """GetSecond(wxDateTime::TimeZone tz=LOCAL_TZ) -> wxDateTime_t"""
+        """GetSecond(wxDateTime::TimeZone tz=LOCAL_TZ) -> int"""
         return _misc.DateTime_GetSecond(*args, **kwargs)
 
     def GetMillisecond(*args, **kwargs):
-        """GetMillisecond(wxDateTime::TimeZone tz=LOCAL_TZ) -> wxDateTime_t"""
+        """GetMillisecond(wxDateTime::TimeZone tz=LOCAL_TZ) -> int"""
         return _misc.DateTime_GetMillisecond(*args, **kwargs)
 
     def GetDayOfYear(*args, **kwargs):
-        """GetDayOfYear(wxDateTime::TimeZone tz=LOCAL_TZ) -> wxDateTime_t"""
+        """GetDayOfYear(wxDateTime::TimeZone tz=LOCAL_TZ) -> int"""
         return _misc.DateTime_GetDayOfYear(*args, **kwargs)
 
     def GetWeekOfYear(*args, **kwargs):
-        """GetWeekOfYear(wxDateTime::WeekFlags flags=Monday_First, wxDateTime::TimeZone tz=LOCAL_TZ) -> wxDateTime_t"""
+        """GetWeekOfYear(wxDateTime::WeekFlags flags=Monday_First, wxDateTime::TimeZone tz=LOCAL_TZ) -> int"""
         return _misc.DateTime_GetWeekOfYear(*args, **kwargs)
 
     def GetWeekOfMonth(*args, **kwargs):
-        """GetWeekOfMonth(wxDateTime::WeekFlags flags=Monday_First, wxDateTime::TimeZone tz=LOCAL_TZ) -> wxDateTime_t"""
+        """GetWeekOfMonth(wxDateTime::WeekFlags flags=Monday_First, wxDateTime::TimeZone tz=LOCAL_TZ) -> int"""
         return _misc.DateTime_GetWeekOfMonth(*args, **kwargs)
 
     def IsWorkDay(*args, **kwargs):
@@ -3367,11 +3369,11 @@ def DateTime_GetCentury(*args, **kwargs):
     return _misc.DateTime_GetCentury(*args, **kwargs)
 
 def DateTime_GetNumberOfDaysinYear(*args, **kwargs):
-    """DateTime_GetNumberOfDaysinYear(int year, wxDateTime::Calendar cal=Gregorian) -> wxDateTime_t"""
+    """DateTime_GetNumberOfDaysinYear(int year, wxDateTime::Calendar cal=Gregorian) -> int"""
     return _misc.DateTime_GetNumberOfDaysinYear(*args, **kwargs)
 
 def DateTime_GetNumberOfDaysInMonth(*args, **kwargs):
-    """DateTime_GetNumberOfDaysInMonth(wxDateTime::Month month, int year=Inv_Year, wxDateTime::Calendar cal=Gregorian) -> wxDateTime_t"""
+    """DateTime_GetNumberOfDaysInMonth(wxDateTime::Month month, int year=Inv_Year, wxDateTime::Calendar cal=Gregorian) -> int"""
     return _misc.DateTime_GetNumberOfDaysInMonth(*args, **kwargs)
 
 def DateTime_GetMonthName(*args, **kwargs):
@@ -3383,7 +3385,9 @@ def DateTime_GetWeekDayName(*args, **kwargs):
     return _misc.DateTime_GetWeekDayName(*args, **kwargs)
 
 def DateTime_GetAmPmStrings(*args, **kwargs):
-    """DateTime_GetAmPmStrings(wxString OUTPUT, wxString OUTPUT)"""
+    """GetAmPmStrings() -> (am, pm)
+
+Get the AM and PM strings in the current locale (may be empty)"""
     return _misc.DateTime_GetAmPmStrings(*args, **kwargs)
 
 def DateTime_IsDSTApplicable(*args, **kwargs):
@@ -3423,16 +3427,15 @@ def DateTimeFromJDN(*args, **kwargs):
     return val
 
 def DateTimeFromHMS(*args, **kwargs):
-    """DateTimeFromHMS(wxDateTime_t hour, wxDateTime_t minute=0, wxDateTime_t second=0, 
-    wxDateTime_t millisec=0) -> DateTime"""
+    """DateTimeFromHMS(int hour, int minute=0, int second=0, int millisec=0) -> DateTime"""
     val = _misc.new_DateTimeFromHMS(*args, **kwargs)
     val.thisown = 1
     return val
 
 def DateTimeFromDMY(*args, **kwargs):
-    """DateTimeFromDMY(wxDateTime_t day, wxDateTime::Month month=Inv_Month
-    int year=Inv_Year, wxDateTime_t hour=0, wxDateTime_t minute=0, 
-    wxDateTime_t second=0, wxDateTime_t millisec=0) -> DateTime"""
+    """DateTimeFromDMY(int day, wxDateTime::Month month=Inv_Month, int year=Inv_Year
+    int hour=0, int minute=0, int second=0, 
+    int millisec=0) -> DateTime"""
     val = _misc.new_DateTimeFromDMY(*args, **kwargs)
     val.thisown = 1
     return val
index e15eb5f7cbe21e11bf17a103bbc148ef3a9327f7..5ad79373a4cad411e0cc2d7df0b678f079263176 100644 (file)
@@ -1048,65 +1048,11 @@ PyObject *wxCustomDataObject_GetData(wxCustomDataObject *self){
 #include <wx/metafile.h>
 
 
-#include <wx/dnd.h>
 
 
-class wxPyDropSource : public wxDropSource {
-public:
-#ifndef __WXGTK__
-     wxPyDropSource(wxWindow *win = NULL,
-                    const wxCursor &copy = wxNullCursor,
-                    const wxCursor &move = wxNullCursor,
-                    const wxCursor &none = wxNullCursor)
-         : wxDropSource(win, copy, move, none) {}
-#else
-    wxPyDropSource(wxWindow *win = NULL,
-                   const wxIcon& copy = wxNullIcon,
-                   const wxIcon& move = wxNullIcon,
-                   const wxIcon& none = wxNullIcon)
-        : wxDropSource(win, copy, move, none) {}
-#endif
-    ~wxPyDropSource() { }
-
-    DEC_PYCALLBACK_BOOL_DR(GiveFeedback);
-    PYPRIVATE;
-};
-
 IMP_PYCALLBACK_BOOL_DR(wxPyDropSource, wxDropSource, GiveFeedback);
 
 
-
-class wxPyDropTarget : public wxDropTarget {
-public:
-    wxPyDropTarget(wxDataObject *dataObject = NULL)
-        : wxDropTarget(dataObject) {}
-
-    // called when mouse leaves the window: might be used to remove the
-    // feedback which was given in OnEnter()
-    DEC_PYCALLBACK__(OnLeave);
-
-    // called when the mouse enters the window (only once until OnLeave())
-    DEC_PYCALLBACK_DR_2WXCDR(OnEnter);
-
-    // called when the mouse moves in the window - shouldn't take long to
-    // execute or otherwise mouse movement would be too slow
-    DEC_PYCALLBACK_DR_2WXCDR(OnDragOver);
-    
-    // called after OnDrop() returns True: you will usually just call
-    // GetData() from here and, probably, also refresh something to update the
-    // new data and, finally, return the code indicating how did the operation
-    // complete (returning default value in case of success and wxDragError on
-    // failure is usually ok)
-    DEC_PYCALLBACK_DR_2WXCDR_pure(OnData);
-    
-    // this function is called when data is dropped at position (x, y) - if it
-    // returns True, OnData() will be called immediately afterwards which will
-    // allow to retrieve the data dropped.
-    DEC_PYCALLBACK_BOOL_INTINT(OnDrop);
-
-    PYPRIVATE;
-};
-
 IMP_PYCALLBACK__(wxPyDropTarget, wxDropTarget, OnLeave);
 IMP_PYCALLBACK_DR_2WXCDR(wxPyDropTarget, wxDropTarget, OnEnter);
 IMP_PYCALLBACK_DR_2WXCDR(wxPyDropTarget, wxDropTarget, OnDragOver);
@@ -1114,7 +1060,6 @@ IMP_PYCALLBACK_DR_2WXCDR_pure(wxPyDropTarget, wxDropTarget, OnData);
 IMP_PYCALLBACK_BOOL_INTINT(wxPyDropTarget, wxDropTarget, OnDrop);
 
 
-
 class wxPyTextDropTarget : public wxTextDropTarget {
 public:
     wxPyTextDropTarget() {}
@@ -4092,6 +4037,35 @@ static PyObject *_wrap_Caret_IsVisible(PyObject *self, PyObject *args, PyObject
 }
 
 
+static PyObject *_wrap_Caret_GetPosition(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxCaret *arg1 = (wxCaret *) 0 ;
+    wxPoint result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:Caret_GetPosition",kwnames,&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxCaret,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (arg1)->GetPosition();
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    {
+        wxPoint * resultptr;
+        resultptr = new wxPoint((wxPoint &) result);
+        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_wxPoint, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
 static PyObject *_wrap_Caret_GetPositionTuple(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxCaret *arg1 = (wxCaret *) 0 ;
@@ -4130,28 +4104,28 @@ static PyObject *_wrap_Caret_GetPositionTuple(PyObject *self, PyObject *args, Py
 }
 
 
-static PyObject *_wrap_Caret_GetPosition(PyObject *self, PyObject *args, PyObject *kwargs) {
+static PyObject *_wrap_Caret_GetSize(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxCaret *arg1 = (wxCaret *) 0 ;
-    wxPoint result;
+    wxSize result;
     PyObject * obj0 = 0 ;
     char *kwnames[] = {
         (char *) "self", NULL 
     };
     
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:Caret_GetPosition",kwnames,&obj0)) goto fail;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:Caret_GetSize",kwnames,&obj0)) goto fail;
     if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxCaret,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
-        result = (arg1)->GetPosition();
+        result = (arg1)->GetSize();
         
         wxPyEndAllowThreads(__tstate);
         if (PyErr_Occurred()) SWIG_fail;
     }
     {
-        wxPoint * resultptr;
-        resultptr = new wxPoint((wxPoint &) result);
-        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_wxPoint, 1);
+        wxSize * resultptr;
+        resultptr = new wxSize((wxSize &) result);
+        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_wxSize, 1);
     }
     return resultobj;
     fail:
@@ -4197,35 +4171,6 @@ static PyObject *_wrap_Caret_GetSizeTuple(PyObject *self, PyObject *args, PyObje
 }
 
 
-static PyObject *_wrap_Caret_GetSize(PyObject *self, PyObject *args, PyObject *kwargs) {
-    PyObject *resultobj;
-    wxCaret *arg1 = (wxCaret *) 0 ;
-    wxSize result;
-    PyObject * obj0 = 0 ;
-    char *kwnames[] = {
-        (char *) "self", NULL 
-    };
-    
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:Caret_GetSize",kwnames,&obj0)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxCaret,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    {
-        PyThreadState* __tstate = wxPyBeginAllowThreads();
-        result = (arg1)->GetSize();
-        
-        wxPyEndAllowThreads(__tstate);
-        if (PyErr_Occurred()) SWIG_fail;
-    }
-    {
-        wxSize * resultptr;
-        resultptr = new wxSize((wxSize &) result);
-        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_wxSize, 1);
-    }
-    return resultobj;
-    fail:
-    return NULL;
-}
-
-
 static PyObject *_wrap_Caret_GetWindow(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxCaret *arg1 = (wxCaret *) 0 ;
@@ -5696,6 +5641,36 @@ static PyObject *_wrap_delete_Timer(PyObject *self, PyObject *args, PyObject *kw
 }
 
 
+static PyObject *_wrap_Timer__setCallbackInfo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyTimer *arg1 = (wxPyTimer *) 0 ;
+    PyObject *arg2 = (PyObject *) 0 ;
+    PyObject *arg3 = (PyObject *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "self",(char *) "_class", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OOO:Timer__setCallbackInfo",kwnames,&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTimer,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = obj1;
+    arg3 = obj2;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        (arg1)->_setCallbackInfo(arg2,arg3);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
 static PyObject *_wrap_Timer_SetOwner(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxPyTimer *arg1 = (wxPyTimer *) 0 ;
@@ -5780,30 +5755,6 @@ static PyObject *_wrap_Timer_Stop(PyObject *self, PyObject *args, PyObject *kwar
 }
 
 
-static PyObject *_wrap_Timer_Notify(PyObject *self, PyObject *args, PyObject *kwargs) {
-    PyObject *resultobj;
-    wxPyTimer *arg1 = (wxPyTimer *) 0 ;
-    PyObject * obj0 = 0 ;
-    char *kwnames[] = {
-        (char *) "self", NULL 
-    };
-    
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:Timer_Notify",kwnames,&obj0)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyTimer,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    {
-        PyThreadState* __tstate = wxPyBeginAllowThreads();
-        (arg1)->Notify();
-        
-        wxPyEndAllowThreads(__tstate);
-        if (PyErr_Occurred()) SWIG_fail;
-    }
-    Py_INCREF(Py_None); resultobj = Py_None;
-    return resultobj;
-    fail:
-    return NULL;
-}
-
-
 static PyObject *_wrap_Timer_IsRunning(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxPyTimer *arg1 = (wxPyTimer *) 0 ;
@@ -10486,7 +10437,7 @@ static PyObject *_wrap_Wave_Play(PyObject *self, PyObject *args, PyObject *kwarg
     }
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
-        result = (bool)((wxWave const *)arg1)->Play(arg2,arg3);
+        result = (bool)(arg1)->Play(arg2,arg3);
         
         wxPyEndAllowThreads(__tstate);
         if (PyErr_Occurred()) SWIG_fail;
@@ -15257,7 +15208,7 @@ static PyObject *_wrap_DateTime_GetNumberOfDaysinYear(PyObject *self, PyObject *
     PyObject *resultobj;
     int arg1 ;
     int arg2 = (int) wxDateTime::Gregorian ;
-    wxDateTime::wxDateTime_t result;
+    int result;
     char *kwnames[] = {
         (char *) "year",(char *) "cal", NULL 
     };
@@ -15265,7 +15216,7 @@ static PyObject *_wrap_DateTime_GetNumberOfDaysinYear(PyObject *self, PyObject *
     if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"i|i:DateTime_GetNumberOfDaysinYear",kwnames,&arg1,&arg2)) goto fail;
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
-        result = (wxDateTime::wxDateTime_t)wxDateTime::GetNumberOfDays(arg1,(wxDateTime::Calendar )arg2);
+        result = (int)wxDateTime::GetNumberOfDays(arg1,(wxDateTime::Calendar )arg2);
         
         wxPyEndAllowThreads(__tstate);
         if (PyErr_Occurred()) SWIG_fail;
@@ -15282,7 +15233,7 @@ static PyObject *_wrap_DateTime_GetNumberOfDaysInMonth(PyObject *self, PyObject
     int arg1 ;
     int arg2 = (int) wxDateTime::Inv_Year ;
     int arg3 = (int) wxDateTime::Gregorian ;
-    wxDateTime::wxDateTime_t result;
+    int result;
     char *kwnames[] = {
         (char *) "month",(char *) "year",(char *) "cal", NULL 
     };
@@ -15290,7 +15241,7 @@ static PyObject *_wrap_DateTime_GetNumberOfDaysInMonth(PyObject *self, PyObject
     if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"i|ii:DateTime_GetNumberOfDaysInMonth",kwnames,&arg1,&arg2,&arg3)) goto fail;
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
-        result = (wxDateTime::wxDateTime_t)wxDateTime::GetNumberOfDays((wxDateTime::Month )arg1,arg2,(wxDateTime::Calendar )arg3);
+        result = (int)wxDateTime::GetNumberOfDays((wxDateTime::Month )arg1,arg2,(wxDateTime::Calendar )arg3);
         
         wxPyEndAllowThreads(__tstate);
         if (PyErr_Occurred()) SWIG_fail;
@@ -15620,34 +15571,16 @@ static PyObject *_wrap_new_DateTimeFromJDN(PyObject *self, PyObject *args, PyObj
 
 static PyObject *_wrap_new_DateTimeFromHMS(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
-    wxDateTime::wxDateTime_t arg1 ;
-    wxDateTime::wxDateTime_t arg2 = (wxDateTime::wxDateTime_t) 0 ;
-    wxDateTime::wxDateTime_t arg3 = (wxDateTime::wxDateTime_t) 0 ;
-    wxDateTime::wxDateTime_t arg4 = (wxDateTime::wxDateTime_t) 0 ;
+    int arg1 ;
+    int arg2 = (int) 0 ;
+    int arg3 = (int) 0 ;
+    int arg4 = (int) 0 ;
     wxDateTime *result;
-    PyObject * obj0 = 0 ;
-    PyObject * obj1 = 0 ;
-    PyObject * obj2 = 0 ;
-    PyObject * obj3 = 0 ;
     char *kwnames[] = {
         (char *) "hour",(char *) "minute",(char *) "second",(char *) "millisec", NULL 
     };
     
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O|OOO:new_DateTimeFromHMS",kwnames,&obj0,&obj1,&obj2,&obj3)) goto fail;
-    arg1 = (wxDateTime::wxDateTime_t) PyInt_AsLong(obj0);
-    if (PyErr_Occurred()) SWIG_fail;
-    if (obj1) {
-        arg2 = (wxDateTime::wxDateTime_t) PyInt_AsLong(obj1);
-        if (PyErr_Occurred()) SWIG_fail;
-    }
-    if (obj2) {
-        arg3 = (wxDateTime::wxDateTime_t) PyInt_AsLong(obj2);
-        if (PyErr_Occurred()) SWIG_fail;
-    }
-    if (obj3) {
-        arg4 = (wxDateTime::wxDateTime_t) PyInt_AsLong(obj3);
-        if (PyErr_Occurred()) SWIG_fail;
-    }
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"i|iii:new_DateTimeFromHMS",kwnames,&arg1,&arg2,&arg3,&arg4)) goto fail;
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
         result = (wxDateTime *)new wxDateTime(arg1,arg2,arg3,arg4);
@@ -15664,42 +15597,19 @@ static PyObject *_wrap_new_DateTimeFromHMS(PyObject *self, PyObject *args, PyObj
 
 static PyObject *_wrap_new_DateTimeFromDMY(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
-    wxDateTime::wxDateTime_t arg1 ;
+    int arg1 ;
     int arg2 = (int) wxDateTime::Inv_Month ;
     int arg3 = (int) wxDateTime::Inv_Year ;
-    wxDateTime::wxDateTime_t arg4 = (wxDateTime::wxDateTime_t) 0 ;
-    wxDateTime::wxDateTime_t arg5 = (wxDateTime::wxDateTime_t) 0 ;
-    wxDateTime::wxDateTime_t arg6 = (wxDateTime::wxDateTime_t) 0 ;
-    wxDateTime::wxDateTime_t arg7 = (wxDateTime::wxDateTime_t) 0 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    int arg7 = (int) 0 ;
     wxDateTime *result;
-    PyObject * obj0 = 0 ;
-    PyObject * obj3 = 0 ;
-    PyObject * obj4 = 0 ;
-    PyObject * obj5 = 0 ;
-    PyObject * obj6 = 0 ;
     char *kwnames[] = {
         (char *) "day",(char *) "month",(char *) "year",(char *) "hour",(char *) "minute",(char *) "second",(char *) "millisec", NULL 
     };
     
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O|iiOOOO:new_DateTimeFromDMY",kwnames,&obj0,&arg2,&arg3,&obj3,&obj4,&obj5,&obj6)) goto fail;
-    arg1 = (wxDateTime::wxDateTime_t) PyInt_AsLong(obj0);
-    if (PyErr_Occurred()) SWIG_fail;
-    if (obj3) {
-        arg4 = (wxDateTime::wxDateTime_t) PyInt_AsLong(obj3);
-        if (PyErr_Occurred()) SWIG_fail;
-    }
-    if (obj4) {
-        arg5 = (wxDateTime::wxDateTime_t) PyInt_AsLong(obj4);
-        if (PyErr_Occurred()) SWIG_fail;
-    }
-    if (obj5) {
-        arg6 = (wxDateTime::wxDateTime_t) PyInt_AsLong(obj5);
-        if (PyErr_Occurred()) SWIG_fail;
-    }
-    if (obj6) {
-        arg7 = (wxDateTime::wxDateTime_t) PyInt_AsLong(obj6);
-        if (PyErr_Occurred()) SWIG_fail;
-    }
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"i|iiiiii:new_DateTimeFromDMY",kwnames,&arg1,&arg2,&arg3,&arg4,&arg5,&arg6,&arg7)) goto fail;
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
         result = (wxDateTime *)new wxDateTime(arg1,(wxDateTime::Month )arg2,arg3,arg4,arg5,arg6,arg7);
@@ -15830,36 +15740,18 @@ static PyObject *_wrap_DateTime_SetJDN(PyObject *self, PyObject *args, PyObject
 static PyObject *_wrap_DateTime_SetHMS(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxDateTime *arg1 = (wxDateTime *) 0 ;
-    wxDateTime::wxDateTime_t arg2 ;
-    wxDateTime::wxDateTime_t arg3 = (wxDateTime::wxDateTime_t) 0 ;
-    wxDateTime::wxDateTime_t arg4 = (wxDateTime::wxDateTime_t) 0 ;
-    wxDateTime::wxDateTime_t arg5 = (wxDateTime::wxDateTime_t) 0 ;
+    int arg2 ;
+    int arg3 = (int) 0 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
     wxDateTime *result;
     PyObject * obj0 = 0 ;
-    PyObject * obj1 = 0 ;
-    PyObject * obj2 = 0 ;
-    PyObject * obj3 = 0 ;
-    PyObject * obj4 = 0 ;
     char *kwnames[] = {
         (char *) "self",(char *) "hour",(char *) "minute",(char *) "second",(char *) "millisec", NULL 
     };
     
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|OOO:DateTime_SetHMS",kwnames,&obj0,&obj1,&obj2,&obj3,&obj4)) goto fail;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi|iii:DateTime_SetHMS",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
     if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDateTime,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    arg2 = (wxDateTime::wxDateTime_t) PyInt_AsLong(obj1);
-    if (PyErr_Occurred()) SWIG_fail;
-    if (obj2) {
-        arg3 = (wxDateTime::wxDateTime_t) PyInt_AsLong(obj2);
-        if (PyErr_Occurred()) SWIG_fail;
-    }
-    if (obj3) {
-        arg4 = (wxDateTime::wxDateTime_t) PyInt_AsLong(obj3);
-        if (PyErr_Occurred()) SWIG_fail;
-    }
-    if (obj4) {
-        arg5 = (wxDateTime::wxDateTime_t) PyInt_AsLong(obj4);
-        if (PyErr_Occurred()) SWIG_fail;
-    }
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
         {
@@ -15880,44 +15772,21 @@ static PyObject *_wrap_DateTime_SetHMS(PyObject *self, PyObject *args, PyObject
 static PyObject *_wrap_DateTime_Set(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxDateTime *arg1 = (wxDateTime *) 0 ;
-    wxDateTime::wxDateTime_t arg2 ;
+    int arg2 ;
     int arg3 = (int) wxDateTime::Inv_Month ;
     int arg4 = (int) wxDateTime::Inv_Year ;
-    wxDateTime::wxDateTime_t arg5 = (wxDateTime::wxDateTime_t) 0 ;
-    wxDateTime::wxDateTime_t arg6 = (wxDateTime::wxDateTime_t) 0 ;
-    wxDateTime::wxDateTime_t arg7 = (wxDateTime::wxDateTime_t) 0 ;
-    wxDateTime::wxDateTime_t arg8 = (wxDateTime::wxDateTime_t) 0 ;
+    int arg5 = (int) 0 ;
+    int arg6 = (int) 0 ;
+    int arg7 = (int) 0 ;
+    int arg8 = (int) 0 ;
     wxDateTime *result;
     PyObject * obj0 = 0 ;
-    PyObject * obj1 = 0 ;
-    PyObject * obj4 = 0 ;
-    PyObject * obj5 = 0 ;
-    PyObject * obj6 = 0 ;
-    PyObject * obj7 = 0 ;
     char *kwnames[] = {
         (char *) "self",(char *) "day",(char *) "month",(char *) "year",(char *) "hour",(char *) "minute",(char *) "second",(char *) "millisec", NULL 
     };
     
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|iiOOOO:DateTime_Set",kwnames,&obj0,&obj1,&arg3,&arg4,&obj4,&obj5,&obj6,&obj7)) goto fail;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi|iiiiii:DateTime_Set",kwnames,&obj0,&arg2,&arg3,&arg4,&arg5,&arg6,&arg7,&arg8)) goto fail;
     if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDateTime,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    arg2 = (wxDateTime::wxDateTime_t) PyInt_AsLong(obj1);
-    if (PyErr_Occurred()) SWIG_fail;
-    if (obj4) {
-        arg5 = (wxDateTime::wxDateTime_t) PyInt_AsLong(obj4);
-        if (PyErr_Occurred()) SWIG_fail;
-    }
-    if (obj5) {
-        arg6 = (wxDateTime::wxDateTime_t) PyInt_AsLong(obj5);
-        if (PyErr_Occurred()) SWIG_fail;
-    }
-    if (obj6) {
-        arg7 = (wxDateTime::wxDateTime_t) PyInt_AsLong(obj6);
-        if (PyErr_Occurred()) SWIG_fail;
-    }
-    if (obj7) {
-        arg8 = (wxDateTime::wxDateTime_t) PyInt_AsLong(obj7);
-        if (PyErr_Occurred()) SWIG_fail;
-    }
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
         {
@@ -16024,18 +15893,15 @@ static PyObject *_wrap_DateTime_SetMonth(PyObject *self, PyObject *args, PyObjec
 static PyObject *_wrap_DateTime_SetDay(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxDateTime *arg1 = (wxDateTime *) 0 ;
-    wxDateTime::wxDateTime_t arg2 ;
+    int arg2 ;
     wxDateTime *result;
     PyObject * obj0 = 0 ;
-    PyObject * obj1 = 0 ;
     char *kwnames[] = {
         (char *) "self",(char *) "day", NULL 
     };
     
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:DateTime_SetDay",kwnames,&obj0,&obj1)) goto fail;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:DateTime_SetDay",kwnames,&obj0,&arg2)) goto fail;
     if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDateTime,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    arg2 = (wxDateTime::wxDateTime_t) PyInt_AsLong(obj1);
-    if (PyErr_Occurred()) SWIG_fail;
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
         {
@@ -16056,18 +15922,15 @@ static PyObject *_wrap_DateTime_SetDay(PyObject *self, PyObject *args, PyObject
 static PyObject *_wrap_DateTime_SetHour(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxDateTime *arg1 = (wxDateTime *) 0 ;
-    wxDateTime::wxDateTime_t arg2 ;
+    int arg2 ;
     wxDateTime *result;
     PyObject * obj0 = 0 ;
-    PyObject * obj1 = 0 ;
     char *kwnames[] = {
         (char *) "self",(char *) "hour", NULL 
     };
     
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:DateTime_SetHour",kwnames,&obj0,&obj1)) goto fail;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:DateTime_SetHour",kwnames,&obj0,&arg2)) goto fail;
     if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDateTime,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    arg2 = (wxDateTime::wxDateTime_t) PyInt_AsLong(obj1);
-    if (PyErr_Occurred()) SWIG_fail;
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
         {
@@ -16088,18 +15951,15 @@ static PyObject *_wrap_DateTime_SetHour(PyObject *self, PyObject *args, PyObject
 static PyObject *_wrap_DateTime_SetMinute(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxDateTime *arg1 = (wxDateTime *) 0 ;
-    wxDateTime::wxDateTime_t arg2 ;
+    int arg2 ;
     wxDateTime *result;
     PyObject * obj0 = 0 ;
-    PyObject * obj1 = 0 ;
     char *kwnames[] = {
         (char *) "self",(char *) "minute", NULL 
     };
     
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:DateTime_SetMinute",kwnames,&obj0,&obj1)) goto fail;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:DateTime_SetMinute",kwnames,&obj0,&arg2)) goto fail;
     if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDateTime,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    arg2 = (wxDateTime::wxDateTime_t) PyInt_AsLong(obj1);
-    if (PyErr_Occurred()) SWIG_fail;
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
         {
@@ -16120,18 +15980,15 @@ static PyObject *_wrap_DateTime_SetMinute(PyObject *self, PyObject *args, PyObje
 static PyObject *_wrap_DateTime_SetSecond(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxDateTime *arg1 = (wxDateTime *) 0 ;
-    wxDateTime::wxDateTime_t arg2 ;
+    int arg2 ;
     wxDateTime *result;
     PyObject * obj0 = 0 ;
-    PyObject * obj1 = 0 ;
     char *kwnames[] = {
         (char *) "self",(char *) "second", NULL 
     };
     
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:DateTime_SetSecond",kwnames,&obj0,&obj1)) goto fail;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:DateTime_SetSecond",kwnames,&obj0,&arg2)) goto fail;
     if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDateTime,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    arg2 = (wxDateTime::wxDateTime_t) PyInt_AsLong(obj1);
-    if (PyErr_Occurred()) SWIG_fail;
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
         {
@@ -16152,18 +16009,15 @@ static PyObject *_wrap_DateTime_SetSecond(PyObject *self, PyObject *args, PyObje
 static PyObject *_wrap_DateTime_SetMillisecond(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxDateTime *arg1 = (wxDateTime *) 0 ;
-    wxDateTime::wxDateTime_t arg2 ;
+    int arg2 ;
     wxDateTime *result;
     PyObject * obj0 = 0 ;
-    PyObject * obj1 = 0 ;
     char *kwnames[] = {
         (char *) "self",(char *) "millisecond", NULL 
     };
     
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:DateTime_SetMillisecond",kwnames,&obj0,&obj1)) goto fail;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:DateTime_SetMillisecond",kwnames,&obj0,&arg2)) goto fail;
     if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDateTime,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    arg2 = (wxDateTime::wxDateTime_t) PyInt_AsLong(obj1);
-    if (PyErr_Occurred()) SWIG_fail;
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
         {
@@ -16452,20 +16306,17 @@ static PyObject *_wrap_DateTime_GetLastWeekDay(PyObject *self, PyObject *args, P
 static PyObject *_wrap_DateTime_SetToTheWeek(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxDateTime *arg1 = (wxDateTime *) 0 ;
-    wxDateTime::wxDateTime_t arg2 ;
+    int arg2 ;
     int arg3 = (int) wxDateTime::Mon ;
     int arg4 = (int) wxDateTime::Monday_First ;
     bool result;
     PyObject * obj0 = 0 ;
-    PyObject * obj1 = 0 ;
     char *kwnames[] = {
         (char *) "self",(char *) "numWeek",(char *) "weekday",(char *) "flags", NULL 
     };
     
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|ii:DateTime_SetToTheWeek",kwnames,&obj0,&obj1,&arg3,&arg4)) goto fail;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi|ii:DateTime_SetToTheWeek",kwnames,&obj0,&arg2,&arg3,&arg4)) goto fail;
     if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDateTime,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    arg2 = (wxDateTime::wxDateTime_t) PyInt_AsLong(obj1);
-    if (PyErr_Occurred()) SWIG_fail;
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
         result = (bool)(arg1)->SetToTheWeek(arg2,(wxDateTime::WeekDay )arg3,(wxDateTime::WeekFlags )arg4);
@@ -16483,20 +16334,17 @@ static PyObject *_wrap_DateTime_SetToTheWeek(PyObject *self, PyObject *args, PyO
 static PyObject *_wrap_DateTime_GetWeek(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxDateTime *arg1 = (wxDateTime *) 0 ;
-    wxDateTime::wxDateTime_t arg2 ;
+    int arg2 ;
     int arg3 = (int) wxDateTime::Mon ;
     int arg4 = (int) wxDateTime::Monday_First ;
     wxDateTime result;
     PyObject * obj0 = 0 ;
-    PyObject * obj1 = 0 ;
     char *kwnames[] = {
         (char *) "self",(char *) "numWeek",(char *) "weekday",(char *) "flags", NULL 
     };
     
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO|ii:DateTime_GetWeek",kwnames,&obj0,&obj1,&arg3,&arg4)) goto fail;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi|ii:DateTime_GetWeek",kwnames,&obj0,&arg2,&arg3,&arg4)) goto fail;
     if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDateTime,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    arg2 = (wxDateTime::wxDateTime_t) PyInt_AsLong(obj1);
-    if (PyErr_Occurred()) SWIG_fail;
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
         result = (arg1)->GetWeek(arg2,(wxDateTime::WeekDay )arg3,(wxDateTime::WeekFlags )arg4);
@@ -16579,18 +16427,15 @@ static PyObject *_wrap_DateTime_GetLastMonthDay(PyObject *self, PyObject *args,
 static PyObject *_wrap_DateTime_SetToYearDay(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxDateTime *arg1 = (wxDateTime *) 0 ;
-    wxDateTime::wxDateTime_t arg2 ;
+    int arg2 ;
     wxDateTime *result;
     PyObject * obj0 = 0 ;
-    PyObject * obj1 = 0 ;
     char *kwnames[] = {
         (char *) "self",(char *) "yday", NULL 
     };
     
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:DateTime_SetToYearDay",kwnames,&obj0,&obj1)) goto fail;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:DateTime_SetToYearDay",kwnames,&obj0,&arg2)) goto fail;
     if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDateTime,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    arg2 = (wxDateTime::wxDateTime_t) PyInt_AsLong(obj1);
-    if (PyErr_Occurred()) SWIG_fail;
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
         {
@@ -16611,18 +16456,15 @@ static PyObject *_wrap_DateTime_SetToYearDay(PyObject *self, PyObject *args, PyO
 static PyObject *_wrap_DateTime_GetYearDay(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxDateTime *arg1 = (wxDateTime *) 0 ;
-    wxDateTime::wxDateTime_t arg2 ;
+    int arg2 ;
     wxDateTime result;
     PyObject * obj0 = 0 ;
-    PyObject * obj1 = 0 ;
     char *kwnames[] = {
         (char *) "self",(char *) "yday", NULL 
     };
     
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:DateTime_GetYearDay",kwnames,&obj0,&obj1)) goto fail;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:DateTime_GetYearDay",kwnames,&obj0,&arg2)) goto fail;
     if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDateTime,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    arg2 = (wxDateTime::wxDateTime_t) PyInt_AsLong(obj1);
-    if (PyErr_Occurred()) SWIG_fail;
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
         result = (arg1)->GetYearDay(arg2);
@@ -16772,6 +16614,7 @@ static PyObject *_wrap_DateTime_ToTimezone(PyObject *self, PyObject *args, PyObj
     wxDateTime::TimeZone *arg2 = 0 ;
     bool arg3 = (bool) False ;
     wxDateTime result;
+    bool temp2 = False ;
     PyObject * obj0 = 0 ;
     PyObject * obj1 = 0 ;
     PyObject * obj2 = 0 ;
@@ -16783,6 +16626,7 @@ static PyObject *_wrap_DateTime_ToTimezone(PyObject *self, PyObject *args, PyObj
     if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDateTime,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
     {
         arg2 = new wxDateTime::TimeZone((wxDateTime::TZ)PyInt_AsLong(obj1));
+        temp2 = True;
     }
     if (obj2) {
         arg3 = PyInt_AsLong(obj2) ? true : false;
@@ -16801,12 +16645,12 @@ static PyObject *_wrap_DateTime_ToTimezone(PyObject *self, PyObject *args, PyObj
         resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_wxDateTime, 1);
     }
     {
-        if (arg2) delete arg2;
+        if (temp2) delete arg2;
     }
     return resultobj;
     fail:
     {
-        if (arg2) delete arg2;
+        if (temp2) delete arg2;
     }
     return NULL;
 }
@@ -16818,6 +16662,7 @@ static PyObject *_wrap_DateTime_MakeTimezone(PyObject *self, PyObject *args, PyO
     wxDateTime::TimeZone *arg2 = 0 ;
     bool arg3 = (bool) False ;
     wxDateTime *result;
+    bool temp2 = False ;
     PyObject * obj0 = 0 ;
     PyObject * obj1 = 0 ;
     PyObject * obj2 = 0 ;
@@ -16829,6 +16674,7 @@ static PyObject *_wrap_DateTime_MakeTimezone(PyObject *self, PyObject *args, PyO
     if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxDateTime,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
     {
         arg2 = new wxDateTime::TimeZone((wxDateTime::TZ)PyInt_AsLong(obj1));
+        temp2 = True;
     }
     if (obj2) {
         arg3 = PyInt_AsLong(obj2) ? true : false;
@@ -16846,12 +16692,12 @@ static PyObject *_wrap_DateTime_MakeTimezone(PyObject *self, PyObject *args, PyO
     }
     resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_wxDateTime, 0);
     {
-        if (arg2) delete arg2;
+        if (temp2) delete arg2;
     }
     return resultobj;
     fail:
     {
-        if (arg2) delete arg2;
+        if (temp2) delete arg2;
     }
     return NULL;
 }
@@ -17008,6 +16854,7 @@ static PyObject *_wrap_DateTime_GetYear(PyObject *self, PyObject *args, PyObject
     wxDateTime::TimeZone const &arg2_defvalue = LOCAL_TZ ;
     wxDateTime::TimeZone *arg2 = (wxDateTime::TimeZone *) &arg2_defvalue ;
     int result;
+    bool temp2 = False ;
     PyObject * obj0 = 0 ;
     PyObject * obj1 = 0 ;
     char *kwnames[] = {
@@ -17019,6 +16866,7 @@ static PyObject *_wrap_DateTime_GetYear(PyObject *self, PyObject *args, PyObject
     if (obj1) {
         {
             arg2 = new wxDateTime::TimeZone((wxDateTime::TZ)PyInt_AsLong(obj1));
+            temp2 = True;
         }
     }
     {
@@ -17030,12 +16878,12 @@ static PyObject *_wrap_DateTime_GetYear(PyObject *self, PyObject *args, PyObject
     }
     resultobj = PyInt_FromLong((long)result);
     {
-        if (arg2) delete arg2;
+        if (temp2) delete arg2;
     }
     return resultobj;
     fail:
     {
-        if (arg2) delete arg2;
+        if (temp2) delete arg2;
     }
     return NULL;
 }
@@ -17047,6 +16895,7 @@ static PyObject *_wrap_DateTime_GetMonth(PyObject *self, PyObject *args, PyObjec
     wxDateTime::TimeZone const &arg2_defvalue = LOCAL_TZ ;
     wxDateTime::TimeZone *arg2 = (wxDateTime::TimeZone *) &arg2_defvalue ;
     int result;
+    bool temp2 = False ;
     PyObject * obj0 = 0 ;
     PyObject * obj1 = 0 ;
     char *kwnames[] = {
@@ -17058,6 +16907,7 @@ static PyObject *_wrap_DateTime_GetMonth(PyObject *self, PyObject *args, PyObjec
     if (obj1) {
         {
             arg2 = new wxDateTime::TimeZone((wxDateTime::TZ)PyInt_AsLong(obj1));
+            temp2 = True;
         }
     }
     {
@@ -17069,12 +16919,12 @@ static PyObject *_wrap_DateTime_GetMonth(PyObject *self, PyObject *args, PyObjec
     }
     resultobj = PyInt_FromLong((long)result);
     {
-        if (arg2) delete arg2;
+        if (temp2) delete arg2;
     }
     return resultobj;
     fail:
     {
-        if (arg2) delete arg2;
+        if (temp2) delete arg2;
     }
     return NULL;
 }
@@ -17085,7 +16935,8 @@ static PyObject *_wrap_DateTime_GetDay(PyObject *self, PyObject *args, PyObject
     wxDateTime *arg1 = (wxDateTime *) 0 ;
     wxDateTime::TimeZone const &arg2_defvalue = LOCAL_TZ ;
     wxDateTime::TimeZone *arg2 = (wxDateTime::TimeZone *) &arg2_defvalue ;
-    wxDateTime::wxDateTime_t result;
+    int result;
+    bool temp2 = False ;
     PyObject * obj0 = 0 ;
     PyObject * obj1 = 0 ;
     char *kwnames[] = {
@@ -17097,23 +16948,24 @@ static PyObject *_wrap_DateTime_GetDay(PyObject *self, PyObject *args, PyObject
     if (obj1) {
         {
             arg2 = new wxDateTime::TimeZone((wxDateTime::TZ)PyInt_AsLong(obj1));
+            temp2 = True;
         }
     }
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
-        result = (wxDateTime::wxDateTime_t)((wxDateTime const *)arg1)->GetDay((wxDateTime::TimeZone const &)*arg2);
+        result = (int)((wxDateTime const *)arg1)->GetDay((wxDateTime::TimeZone const &)*arg2);
         
         wxPyEndAllowThreads(__tstate);
         if (PyErr_Occurred()) SWIG_fail;
     }
     resultobj = PyInt_FromLong((long)result);
     {
-        if (arg2) delete arg2;
+        if (temp2) delete arg2;
     }
     return resultobj;
     fail:
     {
-        if (arg2) delete arg2;
+        if (temp2) delete arg2;
     }
     return NULL;
 }
@@ -17125,6 +16977,7 @@ static PyObject *_wrap_DateTime_GetWeekDay(PyObject *self, PyObject *args, PyObj
     wxDateTime::TimeZone const &arg2_defvalue = LOCAL_TZ ;
     wxDateTime::TimeZone *arg2 = (wxDateTime::TimeZone *) &arg2_defvalue ;
     int result;
+    bool temp2 = False ;
     PyObject * obj0 = 0 ;
     PyObject * obj1 = 0 ;
     char *kwnames[] = {
@@ -17136,6 +16989,7 @@ static PyObject *_wrap_DateTime_GetWeekDay(PyObject *self, PyObject *args, PyObj
     if (obj1) {
         {
             arg2 = new wxDateTime::TimeZone((wxDateTime::TZ)PyInt_AsLong(obj1));
+            temp2 = True;
         }
     }
     {
@@ -17147,12 +17001,12 @@ static PyObject *_wrap_DateTime_GetWeekDay(PyObject *self, PyObject *args, PyObj
     }
     resultobj = PyInt_FromLong((long)result);
     {
-        if (arg2) delete arg2;
+        if (temp2) delete arg2;
     }
     return resultobj;
     fail:
     {
-        if (arg2) delete arg2;
+        if (temp2) delete arg2;
     }
     return NULL;
 }
@@ -17163,7 +17017,8 @@ static PyObject *_wrap_DateTime_GetHour(PyObject *self, PyObject *args, PyObject
     wxDateTime *arg1 = (wxDateTime *) 0 ;
     wxDateTime::TimeZone const &arg2_defvalue = LOCAL_TZ ;
     wxDateTime::TimeZone *arg2 = (wxDateTime::TimeZone *) &arg2_defvalue ;
-    wxDateTime::wxDateTime_t result;
+    int result;
+    bool temp2 = False ;
     PyObject * obj0 = 0 ;
     PyObject * obj1 = 0 ;
     char *kwnames[] = {
@@ -17175,23 +17030,24 @@ static PyObject *_wrap_DateTime_GetHour(PyObject *self, PyObject *args, PyObject
     if (obj1) {
         {
             arg2 = new wxDateTime::TimeZone((wxDateTime::TZ)PyInt_AsLong(obj1));
+            temp2 = True;
         }
     }
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
-        result = (wxDateTime::wxDateTime_t)((wxDateTime const *)arg1)->GetHour((wxDateTime::TimeZone const &)*arg2);
+        result = (int)((wxDateTime const *)arg1)->GetHour((wxDateTime::TimeZone const &)*arg2);
         
         wxPyEndAllowThreads(__tstate);
         if (PyErr_Occurred()) SWIG_fail;
     }
     resultobj = PyInt_FromLong((long)result);
     {
-        if (arg2) delete arg2;
+        if (temp2) delete arg2;
     }
     return resultobj;
     fail:
     {
-        if (arg2) delete arg2;
+        if (temp2) delete arg2;
     }
     return NULL;
 }
@@ -17202,7 +17058,8 @@ static PyObject *_wrap_DateTime_GetMinute(PyObject *self, PyObject *args, PyObje
     wxDateTime *arg1 = (wxDateTime *) 0 ;
     wxDateTime::TimeZone const &arg2_defvalue = LOCAL_TZ ;
     wxDateTime::TimeZone *arg2 = (wxDateTime::TimeZone *) &arg2_defvalue ;
-    wxDateTime::wxDateTime_t result;
+    int result;
+    bool temp2 = False ;
     PyObject * obj0 = 0 ;
     PyObject * obj1 = 0 ;
     char *kwnames[] = {
@@ -17214,23 +17071,24 @@ static PyObject *_wrap_DateTime_GetMinute(PyObject *self, PyObject *args, PyObje
     if (obj1) {
         {
             arg2 = new wxDateTime::TimeZone((wxDateTime::TZ)PyInt_AsLong(obj1));
+            temp2 = True;
         }
     }
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
-        result = (wxDateTime::wxDateTime_t)((wxDateTime const *)arg1)->GetMinute((wxDateTime::TimeZone const &)*arg2);
+        result = (int)((wxDateTime const *)arg1)->GetMinute((wxDateTime::TimeZone const &)*arg2);
         
         wxPyEndAllowThreads(__tstate);
         if (PyErr_Occurred()) SWIG_fail;
     }
     resultobj = PyInt_FromLong((long)result);
     {
-        if (arg2) delete arg2;
+        if (temp2) delete arg2;
     }
     return resultobj;
     fail:
     {
-        if (arg2) delete arg2;
+        if (temp2) delete arg2;
     }
     return NULL;
 }
@@ -17241,7 +17099,8 @@ static PyObject *_wrap_DateTime_GetSecond(PyObject *self, PyObject *args, PyObje
     wxDateTime *arg1 = (wxDateTime *) 0 ;
     wxDateTime::TimeZone const &arg2_defvalue = LOCAL_TZ ;
     wxDateTime::TimeZone *arg2 = (wxDateTime::TimeZone *) &arg2_defvalue ;
-    wxDateTime::wxDateTime_t result;
+    int result;
+    bool temp2 = False ;
     PyObject * obj0 = 0 ;
     PyObject * obj1 = 0 ;
     char *kwnames[] = {
@@ -17253,23 +17112,24 @@ static PyObject *_wrap_DateTime_GetSecond(PyObject *self, PyObject *args, PyObje
     if (obj1) {
         {
             arg2 = new wxDateTime::TimeZone((wxDateTime::TZ)PyInt_AsLong(obj1));
+            temp2 = True;
         }
     }
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
-        result = (wxDateTime::wxDateTime_t)((wxDateTime const *)arg1)->GetSecond((wxDateTime::TimeZone const &)*arg2);
+        result = (int)((wxDateTime const *)arg1)->GetSecond((wxDateTime::TimeZone const &)*arg2);
         
         wxPyEndAllowThreads(__tstate);
         if (PyErr_Occurred()) SWIG_fail;
     }
     resultobj = PyInt_FromLong((long)result);
     {
-        if (arg2) delete arg2;
+        if (temp2) delete arg2;
     }
     return resultobj;
     fail:
     {
-        if (arg2) delete arg2;
+        if (temp2) delete arg2;
     }
     return NULL;
 }
@@ -17280,7 +17140,8 @@ static PyObject *_wrap_DateTime_GetMillisecond(PyObject *self, PyObject *args, P
     wxDateTime *arg1 = (wxDateTime *) 0 ;
     wxDateTime::TimeZone const &arg2_defvalue = LOCAL_TZ ;
     wxDateTime::TimeZone *arg2 = (wxDateTime::TimeZone *) &arg2_defvalue ;
-    wxDateTime::wxDateTime_t result;
+    int result;
+    bool temp2 = False ;
     PyObject * obj0 = 0 ;
     PyObject * obj1 = 0 ;
     char *kwnames[] = {
@@ -17292,23 +17153,24 @@ static PyObject *_wrap_DateTime_GetMillisecond(PyObject *self, PyObject *args, P
     if (obj1) {
         {
             arg2 = new wxDateTime::TimeZone((wxDateTime::TZ)PyInt_AsLong(obj1));
+            temp2 = True;
         }
     }
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
-        result = (wxDateTime::wxDateTime_t)((wxDateTime const *)arg1)->GetMillisecond((wxDateTime::TimeZone const &)*arg2);
+        result = (int)((wxDateTime const *)arg1)->GetMillisecond((wxDateTime::TimeZone const &)*arg2);
         
         wxPyEndAllowThreads(__tstate);
         if (PyErr_Occurred()) SWIG_fail;
     }
     resultobj = PyInt_FromLong((long)result);
     {
-        if (arg2) delete arg2;
+        if (temp2) delete arg2;
     }
     return resultobj;
     fail:
     {
-        if (arg2) delete arg2;
+        if (temp2) delete arg2;
     }
     return NULL;
 }
@@ -17319,7 +17181,8 @@ static PyObject *_wrap_DateTime_GetDayOfYear(PyObject *self, PyObject *args, PyO
     wxDateTime *arg1 = (wxDateTime *) 0 ;
     wxDateTime::TimeZone const &arg2_defvalue = LOCAL_TZ ;
     wxDateTime::TimeZone *arg2 = (wxDateTime::TimeZone *) &arg2_defvalue ;
-    wxDateTime::wxDateTime_t result;
+    int result;
+    bool temp2 = False ;
     PyObject * obj0 = 0 ;
     PyObject * obj1 = 0 ;
     char *kwnames[] = {
@@ -17331,23 +17194,24 @@ static PyObject *_wrap_DateTime_GetDayOfYear(PyObject *self, PyObject *args, PyO
     if (obj1) {
         {
             arg2 = new wxDateTime::TimeZone((wxDateTime::TZ)PyInt_AsLong(obj1));
+            temp2 = True;
         }
     }
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
-        result = (wxDateTime::wxDateTime_t)((wxDateTime const *)arg1)->GetDayOfYear((wxDateTime::TimeZone const &)*arg2);
+        result = (int)((wxDateTime const *)arg1)->GetDayOfYear((wxDateTime::TimeZone const &)*arg2);
         
         wxPyEndAllowThreads(__tstate);
         if (PyErr_Occurred()) SWIG_fail;
     }
     resultobj = PyInt_FromLong((long)result);
     {
-        if (arg2) delete arg2;
+        if (temp2) delete arg2;
     }
     return resultobj;
     fail:
     {
-        if (arg2) delete arg2;
+        if (temp2) delete arg2;
     }
     return NULL;
 }
@@ -17359,7 +17223,8 @@ static PyObject *_wrap_DateTime_GetWeekOfYear(PyObject *self, PyObject *args, Py
     int arg2 = (int) wxDateTime::Monday_First ;
     wxDateTime::TimeZone const &arg3_defvalue = LOCAL_TZ ;
     wxDateTime::TimeZone *arg3 = (wxDateTime::TimeZone *) &arg3_defvalue ;
-    wxDateTime::wxDateTime_t result;
+    int result;
+    bool temp3 = False ;
     PyObject * obj0 = 0 ;
     PyObject * obj2 = 0 ;
     char *kwnames[] = {
@@ -17371,23 +17236,24 @@ static PyObject *_wrap_DateTime_GetWeekOfYear(PyObject *self, PyObject *args, Py
     if (obj2) {
         {
             arg3 = new wxDateTime::TimeZone((wxDateTime::TZ)PyInt_AsLong(obj2));
+            temp3 = True;
         }
     }
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
-        result = (wxDateTime::wxDateTime_t)((wxDateTime const *)arg1)->GetWeekOfYear((wxDateTime::WeekFlags )arg2,(wxDateTime::TimeZone const &)*arg3);
+        result = (int)((wxDateTime const *)arg1)->GetWeekOfYear((wxDateTime::WeekFlags )arg2,(wxDateTime::TimeZone const &)*arg3);
         
         wxPyEndAllowThreads(__tstate);
         if (PyErr_Occurred()) SWIG_fail;
     }
     resultobj = PyInt_FromLong((long)result);
     {
-        if (arg3) delete arg3;
+        if (temp3) delete arg3;
     }
     return resultobj;
     fail:
     {
-        if (arg3) delete arg3;
+        if (temp3) delete arg3;
     }
     return NULL;
 }
@@ -17399,7 +17265,8 @@ static PyObject *_wrap_DateTime_GetWeekOfMonth(PyObject *self, PyObject *args, P
     int arg2 = (int) wxDateTime::Monday_First ;
     wxDateTime::TimeZone const &arg3_defvalue = LOCAL_TZ ;
     wxDateTime::TimeZone *arg3 = (wxDateTime::TimeZone *) &arg3_defvalue ;
-    wxDateTime::wxDateTime_t result;
+    int result;
+    bool temp3 = False ;
     PyObject * obj0 = 0 ;
     PyObject * obj2 = 0 ;
     char *kwnames[] = {
@@ -17411,23 +17278,24 @@ static PyObject *_wrap_DateTime_GetWeekOfMonth(PyObject *self, PyObject *args, P
     if (obj2) {
         {
             arg3 = new wxDateTime::TimeZone((wxDateTime::TZ)PyInt_AsLong(obj2));
+            temp3 = True;
         }
     }
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
-        result = (wxDateTime::wxDateTime_t)((wxDateTime const *)arg1)->GetWeekOfMonth((wxDateTime::WeekFlags )arg2,(wxDateTime::TimeZone const &)*arg3);
+        result = (int)((wxDateTime const *)arg1)->GetWeekOfMonth((wxDateTime::WeekFlags )arg2,(wxDateTime::TimeZone const &)*arg3);
         
         wxPyEndAllowThreads(__tstate);
         if (PyErr_Occurred()) SWIG_fail;
     }
     resultobj = PyInt_FromLong((long)result);
     {
-        if (arg3) delete arg3;
+        if (temp3) delete arg3;
     }
     return resultobj;
     fail:
     {
-        if (arg3) delete arg3;
+        if (temp3) delete arg3;
     }
     return NULL;
 }
@@ -18884,6 +18752,7 @@ static PyObject *_wrap_DateTime_Format(PyObject *self, PyObject *args, PyObject
     wxDateTime::TimeZone *arg3 = (wxDateTime::TimeZone *) &arg3_defvalue ;
     wxString result;
     bool temp2 = False ;
+    bool temp3 = False ;
     PyObject * obj0 = 0 ;
     PyObject * obj1 = 0 ;
     PyObject * obj2 = 0 ;
@@ -18903,6 +18772,7 @@ static PyObject *_wrap_DateTime_Format(PyObject *self, PyObject *args, PyObject
     if (obj2) {
         {
             arg3 = new wxDateTime::TimeZone((wxDateTime::TZ)PyInt_AsLong(obj2));
+            temp3 = True;
         }
     }
     {
@@ -18924,7 +18794,7 @@ static PyObject *_wrap_DateTime_Format(PyObject *self, PyObject *args, PyObject
         delete arg2;
     }
     {
-        if (arg3) delete arg3;
+        if (temp3) delete arg3;
     }
     return resultobj;
     fail:
@@ -18933,7 +18803,7 @@ static PyObject *_wrap_DateTime_Format(PyObject *self, PyObject *args, PyObject
         delete arg2;
     }
     {
-        if (arg3) delete arg3;
+        if (temp3) delete arg3;
     }
     return NULL;
 }
@@ -24611,10 +24481,10 @@ static PyMethodDef SwigMethods[] = {
         { (char *)"delete_Caret", (PyCFunction) _wrap_delete_Caret, METH_VARARGS | METH_KEYWORDS },
         { (char *)"Caret_IsOk", (PyCFunction) _wrap_Caret_IsOk, METH_VARARGS | METH_KEYWORDS },
         { (char *)"Caret_IsVisible", (PyCFunction) _wrap_Caret_IsVisible, METH_VARARGS | METH_KEYWORDS },
-        { (char *)"Caret_GetPositionTuple", (PyCFunction) _wrap_Caret_GetPositionTuple, METH_VARARGS | METH_KEYWORDS },
         { (char *)"Caret_GetPosition", (PyCFunction) _wrap_Caret_GetPosition, METH_VARARGS | METH_KEYWORDS },
-        { (char *)"Caret_GetSizeTuple", (PyCFunction) _wrap_Caret_GetSizeTuple, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"Caret_GetPositionTuple", (PyCFunction) _wrap_Caret_GetPositionTuple, METH_VARARGS | METH_KEYWORDS },
         { (char *)"Caret_GetSize", (PyCFunction) _wrap_Caret_GetSize, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"Caret_GetSizeTuple", (PyCFunction) _wrap_Caret_GetSizeTuple, METH_VARARGS | METH_KEYWORDS },
         { (char *)"Caret_GetWindow", (PyCFunction) _wrap_Caret_GetWindow, METH_VARARGS | METH_KEYWORDS },
         { (char *)"Caret_MoveXY", (PyCFunction) _wrap_Caret_MoveXY, METH_VARARGS | METH_KEYWORDS },
         { (char *)"Caret_Move", (PyCFunction) _wrap_Caret_Move, METH_VARARGS | METH_KEYWORDS },
@@ -24673,10 +24543,10 @@ static PyMethodDef SwigMethods[] = {
         { (char *)"CreateFileTipProvider", (PyCFunction) _wrap_CreateFileTipProvider, METH_VARARGS | METH_KEYWORDS },
         { (char *)"new_Timer", (PyCFunction) _wrap_new_Timer, METH_VARARGS | METH_KEYWORDS },
         { (char *)"delete_Timer", (PyCFunction) _wrap_delete_Timer, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"Timer__setCallbackInfo", (PyCFunction) _wrap_Timer__setCallbackInfo, METH_VARARGS | METH_KEYWORDS },
         { (char *)"Timer_SetOwner", (PyCFunction) _wrap_Timer_SetOwner, METH_VARARGS | METH_KEYWORDS },
         { (char *)"Timer_Start", (PyCFunction) _wrap_Timer_Start, METH_VARARGS | METH_KEYWORDS },
         { (char *)"Timer_Stop", (PyCFunction) _wrap_Timer_Stop, METH_VARARGS | METH_KEYWORDS },
-        { (char *)"Timer_Notify", (PyCFunction) _wrap_Timer_Notify, METH_VARARGS | METH_KEYWORDS },
         { (char *)"Timer_IsRunning", (PyCFunction) _wrap_Timer_IsRunning, METH_VARARGS | METH_KEYWORDS },
         { (char *)"Timer_GetInterval", (PyCFunction) _wrap_Timer_GetInterval, METH_VARARGS | METH_KEYWORDS },
         { (char *)"Timer_IsOneShot", (PyCFunction) _wrap_Timer_IsOneShot, METH_VARARGS | METH_KEYWORDS },
index 036fe83f95765d3a76bebe0c5b61b573a1491945..057258939010a046472b45eb2b1f832ad0c88770 100644 (file)
@@ -91,9 +91,7 @@ class ScrolledWindow(Panel):
     def GetScrollPixelsPerUnit(*args, **kwargs):
         """GetScrollPixelsPerUnit() -> (xUnit, yUnit)
 
-
-        get the size of one logical unit in physical ones
-        """
+Get the size of one logical unit in physical units."""
         return _windows.ScrolledWindow_GetScrollPixelsPerUnit(*args, **kwargs)
 
     def EnableScrolling(*args, **kwargs):
@@ -101,7 +99,9 @@ class ScrolledWindow(Panel):
         return _windows.ScrolledWindow_EnableScrolling(*args, **kwargs)
 
     def GetViewStart(*args, **kwargs):
-        """GetViewStart(int OUTPUT, int OUTPUT)"""
+        """GetViewStart() -> (x,y)
+
+Get the view start"""
         return _windows.ScrolledWindow_GetViewStart(*args, **kwargs)
 
     def SetScale(*args, **kwargs):
@@ -117,13 +117,17 @@ class ScrolledWindow(Panel):
         return _windows.ScrolledWindow_GetScaleY(*args, **kwargs)
 
     def CalcScrolledPosition(*args):
-        """CalcScrolledPosition(int x, int y, int OUTPUT, int OUTPUT)
-CalcScrolledPosition(Point pt) -> Point"""
+        """CalcScrolledPosition(Point pt) -> Point
+CalcScrolledPosition(int x, int y) -> (sx, sy)
+
+Translate between scrolled and unscrolled coordinates."""
         return _windows.ScrolledWindow_CalcScrolledPosition(*args)
 
     def CalcUnscrolledPosition(*args):
-        """CalcUnscrolledPosition(int x, int y, int OUTPUT, int OUTPUT)
-CalcUnscrolledPosition(Point pt) -> Point"""
+        """CalcUnscrolledPosition(Point pt) -> Point
+CalcUnscrolledPosition(int x, int y) -> (ux, uy)
+
+Translate between scrolled and unscrolled coordinates."""
         return _windows.ScrolledWindow_CalcUnscrolledPosition(*args)
 
     def AdjustScrollbars(*args, **kwargs):
@@ -661,7 +665,7 @@ class StatusBar(core.Window):
         return _windows.StatusBar_SetStatusWidths(*args, **kwargs)
 
     def GetFieldRect(*args, **kwargs):
-        """GetFieldRect(int i, Rect rect) -> bool"""
+        """GetFieldRect(int i) -> Rect"""
         return _windows.StatusBar_GetFieldRect(*args, **kwargs)
 
     def SetMinHeight(*args, **kwargs):
@@ -2519,15 +2523,15 @@ class PyWindow(core.Window):
         return _windows.PyWindow_base_DoSetVirtualSize(*args, **kwargs)
 
     def base_DoGetSize(*args, **kwargs):
-        """base_DoGetSize(int OUTPUT, int OUTPUT)"""
+        """base_DoGetSize() -> (width, height)"""
         return _windows.PyWindow_base_DoGetSize(*args, **kwargs)
 
     def base_DoGetClientSize(*args, **kwargs):
-        """base_DoGetClientSize(int OUTPUT, int OUTPUT)"""
+        """base_DoGetClientSize() -> (width, height)"""
         return _windows.PyWindow_base_DoGetClientSize(*args, **kwargs)
 
     def base_DoGetPosition(*args, **kwargs):
-        """base_DoGetPosition(int OUTPUT, int OUTPUT)"""
+        """base_DoGetPosition() -> (x,y)"""
         return _windows.PyWindow_base_DoGetPosition(*args, **kwargs)
 
     def base_DoGetVirtualSize(*args, **kwargs):
@@ -2616,15 +2620,15 @@ class PyPanel(Panel):
         return _windows.PyPanel_base_DoSetVirtualSize(*args, **kwargs)
 
     def base_DoGetSize(*args, **kwargs):
-        """base_DoGetSize(int OUTPUT, int OUTPUT)"""
+        """base_DoGetSize() -> (width, height)"""
         return _windows.PyPanel_base_DoGetSize(*args, **kwargs)
 
     def base_DoGetClientSize(*args, **kwargs):
-        """base_DoGetClientSize(int OUTPUT, int OUTPUT)"""
+        """base_DoGetClientSize() -> (width, height)"""
         return _windows.PyPanel_base_DoGetClientSize(*args, **kwargs)
 
     def base_DoGetPosition(*args, **kwargs):
-        """base_DoGetPosition(int OUTPUT, int OUTPUT)"""
+        """base_DoGetPosition() -> (x,y)"""
         return _windows.PyPanel_base_DoGetPosition(*args, **kwargs)
 
     def base_DoGetVirtualSize(*args, **kwargs):
@@ -3316,20 +3320,20 @@ class Printout(core.Object):
         """SetDC(wxDC dc)"""
         return _windows.Printout_SetDC(*args, **kwargs)
 
-    def GetPageSizePixels(*args, **kwargs):
-        """GetPageSizePixels(int OUTPUT, int OUTPUT)"""
-        return _windows.Printout_GetPageSizePixels(*args, **kwargs)
-
     def SetPageSizePixels(*args, **kwargs):
         """SetPageSizePixels(int w, int h)"""
         return _windows.Printout_SetPageSizePixels(*args, **kwargs)
 
+    def GetPageSizePixels(*args, **kwargs):
+        """GetPageSizePixels() -> (w, h)"""
+        return _windows.Printout_GetPageSizePixels(*args, **kwargs)
+
     def SetPageSizeMM(*args, **kwargs):
         """SetPageSizeMM(int w, int h)"""
         return _windows.Printout_SetPageSizeMM(*args, **kwargs)
 
     def GetPageSizeMM(*args, **kwargs):
-        """GetPageSizeMM(int OUTPUT, int OUTPUT)"""
+        """GetPageSizeMM() -> (w, h)"""
         return _windows.Printout_GetPageSizeMM(*args, **kwargs)
 
     def SetPPIScreen(*args, **kwargs):
@@ -3337,7 +3341,7 @@ class Printout(core.Object):
         return _windows.Printout_SetPPIScreen(*args, **kwargs)
 
     def GetPPIScreen(*args, **kwargs):
-        """GetPPIScreen(int OUTPUT, int OUTPUT)"""
+        """GetPPIScreen() -> (x,y)"""
         return _windows.Printout_GetPPIScreen(*args, **kwargs)
 
     def SetPPIPrinter(*args, **kwargs):
@@ -3345,7 +3349,7 @@ class Printout(core.Object):
         return _windows.Printout_SetPPIPrinter(*args, **kwargs)
 
     def GetPPIPrinter(*args, **kwargs):
-        """GetPPIPrinter(int OUTPUT, int OUTPUT)"""
+        """GetPPIPrinter() -> (x,y)"""
         return _windows.Printout_GetPPIPrinter(*args, **kwargs)
 
     def IsPreview(*args, **kwargs):
@@ -3376,14 +3380,14 @@ class Printout(core.Object):
         """base_OnPreparePrinting()"""
         return _windows.Printout_base_OnPreparePrinting(*args, **kwargs)
 
-    def base_GetPageInfo(*args, **kwargs):
-        """base_GetPageInfo(int OUTPUT, int OUTPUT, int OUTPUT, int OUTPUT)"""
-        return _windows.Printout_base_GetPageInfo(*args, **kwargs)
-
     def base_HasPage(*args, **kwargs):
         """base_HasPage(int page) -> bool"""
         return _windows.Printout_base_HasPage(*args, **kwargs)
 
+    def base_GetPageInfo(*args, **kwargs):
+        """base_GetPageInfo() -> (minPage, maxPage, pageFrom, pageTo)"""
+        return _windows.Printout_base_GetPageInfo(*args, **kwargs)
+
 
 class PrintoutPtr(Printout):
     def __init__(self, this):
index c62f729e3a554bf51e92f882cec727930c17d98c..ec92af2bd2e04f4df0553a2ec3cc1a1dc6dab6f7 100644 (file)
@@ -365,6 +365,11 @@ bool wxDialog_IsModalShowing(wxDialog *self){
         }
 
 
+wxRect wxStatusBar_GetFieldRect(wxStatusBar *self,int i){
+            wxRect r;
+            self->GetFieldRect(i, r);
+            return r;
+        }
 
     static const wxChar* wxSplitterNameStr = wxT("splitter");
     DECLARE_DEF_STRING(SplitterNameStr);
@@ -1668,33 +1673,29 @@ static PyObject *_wrap_ScrolledWindow_GetScaleY(PyObject *self, PyObject *args,
 static PyObject *_wrap_ScrolledWindow_CalcScrolledPosition__SWIG_0(PyObject *self, PyObject *args) {
     PyObject *resultobj;
     wxScrolledWindow *arg1 = (wxScrolledWindow *) 0 ;
-    int arg2 ;
-    int arg3 ;
-    int *arg4 = (int *) 0 ;
-    int *arg5 = (int *) 0 ;
-    int temp4 ;
-    int temp5 ;
+    wxPoint *arg2 = 0 ;
+    wxPoint result;
+    wxPoint temp2 ;
     PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
     
-    arg4 = &temp4;
-    arg5 = &temp5;
-    if(!PyArg_ParseTuple(args,(char *)"Oii:ScrolledWindow_CalcScrolledPosition",&obj0,&arg2,&arg3)) goto fail;
+    if(!PyArg_ParseTuple(args,(char *)"OO:ScrolledWindow_CalcScrolledPosition",&obj0,&obj1)) goto fail;
     if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxScrolledWindow,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = &temp2;
+        if ( ! wxPoint_helper(obj1, &arg2)) SWIG_fail;
+    }
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
-        ((wxScrolledWindow const *)arg1)->CalcScrolledPosition(arg2,arg3,arg4,arg5);
+        result = ((wxScrolledWindow const *)arg1)->CalcScrolledPosition((wxPoint const &)*arg2);
         
         wxPyEndAllowThreads(__tstate);
         if (PyErr_Occurred()) SWIG_fail;
     }
-    Py_INCREF(Py_None); resultobj = Py_None;
     {
-        PyObject *o = PyInt_FromLong((long) (*arg4));
-        resultobj = t_output_helper(resultobj,o);
-    }
-    {
-        PyObject *o = PyInt_FromLong((long) (*arg5));
-        resultobj = t_output_helper(resultobj,o);
+        wxPoint * resultptr;
+        resultptr = new wxPoint((wxPoint &) result);
+        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_wxPoint, 1);
     }
     return resultobj;
     fail:
@@ -1705,29 +1706,33 @@ static PyObject *_wrap_ScrolledWindow_CalcScrolledPosition__SWIG_0(PyObject *sel
 static PyObject *_wrap_ScrolledWindow_CalcScrolledPosition__SWIG_1(PyObject *self, PyObject *args) {
     PyObject *resultobj;
     wxScrolledWindow *arg1 = (wxScrolledWindow *) 0 ;
-    wxPoint *arg2 = 0 ;
-    wxPoint result;
-    wxPoint temp2 ;
+    int arg2 ;
+    int arg3 ;
+    int *arg4 = (int *) 0 ;
+    int *arg5 = (int *) 0 ;
+    int temp4 ;
+    int temp5 ;
     PyObject * obj0 = 0 ;
-    PyObject * obj1 = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"OO:ScrolledWindow_CalcScrolledPosition",&obj0,&obj1)) goto fail;
+    arg4 = &temp4;
+    arg5 = &temp5;
+    if(!PyArg_ParseTuple(args,(char *)"Oii:ScrolledWindow_CalcScrolledPosition",&obj0,&arg2,&arg3)) goto fail;
     if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxScrolledWindow,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    {
-        arg2 = &temp2;
-        if ( ! wxPoint_helper(obj1, &arg2)) SWIG_fail;
-    }
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
-        result = ((wxScrolledWindow const *)arg1)->CalcScrolledPosition((wxPoint const &)*arg2);
+        ((wxScrolledWindow const *)arg1)->CalcScrolledPosition(arg2,arg3,arg4,arg5);
         
         wxPyEndAllowThreads(__tstate);
         if (PyErr_Occurred()) SWIG_fail;
     }
+    Py_INCREF(Py_None); resultobj = Py_None;
     {
-        wxPoint * resultptr;
-        resultptr = new wxPoint((wxPoint &) result);
-        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_wxPoint, 1);
+        PyObject *o = PyInt_FromLong((long) (*arg4));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    {
+        PyObject *o = PyInt_FromLong((long) (*arg5));
+        resultobj = t_output_helper(resultobj,o);
     }
     return resultobj;
     fail:
@@ -1760,7 +1765,7 @@ static PyObject *_wrap_ScrolledWindow_CalcScrolledPosition(PyObject *self, PyObj
                 _v = wxPySimple_typecheck(argv[1], wxT("wxPoint"), 2);
             }
             if (_v) {
-                return _wrap_ScrolledWindow_CalcScrolledPosition__SWIG_1(self,args);
+                return _wrap_ScrolledWindow_CalcScrolledPosition__SWIG_0(self,args);
             }
         }
     }
@@ -1784,7 +1789,7 @@ static PyObject *_wrap_ScrolledWindow_CalcScrolledPosition(PyObject *self, PyObj
                     _v = (PyInt_Check(argv[2]) || PyLong_Check(argv[2])) ? 1 : 0;
                 }
                 if (_v) {
-                    return _wrap_ScrolledWindow_CalcScrolledPosition__SWIG_0(self,args);
+                    return _wrap_ScrolledWindow_CalcScrolledPosition__SWIG_1(self,args);
                 }
             }
         }
@@ -1798,33 +1803,29 @@ static PyObject *_wrap_ScrolledWindow_CalcScrolledPosition(PyObject *self, PyObj
 static PyObject *_wrap_ScrolledWindow_CalcUnscrolledPosition__SWIG_0(PyObject *self, PyObject *args) {
     PyObject *resultobj;
     wxScrolledWindow *arg1 = (wxScrolledWindow *) 0 ;
-    int arg2 ;
-    int arg3 ;
-    int *arg4 = (int *) 0 ;
-    int *arg5 = (int *) 0 ;
-    int temp4 ;
-    int temp5 ;
+    wxPoint *arg2 = 0 ;
+    wxPoint result;
+    wxPoint temp2 ;
     PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
     
-    arg4 = &temp4;
-    arg5 = &temp5;
-    if(!PyArg_ParseTuple(args,(char *)"Oii:ScrolledWindow_CalcUnscrolledPosition",&obj0,&arg2,&arg3)) goto fail;
+    if(!PyArg_ParseTuple(args,(char *)"OO:ScrolledWindow_CalcUnscrolledPosition",&obj0,&obj1)) goto fail;
     if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxScrolledWindow,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        arg2 = &temp2;
+        if ( ! wxPoint_helper(obj1, &arg2)) SWIG_fail;
+    }
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
-        ((wxScrolledWindow const *)arg1)->CalcUnscrolledPosition(arg2,arg3,arg4,arg5);
+        result = ((wxScrolledWindow const *)arg1)->CalcUnscrolledPosition((wxPoint const &)*arg2);
         
         wxPyEndAllowThreads(__tstate);
         if (PyErr_Occurred()) SWIG_fail;
     }
-    Py_INCREF(Py_None); resultobj = Py_None;
     {
-        PyObject *o = PyInt_FromLong((long) (*arg4));
-        resultobj = t_output_helper(resultobj,o);
-    }
-    {
-        PyObject *o = PyInt_FromLong((long) (*arg5));
-        resultobj = t_output_helper(resultobj,o);
+        wxPoint * resultptr;
+        resultptr = new wxPoint((wxPoint &) result);
+        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_wxPoint, 1);
     }
     return resultobj;
     fail:
@@ -1835,29 +1836,33 @@ static PyObject *_wrap_ScrolledWindow_CalcUnscrolledPosition__SWIG_0(PyObject *s
 static PyObject *_wrap_ScrolledWindow_CalcUnscrolledPosition__SWIG_1(PyObject *self, PyObject *args) {
     PyObject *resultobj;
     wxScrolledWindow *arg1 = (wxScrolledWindow *) 0 ;
-    wxPoint *arg2 = 0 ;
-    wxPoint result;
-    wxPoint temp2 ;
+    int arg2 ;
+    int arg3 ;
+    int *arg4 = (int *) 0 ;
+    int *arg5 = (int *) 0 ;
+    int temp4 ;
+    int temp5 ;
     PyObject * obj0 = 0 ;
-    PyObject * obj1 = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"OO:ScrolledWindow_CalcUnscrolledPosition",&obj0,&obj1)) goto fail;
+    arg4 = &temp4;
+    arg5 = &temp5;
+    if(!PyArg_ParseTuple(args,(char *)"Oii:ScrolledWindow_CalcUnscrolledPosition",&obj0,&arg2,&arg3)) goto fail;
     if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxScrolledWindow,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    {
-        arg2 = &temp2;
-        if ( ! wxPoint_helper(obj1, &arg2)) SWIG_fail;
-    }
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
-        result = ((wxScrolledWindow const *)arg1)->CalcUnscrolledPosition((wxPoint const &)*arg2);
+        ((wxScrolledWindow const *)arg1)->CalcUnscrolledPosition(arg2,arg3,arg4,arg5);
         
         wxPyEndAllowThreads(__tstate);
         if (PyErr_Occurred()) SWIG_fail;
     }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        PyObject *o = PyInt_FromLong((long) (*arg4));
+        resultobj = t_output_helper(resultobj,o);
+    }
     {
-        wxPoint * resultptr;
-        resultptr = new wxPoint((wxPoint &) result);
-        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_wxPoint, 1);
+        PyObject *o = PyInt_FromLong((long) (*arg5));
+        resultobj = t_output_helper(resultobj,o);
     }
     return resultobj;
     fail:
@@ -1890,7 +1895,7 @@ static PyObject *_wrap_ScrolledWindow_CalcUnscrolledPosition(PyObject *self, PyO
                 _v = wxPySimple_typecheck(argv[1], wxT("wxPoint"), 2);
             }
             if (_v) {
-                return _wrap_ScrolledWindow_CalcUnscrolledPosition__SWIG_1(self,args);
+                return _wrap_ScrolledWindow_CalcUnscrolledPosition__SWIG_0(self,args);
             }
         }
     }
@@ -1914,7 +1919,7 @@ static PyObject *_wrap_ScrolledWindow_CalcUnscrolledPosition(PyObject *self, PyO
                     _v = (PyInt_Check(argv[2]) || PyLong_Check(argv[2])) ? 1 : 0;
                 }
                 if (_v) {
-                    return _wrap_ScrolledWindow_CalcUnscrolledPosition__SWIG_0(self,args);
+                    return _wrap_ScrolledWindow_CalcUnscrolledPosition__SWIG_1(self,args);
                 }
             }
         }
@@ -4908,29 +4913,26 @@ static PyObject *_wrap_StatusBar_GetFieldRect(PyObject *self, PyObject *args, Py
     PyObject *resultobj;
     wxStatusBar *arg1 = (wxStatusBar *) 0 ;
     int arg2 ;
-    wxRect *arg3 = 0 ;
-    bool result;
-    wxRect temp3 ;
+    wxRect result;
     PyObject * obj0 = 0 ;
-    PyObject * obj2 = 0 ;
     char *kwnames[] = {
-        (char *) "self",(char *) "i",(char *) "rect", NULL 
+        (char *) "self",(char *) "i", NULL 
     };
     
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OiO:StatusBar_GetFieldRect",kwnames,&obj0,&arg2,&obj2)) goto fail;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:StatusBar_GetFieldRect",kwnames,&obj0,&arg2)) goto fail;
     if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxStatusBar,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    {
-        arg3 = &temp3;
-        if ( ! wxRect_helper(obj2, &arg3)) SWIG_fail;
-    }
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
-        result = (bool)((wxStatusBar const *)arg1)->GetFieldRect(arg2,*arg3);
+        result = wxStatusBar_GetFieldRect(arg1,arg2);
         
         wxPyEndAllowThreads(__tstate);
         if (PyErr_Occurred()) SWIG_fail;
     }
-    resultobj = PyInt_FromLong((long)result);
+    {
+        wxRect * resultptr;
+        resultptr = new wxRect((wxRect &) result);
+        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_wxRect, 1);
+    }
     return resultobj;
     fail:
     return NULL;
@@ -18685,64 +18687,64 @@ static PyObject *_wrap_Printout_SetDC(PyObject *self, PyObject *args, PyObject *
 }
 
 
-static PyObject *_wrap_Printout_GetPageSizePixels(PyObject *self, PyObject *args, PyObject *kwargs) {
+static PyObject *_wrap_Printout_SetPageSizePixels(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxPyPrintout *arg1 = (wxPyPrintout *) 0 ;
-    int *arg2 = (int *) 0 ;
-    int *arg3 = (int *) 0 ;
-    int temp2 ;
-    int temp3 ;
+    int arg2 ;
+    int arg3 ;
     PyObject * obj0 = 0 ;
     char *kwnames[] = {
-        (char *) "self", NULL 
+        (char *) "self",(char *) "w",(char *) "h", NULL 
     };
     
-    arg2 = &temp2;
-    arg3 = &temp3;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:Printout_GetPageSizePixels",kwnames,&obj0)) goto fail;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oii:Printout_SetPageSizePixels",kwnames,&obj0,&arg2,&arg3)) goto fail;
     if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPrintout,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
-        (arg1)->GetPageSizePixels(arg2,arg3);
+        (arg1)->SetPageSizePixels(arg2,arg3);
         
         wxPyEndAllowThreads(__tstate);
         if (PyErr_Occurred()) SWIG_fail;
     }
     Py_INCREF(Py_None); resultobj = Py_None;
-    {
-        PyObject *o = PyInt_FromLong((long) (*arg2));
-        resultobj = t_output_helper(resultobj,o);
-    }
-    {
-        PyObject *o = PyInt_FromLong((long) (*arg3));
-        resultobj = t_output_helper(resultobj,o);
-    }
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_Printout_SetPageSizePixels(PyObject *self, PyObject *args, PyObject *kwargs) {
+static PyObject *_wrap_Printout_GetPageSizePixels(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxPyPrintout *arg1 = (wxPyPrintout *) 0 ;
-    int arg2 ;
-    int arg3 ;
+    int *arg2 = (int *) 0 ;
+    int *arg3 = (int *) 0 ;
+    int temp2 ;
+    int temp3 ;
     PyObject * obj0 = 0 ;
     char *kwnames[] = {
-        (char *) "self",(char *) "w",(char *) "h", NULL 
+        (char *) "self", NULL 
     };
     
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oii:Printout_SetPageSizePixels",kwnames,&obj0,&arg2,&arg3)) goto fail;
+    arg2 = &temp2;
+    arg3 = &temp3;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"O:Printout_GetPageSizePixels",kwnames,&obj0)) goto fail;
     if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPrintout,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
     {
         PyThreadState* __tstate = wxPyBeginAllowThreads();
-        (arg1)->SetPageSizePixels(arg2,arg3);
+        (arg1)->GetPageSizePixels(arg2,arg3);
         
         wxPyEndAllowThreads(__tstate);
         if (PyErr_Occurred()) SWIG_fail;
     }
     Py_INCREF(Py_None); resultobj = Py_None;
+    {
+        PyObject *o = PyInt_FromLong((long) (*arg2));
+        resultobj = t_output_helper(resultobj,o);
+    }
+    {
+        PyObject *o = PyInt_FromLong((long) (*arg3));
+        resultobj = t_output_helper(resultobj,o);
+    }
     return resultobj;
     fail:
     return NULL;
@@ -19117,6 +19119,32 @@ static PyObject *_wrap_Printout_base_OnPreparePrinting(PyObject *self, PyObject
 }
 
 
+static PyObject *_wrap_Printout_base_HasPage(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject *resultobj;
+    wxPyPrintout *arg1 = (wxPyPrintout *) 0 ;
+    int arg2 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    char *kwnames[] = {
+        (char *) "self",(char *) "page", NULL 
+    };
+    
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:Printout_base_HasPage",kwnames,&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPrintout,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        PyThreadState* __tstate = wxPyBeginAllowThreads();
+        result = (bool)(arg1)->base_HasPage(arg2);
+        
+        wxPyEndAllowThreads(__tstate);
+        if (PyErr_Occurred()) SWIG_fail;
+    }
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
 static PyObject *_wrap_Printout_base_GetPageInfo(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject *resultobj;
     wxPyPrintout *arg1 = (wxPyPrintout *) 0 ;
@@ -19169,32 +19197,6 @@ static PyObject *_wrap_Printout_base_GetPageInfo(PyObject *self, PyObject *args,
 }
 
 
-static PyObject *_wrap_Printout_base_HasPage(PyObject *self, PyObject *args, PyObject *kwargs) {
-    PyObject *resultobj;
-    wxPyPrintout *arg1 = (wxPyPrintout *) 0 ;
-    int arg2 ;
-    bool result;
-    PyObject * obj0 = 0 ;
-    char *kwnames[] = {
-        (char *) "self",(char *) "page", NULL 
-    };
-    
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"Oi:Printout_base_HasPage",kwnames,&obj0,&arg2)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_wxPyPrintout,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    {
-        PyThreadState* __tstate = wxPyBeginAllowThreads();
-        result = (bool)(arg1)->base_HasPage(arg2);
-        
-        wxPyEndAllowThreads(__tstate);
-        if (PyErr_Occurred()) SWIG_fail;
-    }
-    resultobj = PyInt_FromLong((long)result);
-    return resultobj;
-    fail:
-    return NULL;
-}
-
-
 static PyObject * Printout_swigregister(PyObject *self, PyObject *args) {
     PyObject *obj;
     if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
@@ -21668,8 +21670,8 @@ static PyMethodDef SwigMethods[] = {
         { (char *)"Printout_GetTitle", (PyCFunction) _wrap_Printout_GetTitle, METH_VARARGS | METH_KEYWORDS },
         { (char *)"Printout_GetDC", (PyCFunction) _wrap_Printout_GetDC, METH_VARARGS | METH_KEYWORDS },
         { (char *)"Printout_SetDC", (PyCFunction) _wrap_Printout_SetDC, METH_VARARGS | METH_KEYWORDS },
-        { (char *)"Printout_GetPageSizePixels", (PyCFunction) _wrap_Printout_GetPageSizePixels, METH_VARARGS | METH_KEYWORDS },
         { (char *)"Printout_SetPageSizePixels", (PyCFunction) _wrap_Printout_SetPageSizePixels, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"Printout_GetPageSizePixels", (PyCFunction) _wrap_Printout_GetPageSizePixels, METH_VARARGS | METH_KEYWORDS },
         { (char *)"Printout_SetPageSizeMM", (PyCFunction) _wrap_Printout_SetPageSizeMM, METH_VARARGS | METH_KEYWORDS },
         { (char *)"Printout_GetPageSizeMM", (PyCFunction) _wrap_Printout_GetPageSizeMM, METH_VARARGS | METH_KEYWORDS },
         { (char *)"Printout_SetPPIScreen", (PyCFunction) _wrap_Printout_SetPPIScreen, METH_VARARGS | METH_KEYWORDS },
@@ -21683,8 +21685,8 @@ static PyMethodDef SwigMethods[] = {
         { (char *)"Printout_base_OnBeginPrinting", (PyCFunction) _wrap_Printout_base_OnBeginPrinting, METH_VARARGS | METH_KEYWORDS },
         { (char *)"Printout_base_OnEndPrinting", (PyCFunction) _wrap_Printout_base_OnEndPrinting, METH_VARARGS | METH_KEYWORDS },
         { (char *)"Printout_base_OnPreparePrinting", (PyCFunction) _wrap_Printout_base_OnPreparePrinting, METH_VARARGS | METH_KEYWORDS },
-        { (char *)"Printout_base_GetPageInfo", (PyCFunction) _wrap_Printout_base_GetPageInfo, METH_VARARGS | METH_KEYWORDS },
         { (char *)"Printout_base_HasPage", (PyCFunction) _wrap_Printout_base_HasPage, METH_VARARGS | METH_KEYWORDS },
+        { (char *)"Printout_base_GetPageInfo", (PyCFunction) _wrap_Printout_base_GetPageInfo, METH_VARARGS | METH_KEYWORDS },
         { (char *)"Printout_swigregister", Printout_swigregister, METH_VARARGS },
         { (char *)"new_PreviewCanvas", (PyCFunction) _wrap_new_PreviewCanvas, METH_VARARGS | METH_KEYWORDS },
         { (char *)"PreviewCanvas_swigregister", PreviewCanvas_swigregister, METH_VARARGS },
index 55feb72b344781a0a0c95eacd8513ad25ca8767d..589de2b875219542a598c0eb91c27e1ee04e532d 100644 (file)
@@ -111,15 +111,15 @@ class PyWizardPage(WizardPage):
         return _wizard.PyWizardPage_base_DoSetVirtualSize(*args, **kwargs)
 
     def base_DoGetSize(*args, **kwargs):
-        """base_DoGetSize(int OUTPUT, int OUTPUT)"""
+        """base_DoGetSize() -> (width, height)"""
         return _wizard.PyWizardPage_base_DoGetSize(*args, **kwargs)
 
     def base_DoGetClientSize(*args, **kwargs):
-        """base_DoGetClientSize(int OUTPUT, int OUTPUT)"""
+        """base_DoGetClientSize() -> (width, height)"""
         return _wizard.PyWizardPage_base_DoGetClientSize(*args, **kwargs)
 
     def base_DoGetPosition(*args, **kwargs):
-        """base_DoGetPosition(int OUTPUT, int OUTPUT)"""
+        """base_DoGetPosition() -> (x,y)"""
         return _wizard.PyWizardPage_base_DoGetPosition(*args, **kwargs)
 
     def base_DoGetVirtualSize(*args, **kwargs):