from events import *
 
+from streams import *
+
+from utils import *
+
 from mdi import *
 
 from frames import *
 from printfw import *
 
 from sizers import *
+
+from filesys import *
+
+from oglbasic import *
 import wx
-class wxDiagramPtr :
+class wxDiagramPtr(wxObjectPtr):
     def __init__(self,this):
         self.this = this
         self.thisown = 0
-    def __del__(self,oglcanvasc=oglcanvasc):
-        if self.thisown == 1 :
-            oglcanvasc.delete_wxDiagram(self)
     def AddShape(self, *_args, **_kwargs):
         val = apply(oglcanvasc.wxDiagram_AddShape,(self,) + _args, _kwargs)
         return val
         return val
     def FindShape(self, *_args, **_kwargs):
         val = apply(oglcanvasc.wxDiagram_FindShape,(self,) + _args, _kwargs)
-        if val: val = wxPyShapePtr(val) 
         return val
     def GetCanvas(self, *_args, **_kwargs):
         val = apply(oglcanvasc.wxDiagram_GetCanvas,(self,) + _args, _kwargs)
-        if val: val = wxPyShapeCanvasPtr(val) 
         return val
     def GetCount(self, *_args, **_kwargs):
         val = apply(oglcanvasc.wxDiagram_GetCount,(self,) + _args, _kwargs)
     def __init__(self,this):
         self.this = this
         self.thisown = 0
-    def _setSelf(self, *_args, **_kwargs):
-        val = apply(oglcanvasc.wxPyShapeCanvas__setSelf,(self,) + _args, _kwargs)
+    def _setCallbackInfo(self, *_args, **_kwargs):
+        val = apply(oglcanvasc.wxPyShapeCanvas__setCallbackInfo,(self,) + _args, _kwargs)
         return val
     def AddShape(self, *_args, **_kwargs):
         val = apply(oglcanvasc.wxPyShapeCanvas_AddShape,(self,) + _args, _kwargs)
         return val
     def GetDiagram(self, *_args, **_kwargs):
         val = apply(oglcanvasc.wxPyShapeCanvas_GetDiagram,(self,) + _args, _kwargs)
-        if val: val = wxDiagramPtr(val) 
         return val
     def GetQuickEditMode(self, *_args, **_kwargs):
         val = apply(oglcanvasc.wxPyShapeCanvas_GetQuickEditMode,(self,) + _args, _kwargs)
     def __init__(self,*_args,**_kwargs):
         self.this = apply(oglcanvasc.new_wxPyShapeCanvas,_args,_kwargs)
         self.thisown = 1
-        self._setSelf(self, wxPyShapeCanvas)
-        #wx._StdWindowCallbacks(self)
-        #wx._StdOnScrollCallbacks(self)
+        self._setCallbackInfo(self, wxPyShapeCanvas)
+        self._setOORInfo(self)