X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/f6bcfd974ef26faf6f91a62cac09827e09463fd1..5a32e18214d39968e22bd46ade02bd2bcb29458d:/wxPython/contrib/ogl/oglshapes2.i diff --git a/wxPython/contrib/ogl/oglshapes2.i b/wxPython/contrib/ogl/oglshapes2.i index ef2a718958..22145b2f78 100644 --- a/wxPython/contrib/ogl/oglshapes2.i +++ b/wxPython/contrib/ogl/oglshapes2.i @@ -14,7 +14,7 @@ %module oglshapes2 %{ -#include "helpers.h" +#include "export.h" #include "oglhelpers.h" %} @@ -38,7 +38,14 @@ %pragma(python) code = "import wx" //--------------------------------------------------------------------------- + +%{ + // Put some wx default wxChar* values into wxStrings. + static const wxString wxPyEmptyString(wxT("")); +%} + //--------------------------------------------------------------------------- + %{ WXSHAPE_IMP_CALLBACKS(wxPyEllipseShape, wxEllipseShape); %} @@ -47,8 +54,9 @@ class wxPyEllipseShape : public wxPyShape { 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); @@ -90,8 +98,9 @@ class wxPyCircleShape : public wxPyEllipseShape { 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); @@ -125,13 +134,13 @@ public: }; //--------------------------------------------------------------------------- //--------------------------------------------------------------------------- -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(); @@ -162,12 +171,13 @@ class wxPyLineShape : public wxPyShape { 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); @@ -207,6 +217,14 @@ public: 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); @@ -259,8 +277,9 @@ class wxPyPolygonShape : public wxPyShape { 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); @@ -330,8 +349,9 @@ class wxPyTextShape : public wxPyRectangleShape { 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();