wxXmlSubclassFactory for wxPython
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_4_BRANCH@17473 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -451,10 +451,10 @@ extern wxPyApp *wxPythonApp;
|
||||
#define IMP_PYCALLBACK__(CLASS, PCLASS, CBNAME) \
|
||||
void CLASS::CBNAME() { \
|
||||
bool found; \
|
||||
wxPyBeginBlockThreads(); \
|
||||
wxPyBeginBlockThreads(); \
|
||||
if ((found = wxPyCBH_findCallback(m_myInst, #CBNAME))) \
|
||||
wxPyCBH_callCallback(m_myInst, Py_BuildValue("()")); \
|
||||
wxPyEndBlockThreads(); \
|
||||
wxPyEndBlockThreads(); \
|
||||
if (! found) \
|
||||
PCLASS::CBNAME(); \
|
||||
} \
|
||||
@@ -1877,6 +1877,29 @@ extern wxPyApp *wxPythonApp;
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
#define DEC_PYCALLBACK_OBJECT_STRING_pure(CBNAME) \
|
||||
wxObject* CBNAME(const wxString& a);
|
||||
|
||||
#define IMP_PYCALLBACK_OBJECT_STRING_pure(CLASS, PCLASS, CBNAME) \
|
||||
wxObject* CLASS::CBNAME(const wxString& a) { \
|
||||
wxObject* rv = NULL; \
|
||||
wxPyBeginBlockThreads(); \
|
||||
if (wxPyCBH_findCallback(m_myInst, #CBNAME)) { \
|
||||
PyObject* so = wx2PyString(a); \
|
||||
PyObject* ro; \
|
||||
ro = wxPyCBH_callCallbackObj(m_myInst, Py_BuildValue("(O)", so)); \
|
||||
if (ro) { \
|
||||
SWIG_GetPtrObj(ro, (void **)&rv, "_wxObject_p"); \
|
||||
Py_DECREF(ro); \
|
||||
} \
|
||||
Py_DECREF(so); \
|
||||
} \
|
||||
wxPyEndBlockThreads(); \
|
||||
return rv; \
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
#define DEC_PYCALLBACK_BOOL_NODE_pure(CBNAME) \
|
||||
bool CBNAME(wxXmlNode* a);
|
||||
|
||||
|
Reference in New Issue
Block a user