]> git.saurik.com Git - wxWidgets.git/blobdiff - utils/wxPython/src/helpers.cpp
some ifdef'd out things added back in
[wxWidgets.git] / utils / wxPython / src / helpers.cpp
index c74c75de36903bb17c20f6dd89a224dedaaec99b..19acec1d3bb23e35d9077794c0e6080e709d8ef3 100644 (file)
@@ -494,9 +494,30 @@ PyObject* wxPyEvent::GetUserData() {
 }
 
 //----------------------------------------------------------------------
+//---------------------------------------------------------------------------
+// Convert a wxList to a Python List
+
+PyObject* wxPy_ConvertList(wxListBase* list, char* className) {
+    PyObject*   pyList;
+    PyObject*   pyObj;
+    wxObject*   wxObj;
+    wxNode*     node = list->First();
+
+    bool doSave = wxPyRestoreThread();
+    pyList = PyList_New(0);
+    while (node) {
+        wxObj = node->Data();
+        pyObj = wxPyConstructObject(wxObj, className);
+        PyList_Append(pyList, pyObj);
+        node = node->Next();
+    }
+    wxPySaveThread(doSave);
+    return pyList;
+}
+
 //----------------------------------------------------------------------
 // Some helper functions for typemaps in my_typemaps.i, so they won't be
-// imcluded in every file...
+// included in every file...
 
 
 HELPEREXPORT byte* byte_LIST_helper(PyObject* source) {
@@ -642,10 +663,9 @@ HELPEREXPORT wxBitmap** wxBitmap_LIST_helper(PyObject* source) {
     }
     for (int x=0; x<count; x++) {
         PyObject* o = PyList_GetItem(source, x);
-        if (PyString_Check(o)) {
-            char*       st = PyString_AsString(o);
+        if (PyInstance_Check(o)) {
             wxBitmap*    pt;
-            if (SWIG_GetPtr(st,(void **) &pt,"_wxBitmap_p")) {
+            if (SWIG_GetPtrObj(o, (void **) &pt,"_wxBitmap_p")) {
                 PyErr_SetString(PyExc_TypeError,"Expected _wxBitmap_p.");
                 return NULL;
             }
@@ -697,10 +717,9 @@ HELPEREXPORT wxAcceleratorEntry* wxAcceleratorEntry_LIST_helper(PyObject* source
     }
     for (int x=0; x<count; x++) {
         PyObject* o = PyList_GetItem(source, x);
-        if (PyString_Check(o)) {
-            char*               st = PyString_AsString(o);
+        if (PyInstance_Check(o)) {
             wxAcceleratorEntry* ae;
-            if (SWIG_GetPtr(st,(void **) &ae,"_wxAcceleratorEntry_p")) {
+            if (SWIG_GetPtrObj(o, (void **) &ae,"_wxAcceleratorEntry_p")) {
                 PyErr_SetString(PyExc_TypeError,"Expected _wxAcceleratorEntry_p.");
                 return NULL;
             }