]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/contrib/ogl/oglshapes2.py
reSWIGged
[wxWidgets.git] / wxPython / contrib / ogl / oglshapes2.py
index d534c2e986328763ef71657bb32157840e491eb6..1be62f6cd7452f3c83b6f3826c638beceeb047c4 100644 (file)
@@ -9,12 +9,16 @@ from windows import *
 
 from gdi import *
 
+from fonts import *
+
 from clip_dnd import *
 
 from events import *
 
 from streams import *
 
+from utils import *
+
 from mdi import *
 
 from frames import *
@@ -39,8 +43,6 @@ from sizers import *
 
 from filesys import *
 
-from utils import *
-
 from oglbasic import *
 
 from oglshapes import *
@@ -49,100 +51,101 @@ class wxPyEllipseShapePtr(wxPyShapePtr):
     def __init__(self,this):
         self.this = this
         self.thisown = 0
-    def _setSelf(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyEllipseShape__setSelf,(self,) + _args, _kwargs)
+    def _setCallbackInfo(self, *_args, **_kwargs):
+        val = oglshapes2c.wxPyEllipseShape__setCallbackInfo(self, *_args, **_kwargs)
         return val
     def base_OnDraw(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyEllipseShape_base_OnDraw,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyEllipseShape_base_OnDraw(self, *_args, **_kwargs)
         return val
     def base_OnDrawContents(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyEllipseShape_base_OnDrawContents,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyEllipseShape_base_OnDrawContents(self, *_args, **_kwargs)
         return val
     def base_OnDrawBranches(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyEllipseShape_base_OnDrawBranches,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyEllipseShape_base_OnDrawBranches(self, *_args, **_kwargs)
         return val
     def base_OnMoveLinks(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyEllipseShape_base_OnMoveLinks,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyEllipseShape_base_OnMoveLinks(self, *_args, **_kwargs)
         return val
     def base_OnErase(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyEllipseShape_base_OnErase,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyEllipseShape_base_OnErase(self, *_args, **_kwargs)
         return val
     def base_OnEraseContents(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyEllipseShape_base_OnEraseContents,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyEllipseShape_base_OnEraseContents(self, *_args, **_kwargs)
         return val
     def base_OnHighlight(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyEllipseShape_base_OnHighlight,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyEllipseShape_base_OnHighlight(self, *_args, **_kwargs)
         return val
     def base_OnLeftClick(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyEllipseShape_base_OnLeftClick,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyEllipseShape_base_OnLeftClick(self, *_args, **_kwargs)
         return val
     def base_OnLeftDoubleClick(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyEllipseShape_base_OnLeftDoubleClick,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyEllipseShape_base_OnLeftDoubleClick(self, *_args, **_kwargs)
         return val
     def base_OnRightClick(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyEllipseShape_base_OnRightClick,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyEllipseShape_base_OnRightClick(self, *_args, **_kwargs)
         return val
     def base_OnSize(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyEllipseShape_base_OnSize,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyEllipseShape_base_OnSize(self, *_args, **_kwargs)
         return val
     def base_OnMovePre(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyEllipseShape_base_OnMovePre,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyEllipseShape_base_OnMovePre(self, *_args, **_kwargs)
         return val
     def base_OnMovePost(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyEllipseShape_base_OnMovePost,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyEllipseShape_base_OnMovePost(self, *_args, **_kwargs)
         return val
     def base_OnDragLeft(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyEllipseShape_base_OnDragLeft,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyEllipseShape_base_OnDragLeft(self, *_args, **_kwargs)
         return val
     def base_OnBeginDragLeft(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyEllipseShape_base_OnBeginDragLeft,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyEllipseShape_base_OnBeginDragLeft(self, *_args, **_kwargs)
         return val
     def base_OnEndDragLeft(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyEllipseShape_base_OnEndDragLeft,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyEllipseShape_base_OnEndDragLeft(self, *_args, **_kwargs)
         return val
     def base_OnDragRight(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyEllipseShape_base_OnDragRight,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyEllipseShape_base_OnDragRight(self, *_args, **_kwargs)
         return val
     def base_OnBeginDragRight(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyEllipseShape_base_OnBeginDragRight,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyEllipseShape_base_OnBeginDragRight(self, *_args, **_kwargs)
         return val
     def base_OnEndDragRight(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyEllipseShape_base_OnEndDragRight,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyEllipseShape_base_OnEndDragRight(self, *_args, **_kwargs)
         return val
     def base_OnDrawOutline(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyEllipseShape_base_OnDrawOutline,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyEllipseShape_base_OnDrawOutline(self, *_args, **_kwargs)
         return val
     def base_OnDrawControlPoints(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyEllipseShape_base_OnDrawControlPoints,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyEllipseShape_base_OnDrawControlPoints(self, *_args, **_kwargs)
         return val
     def base_OnEraseControlPoints(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyEllipseShape_base_OnEraseControlPoints,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyEllipseShape_base_OnEraseControlPoints(self, *_args, **_kwargs)
         return val
     def base_OnMoveLink(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyEllipseShape_base_OnMoveLink,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyEllipseShape_base_OnMoveLink(self, *_args, **_kwargs)
         return val
     def base_OnSizingDragLeft(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyEllipseShape_base_OnSizingDragLeft,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyEllipseShape_base_OnSizingDragLeft(self, *_args, **_kwargs)
         return val
     def base_OnSizingBeginDragLeft(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyEllipseShape_base_OnSizingBeginDragLeft,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyEllipseShape_base_OnSizingBeginDragLeft(self, *_args, **_kwargs)
         return val
     def base_OnSizingEndDragLeft(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyEllipseShape_base_OnSizingEndDragLeft,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyEllipseShape_base_OnSizingEndDragLeft(self, *_args, **_kwargs)
         return val
     def base_OnBeginSize(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyEllipseShape_base_OnBeginSize,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyEllipseShape_base_OnBeginSize(self, *_args, **_kwargs)
         return val
     def base_OnEndSize(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyEllipseShape_base_OnEndSize,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyEllipseShape_base_OnEndSize(self, *_args, **_kwargs)
         return val
     def __repr__(self):
-        return "<C wxPyEllipseShape instance at %s>" % (self.this,)
+        return "<%s.%s instance; proxy of C++ wxPyEllipseShape instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this)
 class wxPyEllipseShape(wxPyEllipseShapePtr):
     def __init__(self,*_args,**_kwargs):
-        self.this = apply(oglshapes2c.new_wxPyEllipseShape,_args,_kwargs)
+        self.this = oglshapes2c.new_wxPyEllipseShape(*_args,**_kwargs)
         self.thisown = 1
-        self._setSelf(self, wxPyEllipseShape)
+        self._setCallbackInfo(self, wxPyEllipseShape)
+        self._setOORInfo(self)
 
 
 
@@ -151,165 +154,168 @@ class wxPyCircleShapePtr(wxPyEllipseShapePtr):
     def __init__(self,this):
         self.this = this
         self.thisown = 0
-    def _setSelf(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyCircleShape__setSelf,(self,) + _args, _kwargs)
+    def _setCallbackInfo(self, *_args, **_kwargs):
+        val = oglshapes2c.wxPyCircleShape__setCallbackInfo(self, *_args, **_kwargs)
         return val
     def base_OnDraw(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyCircleShape_base_OnDraw,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyCircleShape_base_OnDraw(self, *_args, **_kwargs)
         return val
     def base_OnDrawContents(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyCircleShape_base_OnDrawContents,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyCircleShape_base_OnDrawContents(self, *_args, **_kwargs)
         return val
     def base_OnDrawBranches(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyCircleShape_base_OnDrawBranches,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyCircleShape_base_OnDrawBranches(self, *_args, **_kwargs)
         return val
     def base_OnMoveLinks(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyCircleShape_base_OnMoveLinks,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyCircleShape_base_OnMoveLinks(self, *_args, **_kwargs)
         return val
     def base_OnErase(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyCircleShape_base_OnErase,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyCircleShape_base_OnErase(self, *_args, **_kwargs)
         return val
     def base_OnEraseContents(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyCircleShape_base_OnEraseContents,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyCircleShape_base_OnEraseContents(self, *_args, **_kwargs)
         return val
     def base_OnHighlight(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyCircleShape_base_OnHighlight,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyCircleShape_base_OnHighlight(self, *_args, **_kwargs)
         return val
     def base_OnLeftClick(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyCircleShape_base_OnLeftClick,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyCircleShape_base_OnLeftClick(self, *_args, **_kwargs)
         return val
     def base_OnLeftDoubleClick(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyCircleShape_base_OnLeftDoubleClick,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyCircleShape_base_OnLeftDoubleClick(self, *_args, **_kwargs)
         return val
     def base_OnRightClick(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyCircleShape_base_OnRightClick,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyCircleShape_base_OnRightClick(self, *_args, **_kwargs)
         return val
     def base_OnSize(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyCircleShape_base_OnSize,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyCircleShape_base_OnSize(self, *_args, **_kwargs)
         return val
     def base_OnMovePre(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyCircleShape_base_OnMovePre,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyCircleShape_base_OnMovePre(self, *_args, **_kwargs)
         return val
     def base_OnMovePost(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyCircleShape_base_OnMovePost,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyCircleShape_base_OnMovePost(self, *_args, **_kwargs)
         return val
     def base_OnDragLeft(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyCircleShape_base_OnDragLeft,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyCircleShape_base_OnDragLeft(self, *_args, **_kwargs)
         return val
     def base_OnBeginDragLeft(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyCircleShape_base_OnBeginDragLeft,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyCircleShape_base_OnBeginDragLeft(self, *_args, **_kwargs)
         return val
     def base_OnEndDragLeft(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyCircleShape_base_OnEndDragLeft,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyCircleShape_base_OnEndDragLeft(self, *_args, **_kwargs)
         return val
     def base_OnDragRight(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyCircleShape_base_OnDragRight,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyCircleShape_base_OnDragRight(self, *_args, **_kwargs)
         return val
     def base_OnBeginDragRight(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyCircleShape_base_OnBeginDragRight,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyCircleShape_base_OnBeginDragRight(self, *_args, **_kwargs)
         return val
     def base_OnEndDragRight(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyCircleShape_base_OnEndDragRight,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyCircleShape_base_OnEndDragRight(self, *_args, **_kwargs)
         return val
     def base_OnDrawOutline(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyCircleShape_base_OnDrawOutline,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyCircleShape_base_OnDrawOutline(self, *_args, **_kwargs)
         return val
     def base_OnDrawControlPoints(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyCircleShape_base_OnDrawControlPoints,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyCircleShape_base_OnDrawControlPoints(self, *_args, **_kwargs)
         return val
     def base_OnEraseControlPoints(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyCircleShape_base_OnEraseControlPoints,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyCircleShape_base_OnEraseControlPoints(self, *_args, **_kwargs)
         return val
     def base_OnMoveLink(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyCircleShape_base_OnMoveLink,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyCircleShape_base_OnMoveLink(self, *_args, **_kwargs)
         return val
     def base_OnSizingDragLeft(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyCircleShape_base_OnSizingDragLeft,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyCircleShape_base_OnSizingDragLeft(self, *_args, **_kwargs)
         return val
     def base_OnSizingBeginDragLeft(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyCircleShape_base_OnSizingBeginDragLeft,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyCircleShape_base_OnSizingBeginDragLeft(self, *_args, **_kwargs)
         return val
     def base_OnSizingEndDragLeft(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyCircleShape_base_OnSizingEndDragLeft,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyCircleShape_base_OnSizingEndDragLeft(self, *_args, **_kwargs)
         return val
     def base_OnBeginSize(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyCircleShape_base_OnBeginSize,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyCircleShape_base_OnBeginSize(self, *_args, **_kwargs)
         return val
     def base_OnEndSize(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyCircleShape_base_OnEndSize,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyCircleShape_base_OnEndSize(self, *_args, **_kwargs)
         return val
     def __repr__(self):
-        return "<C wxPyCircleShape instance at %s>" % (self.this,)
+        return "<%s.%s instance; proxy of C++ wxPyCircleShape instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this)
 class wxPyCircleShape(wxPyCircleShapePtr):
     def __init__(self,*_args,**_kwargs):
-        self.this = apply(oglshapes2c.new_wxPyCircleShape,_args,_kwargs)
+        self.this = oglshapes2c.new_wxPyCircleShape(*_args,**_kwargs)
         self.thisown = 1
-        self._setSelf(self, wxPyCircleShape)
+        self._setCallbackInfo(self, wxPyCircleShape)
+        self._setOORInfo(self)
 
 
 
 
-class wxArrowHeadPtr :
+class wxArrowHeadPtr(wxObjectPtr):
     def __init__(self,this):
         self.this = this
         self.thisown = 0
-    def __del__(self,oglshapes2c=oglshapes2c):
-        if self.thisown == 1 :
-            oglshapes2c.delete_wxArrowHead(self)
+    def __del__(self, delfunc=oglshapes2c.delete_wxArrowHead):
+        if self.thisown == 1:
+            try:
+                delfunc(self)
+            except:
+                pass
     def _GetType(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxArrowHead__GetType,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxArrowHead__GetType(self, *_args, **_kwargs)
         return val
     def GetPosition(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxArrowHead_GetPosition,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxArrowHead_GetPosition(self, *_args, **_kwargs)
         return val
     def SetPosition(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxArrowHead_SetPosition,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxArrowHead_SetPosition(self, *_args, **_kwargs)
         return val
     def GetXOffset(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxArrowHead_GetXOffset,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxArrowHead_GetXOffset(self, *_args, **_kwargs)
         return val
     def GetYOffset(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxArrowHead_GetYOffset,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxArrowHead_GetYOffset(self, *_args, **_kwargs)
         return val
     def GetSpacing(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxArrowHead_GetSpacing,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxArrowHead_GetSpacing(self, *_args, **_kwargs)
         return val
     def GetSize(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxArrowHead_GetSize,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxArrowHead_GetSize(self, *_args, **_kwargs)
         return val
     def GetName(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxArrowHead_GetName,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxArrowHead_GetName(self, *_args, **_kwargs)
         return val
     def SetXOffset(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxArrowHead_SetXOffset,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxArrowHead_SetXOffset(self, *_args, **_kwargs)
         return val
     def SetYOffset(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxArrowHead_SetYOffset,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxArrowHead_SetYOffset(self, *_args, **_kwargs)
         return val
     def GetMetaFile(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxArrowHead_GetMetaFile,(self,) + _args, _kwargs)
-        if val: val = wxPseudoMetaFilePtr(val) 
+        val = oglshapes2c.wxArrowHead_GetMetaFile(self, *_args, **_kwargs)
         return val
     def GetId(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxArrowHead_GetId,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxArrowHead_GetId(self, *_args, **_kwargs)
         return val
     def GetArrowEnd(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxArrowHead_GetArrowEnd,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxArrowHead_GetArrowEnd(self, *_args, **_kwargs)
         return val
     def GetArrowSize(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxArrowHead_GetArrowSize,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxArrowHead_GetArrowSize(self, *_args, **_kwargs)
         return val
     def SetSize(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxArrowHead_SetSize,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxArrowHead_SetSize(self, *_args, **_kwargs)
         return val
     def SetSpacing(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxArrowHead_SetSpacing,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxArrowHead_SetSpacing(self, *_args, **_kwargs)
         return val
     def __repr__(self):
-        return "<C wxArrowHead instance at %s>" % (self.this,)
+        return "<%s.%s instance; proxy of C++ wxArrowHead instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this)
 class wxArrowHead(wxArrowHeadPtr):
     def __init__(self,*_args,**_kwargs):
-        self.this = apply(oglshapes2c.new_wxArrowHead,_args,_kwargs)
+        self.this = oglshapes2c.new_wxArrowHead(*_args,**_kwargs)
         self.thisown = 1
 
 
@@ -319,222 +325,222 @@ class wxPyLineShapePtr(wxPyShapePtr):
     def __init__(self,this):
         self.this = this
         self.thisown = 0
-    def _setSelf(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyLineShape__setSelf,(self,) + _args, _kwargs)
+    def _setCallbackInfo(self, *_args, **_kwargs):
+        val = oglshapes2c.wxPyLineShape__setCallbackInfo(self, *_args, **_kwargs)
         return val
     def AddArrow(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyLineShape_AddArrow,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyLineShape_AddArrow(self, *_args, **_kwargs)
         return val
     def AddArrowOrdered(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyLineShape_AddArrowOrdered,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyLineShape_AddArrowOrdered(self, *_args, **_kwargs)
         return val
     def ClearArrow(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyLineShape_ClearArrow,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyLineShape_ClearArrow(self, *_args, **_kwargs)
         return val
     def ClearArrowsAtPosition(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyLineShape_ClearArrowsAtPosition,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyLineShape_ClearArrowsAtPosition(self, *_args, **_kwargs)
         return val
     def DrawArrow(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyLineShape_DrawArrow,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyLineShape_DrawArrow(self, *_args, **_kwargs)
         return val
     def DeleteArrowHeadId(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyLineShape_DeleteArrowHeadId,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyLineShape_DeleteArrowHeadId(self, *_args, **_kwargs)
         return val
     def DeleteArrowHead(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyLineShape_DeleteArrowHead,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyLineShape_DeleteArrowHead(self, *_args, **_kwargs)
         return val
     def DeleteLineControlPoint(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyLineShape_DeleteLineControlPoint,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyLineShape_DeleteLineControlPoint(self, *_args, **_kwargs)
         return val
     def DrawArrows(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyLineShape_DrawArrows,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyLineShape_DrawArrows(self, *_args, **_kwargs)
         return val
     def DrawRegion(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyLineShape_DrawRegion,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyLineShape_DrawRegion(self, *_args, **_kwargs)
         return val
     def EraseRegion(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyLineShape_EraseRegion,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyLineShape_EraseRegion(self, *_args, **_kwargs)
         return val
     def FindArrowHeadId(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyLineShape_FindArrowHeadId,(self,) + _args, _kwargs)
-        if val: val = wxArrowHeadPtr(val) 
+        val = oglshapes2c.wxPyLineShape_FindArrowHeadId(self, *_args, **_kwargs)
         return val
     def FindArrowHead(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyLineShape_FindArrowHead,(self,) + _args, _kwargs)
-        if val: val = wxArrowHeadPtr(val) 
+        val = oglshapes2c.wxPyLineShape_FindArrowHead(self, *_args, **_kwargs)
         return val
     def FindLineEndPoints(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyLineShape_FindLineEndPoints,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyLineShape_FindLineEndPoints(self, *_args, **_kwargs)
         return val
     def FindLinePosition(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyLineShape_FindLinePosition,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyLineShape_FindLinePosition(self, *_args, **_kwargs)
         return val
     def FindMinimumWidth(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyLineShape_FindMinimumWidth,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyLineShape_FindMinimumWidth(self, *_args, **_kwargs)
         return val
     def FindNth(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyLineShape_FindNth,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyLineShape_FindNth(self, *_args, **_kwargs)
         return val
     def GetAttachmentFrom(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyLineShape_GetAttachmentFrom,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyLineShape_GetAttachmentFrom(self, *_args, **_kwargs)
         return val
     def GetAttachmentTo(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyLineShape_GetAttachmentTo,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyLineShape_GetAttachmentTo(self, *_args, **_kwargs)
         return val
     def GetEnds(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyLineShape_GetEnds,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyLineShape_GetEnds(self, *_args, **_kwargs)
         return val
     def GetFrom(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyLineShape_GetFrom,(self,) + _args, _kwargs)
-        if val: val = wxPyShapePtr(val) 
+        val = oglshapes2c.wxPyLineShape_GetFrom(self, *_args, **_kwargs)
         return val
     def GetLabelPosition(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyLineShape_GetLabelPosition,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyLineShape_GetLabelPosition(self, *_args, **_kwargs)
         return val
     def GetNextControlPoint(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyLineShape_GetNextControlPoint,(self,) + _args, _kwargs)
-        if val: val = wxPointPtr(val) 
+        val = oglshapes2c.wxPyLineShape_GetNextControlPoint(self, *_args, **_kwargs)
+        if val: val = wxRealPointPtr(val) 
         return val
     def GetTo(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyLineShape_GetTo,(self,) + _args, _kwargs)
-        if val: val = wxPyShapePtr(val) 
+        val = oglshapes2c.wxPyLineShape_GetTo(self, *_args, **_kwargs)
         return val
     def Initialise(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyLineShape_Initialise,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyLineShape_Initialise(self, *_args, **_kwargs)
         return val
     def InsertLineControlPoint(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyLineShape_InsertLineControlPoint,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyLineShape_InsertLineControlPoint(self, *_args, **_kwargs)
         return val
     def IsEnd(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyLineShape_IsEnd,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyLineShape_IsEnd(self, *_args, **_kwargs)
         return val
     def IsSpline(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyLineShape_IsSpline,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyLineShape_IsSpline(self, *_args, **_kwargs)
         return val
     def MakeLineControlPoints(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyLineShape_MakeLineControlPoints,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyLineShape_MakeLineControlPoints(self, *_args, **_kwargs)
+        return val
+    def GetLineControlPoints(self, *_args, **_kwargs):
+        val = oglshapes2c.wxPyLineShape_GetLineControlPoints(self, *_args, **_kwargs)
         return val
     def SetAttachmentFrom(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyLineShape_SetAttachmentFrom,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyLineShape_SetAttachmentFrom(self, *_args, **_kwargs)
         return val
     def SetAttachments(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyLineShape_SetAttachments,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyLineShape_SetAttachments(self, *_args, **_kwargs)
         return val
     def SetAttachmentTo(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyLineShape_SetAttachmentTo,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyLineShape_SetAttachmentTo(self, *_args, **_kwargs)
         return val
     def SetEnds(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyLineShape_SetEnds,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyLineShape_SetEnds(self, *_args, **_kwargs)
         return val
     def SetFrom(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyLineShape_SetFrom,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyLineShape_SetFrom(self, *_args, **_kwargs)
         return val
     def SetIgnoreOffsets(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyLineShape_SetIgnoreOffsets,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyLineShape_SetIgnoreOffsets(self, *_args, **_kwargs)
         return val
     def SetSpline(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyLineShape_SetSpline,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyLineShape_SetSpline(self, *_args, **_kwargs)
         return val
     def SetTo(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyLineShape_SetTo,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyLineShape_SetTo(self, *_args, **_kwargs)
         return val
     def Straighten(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyLineShape_Straighten,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyLineShape_Straighten(self, *_args, **_kwargs)
         return val
     def Unlink(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyLineShape_Unlink,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyLineShape_Unlink(self, *_args, **_kwargs)
         return val
     def base_OnDraw(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyLineShape_base_OnDraw,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyLineShape_base_OnDraw(self, *_args, **_kwargs)
         return val
     def base_OnDrawContents(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyLineShape_base_OnDrawContents,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyLineShape_base_OnDrawContents(self, *_args, **_kwargs)
         return val
     def base_OnDrawBranches(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyLineShape_base_OnDrawBranches,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyLineShape_base_OnDrawBranches(self, *_args, **_kwargs)
         return val
     def base_OnMoveLinks(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyLineShape_base_OnMoveLinks,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyLineShape_base_OnMoveLinks(self, *_args, **_kwargs)
         return val
     def base_OnErase(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyLineShape_base_OnErase,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyLineShape_base_OnErase(self, *_args, **_kwargs)
         return val
     def base_OnEraseContents(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyLineShape_base_OnEraseContents,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyLineShape_base_OnEraseContents(self, *_args, **_kwargs)
         return val
     def base_OnHighlight(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyLineShape_base_OnHighlight,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyLineShape_base_OnHighlight(self, *_args, **_kwargs)
         return val
     def base_OnLeftClick(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyLineShape_base_OnLeftClick,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyLineShape_base_OnLeftClick(self, *_args, **_kwargs)
         return val
     def base_OnLeftDoubleClick(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyLineShape_base_OnLeftDoubleClick,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyLineShape_base_OnLeftDoubleClick(self, *_args, **_kwargs)
         return val
     def base_OnRightClick(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyLineShape_base_OnRightClick,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyLineShape_base_OnRightClick(self, *_args, **_kwargs)
         return val
     def base_OnSize(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyLineShape_base_OnSize,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyLineShape_base_OnSize(self, *_args, **_kwargs)
         return val
     def base_OnMovePre(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyLineShape_base_OnMovePre,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyLineShape_base_OnMovePre(self, *_args, **_kwargs)
         return val
     def base_OnMovePost(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyLineShape_base_OnMovePost,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyLineShape_base_OnMovePost(self, *_args, **_kwargs)
         return val
     def base_OnDragLeft(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyLineShape_base_OnDragLeft,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyLineShape_base_OnDragLeft(self, *_args, **_kwargs)
         return val
     def base_OnBeginDragLeft(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyLineShape_base_OnBeginDragLeft,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyLineShape_base_OnBeginDragLeft(self, *_args, **_kwargs)
         return val
     def base_OnEndDragLeft(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyLineShape_base_OnEndDragLeft,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyLineShape_base_OnEndDragLeft(self, *_args, **_kwargs)
         return val
     def base_OnDragRight(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyLineShape_base_OnDragRight,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyLineShape_base_OnDragRight(self, *_args, **_kwargs)
         return val
     def base_OnBeginDragRight(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyLineShape_base_OnBeginDragRight,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyLineShape_base_OnBeginDragRight(self, *_args, **_kwargs)
         return val
     def base_OnEndDragRight(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyLineShape_base_OnEndDragRight,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyLineShape_base_OnEndDragRight(self, *_args, **_kwargs)
         return val
     def base_OnDrawOutline(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyLineShape_base_OnDrawOutline,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyLineShape_base_OnDrawOutline(self, *_args, **_kwargs)
         return val
     def base_OnDrawControlPoints(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyLineShape_base_OnDrawControlPoints,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyLineShape_base_OnDrawControlPoints(self, *_args, **_kwargs)
         return val
     def base_OnEraseControlPoints(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyLineShape_base_OnEraseControlPoints,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyLineShape_base_OnEraseControlPoints(self, *_args, **_kwargs)
         return val
     def base_OnMoveLink(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyLineShape_base_OnMoveLink,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyLineShape_base_OnMoveLink(self, *_args, **_kwargs)
         return val
     def base_OnSizingDragLeft(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyLineShape_base_OnSizingDragLeft,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyLineShape_base_OnSizingDragLeft(self, *_args, **_kwargs)
         return val
     def base_OnSizingBeginDragLeft(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyLineShape_base_OnSizingBeginDragLeft,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyLineShape_base_OnSizingBeginDragLeft(self, *_args, **_kwargs)
         return val
     def base_OnSizingEndDragLeft(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyLineShape_base_OnSizingEndDragLeft,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyLineShape_base_OnSizingEndDragLeft(self, *_args, **_kwargs)
         return val
     def base_OnBeginSize(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyLineShape_base_OnBeginSize,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyLineShape_base_OnBeginSize(self, *_args, **_kwargs)
         return val
     def base_OnEndSize(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyLineShape_base_OnEndSize,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyLineShape_base_OnEndSize(self, *_args, **_kwargs)
         return val
     def __repr__(self):
-        return "<C wxPyLineShape instance at %s>" % (self.this,)
+        return "<%s.%s instance; proxy of C++ wxPyLineShape instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this)
 class wxPyLineShape(wxPyLineShapePtr):
     def __init__(self,*_args,**_kwargs):
-        self.this = apply(oglshapes2c.new_wxPyLineShape,_args,_kwargs)
+        self.this = oglshapes2c.new_wxPyLineShape(*_args,**_kwargs)
         self.thisown = 1
-        self._setSelf(self, wxPyLineShape)
+        self._setCallbackInfo(self, wxPyLineShape)
+        self._setOORInfo(self)
 
 
 
@@ -543,118 +549,119 @@ class wxPyPolygonShapePtr(wxPyShapePtr):
     def __init__(self,this):
         self.this = this
         self.thisown = 0
-    def _setSelf(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyPolygonShape__setSelf,(self,) + _args, _kwargs)
+    def _setCallbackInfo(self, *_args, **_kwargs):
+        val = oglshapes2c.wxPyPolygonShape__setCallbackInfo(self, *_args, **_kwargs)
         return val
     def Create(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyPolygonShape_Create,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyPolygonShape_Create(self, *_args, **_kwargs)
         return val
     def AddPolygonPoint(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyPolygonShape_AddPolygonPoint,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyPolygonShape_AddPolygonPoint(self, *_args, **_kwargs)
         return val
     def CalculatePolygonCentre(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyPolygonShape_CalculatePolygonCentre,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyPolygonShape_CalculatePolygonCentre(self, *_args, **_kwargs)
         return val
     def DeletePolygonPoint(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyPolygonShape_DeletePolygonPoint,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyPolygonShape_DeletePolygonPoint(self, *_args, **_kwargs)
         return val
     def GetPoints(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyPolygonShape_GetPoints,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyPolygonShape_GetPoints(self, *_args, **_kwargs)
         return val
     def UpdateOriginalPoints(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyPolygonShape_UpdateOriginalPoints,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyPolygonShape_UpdateOriginalPoints(self, *_args, **_kwargs)
         return val
     def base_OnDraw(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyPolygonShape_base_OnDraw,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyPolygonShape_base_OnDraw(self, *_args, **_kwargs)
         return val
     def base_OnDrawContents(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyPolygonShape_base_OnDrawContents,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyPolygonShape_base_OnDrawContents(self, *_args, **_kwargs)
         return val
     def base_OnDrawBranches(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyPolygonShape_base_OnDrawBranches,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyPolygonShape_base_OnDrawBranches(self, *_args, **_kwargs)
         return val
     def base_OnMoveLinks(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyPolygonShape_base_OnMoveLinks,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyPolygonShape_base_OnMoveLinks(self, *_args, **_kwargs)
         return val
     def base_OnErase(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyPolygonShape_base_OnErase,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyPolygonShape_base_OnErase(self, *_args, **_kwargs)
         return val
     def base_OnEraseContents(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyPolygonShape_base_OnEraseContents,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyPolygonShape_base_OnEraseContents(self, *_args, **_kwargs)
         return val
     def base_OnHighlight(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyPolygonShape_base_OnHighlight,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyPolygonShape_base_OnHighlight(self, *_args, **_kwargs)
         return val
     def base_OnLeftClick(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyPolygonShape_base_OnLeftClick,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyPolygonShape_base_OnLeftClick(self, *_args, **_kwargs)
         return val
     def base_OnLeftDoubleClick(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyPolygonShape_base_OnLeftDoubleClick,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyPolygonShape_base_OnLeftDoubleClick(self, *_args, **_kwargs)
         return val
     def base_OnRightClick(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyPolygonShape_base_OnRightClick,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyPolygonShape_base_OnRightClick(self, *_args, **_kwargs)
         return val
     def base_OnSize(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyPolygonShape_base_OnSize,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyPolygonShape_base_OnSize(self, *_args, **_kwargs)
         return val
     def base_OnMovePre(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyPolygonShape_base_OnMovePre,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyPolygonShape_base_OnMovePre(self, *_args, **_kwargs)
         return val
     def base_OnMovePost(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyPolygonShape_base_OnMovePost,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyPolygonShape_base_OnMovePost(self, *_args, **_kwargs)
         return val
     def base_OnDragLeft(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyPolygonShape_base_OnDragLeft,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyPolygonShape_base_OnDragLeft(self, *_args, **_kwargs)
         return val
     def base_OnBeginDragLeft(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyPolygonShape_base_OnBeginDragLeft,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyPolygonShape_base_OnBeginDragLeft(self, *_args, **_kwargs)
         return val
     def base_OnEndDragLeft(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyPolygonShape_base_OnEndDragLeft,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyPolygonShape_base_OnEndDragLeft(self, *_args, **_kwargs)
         return val
     def base_OnDragRight(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyPolygonShape_base_OnDragRight,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyPolygonShape_base_OnDragRight(self, *_args, **_kwargs)
         return val
     def base_OnBeginDragRight(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyPolygonShape_base_OnBeginDragRight,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyPolygonShape_base_OnBeginDragRight(self, *_args, **_kwargs)
         return val
     def base_OnEndDragRight(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyPolygonShape_base_OnEndDragRight,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyPolygonShape_base_OnEndDragRight(self, *_args, **_kwargs)
         return val
     def base_OnDrawOutline(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyPolygonShape_base_OnDrawOutline,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyPolygonShape_base_OnDrawOutline(self, *_args, **_kwargs)
         return val
     def base_OnDrawControlPoints(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyPolygonShape_base_OnDrawControlPoints,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyPolygonShape_base_OnDrawControlPoints(self, *_args, **_kwargs)
         return val
     def base_OnEraseControlPoints(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyPolygonShape_base_OnEraseControlPoints,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyPolygonShape_base_OnEraseControlPoints(self, *_args, **_kwargs)
         return val
     def base_OnMoveLink(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyPolygonShape_base_OnMoveLink,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyPolygonShape_base_OnMoveLink(self, *_args, **_kwargs)
         return val
     def base_OnSizingDragLeft(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyPolygonShape_base_OnSizingDragLeft,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyPolygonShape_base_OnSizingDragLeft(self, *_args, **_kwargs)
         return val
     def base_OnSizingBeginDragLeft(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyPolygonShape_base_OnSizingBeginDragLeft,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyPolygonShape_base_OnSizingBeginDragLeft(self, *_args, **_kwargs)
         return val
     def base_OnSizingEndDragLeft(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyPolygonShape_base_OnSizingEndDragLeft,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyPolygonShape_base_OnSizingEndDragLeft(self, *_args, **_kwargs)
         return val
     def base_OnBeginSize(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyPolygonShape_base_OnBeginSize,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyPolygonShape_base_OnBeginSize(self, *_args, **_kwargs)
         return val
     def base_OnEndSize(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyPolygonShape_base_OnEndSize,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyPolygonShape_base_OnEndSize(self, *_args, **_kwargs)
         return val
     def __repr__(self):
-        return "<C wxPyPolygonShape instance at %s>" % (self.this,)
+        return "<%s.%s instance; proxy of C++ wxPyPolygonShape instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this)
 class wxPyPolygonShape(wxPyPolygonShapePtr):
     def __init__(self,*_args,**_kwargs):
-        self.this = apply(oglshapes2c.new_wxPyPolygonShape,_args,_kwargs)
+        self.this = oglshapes2c.new_wxPyPolygonShape(*_args,**_kwargs)
         self.thisown = 1
-        self._setSelf(self, wxPyPolygonShape)
+        self._setCallbackInfo(self, wxPyPolygonShape)
+        self._setOORInfo(self)
 
 
 
@@ -663,103 +670,104 @@ class wxPyTextShapePtr(wxPyRectangleShapePtr):
     def __init__(self,this):
         self.this = this
         self.thisown = 0
-    def _setSelf(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyTextShape__setSelf,(self,) + _args, _kwargs)
+    def _setCallbackInfo(self, *_args, **_kwargs):
+        val = oglshapes2c.wxPyTextShape__setCallbackInfo(self, *_args, **_kwargs)
         return val
     def base_OnDelete(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyTextShape_base_OnDelete,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyTextShape_base_OnDelete(self, *_args, **_kwargs)
         return val
     def base_OnDraw(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyTextShape_base_OnDraw,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyTextShape_base_OnDraw(self, *_args, **_kwargs)
         return val
     def base_OnDrawContents(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyTextShape_base_OnDrawContents,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyTextShape_base_OnDrawContents(self, *_args, **_kwargs)
         return val
     def base_OnDrawBranches(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyTextShape_base_OnDrawBranches,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyTextShape_base_OnDrawBranches(self, *_args, **_kwargs)
         return val
     def base_OnMoveLinks(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyTextShape_base_OnMoveLinks,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyTextShape_base_OnMoveLinks(self, *_args, **_kwargs)
         return val
     def base_OnErase(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyTextShape_base_OnErase,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyTextShape_base_OnErase(self, *_args, **_kwargs)
         return val
     def base_OnEraseContents(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyTextShape_base_OnEraseContents,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyTextShape_base_OnEraseContents(self, *_args, **_kwargs)
         return val
     def base_OnHighlight(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyTextShape_base_OnHighlight,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyTextShape_base_OnHighlight(self, *_args, **_kwargs)
         return val
     def base_OnLeftClick(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyTextShape_base_OnLeftClick,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyTextShape_base_OnLeftClick(self, *_args, **_kwargs)
         return val
     def base_OnLeftDoubleClick(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyTextShape_base_OnLeftDoubleClick,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyTextShape_base_OnLeftDoubleClick(self, *_args, **_kwargs)
         return val
     def base_OnRightClick(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyTextShape_base_OnRightClick,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyTextShape_base_OnRightClick(self, *_args, **_kwargs)
         return val
     def base_OnSize(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyTextShape_base_OnSize,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyTextShape_base_OnSize(self, *_args, **_kwargs)
         return val
     def base_OnMovePre(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyTextShape_base_OnMovePre,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyTextShape_base_OnMovePre(self, *_args, **_kwargs)
         return val
     def base_OnMovePost(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyTextShape_base_OnMovePost,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyTextShape_base_OnMovePost(self, *_args, **_kwargs)
         return val
     def base_OnDragLeft(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyTextShape_base_OnDragLeft,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyTextShape_base_OnDragLeft(self, *_args, **_kwargs)
         return val
     def base_OnBeginDragLeft(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyTextShape_base_OnBeginDragLeft,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyTextShape_base_OnBeginDragLeft(self, *_args, **_kwargs)
         return val
     def base_OnEndDragLeft(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyTextShape_base_OnEndDragLeft,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyTextShape_base_OnEndDragLeft(self, *_args, **_kwargs)
         return val
     def base_OnDragRight(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyTextShape_base_OnDragRight,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyTextShape_base_OnDragRight(self, *_args, **_kwargs)
         return val
     def base_OnBeginDragRight(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyTextShape_base_OnBeginDragRight,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyTextShape_base_OnBeginDragRight(self, *_args, **_kwargs)
         return val
     def base_OnEndDragRight(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyTextShape_base_OnEndDragRight,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyTextShape_base_OnEndDragRight(self, *_args, **_kwargs)
         return val
     def base_OnDrawOutline(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyTextShape_base_OnDrawOutline,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyTextShape_base_OnDrawOutline(self, *_args, **_kwargs)
         return val
     def base_OnDrawControlPoints(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyTextShape_base_OnDrawControlPoints,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyTextShape_base_OnDrawControlPoints(self, *_args, **_kwargs)
         return val
     def base_OnEraseControlPoints(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyTextShape_base_OnEraseControlPoints,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyTextShape_base_OnEraseControlPoints(self, *_args, **_kwargs)
         return val
     def base_OnMoveLink(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyTextShape_base_OnMoveLink,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyTextShape_base_OnMoveLink(self, *_args, **_kwargs)
         return val
     def base_OnSizingDragLeft(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyTextShape_base_OnSizingDragLeft,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyTextShape_base_OnSizingDragLeft(self, *_args, **_kwargs)
         return val
     def base_OnSizingBeginDragLeft(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyTextShape_base_OnSizingBeginDragLeft,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyTextShape_base_OnSizingBeginDragLeft(self, *_args, **_kwargs)
         return val
     def base_OnSizingEndDragLeft(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyTextShape_base_OnSizingEndDragLeft,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyTextShape_base_OnSizingEndDragLeft(self, *_args, **_kwargs)
         return val
     def base_OnBeginSize(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyTextShape_base_OnBeginSize,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyTextShape_base_OnBeginSize(self, *_args, **_kwargs)
         return val
     def base_OnEndSize(self, *_args, **_kwargs):
-        val = apply(oglshapes2c.wxPyTextShape_base_OnEndSize,(self,) + _args, _kwargs)
+        val = oglshapes2c.wxPyTextShape_base_OnEndSize(self, *_args, **_kwargs)
         return val
     def __repr__(self):
-        return "<C wxPyTextShape instance at %s>" % (self.this,)
+        return "<%s.%s instance; proxy of C++ wxPyTextShape instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this)
 class wxPyTextShape(wxPyTextShapePtr):
     def __init__(self,*_args,**_kwargs):
-        self.this = apply(oglshapes2c.new_wxPyTextShape,_args,_kwargs)
+        self.this = oglshapes2c.new_wxPyTextShape(*_args,**_kwargs)
         self.thisown = 1
-        self._setSelf(self, wxPyTextShape)
+        self._setCallbackInfo(self, wxPyTextShape)
+        self._setOORInfo(self)