///////////////////////////////////////////////////////////////////////////// // Name: oglhelpers.cpp // Purpose: Some Helper functions to help in data conversions in OGL // // Author: Robin Dunn // // Created: 3-Sept-1999 // RCS-ID: $Id$ // Copyright: (c) 1998 by Total Control Software // Licence: wxWindows license ///////////////////////////////////////////////////////////////////////////// #include #include "helpers.h" //--------------------------------------------------------------------------- // This one will work for any class for the VERY generic cases, but beyond that // the helper needs to know more about the type. wxList* wxPy_wxListHelper(PyObject* pyList, char* className) { bool doSave = wxPyRestoreThread(); if (!PyList_Check(pyList)) { PyErr_SetString(PyExc_TypeError, "Expected a list object."); wxPySaveThread(doSave); return NULL; } int count = PyList_Size(pyList); wxList* list = new wxList; if (! list) { PyErr_SetString(PyExc_MemoryError, "Unable to allocate wxList object"); wxPySaveThread(doSave); return NULL; } for (int x=0; xAppend(wxo); } wxPySaveThread(doSave); return list; } //--------------------------------------------------------------------------- wxList* wxPy_wxRealPoint_ListHelper(PyObject* pyList) { bool doSave = wxPyRestoreThread(); if (!PyList_Check(pyList)) { PyErr_SetString(PyExc_TypeError, "Expected a list object."); wxPySaveThread(doSave); return NULL; } int count = PyList_Size(pyList); wxList* list = new wxList; if (! list) { PyErr_SetString(PyExc_MemoryError, "Unable to allocate wxList object"); wxPySaveThread(doSave); return NULL; } for (int x=0; xAppend((wxObject*) new wxRealPoint(val1, val2)); } else { wxRealPoint* wxo = NULL; if (SWIG_GetPtrObj(pyo, (void **)&wxo, "_wxRealPoint_p")) { PyErr_SetString(PyExc_TypeError, "Type error, expected list of wxRealPoint objects or 2-tuples"); wxPySaveThread(doSave); return NULL; } list->Append((wxObject*) new wxRealPoint(*wxo)); } } wxPySaveThread(doSave); return list; } //---------------------------------------------------------------------------