From 7b443969ac4ef0c7673f874bba4eaf49783d5bfc Mon Sep 17 00:00:00 2001 From: Robin Dunn Date: Thu, 18 Sep 2003 23:48:29 +0000 Subject: [PATCH] Added some missing constants and fixed GetPoints git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@23698 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- wxPython/contrib/ogl/oglshapes.cpp | 2 ++ wxPython/contrib/ogl/oglshapes.i | 6 ++++++ wxPython/contrib/ogl/oglshapes.py | 2 ++ wxPython/contrib/ogl/oglshapes2.cpp | 16 +++++++++++++++- wxPython/contrib/ogl/oglshapes2.i | 17 +++++++++++++++-- 5 files changed, 40 insertions(+), 3 deletions(-) diff --git a/wxPython/contrib/ogl/oglshapes.cpp b/wxPython/contrib/ogl/oglshapes.cpp index 27c1bee586..6575c7a003 100644 --- a/wxPython/contrib/ogl/oglshapes.cpp +++ b/wxPython/contrib/ogl/oglshapes.cpp @@ -12871,6 +12871,8 @@ SWIGEXPORT(void) initoglshapesc() { SWIG_globals = SWIG_newvarlink(); m = Py_InitModule("oglshapesc", oglshapescMethods); d = PyModule_GetDict(m); + PyDict_SetItemString(d,"oglMETAFLAGS_OUTLINE", PyInt_FromLong((long) oglMETAFLAGS_OUTLINE)); + PyDict_SetItemString(d,"oglMETAFLAGS_ATTACHMENTS", PyInt_FromLong((long) oglMETAFLAGS_ATTACHMENTS)); { int i; for (i = 0; _swig_mapping[i].n1; i++) diff --git a/wxPython/contrib/ogl/oglshapes.i b/wxPython/contrib/ogl/oglshapes.i index 577061a5e1..6caa193b96 100644 --- a/wxPython/contrib/ogl/oglshapes.i +++ b/wxPython/contrib/ogl/oglshapes.i @@ -37,6 +37,12 @@ %pragma(python) code = "import wx" //--------------------------------------------------------------------------- + +enum { + oglMETAFLAGS_OUTLINE, + oglMETAFLAGS_ATTACHMENTS +}; + //--------------------------------------------------------------------------- //--------------------------------------------------------------------------- diff --git a/wxPython/contrib/ogl/oglshapes.py b/wxPython/contrib/ogl/oglshapes.py index 1cbd1eeb8f..0bdd20d05a 100644 --- a/wxPython/contrib/ogl/oglshapes.py +++ b/wxPython/contrib/ogl/oglshapes.py @@ -1185,3 +1185,5 @@ class wxPyDivisionShape(wxPyDivisionShapePtr): #-------------- VARIABLE WRAPPERS ------------------ +oglMETAFLAGS_OUTLINE = oglshapesc.oglMETAFLAGS_OUTLINE +oglMETAFLAGS_ATTACHMENTS = oglshapesc.oglMETAFLAGS_ATTACHMENTS diff --git a/wxPython/contrib/ogl/oglshapes2.cpp b/wxPython/contrib/ogl/oglshapes2.cpp index 52c6257339..738f59de89 100644 --- a/wxPython/contrib/ogl/oglshapes2.cpp +++ b/wxPython/contrib/ogl/oglshapes2.cpp @@ -5635,7 +5635,21 @@ static PyObject *_wrap_wxPyPolygonShape_DeletePolygonPoint(PyObject *self, PyObj static PyObject * wxPyPolygonShape_GetPoints(wxPyPolygonShape *self) { wxList* list = self->GetPoints(); - return wxPy_ConvertList(list, "wxRealPoint"); + PyObject* pyList; + PyObject* pyObj; + wxObject* wxObj; + wxNode* node = list->GetFirst(); + + wxPyBeginBlockThreads(); + pyList = PyList_New(0); + while (node) { + wxObj = node->GetData(); + pyObj = wxPyConstructObject(wxObj, wxT("wxRealPoint"), 0); + PyList_Append(pyList, pyObj); + node = node->GetNext(); + } + wxPyEndBlockThreads(); + return pyList; } static PyObject *_wrap_wxPyPolygonShape_GetPoints(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; diff --git a/wxPython/contrib/ogl/oglshapes2.i b/wxPython/contrib/ogl/oglshapes2.i index 108a423acd..a5964d7bc2 100644 --- a/wxPython/contrib/ogl/oglshapes2.i +++ b/wxPython/contrib/ogl/oglshapes2.i @@ -303,13 +303,26 @@ public: %addmethods { PyObject* GetPoints() { wxList* list = self->GetPoints(); - return wxPy_ConvertList(list, "wxRealPoint"); + PyObject* pyList; + PyObject* pyObj; + wxObject* wxObj; + wxNode* node = list->GetFirst(); + + wxPyBeginBlockThreads(); + pyList = PyList_New(0); + while (node) { + wxObj = node->GetData(); + pyObj = wxPyConstructObject(wxObj, wxT("wxRealPoint"), 0); + PyList_Append(pyList, pyObj); + node = node->GetNext(); + } + wxPyEndBlockThreads(); + return pyList; } } void UpdateOriginalPoints(); - void base_OnDraw(wxDC& dc); void base_OnDrawContents(wxDC& dc); void base_OnDrawBranches(wxDC& dc, bool erase = FALSE); -- 2.45.2