// already be a pointer to a Python object that we can use
// in the OOR data.
wxShapeEvtHandler* seh = (wxShapeEvtHandler*)source;
- wxPyClientData* data = (wxPyClientData*)seh->GetClientObject();
+ wxPyOORClientData* data = (wxPyOORClientData*)seh->GetClientObject();
if (data) {
target = data->m_obj;
Py_INCREF(target);
if (! target) {
target = wxPyMake_wxObject2(source, FALSE);
if (target != Py_None)
- ((wxShapeEvtHandler*)source)->SetClientObject(new wxPyClientData(target));
+ ((wxShapeEvtHandler*)source)->SetClientObject(new wxPyOORClientData(target));
}
return target;
}
+//---------------------------------------------------------------------------
+
+PyObject* wxPy_ConvertShapeList(wxListBase* list, const char* className) {
+ PyObject* pyList;
+ PyObject* pyObj;
+ wxObject* wxObj;
+ wxNode* node = list->First();
+
+ wxPyBeginBlockThreads();
+ pyList = PyList_New(0);
+ while (node) {
+ wxObj = node->Data();
+ pyObj = wxPyMake_wxShapeEvtHandler((wxShapeEvtHandler*)wxObj);
+ PyList_Append(pyList, pyObj);
+ node = node->Next();
+ }
+ wxPyEndBlockThreads();
+ return pyList;
+}
//---------------------------------------------------------------------------