X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/211a46cf8271a93ad670effd0d2b742c6050f50f..b9ac87bc5cbe46227195e32c44e25831f8206e3c:/wxPython/contrib/ogl/oglcanvas.i?ds=sidebyside diff --git a/wxPython/contrib/ogl/oglcanvas.i b/wxPython/contrib/ogl/oglcanvas.i index 036aaa8377..1845651b65 100644 --- a/wxPython/contrib/ogl/oglcanvas.i +++ b/wxPython/contrib/ogl/oglcanvas.i @@ -14,7 +14,7 @@ %module oglcanvas %{ -#include "export.h" +#include "wxPython.h" #include "oglhelpers.h" %} @@ -31,21 +31,26 @@ %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,16 +85,18 @@ 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); @@ -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); @@ -149,6 +160,12 @@ public: void SetDiagram(wxDiagram *diagram); void Snap(double *INOUT, double *INOUT); + + %pragma(python) addtoclass = " + def GetShapeList(self): + return self.GetDiagram().GetShapeList() + " + };