%module oglshapes2
%{
-#include "export.h"
+#include "wxPython.h"
#include "oglhelpers.h"
%}
%pragma(python) code = "import wx"
//---------------------------------------------------------------------------
+
+%{
+ // Put some wx default wxChar* values into wxStrings.
+ static const wxString wxPyEmptyString(wxT(""));
+%}
+
//---------------------------------------------------------------------------
+
%{
WXSHAPE_IMP_CALLBACKS(wxPyEllipseShape, wxEllipseShape);
%}
public:
wxPyEllipseShape(double width = 0.0, double height = 0.0);
- void _setSelf(PyObject* self, PyObject* _class);
- %pragma(python) addtomethod = "__init__:self._setSelf(self, wxPyEllipseShape)"
+ void _setCallbackInfo(PyObject* self, PyObject* _class);
+ %pragma(python) addtomethod = "__init__:self._setCallbackInfo(self, wxPyEllipseShape)"
+ %pragma(python) addtomethod = "__init__:self._setOORInfo(self)"
void base_OnDraw(wxDC& dc);
void base_OnDrawContents(wxDC& dc);
public:
wxPyCircleShape(double width = 0.0);
- void _setSelf(PyObject* self, PyObject* _class);
- %pragma(python) addtomethod = "__init__:self._setSelf(self, wxPyCircleShape)"
+ void _setCallbackInfo(PyObject* self, PyObject* _class);
+ %pragma(python) addtomethod = "__init__:self._setCallbackInfo(self, wxPyCircleShape)"
+ %pragma(python) addtomethod = "__init__:self._setOORInfo(self)"
void base_OnDraw(wxDC& dc);
void base_OnDrawContents(wxDC& dc);
};
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
-class wxArrowHead {
+class wxArrowHead : public wxObject {
public:
wxArrowHead(int type = 0,
int end = 0,
double size = 0.0,
double dist = 0.0,
- const char * name = "",
+ const wxString& name = wxPyEmptyString,
wxPseudoMetaFile *mf = NULL,
long arrowId = -1);
~wxArrowHead();
public:
wxPyLineShape();
- void _setSelf(PyObject* self, PyObject* _class);
- %pragma(python) addtomethod = "__init__:self._setSelf(self, wxPyLineShape)"
+ void _setCallbackInfo(PyObject* self, PyObject* _class);
+ %pragma(python) addtomethod = "__init__:self._setCallbackInfo(self, wxPyLineShape)"
+ %pragma(python) addtomethod = "__init__:self._setOORInfo(self)"
void AddArrow(int type, int end = ARROW_POSITION_END,
double arrowSize = 10.0, double xOffset = 0.0,
- char* name = "", wxPseudoMetaFile *mf = NULL,
+ const wxString& name = wxPyEmptyString, wxPseudoMetaFile *mf = NULL,
long arrowId = -1);
//void AddArrowOrdered(wxArrowHead *arrow, wxList& referenceList, int end);
void GetEnds(double *OUTPUT, double *OUTPUT, double *OUTPUT, double *OUTPUT);
wxPyShape * GetFrom();
void GetLabelPosition(int position, double *OUTPUT, double *OUTPUT);
- wxPoint * GetNextControlPoint(wxPyShape *shape);
+ wxRealPoint * GetNextControlPoint(wxPyShape *shape);
wxPyShape * GetTo();
void Initialise();
void InsertLineControlPoint(wxDC* dc);
bool IsSpline();
void MakeLineControlPoints(int n);
+ // inline wxList *GetLineControlPoints() { return m_lineControlPoints; }
+ %addmethods {
+ PyObject* GetLineControlPoints() {
+ wxList* list = self->GetLineControlPoints();
+ return wxPy_ConvertShapeList(list, "wxPyControlPoint");
+ }
+ }
+
void SetAttachmentFrom(int fromAttach);
void SetAttachments(int fromAttach, int toAttach);
void SetAttachmentTo(int toAttach);
public:
wxPyPolygonShape();
- void _setSelf(PyObject* self, PyObject* _class);
- %pragma(python) addtomethod = "__init__:self._setSelf(self, wxPyPolygonShape)"
+ void _setCallbackInfo(PyObject* self, PyObject* _class);
+ %pragma(python) addtomethod = "__init__:self._setCallbackInfo(self, wxPyPolygonShape)"
+ %pragma(python) addtomethod = "__init__:self._setOORInfo(self)"
// void Create(wxList* points);
public:
wxPyTextShape(double width = 0.0, double height = 0.0);
- void _setSelf(PyObject* self, PyObject* _class);
- %pragma(python) addtomethod = "__init__:self._setSelf(self, wxPyTextShape)"
+ void _setCallbackInfo(PyObject* self, PyObject* _class);
+ %pragma(python) addtomethod = "__init__:self._setCallbackInfo(self, wxPyTextShape)"
+ %pragma(python) addtomethod = "__init__:self._setOORInfo(self)"
void base_OnDelete();