%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);
%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);
//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);
};
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);
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()
+ "
};