%module oglbasic
%{
-#include "export.h"
+#include "wxPython.h"
#include "oglhelpers.h"
%}
%addmethods { void Destroy() { delete self; } }
%addmethods {
void _setOORInfo(PyObject* _self) {
- self->SetClientObject(new wxPyClientData(_self));
+ self->SetClientObject(new wxPyOORClientData(_self));
}
}
%addmethods {
PyObject* GetChildren() {
wxList& list = self->GetChildren();
- return wxPy_ConvertList(&list, "wxPyShape");
+ return wxPy_ConvertShapeList(&list, "wxPyShape");
}
}
%addmethods {
PyObject* GetLines() {
wxList& list = self->GetLines();
- return wxPy_ConvertList(&list, "wxPyLineShape");
+ return wxPy_ConvertShapeList(&list, "wxPyLineShape");
}
}
// void SetClientData(wxObject *client_data);
// wxObject *GetClientData();
- %addmethods {
- void SetClientData(PyObject* userData) {
- wxPyUserData* data = NULL;
- if (userData)
- data = new wxPyUserData(userData);
- self->SetClientData(data);
- }
- PyObject* GetClientData() {
- wxPyUserData* data = (wxPyUserData*)self->GetClientData();
- if (data) {
- Py_INCREF(data->m_obj);
- return data->m_obj;
- } else {
- Py_INCREF(Py_None);
- return Py_None;
- }
- }
- }
+ // The real client data methods are being used for OOR, so just fake it.
+ %pragma(python) addtoclass = "
+ def SetClientData(self, data):
+ self.clientData = data
+ def GetClientData(self):
+ if hasattr(self, 'clientData'):
+ return self.clientData
+ else:
+ return None
+"
void Show(bool show);
bool IsShown();