Added wxPy versions of wxPrintPreview, wxPreviewFrame, and
wxPreviewControlBar so they can be derived from in Python and be able to override the C++ virtual methods. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_4_BRANCH@20968 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -526,6 +526,27 @@ extern wxPyApp *wxPythonApp;
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
#define DEC_PYCALLBACK_VOID_(CBNAME) \
|
||||
void CBNAME(); \
|
||||
void base_##CBNAME();
|
||||
|
||||
|
||||
#define IMP_PYCALLBACK_VOID_(CLASS, PCLASS, CBNAME) \
|
||||
void CLASS::CBNAME() { \
|
||||
bool found; \
|
||||
wxPyBeginBlockThreads(); \
|
||||
if ((found = wxPyCBH_findCallback(m_myInst, #CBNAME))) \
|
||||
wxPyCBH_callCallback(m_myInst, Py_BuildValue("()")); \
|
||||
wxPyEndBlockThreads(); \
|
||||
if (! found) \
|
||||
PCLASS::CBNAME(); \
|
||||
} \
|
||||
void CLASS::base_##CBNAME() { \
|
||||
PCLASS::CBNAME(); \
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
#define DEC_PYCALLBACK_VOID_INTINT(CBNAME) \
|
||||
void CBNAME(int a, int b); \
|
||||
void base_##CBNAME(int a, int b);
|
||||
@@ -547,6 +568,27 @@ extern wxPyApp *wxPythonApp;
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
#define DEC_PYCALLBACK_VOID_INT(CBNAME) \
|
||||
void CBNAME(int a); \
|
||||
void base_##CBNAME(int a);
|
||||
|
||||
|
||||
#define IMP_PYCALLBACK_VOID_INT(CLASS, PCLASS, CBNAME) \
|
||||
void CLASS::CBNAME(int a) { \
|
||||
bool found; \
|
||||
wxPyBeginBlockThreads(); \
|
||||
if ((found = wxPyCBH_findCallback(m_myInst, #CBNAME))) \
|
||||
wxPyCBH_callCallback(m_myInst, Py_BuildValue("(i)",a)); \
|
||||
wxPyEndBlockThreads(); \
|
||||
if (! found) \
|
||||
PCLASS::CBNAME(a); \
|
||||
} \
|
||||
void CLASS::base_##CBNAME(int a) { \
|
||||
PCLASS::CBNAME(a); \
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
#define DEC_PYCALLBACK_VOID_INT4(CBNAME) \
|
||||
void CBNAME(int a, int b, int c, int d); \
|
||||
void base_##CBNAME(int a, int b, int c, int d);
|
||||
@@ -674,6 +716,28 @@ extern wxPyApp *wxPythonApp;
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
#define DEC_PYCALLBACK_BOOL_BOOL(CBNAME) \
|
||||
bool CBNAME(bool a); \
|
||||
bool base_##CBNAME(bool a);
|
||||
|
||||
|
||||
#define IMP_PYCALLBACK_BOOL_BOOL(CLASS, PCLASS, CBNAME) \
|
||||
bool CLASS::CBNAME(bool a) { \
|
||||
bool rval=FALSE, found; \
|
||||
wxPyBeginBlockThreads(); \
|
||||
if ((found = wxPyCBH_findCallback(m_myInst, #CBNAME))) \
|
||||
rval = wxPyCBH_callCallback(m_myInst, Py_BuildValue("(i)",a));\
|
||||
wxPyEndBlockThreads(); \
|
||||
if (! found) \
|
||||
rval = PCLASS::CBNAME(a); \
|
||||
return rval; \
|
||||
} \
|
||||
bool CLASS::base_##CBNAME(bool a) { \
|
||||
return PCLASS::CBNAME(a); \
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
#define DEC_PYCALLBACK_BOOL_INT(CBNAME) \
|
||||
bool CBNAME(int a); \
|
||||
bool base_##CBNAME(int a);
|
||||
@@ -1408,6 +1472,34 @@ extern wxPyApp *wxPythonApp;
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
#define DEC_PYCALLBACK_BOOL_WXWINDC(CBNAME) \
|
||||
bool CBNAME(wxWindow* a, wxDC& b); \
|
||||
bool base_##CBNAME(wxWindow* a, wxDC& b);
|
||||
|
||||
|
||||
#define IMP_PYCALLBACK_BOOL_WXWINDC(CLASS, PCLASS, CBNAME) \
|
||||
bool CLASS::CBNAME(wxWindow* a, wxDC& b) { \
|
||||
bool rval=FALSE; \
|
||||
bool found; \
|
||||
wxPyBeginBlockThreads(); \
|
||||
if ((found = wxPyCBH_findCallback(m_myInst, #CBNAME))) { \
|
||||
PyObject* win = wxPyMake_wxObject(a); \
|
||||
PyObject* dc = wxPyMake_wxObject(&b); \
|
||||
rval = wxPyCBH_callCallback(m_myInst, Py_BuildValue("(OO)", win, dc));\
|
||||
Py_DECREF(win); \
|
||||
Py_DECREF(dc); \
|
||||
} \
|
||||
wxPyEndBlockThreads(); \
|
||||
if (! found) \
|
||||
rval = PCLASS::CBNAME(a, b); \
|
||||
return rval; \
|
||||
} \
|
||||
bool CLASS::base_##CBNAME(wxWindow* a, wxDC& b) { \
|
||||
return PCLASS::CBNAME(a, b); \
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
#define DEC_PYCALLBACK_VOID_WXWINBASE(CBNAME) \
|
||||
void CBNAME(wxWindowBase* a); \
|
||||
void base_##CBNAME(wxWindowBase* a);
|
||||
|
Reference in New Issue
Block a user