Added the wx.combo module, which contains the ComboCtrl and ComboPopup

classes.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@43453 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robin Dunn
2006-11-16 23:38:29 +00:00
parent 41fa9bfc46
commit 84bc0d49e4
12 changed files with 27841 additions and 5 deletions

View File

@@ -1640,7 +1640,7 @@ extern wxPyApp *wxPythonApp;
//---------------------------------------------------------------------------
#define DEC_PYCALLBACK_BOOL_WXWIN(CBNAME) \
#define DEC_PYCALLBACK_BOOL_WXWIN(CBNAME) \
bool CBNAME(wxWindow* a)
@@ -1648,7 +1648,7 @@ extern wxPyApp *wxPythonApp;
bool CLASS::CBNAME(wxWindow* a) { \
bool rval=false; \
bool found; \
wxPyBlock_t blocked = wxPyBeginBlockThreads(); \
wxPyBlock_t blocked = wxPyBeginBlockThreads(); \
if ((found = wxPyCBH_findCallback(m_myInst, #CBNAME))) { \
PyObject* obj = wxPyMake_wxObject(a,false); \
rval = wxPyCBH_callCallback(m_myInst, Py_BuildValue("(O)", obj)); \
@@ -1660,6 +1660,25 @@ extern wxPyApp *wxPythonApp;
return rval; \
}
#define DEC_PYCALLBACK_BOOL_WXWIN_pure(CBNAME) \
bool CBNAME(wxWindow* a)
#define IMP_PYCALLBACK_BOOL_WXWIN_pure(CLASS, PCLASS, CBNAME) \
bool CLASS::CBNAME(wxWindow* a) { \
bool rval=false; \
bool found; \
wxPyBlock_t blocked = wxPyBeginBlockThreads(); \
if ((found = wxPyCBH_findCallback(m_myInst, #CBNAME))) { \
PyObject* obj = wxPyMake_wxObject(a,false); \
rval = wxPyCBH_callCallback(m_myInst, Py_BuildValue("(O)", obj)); \
Py_DECREF(obj); \
} \
wxPyEndBlockThreads(blocked); \
return rval; \
}
//---------------------------------------------------------------------------
#define DEC_PYCALLBACK_BOOL_WXWINDC(CBNAME) \
@@ -2296,15 +2315,32 @@ extern wxPyApp *wxPythonApp;
//---------------------------------------------------------------------------
#define DEC_PYCALLBACK_COORD_SIZET_constpure(CBNAME) \
#define DEC_PYCALLBACK_COORD_SIZET_const(CBNAME) \
wxCoord CBNAME(size_t a) const
#define IMP_PYCALLBACK_COORD_SIZET_const(CLASS, PCLASS, CBNAME) \
wxCoord CLASS::CBNAME(size_t a) const { \
wxCoord rval=0; \
bool found; \
wxPyBlock_t blocked = wxPyBeginBlockThreads(); \
if ((found = wxPyCBH_findCallback(m_myInst, #CBNAME))) { \
rval = wxPyCBH_callCallback(m_myInst, Py_BuildValue("(i)", a)); \
} \
wxPyEndBlockThreads(blocked); \
if (! found) \
rval = PCLASS::CBNAME(a); \
return rval; \
} \
#define DEC_PYCALLBACK_COORD_SIZET_constpure(CBNAME) \
wxCoord CBNAME(size_t a) const
#define IMP_PYCALLBACK_COORD_SIZET_constpure(CLASS, PCLASS, CBNAME) \
wxCoord CLASS::CBNAME(size_t a) const { \
wxCoord rval=0; \
bool found; \
wxPyBlock_t blocked = wxPyBeginBlockThreads(); \
wxPyBlock_t blocked = wxPyBeginBlockThreads(); \
if ((found = wxPyCBH_findCallback(m_myInst, #CBNAME))) { \
rval = wxPyCBH_callCallback(m_myInst, Py_BuildValue("(i)", a)); \
} \
@@ -2427,6 +2463,67 @@ extern wxPyApp *wxPythonApp;
//---------------------------------------------------------------------------
#define DEC_PYCALLBACK__DCRECTINTINT_const(CBNAME) \
void CBNAME(wxDC& a, const wxRect& b, int c, int d) const
#define IMP_PYCALLBACK__DCRECTINTINT_const(CLASS, PCLASS, CBNAME) \
void CLASS::CBNAME(wxDC& a, const wxRect& b, int c, int d) const { \
bool found; \
wxPyBlock_t blocked = wxPyBeginBlockThreads(); \
if ((found = wxPyCBH_findCallback(m_myInst, #CBNAME))) { \
PyObject* obj = wxPyMake_wxObject(&a,false); \
PyObject* ro = wxPyConstructObject((void*)&b, wxT("wxRect"), 0); \
wxPyCBH_callCallback(m_myInst, Py_BuildValue("(OOii)", obj, ro, c, d)); \
Py_DECREF(obj); Py_DECREF(ro); \
} \
wxPyEndBlockThreads(blocked); \
if (! found) \
PCLASS::CBNAME(a,b,c,d); \
}
//---------------------------------------------------------------------------
#define DEC_PYCALLBACK__RECTINT(CBNAME) \
void CBNAME(const wxRect& a, int b)
#define IMP_PYCALLBACK__RECTINT(CLASS, PCLASS, CBNAME) \
void CLASS::CBNAME(const wxRect& a, int b) { \
bool found; \
wxPyBlock_t blocked = wxPyBeginBlockThreads(); \
if ((found = wxPyCBH_findCallback(m_myInst, #CBNAME))) { \
PyObject* ro = wxPyConstructObject((void*)&a, wxT("wxRect"), 0); \
wxPyCBH_callCallback(m_myInst, Py_BuildValue("(Oi)", ro, b)); \
Py_DECREF(ro); \
} \
wxPyEndBlockThreads(blocked); \
if (! found) \
PCLASS::CBNAME(a,b); \
}
#define DEC_PYCALLBACK_BOOL_RECTINT(CBNAME) \
bool CBNAME(const wxRect& a, int b)
#define IMP_PYCALLBACK_BOOL_RECTINT(CLASS, PCLASS, CBNAME) \
bool CLASS::CBNAME(const wxRect& a, int b) { \
bool found; \
bool rval = false; \
wxPyBlock_t blocked = wxPyBeginBlockThreads(); \
if ((found = wxPyCBH_findCallback(m_myInst, #CBNAME))) { \
PyObject* ro = wxPyConstructObject((void*)&a, wxT("wxRect"), 0); \
rval = wxPyCBH_callCallback(m_myInst, Py_BuildValue("(Oi)", ro, b));\
Py_DECREF(ro); \
} \
wxPyEndBlockThreads(blocked); \
if (! found) \
rval = PCLASS::CBNAME(a,b); \
return rval; \
}
//---------------------------------------------------------------------------
#define DEC_PYCALLBACK_STRING_SIZET(CBNAME) \
wxString CBNAME(size_t a) const