]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/contrib/ogl/oglcanvas.i
disable use of #pragma interface under Mac OS X
[wxWidgets.git] / wxPython / contrib / ogl / oglcanvas.i
index 88ed4a4345034989dfb2cf53b17f4341bcb6ee74..1845651b658ba27efa1d8c2cb88ffa2ef370fd14 100644 (file)
@@ -14,7 +14,7 @@
 %module oglcanvas
 
 %{
-#include "export.h"
+#include "wxPython.h"
 #include "oglhelpers.h"
 %}
 
 
 %include _ogldefs.i
 
-%extern oglbasic.i
+%import oglbasic.i
 
 
 %pragma(python) code = "import wx"
 
 //---------------------------------------------------------------------------
+%{
+    // Put some wx default wxChar* values into wxStrings.
+    DECLARE_DEF_STRING(ShapeCanvasNameStr);
+%}
+
 //---------------------------------------------------------------------------
 //---------------------------------------------------------------------------
 
-class wxDiagram {
+class wxDiagram : public wxObject {
 public:
     wxDiagram();
-    ~wxDiagram();
+    //~wxDiagram();
 
-    void AddShape(wxPyShape*shape, wxPyShape *addAfter = NULL);
+    void AddShape(wxPyShape* shape, wxPyShape *addAfter = NULL);
     void Clear(wxDC& dc);
     void DeleteAllShapes();
     void DrawOutline(wxDC& dc, double x1, double y1, double x2, double y2);
@@ -59,15 +64,20 @@ public:
     %addmethods {
         PyObject* GetShapeList() {
             wxList* list = self->GetShapeList();
-            return wxPy_ConvertList(list, "wxPyShape");
+            return wxPy_ConvertShapeList(list, "wxPyShape");
         }
     }
 
     bool GetQuickEditMode();
     bool GetSnapToGrid();
     void InsertShape(wxPyShape *shape);
+
+#ifdef wxUSE_PROLOGIO
     bool LoadFile(const wxString& filename);
+    bool SaveFile(const wxString& filename);
+#endif
 
+#ifdef wxUSE_PROLOGIO
     // **** Have to deal with wxExpr and wxExprDatabase first...
     //void OnDatabaseLoad(wxExprDatabase& database);
     //void OnDatabaseSave(wxExprDatabase& database);
@@ -75,23 +85,25 @@ public:
     //bool OnHeaderSave(wxExprDatabase& database, wxExpr& expr);
     //bool OnShapeLoad(wxExprDatabase& database, wxPyShape& shape, wxExpr& expr);
     //bool OnShapeSave(wxExprDatabase& database, wxPyShape& shape, wxExpr& expr);
+#endif
 
-
+#ifdef wxUSE_PROLOGIO
     void ReadContainerGeometry(wxExprDatabase& database);
     void ReadLines(wxExprDatabase& database);
     void ReadNodes(wxExprDatabase& database);
+#endif
+
     void RecentreAll(wxDC& dc);
     void Redraw(wxDC& dc);
     void RemoveAllShapes();
     void RemoveShape(wxPyShape* shape);
-    bool SaveFile(const wxString& filename);
     void SetCanvas(wxPyShapeCanvas* canvas);
     void SetGridSpacing(double spacing);
     void SetMouseTolerance(int tolerance);
     void SetQuickEditMode(bool mode);
     void SetSnapToGrid(bool snap);
     void ShowAll(bool show);
-    void Snap(double *OUTPUT, double *OUTPUT);
+    void Snap(double *INOUT, double *INOUT);
 
 };
 
@@ -114,13 +126,12 @@ public:
     wxPyShapeCanvas(wxWindow* parent = NULL, wxWindowID id = -1,
                     const wxPoint& pos = wxDefaultPosition,
                     const wxSize& size = wxDefaultSize,
-                    long style = wxBORDER);
-
-    void _setSelf(PyObject* self, PyObject* _class);
-    %pragma(python) addtomethod = "__init__:self._setSelf(self, wxPyShapeCanvas)"
+                    long style = wxBORDER,
+                    const wxString& name = wxPyShapeCanvasNameStr);
 
-    %pragma(python) addtomethod = "__init__:#wx._StdWindowCallbacks(self)"
-    %pragma(python) addtomethod = "__init__:#wx._StdOnScrollCallbacks(self)"
+    void _setCallbackInfo(PyObject* self, PyObject* _class);
+    %pragma(python) addtomethod = "__init__:self._setCallbackInfo(self, wxPyShapeCanvas)"
+    %pragma(python) addtomethod = "__init__:self._setOORInfo(self)"
 
     void AddShape(wxPyShape *shape, wxPyShape *addAfter = NULL);
 
@@ -147,7 +158,13 @@ public:
     void Redraw(wxDC& dc);
     void RemoveShape(wxPyShape *shape);
     void SetDiagram(wxDiagram *diagram);
-    void Snap(double *OUTPUT, double *OUTPUT);
+    void Snap(double *INOUT, double *INOUT);
+
+
+    %pragma(python) addtoclass = "
+    def GetShapeList(self):
+        return self.GetDiagram().GetShapeList()
+    "
 
 };