Massive code changes and cleanup to allow wxPython to be split into
multiple extension modules again. A Python CObject is used to allow the "export" of SWIG and other common helper functions from the wxc module to other modules, even if they are in separate shared libraries. Should also be usable from 3rd party code, just include wxPython/src/export.h Changed the default setup so the following are built as separate extension modules: calendar, glcanvas, grid, html, ogl, stc, and utils. Will probably add more later. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@8984 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -55,7 +55,7 @@ extern PyObject *SWIG_newvarlink(void);
|
||||
|
||||
#define SWIG_name "calendarc"
|
||||
|
||||
#include "helpers.h"
|
||||
#include "export.h"
|
||||
#include <wx/calctrl.h>
|
||||
|
||||
static PyObject* l_output_helper(PyObject* target, PyObject* o) {
|
||||
|
||||
@@ -55,7 +55,7 @@ extern PyObject *SWIG_newvarlink(void);
|
||||
|
||||
#define SWIG_name "gridc"
|
||||
|
||||
#include "helpers.h"
|
||||
#include "export.h"
|
||||
#include <wx/grid.h>
|
||||
|
||||
static PyObject* l_output_helper(PyObject* target, PyObject* o) {
|
||||
@@ -110,10 +110,10 @@ static char* wxStringErrorMsg = "string type is required for parameter";
|
||||
wxGridCellAttr* CBNAME(int a, int b) { \
|
||||
wxGridCellAttr* rval = NULL; \
|
||||
bool doSave = wxPyRestoreThread(); \
|
||||
if (m_myInst.findCallback(#CBNAME)) { \
|
||||
if (wxPyCBH_findCallback(m_myInst, #CBNAME)) { \
|
||||
PyObject* ro; \
|
||||
wxGridCellAttr* ptr; \
|
||||
ro = m_myInst.callCallbackObj(Py_BuildValue("(ii)", a, b)); \
|
||||
ro = wxPyCBH_callCallbackObj(m_myInst, Py_BuildValue("(ii)", a, b)); \
|
||||
if (ro) { \
|
||||
if (!SWIG_GetPtrObj(ro, (void **)&ptr, "_wxGridCellAttr_p")) \
|
||||
rval = ptr; \
|
||||
@@ -134,9 +134,9 @@ static char* wxStringErrorMsg = "string type is required for parameter";
|
||||
#define PYCALLBACK__GCAINTINT(PCLASS, CBNAME) \
|
||||
void CBNAME(wxGridCellAttr *attr, int a, int b) { \
|
||||
bool doSave = wxPyRestoreThread(); \
|
||||
if (m_myInst.findCallback(#CBNAME)) { \
|
||||
PyObject* obj = wxPyConstructObject((void*)attr, "wxGridCellAttr");\
|
||||
m_myInst.callCallback(Py_BuildValue("(Oii)", obj, a, b)); \
|
||||
if (wxPyCBH_findCallback(m_myInst, #CBNAME)) { \
|
||||
PyObject* obj = wxPyConstructObject((void*)attr, "wxGridCellAttr", 0);\
|
||||
wxPyCBH_callCallback(m_myInst, Py_BuildValue("(Oii)", obj, a, b)); \
|
||||
Py_DECREF(obj); \
|
||||
} \
|
||||
else \
|
||||
@@ -152,9 +152,9 @@ static char* wxStringErrorMsg = "string type is required for parameter";
|
||||
#define PYCALLBACK__GCAINT(PCLASS, CBNAME) \
|
||||
void CBNAME(wxGridCellAttr *attr, int val) { \
|
||||
bool doSave = wxPyRestoreThread(); \
|
||||
if (m_myInst.findCallback(#CBNAME)) { \
|
||||
PyObject* obj = wxPyConstructObject((void*)attr, "wxGridCellAttr");\
|
||||
m_myInst.callCallback(Py_BuildValue("(Oi)", obj, val)); \
|
||||
if (wxPyCBH_findCallback(m_myInst, #CBNAME)) { \
|
||||
PyObject* obj = wxPyConstructObject((void*)attr, "wxGridCellAttr", 0);\
|
||||
wxPyCBH_callCallback(m_myInst, Py_BuildValue("(Oi)", obj, val)); \
|
||||
Py_DECREF(obj); \
|
||||
} \
|
||||
else \
|
||||
@@ -171,8 +171,8 @@ static char* wxStringErrorMsg = "string type is required for parameter";
|
||||
int CBNAME() { \
|
||||
bool doSave = wxPyRestoreThread(); \
|
||||
int rval = 0; \
|
||||
if (m_myInst.findCallback(#CBNAME)) \
|
||||
rval = m_myInst.callCallback(Py_BuildValue("()")); \
|
||||
if (wxPyCBH_findCallback(m_myInst, #CBNAME)) \
|
||||
rval = wxPyCBH_callCallback(m_myInst, Py_BuildValue("()")); \
|
||||
wxPySaveThread(doSave); \
|
||||
return rval; \
|
||||
}
|
||||
@@ -183,8 +183,8 @@ static char* wxStringErrorMsg = "string type is required for parameter";
|
||||
bool CBNAME(int a, int b) { \
|
||||
bool doSave = wxPyRestoreThread(); \
|
||||
bool rval = 0; \
|
||||
if (m_myInst.findCallback(#CBNAME)) \
|
||||
rval = m_myInst.callCallback(Py_BuildValue("(ii)",a,b)); \
|
||||
if (wxPyCBH_findCallback(m_myInst, #CBNAME)) \
|
||||
rval = wxPyCBH_callCallback(m_myInst, Py_BuildValue("(ii)",a,b)); \
|
||||
wxPySaveThread(doSave); \
|
||||
return rval; \
|
||||
}
|
||||
@@ -195,9 +195,9 @@ static char* wxStringErrorMsg = "string type is required for parameter";
|
||||
wxString CBNAME(int a, int b) { \
|
||||
bool doSave = wxPyRestoreThread(); \
|
||||
wxString rval; \
|
||||
if (m_myInst.findCallback(#CBNAME)) { \
|
||||
if (wxPyCBH_findCallback(m_myInst, #CBNAME)) { \
|
||||
PyObject* ro; \
|
||||
ro = m_myInst.callCallbackObj(Py_BuildValue("(ii)",a,b)); \
|
||||
ro = wxPyCBH_callCallbackObj(m_myInst, Py_BuildValue("(ii)",a,b)); \
|
||||
if (ro) { \
|
||||
PyObject* str = PyObject_Str(ro); \
|
||||
rval = PyString_AsString(str); \
|
||||
@@ -213,8 +213,8 @@ static char* wxStringErrorMsg = "string type is required for parameter";
|
||||
#define PYCALLBACK__INTINTSTRING_pure(CBNAME) \
|
||||
void CBNAME(int a, int b, const wxString& c) { \
|
||||
bool doSave = wxPyRestoreThread(); \
|
||||
if (m_myInst.findCallback(#CBNAME)) \
|
||||
m_myInst.callCallback(Py_BuildValue("(iis)",a,b,c.c_str())); \
|
||||
if (wxPyCBH_findCallback(m_myInst, #CBNAME)) \
|
||||
wxPyCBH_callCallback(m_myInst, Py_BuildValue("(iis)",a,b,c.c_str())); \
|
||||
wxPySaveThread(doSave); \
|
||||
}
|
||||
|
||||
@@ -223,9 +223,9 @@ static char* wxStringErrorMsg = "string type is required for parameter";
|
||||
wxString CBNAME(int a, int b) { \
|
||||
bool doSave = wxPyRestoreThread(); \
|
||||
wxString rval; \
|
||||
if (m_myInst.findCallback(#CBNAME)) { \
|
||||
if (wxPyCBH_findCallback(m_myInst, #CBNAME)) { \
|
||||
PyObject* ro; \
|
||||
ro = m_myInst.callCallbackObj(Py_BuildValue("(ii)",a,b)); \
|
||||
ro = wxPyCBH_callCallbackObj(m_myInst, Py_BuildValue("(ii)",a,b)); \
|
||||
if (ro) { \
|
||||
PyObject* str = PyObject_Str(ro); \
|
||||
rval = PyString_AsString(str); \
|
||||
@@ -246,8 +246,8 @@ static char* wxStringErrorMsg = "string type is required for parameter";
|
||||
bool CBNAME(int a, int b, const wxString& c) { \
|
||||
bool rval; \
|
||||
bool doSave = wxPyRestoreThread(); \
|
||||
if (m_myInst.findCallback(#CBNAME)) \
|
||||
rval = m_myInst.callCallback(Py_BuildValue("(iis)", a,b,c.c_str())); \
|
||||
if (wxPyCBH_findCallback(m_myInst, #CBNAME)) \
|
||||
rval = wxPyCBH_callCallback(m_myInst, Py_BuildValue("(iis)", a,b,c.c_str())); \
|
||||
else \
|
||||
rval = PCLASS::CBNAME(a,b,c); \
|
||||
wxPySaveThread(doSave); \
|
||||
@@ -264,8 +264,8 @@ static char* wxStringErrorMsg = "string type is required for parameter";
|
||||
long CBNAME(int a, int b) { \
|
||||
long rval; \
|
||||
bool doSave = wxPyRestoreThread(); \
|
||||
if (m_myInst.findCallback(#CBNAME)) \
|
||||
rval = m_myInst.callCallback(Py_BuildValue("(ii)", a,b)); \
|
||||
if (wxPyCBH_findCallback(m_myInst, #CBNAME)) \
|
||||
rval = wxPyCBH_callCallback(m_myInst, Py_BuildValue("(ii)", a,b)); \
|
||||
else \
|
||||
rval = PCLASS::CBNAME(a,b); \
|
||||
wxPySaveThread(doSave); \
|
||||
@@ -281,8 +281,8 @@ static char* wxStringErrorMsg = "string type is required for parameter";
|
||||
bool CBNAME(int a, int b) { \
|
||||
bool rval; \
|
||||
bool doSave = wxPyRestoreThread(); \
|
||||
if (m_myInst.findCallback(#CBNAME)) \
|
||||
rval = m_myInst.callCallback(Py_BuildValue("(ii)", a,b)); \
|
||||
if (wxPyCBH_findCallback(m_myInst, #CBNAME)) \
|
||||
rval = wxPyCBH_callCallback(m_myInst, Py_BuildValue("(ii)", a,b)); \
|
||||
else \
|
||||
rval = PCLASS::CBNAME(a,b); \
|
||||
wxPySaveThread(doSave); \
|
||||
@@ -298,9 +298,9 @@ static char* wxStringErrorMsg = "string type is required for parameter";
|
||||
double CBNAME(int a, int b) { \
|
||||
bool doSave = wxPyRestoreThread(); \
|
||||
double rval; \
|
||||
if (m_myInst.findCallback(#CBNAME)) { \
|
||||
if (wxPyCBH_findCallback(m_myInst, #CBNAME)) { \
|
||||
PyObject* ro; \
|
||||
ro = m_myInst.callCallbackObj(Py_BuildValue("(ii)",a,b)); \
|
||||
ro = wxPyCBH_callCallbackObj(m_myInst, Py_BuildValue("(ii)",a,b)); \
|
||||
if (ro) { \
|
||||
PyObject* str = PyObject_Str(ro); \
|
||||
rval = PyFloat_AsDouble(str); \
|
||||
@@ -320,8 +320,8 @@ static char* wxStringErrorMsg = "string type is required for parameter";
|
||||
#define PYCALLBACK__(PCLASS, CBNAME) \
|
||||
void CBNAME() { \
|
||||
bool doSave = wxPyRestoreThread(); \
|
||||
if (m_myInst.findCallback(#CBNAME)) \
|
||||
m_myInst.callCallback(Py_BuildValue("()")); \
|
||||
if (wxPyCBH_findCallback(m_myInst, #CBNAME)) \
|
||||
wxPyCBH_callCallback(m_myInst, Py_BuildValue("()")); \
|
||||
else \
|
||||
PCLASS::CBNAME(); \
|
||||
wxPySaveThread(doSave); \
|
||||
@@ -337,8 +337,8 @@ static char* wxStringErrorMsg = "string type is required for parameter";
|
||||
bool CBNAME(size_t a, size_t b) { \
|
||||
bool rval; \
|
||||
bool doSave = wxPyRestoreThread(); \
|
||||
if (m_myInst.findCallback(#CBNAME)) \
|
||||
rval = m_myInst.callCallback(Py_BuildValue("(ii)", a,b)); \
|
||||
if (wxPyCBH_findCallback(m_myInst, #CBNAME)) \
|
||||
rval = wxPyCBH_callCallback(m_myInst, Py_BuildValue("(ii)", a,b)); \
|
||||
else \
|
||||
rval = PCLASS::CBNAME(a,b); \
|
||||
wxPySaveThread(doSave); \
|
||||
@@ -354,8 +354,8 @@ static char* wxStringErrorMsg = "string type is required for parameter";
|
||||
bool CBNAME(size_t a) { \
|
||||
bool rval; \
|
||||
bool doSave = wxPyRestoreThread(); \
|
||||
if (m_myInst.findCallback(#CBNAME)) \
|
||||
rval = m_myInst.callCallback(Py_BuildValue("(i)", a)); \
|
||||
if (wxPyCBH_findCallback(m_myInst, #CBNAME)) \
|
||||
rval = wxPyCBH_callCallback(m_myInst, Py_BuildValue("(i)", a)); \
|
||||
else \
|
||||
rval = PCLASS::CBNAME(a); \
|
||||
wxPySaveThread(doSave); \
|
||||
@@ -371,9 +371,9 @@ static char* wxStringErrorMsg = "string type is required for parameter";
|
||||
wxString CBNAME(int a) { \
|
||||
bool doSave = wxPyRestoreThread(); \
|
||||
wxString rval; \
|
||||
if (m_myInst.findCallback(#CBNAME)) { \
|
||||
if (wxPyCBH_findCallback(m_myInst, #CBNAME)) { \
|
||||
PyObject* ro; \
|
||||
ro = m_myInst.callCallbackObj(Py_BuildValue("(i)",a)); \
|
||||
ro = wxPyCBH_callCallbackObj(m_myInst, Py_BuildValue("(i)",a)); \
|
||||
if (ro) { \
|
||||
PyObject* str = PyObject_Str(ro); \
|
||||
rval = PyString_AsString(str); \
|
||||
@@ -393,8 +393,8 @@ static char* wxStringErrorMsg = "string type is required for parameter";
|
||||
#define PYCALLBACK__INTSTRING(PCLASS, CBNAME) \
|
||||
void CBNAME(int a, const wxString& c) { \
|
||||
bool doSave = wxPyRestoreThread(); \
|
||||
if (m_myInst.findCallback(#CBNAME)) \
|
||||
m_myInst.callCallback(Py_BuildValue("(is)", a,c.c_str())); \
|
||||
if (wxPyCBH_findCallback(m_myInst, #CBNAME)) \
|
||||
wxPyCBH_callCallback(m_myInst, Py_BuildValue("(is)", a,c.c_str())); \
|
||||
else \
|
||||
PCLASS::CBNAME(a,c); \
|
||||
wxPySaveThread(doSave); \
|
||||
@@ -410,8 +410,8 @@ static char* wxStringErrorMsg = "string type is required for parameter";
|
||||
bool CBNAME() { \
|
||||
bool rval; \
|
||||
bool doSave = wxPyRestoreThread(); \
|
||||
if (m_myInst.findCallback(#CBNAME)) \
|
||||
rval = m_myInst.callCallback(Py_BuildValue("()")); \
|
||||
if (wxPyCBH_findCallback(m_myInst, #CBNAME)) \
|
||||
rval = wxPyCBH_callCallback(m_myInst, Py_BuildValue("()")); \
|
||||
else \
|
||||
rval = PCLASS::CBNAME(); \
|
||||
wxPySaveThread(doSave); \
|
||||
@@ -426,8 +426,8 @@ static char* wxStringErrorMsg = "string type is required for parameter";
|
||||
#define PYCALLBACK__SIZETINT(PCLASS, CBNAME) \
|
||||
void CBNAME(size_t a, int b) { \
|
||||
bool doSave = wxPyRestoreThread(); \
|
||||
if (m_myInst.findCallback(#CBNAME)) \
|
||||
m_myInst.callCallback(Py_BuildValue("(ii)", a,b)); \
|
||||
if (wxPyCBH_findCallback(m_myInst, #CBNAME)) \
|
||||
wxPyCBH_callCallback(m_myInst, Py_BuildValue("(ii)", a,b)); \
|
||||
else \
|
||||
PCLASS::CBNAME(a,b); \
|
||||
wxPySaveThread(doSave); \
|
||||
@@ -442,8 +442,8 @@ static char* wxStringErrorMsg = "string type is required for parameter";
|
||||
#define PYCALLBACK__INTINTLONG(PCLASS, CBNAME) \
|
||||
void CBNAME(int a, int b, long c) { \
|
||||
bool doSave = wxPyRestoreThread(); \
|
||||
if (m_myInst.findCallback(#CBNAME)) \
|
||||
m_myInst.callCallback(Py_BuildValue("(iii)", a,b,c)); \
|
||||
if (wxPyCBH_findCallback(m_myInst, #CBNAME)) \
|
||||
wxPyCBH_callCallback(m_myInst, Py_BuildValue("(iii)", a,b,c)); \
|
||||
else \
|
||||
PCLASS::CBNAME(a,b,c); \
|
||||
wxPySaveThread(doSave); \
|
||||
@@ -458,8 +458,8 @@ static char* wxStringErrorMsg = "string type is required for parameter";
|
||||
#define PYCALLBACK__INTINTDOUBLE(PCLASS, CBNAME) \
|
||||
void CBNAME(int a, int b, double c) { \
|
||||
bool doSave = wxPyRestoreThread(); \
|
||||
if (m_myInst.findCallback(#CBNAME)) \
|
||||
m_myInst.callCallback(Py_BuildValue("(iif)", a,b,c)); \
|
||||
if (wxPyCBH_findCallback(m_myInst, #CBNAME)) \
|
||||
wxPyCBH_callCallback(m_myInst, Py_BuildValue("(iif)", a,b,c)); \
|
||||
else \
|
||||
PCLASS::CBNAME(a,b,c); \
|
||||
wxPySaveThread(doSave); \
|
||||
@@ -473,8 +473,8 @@ static char* wxStringErrorMsg = "string type is required for parameter";
|
||||
#define PYCALLBACK__INTINTBOOL(PCLASS, CBNAME) \
|
||||
void CBNAME(int a, int b, bool c) { \
|
||||
bool doSave = wxPyRestoreThread(); \
|
||||
if (m_myInst.findCallback(#CBNAME)) \
|
||||
m_myInst.callCallback(Py_BuildValue("(iii)", a,b,c)); \
|
||||
if (wxPyCBH_findCallback(m_myInst, #CBNAME)) \
|
||||
wxPyCBH_callCallback(m_myInst, Py_BuildValue("(iii)", a,b,c)); \
|
||||
else \
|
||||
PCLASS::CBNAME(a,b,c); \
|
||||
wxPySaveThread(doSave); \
|
||||
@@ -497,13 +497,13 @@ public:
|
||||
wxDC& dc, const wxRect& rect,
|
||||
int row, int col, bool isSelected) {
|
||||
bool doSave = wxPyRestoreThread();
|
||||
if (m_myInst.findCallback("Draw")) {
|
||||
m_myInst.callCallback(
|
||||
if (wxPyCBH_findCallback(m_myInst, "Draw")) {
|
||||
wxPyCBH_callCallback(m_myInst,
|
||||
Py_BuildValue("(OOOOiii)",
|
||||
wxPyConstructObject((void*)&grid, "wxGrid"),
|
||||
wxPyConstructObject((void*)&attr, "wxGridCellAttr"),
|
||||
wxPyConstructObject((void*)&dc, "wxDC"),
|
||||
wxPyConstructObject((void*)&rect, "wxRect"),
|
||||
wxPyConstructObject((void*)&grid, "wxGrid", 0),
|
||||
wxPyConstructObject((void*)&attr, "wxGridCellAttr", 0),
|
||||
wxPyConstructObject((void*)&dc, "wxDC", 0),
|
||||
wxPyConstructObject((void*)&rect, "wxRect", 0),
|
||||
row, col, isSelected));
|
||||
}
|
||||
wxPySaveThread(doSave);
|
||||
@@ -513,14 +513,14 @@ public:
|
||||
int row, int col) {
|
||||
wxSize rval;
|
||||
bool doSave = wxPyRestoreThread();
|
||||
if (m_myInst.findCallback("GetBestSize")) {
|
||||
if (wxPyCBH_findCallback(m_myInst, "GetBestSize")) {
|
||||
PyObject* ro;
|
||||
wxSize* ptr;
|
||||
ro = m_myInst.callCallbackObj(
|
||||
ro = wxPyCBH_callCallbackObj(m_myInst,
|
||||
Py_BuildValue("(OOOii)",
|
||||
wxPyConstructObject((void*)&grid, "wxGrid"),
|
||||
wxPyConstructObject((void*)&attr, "wxGridCellAttr"),
|
||||
wxPyConstructObject((void*)&dc, "wxDC"),
|
||||
wxPyConstructObject((void*)&grid, "wxGrid", 0),
|
||||
wxPyConstructObject((void*)&attr, "wxGridCellAttr", 0),
|
||||
wxPyConstructObject((void*)&dc, "wxDC", 0),
|
||||
row, col));
|
||||
if (ro) {
|
||||
if (!SWIG_GetPtrObj(ro, (void **)&ptr, "_wxSize_p"))
|
||||
@@ -536,10 +536,10 @@ public:
|
||||
wxGridCellRenderer *Clone() const {
|
||||
wxGridCellRenderer* rval = NULL;
|
||||
bool doSave = wxPyRestoreThread();
|
||||
if (m_myInst.findCallback("Clone")) {
|
||||
if (wxPyCBH_findCallback(m_myInst, "Clone")) {
|
||||
PyObject* ro;
|
||||
wxGridCellRenderer* ptr;
|
||||
ro = m_myInst.callCallbackObj(Py_BuildValue("()"));
|
||||
ro = wxPyCBH_callCallbackObj(m_myInst, Py_BuildValue("()"));
|
||||
if (ro) {
|
||||
if (!SWIG_GetPtrObj(ro, (void **)&ptr, "_wxGridCellRenderer_p"))
|
||||
rval = ptr;
|
||||
@@ -565,12 +565,12 @@ public:
|
||||
|
||||
void Create(wxWindow* parent, wxWindowID id, wxEvtHandler* evtHandler) {
|
||||
bool doSave = wxPyRestoreThread();
|
||||
if (m_myInst.findCallback("Create")) {
|
||||
m_myInst.callCallback(
|
||||
if (wxPyCBH_findCallback(m_myInst, "Create")) {
|
||||
wxPyCBH_callCallback(m_myInst,
|
||||
Py_BuildValue("(OiO)",
|
||||
wxPyConstructObject((void*)parent, "wxWindow"),
|
||||
wxPyConstructObject((void*)parent, "wxWindow", 0),
|
||||
id,
|
||||
wxPyConstructObject((void*)evtHandler, "wxEvtHandler")));
|
||||
wxPyConstructObject((void*)evtHandler, "wxEvtHandler", 0)));
|
||||
}
|
||||
wxPySaveThread(doSave);
|
||||
}
|
||||
@@ -578,10 +578,10 @@ public:
|
||||
|
||||
void BeginEdit(int row, int col, wxGrid* grid) {
|
||||
bool doSave = wxPyRestoreThread();
|
||||
if (m_myInst.findCallback("BeginEdit")) {
|
||||
m_myInst.callCallback(
|
||||
if (wxPyCBH_findCallback(m_myInst, "BeginEdit")) {
|
||||
wxPyCBH_callCallback(m_myInst,
|
||||
Py_BuildValue("(iiO)", row, col,
|
||||
wxPyConstructObject((void*)grid, "wxGrid")));
|
||||
wxPyConstructObject((void*)grid, "wxGrid", 0)));
|
||||
}
|
||||
wxPySaveThread(doSave);
|
||||
}
|
||||
@@ -590,10 +590,10 @@ public:
|
||||
bool EndEdit(int row, int col, wxGrid* grid) {
|
||||
bool rv = FALSE;
|
||||
bool doSave = wxPyRestoreThread();
|
||||
if (m_myInst.findCallback("EndEdit")) {
|
||||
rv = m_myInst.callCallback(
|
||||
if (wxPyCBH_findCallback(m_myInst, "EndEdit")) {
|
||||
rv = wxPyCBH_callCallback(m_myInst,
|
||||
Py_BuildValue("(iiO)", row, col,
|
||||
wxPyConstructObject((void*)grid, "wxGrid")));
|
||||
wxPyConstructObject((void*)grid, "wxGrid", 0)));
|
||||
}
|
||||
wxPySaveThread(doSave);
|
||||
return rv;
|
||||
@@ -603,10 +603,10 @@ public:
|
||||
wxGridCellEditor*Clone() const {
|
||||
wxGridCellEditor* rval = NULL;
|
||||
bool doSave = wxPyRestoreThread();
|
||||
if (m_myInst.findCallback("Clone")) {
|
||||
if (wxPyCBH_findCallback(m_myInst, "Clone")) {
|
||||
PyObject* ro;
|
||||
wxGridCellEditor* ptr;
|
||||
ro = m_myInst.callCallbackObj(Py_BuildValue("()"));
|
||||
ro = wxPyCBH_callCallbackObj(m_myInst, Py_BuildValue("()"));
|
||||
if (ro) {
|
||||
if (!SWIG_GetPtrObj(ro, (void **)&ptr, "_wxGridCellEditor_p"))
|
||||
rval = ptr;
|
||||
@@ -620,10 +620,10 @@ public:
|
||||
|
||||
void Show(bool show, wxGridCellAttr *attr) {
|
||||
bool doSave = wxPyRestoreThread();
|
||||
if (m_myInst.findCallback("Show"))
|
||||
m_myInst.callCallback(
|
||||
if (wxPyCBH_findCallback(m_myInst, "Show"))
|
||||
wxPyCBH_callCallback(m_myInst,
|
||||
Py_BuildValue("(iO)", show,
|
||||
wxPyConstructObject((void*)attr, "wxGridCellAttr")));
|
||||
wxPyConstructObject((void*)attr, "wxGridCellAttr", 0)));
|
||||
else
|
||||
wxGridCellEditor::Show(show, attr);
|
||||
wxPySaveThread(doSave);
|
||||
@@ -635,11 +635,11 @@ public:
|
||||
|
||||
void PaintBackground(const wxRect& rectCell, wxGridCellAttr *attr) {
|
||||
bool doSave = wxPyRestoreThread();
|
||||
if (m_myInst.findCallback("PaintBackground"))
|
||||
m_myInst.callCallback(
|
||||
if (wxPyCBH_findCallback(m_myInst, "PaintBackground"))
|
||||
wxPyCBH_callCallback(m_myInst,
|
||||
Py_BuildValue("(OO)",
|
||||
wxPyConstructObject((void*)&rectCell, "wxRect"),
|
||||
wxPyConstructObject((void*)attr, "wxGridCellAttr")));
|
||||
wxPyConstructObject((void*)&rectCell, "wxRect", 0),
|
||||
wxPyConstructObject((void*)attr, "wxGridCellAttr", 0)));
|
||||
else
|
||||
wxGridCellEditor::PaintBackground(rectCell, attr);
|
||||
wxPySaveThread(doSave);
|
||||
@@ -717,9 +717,9 @@ public:
|
||||
wxString GetValue(int row, int col) {
|
||||
bool doSave = wxPyRestoreThread();
|
||||
wxString rval;
|
||||
if (m_myInst.findCallback("GetValue")) {
|
||||
if (wxPyCBH_findCallback(m_myInst, "GetValue")) {
|
||||
PyObject* ro;
|
||||
ro = m_myInst.callCallbackObj(Py_BuildValue("(ii)",row,col));
|
||||
ro = wxPyCBH_callCallbackObj(m_myInst, Py_BuildValue("(ii)",row,col));
|
||||
if (ro) {
|
||||
PyObject* str = PyObject_Str(ro);
|
||||
rval = PyString_AsString(str);
|
||||
@@ -733,8 +733,8 @@ public:
|
||||
|
||||
void SetValue(int row, int col, const wxString& val) {
|
||||
bool doSave = wxPyRestoreThread();
|
||||
if (m_myInst.findCallback("SetValue"))
|
||||
m_myInst.callCallback(Py_BuildValue("(iis)",row,col,val.c_str()));
|
||||
if (wxPyCBH_findCallback(m_myInst, "SetValue"))
|
||||
wxPyCBH_callCallback(m_myInst, Py_BuildValue("(iis)",row,col,val.c_str()));
|
||||
wxPySaveThread(doSave);
|
||||
}
|
||||
|
||||
@@ -744,10 +744,10 @@ public:
|
||||
long GetValueAsLong( int row, int col ) {
|
||||
long rval = 0;
|
||||
bool doSave = wxPyRestoreThread();
|
||||
if (m_myInst.findCallback("GetValue")) {
|
||||
if (wxPyCBH_findCallback(m_myInst, "GetValue")) {
|
||||
PyObject* ro;
|
||||
PyObject* num;
|
||||
ro = m_myInst.callCallbackObj(Py_BuildValue("(ii)", row, col));
|
||||
ro = wxPyCBH_callCallbackObj(m_myInst, Py_BuildValue("(ii)", row, col));
|
||||
if (ro && PyNumber_Check(ro)) {
|
||||
num = PyNumber_Int(ro);
|
||||
if (num) {
|
||||
@@ -764,10 +764,10 @@ public:
|
||||
double GetValueAsDouble( int row, int col ) {
|
||||
double rval = 0.0;
|
||||
bool doSave = wxPyRestoreThread();
|
||||
if (m_myInst.findCallback("GetValue")) {
|
||||
if (wxPyCBH_findCallback(m_myInst, "GetValue")) {
|
||||
PyObject* ro;
|
||||
PyObject* num;
|
||||
ro = m_myInst.callCallbackObj(Py_BuildValue("(ii)", row, col));
|
||||
ro = wxPyCBH_callCallbackObj(m_myInst, Py_BuildValue("(ii)", row, col));
|
||||
if (ro && PyNumber_Check(ro)) {
|
||||
num = PyNumber_Float(ro);
|
||||
if (num) {
|
||||
@@ -787,16 +787,16 @@ public:
|
||||
|
||||
void SetValueAsLong( int row, int col, long value ) {
|
||||
bool doSave = wxPyRestoreThread();
|
||||
if (m_myInst.findCallback("SetValue")) {
|
||||
m_myInst.callCallback(Py_BuildValue("(iii)", row, col, value));
|
||||
if (wxPyCBH_findCallback(m_myInst, "SetValue")) {
|
||||
wxPyCBH_callCallback(m_myInst, Py_BuildValue("(iii)", row, col, value));
|
||||
}
|
||||
wxPySaveThread(doSave);
|
||||
}
|
||||
|
||||
void SetValueAsDouble( int row, int col, double value ) {
|
||||
bool doSave = wxPyRestoreThread();
|
||||
if (m_myInst.findCallback("SetValue")) {
|
||||
m_myInst.callCallback(Py_BuildValue("(iid)", row, col, value));
|
||||
if (wxPyCBH_findCallback(m_myInst, "SetValue")) {
|
||||
wxPyCBH_callCallback(m_myInst, Py_BuildValue("(iid)", row, col, value));
|
||||
}
|
||||
wxPySaveThread(doSave);
|
||||
}
|
||||
|
||||
@@ -55,7 +55,7 @@ extern PyObject *SWIG_newvarlink(void);
|
||||
|
||||
#define SWIG_name "htmlc"
|
||||
|
||||
#include "helpers.h"
|
||||
#include "export.h"
|
||||
#include <wx/html/htmlwin.h>
|
||||
#include <wx/html/htmprint.h>
|
||||
#include <wx/image.h>
|
||||
@@ -113,12 +113,6 @@ static PyObject* t_output_helper(PyObject* target, PyObject* o) {
|
||||
|
||||
static char* wxStringErrorMsg = "string type is required for parameter";
|
||||
|
||||
// #ifdef __WXMSW__
|
||||
// wxString wxPyEmptyStr("");
|
||||
// wxPoint wxPyDefaultPosition(wxDefaultPosition);
|
||||
// wxSize wxPyDefaultSize(wxDefaultSize);
|
||||
// #endif
|
||||
|
||||
class wxPyHtmlTagHandler : public wxHtmlTagHandler {
|
||||
public:
|
||||
wxPyHtmlTagHandler() : wxHtmlTagHandler() {};
|
||||
@@ -228,9 +222,9 @@ IMP_PYCALLBACK__STRING(wxPyHtmlWindow, wxHtmlWindow, OnSetTitle);
|
||||
|
||||
void wxPyHtmlWindow::OnLinkClicked(const wxHtmlLinkInfo& link) {
|
||||
bool doSave = wxPyRestoreThread();
|
||||
if (m_myInst.findCallback("OnLinkClicked")) {
|
||||
PyObject* obj = wxPyConstructObject((void*)&link, "wxHtmlLinkInfo");
|
||||
m_myInst.callCallback(Py_BuildValue("(O)", obj));
|
||||
if (wxPyCBH_findCallback(m_myInst, "OnLinkClicked")) {
|
||||
PyObject* obj = wxPyConstructObject((void*)&link, "wxHtmlLinkInfo", 0);
|
||||
wxPyCBH_callCallback(m_myInst, Py_BuildValue("(O)", obj));
|
||||
Py_DECREF(obj);
|
||||
}
|
||||
else
|
||||
@@ -3954,8 +3948,8 @@ static PyObject *_wrap_new_wxHtmlWindow(PyObject *self, PyObject *args, PyObject
|
||||
wxPyHtmlWindow * _result;
|
||||
wxWindow * _arg0;
|
||||
int _arg1 = (int ) -1;
|
||||
wxPoint * _arg2 = (wxPoint *) &wxPyDefaultPosition;
|
||||
wxSize * _arg3 = (wxSize *) &wxPyDefaultSize;
|
||||
wxPoint * _arg2 = (wxPoint *) &wxDefaultPosition;
|
||||
wxSize * _arg3 = (wxSize *) &wxDefaultSize;
|
||||
int _arg4 = (int ) wxHW_SCROLLBAR_AUTO;
|
||||
char * _arg5 = (char *) "htmlWindow";
|
||||
PyObject * _argo0 = 0;
|
||||
|
||||
@@ -55,7 +55,7 @@ extern PyObject *SWIG_newvarlink(void);
|
||||
|
||||
#define SWIG_name "htmlhelpc"
|
||||
|
||||
#include "helpers.h"
|
||||
#include "export.h"
|
||||
#include <wx/html/htmlwin.h>
|
||||
#include <wx/html/helpctrl.h>
|
||||
#include <wx/image.h>
|
||||
|
||||
@@ -790,6 +790,135 @@ static PyObject *_wrap_wxDisplayDepth(PyObject *self, PyObject *args, PyObject *
|
||||
return _resultobj;
|
||||
}
|
||||
|
||||
static PyObject *_wrap_wxGetDisplayDepth(PyObject *self, PyObject *args, PyObject *kwargs) {
|
||||
PyObject * _resultobj;
|
||||
int _result;
|
||||
char *_kwnames[] = { NULL };
|
||||
|
||||
self = self;
|
||||
if(!PyArg_ParseTupleAndKeywords(args,kwargs,":wxGetDisplayDepth",_kwnames))
|
||||
return NULL;
|
||||
{
|
||||
wxPy_BEGIN_ALLOW_THREADS;
|
||||
_result = (int )wxGetDisplayDepth();
|
||||
|
||||
wxPy_END_ALLOW_THREADS;
|
||||
} _resultobj = Py_BuildValue("i",_result);
|
||||
return _resultobj;
|
||||
}
|
||||
|
||||
static PyObject *_wrap_wxDisplaySize(PyObject *self, PyObject *args, PyObject *kwargs) {
|
||||
PyObject * _resultobj;
|
||||
int * _arg0;
|
||||
int temp;
|
||||
int * _arg1;
|
||||
int temp0;
|
||||
char *_kwnames[] = { NULL };
|
||||
|
||||
self = self;
|
||||
{
|
||||
_arg0 = &temp;
|
||||
}
|
||||
{
|
||||
_arg1 = &temp0;
|
||||
}
|
||||
if(!PyArg_ParseTupleAndKeywords(args,kwargs,":wxDisplaySize",_kwnames))
|
||||
return NULL;
|
||||
{
|
||||
wxPy_BEGIN_ALLOW_THREADS;
|
||||
wxDisplaySize(_arg0,_arg1);
|
||||
|
||||
wxPy_END_ALLOW_THREADS;
|
||||
} Py_INCREF(Py_None);
|
||||
_resultobj = Py_None;
|
||||
{
|
||||
PyObject *o;
|
||||
o = PyInt_FromLong((long) (*_arg0));
|
||||
_resultobj = t_output_helper(_resultobj, o);
|
||||
}
|
||||
{
|
||||
PyObject *o;
|
||||
o = PyInt_FromLong((long) (*_arg1));
|
||||
_resultobj = t_output_helper(_resultobj, o);
|
||||
}
|
||||
return _resultobj;
|
||||
}
|
||||
|
||||
static PyObject *_wrap_wxGetDisplaySize(PyObject *self, PyObject *args, PyObject *kwargs) {
|
||||
PyObject * _resultobj;
|
||||
wxSize * _result;
|
||||
char *_kwnames[] = { NULL };
|
||||
char _ptemp[128];
|
||||
|
||||
self = self;
|
||||
if(!PyArg_ParseTupleAndKeywords(args,kwargs,":wxGetDisplaySize",_kwnames))
|
||||
return NULL;
|
||||
{
|
||||
wxPy_BEGIN_ALLOW_THREADS;
|
||||
_result = new wxSize (wxGetDisplaySize());
|
||||
|
||||
wxPy_END_ALLOW_THREADS;
|
||||
} SWIG_MakePtr(_ptemp, (void *) _result,"_wxSize_p");
|
||||
_resultobj = Py_BuildValue("s",_ptemp);
|
||||
return _resultobj;
|
||||
}
|
||||
|
||||
static PyObject *_wrap_wxDisplaySizeMM(PyObject *self, PyObject *args, PyObject *kwargs) {
|
||||
PyObject * _resultobj;
|
||||
int * _arg0;
|
||||
int temp;
|
||||
int * _arg1;
|
||||
int temp0;
|
||||
char *_kwnames[] = { NULL };
|
||||
|
||||
self = self;
|
||||
{
|
||||
_arg0 = &temp;
|
||||
}
|
||||
{
|
||||
_arg1 = &temp0;
|
||||
}
|
||||
if(!PyArg_ParseTupleAndKeywords(args,kwargs,":wxDisplaySizeMM",_kwnames))
|
||||
return NULL;
|
||||
{
|
||||
wxPy_BEGIN_ALLOW_THREADS;
|
||||
wxDisplaySizeMM(_arg0,_arg1);
|
||||
|
||||
wxPy_END_ALLOW_THREADS;
|
||||
} Py_INCREF(Py_None);
|
||||
_resultobj = Py_None;
|
||||
{
|
||||
PyObject *o;
|
||||
o = PyInt_FromLong((long) (*_arg0));
|
||||
_resultobj = t_output_helper(_resultobj, o);
|
||||
}
|
||||
{
|
||||
PyObject *o;
|
||||
o = PyInt_FromLong((long) (*_arg1));
|
||||
_resultobj = t_output_helper(_resultobj, o);
|
||||
}
|
||||
return _resultobj;
|
||||
}
|
||||
|
||||
static PyObject *_wrap_wxGetDisplaySizeMM(PyObject *self, PyObject *args, PyObject *kwargs) {
|
||||
PyObject * _resultobj;
|
||||
wxSize * _result;
|
||||
char *_kwnames[] = { NULL };
|
||||
char _ptemp[128];
|
||||
|
||||
self = self;
|
||||
if(!PyArg_ParseTupleAndKeywords(args,kwargs,":wxGetDisplaySizeMM",_kwnames))
|
||||
return NULL;
|
||||
{
|
||||
wxPy_BEGIN_ALLOW_THREADS;
|
||||
_result = new wxSize (wxGetDisplaySizeMM());
|
||||
|
||||
wxPy_END_ALLOW_THREADS;
|
||||
} SWIG_MakePtr(_ptemp, (void *) _result,"_wxSize_p");
|
||||
_resultobj = Py_BuildValue("s",_ptemp);
|
||||
return _resultobj;
|
||||
}
|
||||
|
||||
static PyObject *_wrap_wxSetCursor(PyObject *self, PyObject *args, PyObject *kwargs) {
|
||||
PyObject * _resultobj;
|
||||
wxCursor * _arg0;
|
||||
@@ -6452,6 +6581,11 @@ static PyMethodDef misc2cMethods[] = {
|
||||
{ "wxFindWindowByName", (PyCFunction) _wrap_wxFindWindowByName, METH_VARARGS | METH_KEYWORDS },
|
||||
{ "wxFindWindowByLabel", (PyCFunction) _wrap_wxFindWindowByLabel, METH_VARARGS | METH_KEYWORDS },
|
||||
{ "wxSetCursor", (PyCFunction) _wrap_wxSetCursor, METH_VARARGS | METH_KEYWORDS },
|
||||
{ "wxGetDisplaySizeMM", (PyCFunction) _wrap_wxGetDisplaySizeMM, METH_VARARGS | METH_KEYWORDS },
|
||||
{ "wxDisplaySizeMM", (PyCFunction) _wrap_wxDisplaySizeMM, METH_VARARGS | METH_KEYWORDS },
|
||||
{ "wxGetDisplaySize", (PyCFunction) _wrap_wxGetDisplaySize, METH_VARARGS | METH_KEYWORDS },
|
||||
{ "wxDisplaySize", (PyCFunction) _wrap_wxDisplaySize, METH_VARARGS | METH_KEYWORDS },
|
||||
{ "wxGetDisplayDepth", (PyCFunction) _wrap_wxGetDisplayDepth, METH_VARARGS | METH_KEYWORDS },
|
||||
{ "wxDisplayDepth", (PyCFunction) _wrap_wxDisplayDepth, METH_VARARGS | METH_KEYWORDS },
|
||||
{ "wxColourDisplay", (PyCFunction) _wrap_wxColourDisplay, METH_VARARGS | METH_KEYWORDS },
|
||||
{ "wxGetNumberFromUser", (PyCFunction) _wrap_wxGetNumberFromUser, METH_VARARGS | METH_KEYWORDS },
|
||||
|
||||
@@ -632,6 +632,22 @@ wxColourDisplay = misc2c.wxColourDisplay
|
||||
|
||||
wxDisplayDepth = misc2c.wxDisplayDepth
|
||||
|
||||
wxGetDisplayDepth = misc2c.wxGetDisplayDepth
|
||||
|
||||
wxDisplaySize = misc2c.wxDisplaySize
|
||||
|
||||
def wxGetDisplaySize(*_args, **_kwargs):
|
||||
val = apply(misc2c.wxGetDisplaySize,_args,_kwargs)
|
||||
if val: val = wxSizePtr(val); val.thisown = 1
|
||||
return val
|
||||
|
||||
wxDisplaySizeMM = misc2c.wxDisplaySizeMM
|
||||
|
||||
def wxGetDisplaySizeMM(*_args, **_kwargs):
|
||||
val = apply(misc2c.wxGetDisplaySizeMM,_args,_kwargs)
|
||||
if val: val = wxSizePtr(val); val.thisown = 1
|
||||
return val
|
||||
|
||||
wxSetCursor = misc2c.wxSetCursor
|
||||
|
||||
def wxFindWindowByLabel(*_args, **_kwargs):
|
||||
|
||||
@@ -55,7 +55,7 @@ extern PyObject *SWIG_newvarlink(void);
|
||||
|
||||
#define SWIG_name "utilsc"
|
||||
|
||||
#include "helpers.h"
|
||||
#include "export.h"
|
||||
#include <wx/config.h>
|
||||
#include <wx/fileconf.h>
|
||||
#include <wx/datetime.h>
|
||||
@@ -108,6 +108,8 @@ static PyObject* t_output_helper(PyObject* target, PyObject* o) {
|
||||
|
||||
static char* wxStringErrorMsg = "string type is required for parameter";
|
||||
|
||||
static wxString wxPyEmptyStr("");
|
||||
|
||||
static PyObject* __EnumerationHelper(bool flag, wxString& str, long index) {
|
||||
PyObject* ret = PyTuple_New(3);
|
||||
if (ret) {
|
||||
|
||||
@@ -623,6 +623,8 @@ PyObject *ptrfree(PyObject *_PTRVALUE) {
|
||||
__wxCleanup();
|
||||
}
|
||||
|
||||
|
||||
|
||||
extern "C" SWIGEXPORT(void) initwindowsc();
|
||||
extern "C" SWIGEXPORT(void) initwindows2c();
|
||||
extern "C" SWIGEXPORT(void) initeventsc();
|
||||
@@ -640,17 +642,49 @@ extern "C" SWIGEXPORT(void) initimagec();
|
||||
extern "C" SWIGEXPORT(void) initprintfwc();
|
||||
extern "C" SWIGEXPORT(void) initsizersc();
|
||||
extern "C" SWIGEXPORT(void) initclip_dndc();
|
||||
extern "C" SWIGEXPORT(void) initgridc();
|
||||
extern "C" SWIGEXPORT(void) initutilsc();
|
||||
extern "C" SWIGEXPORT(void) inithtmlc();
|
||||
extern "C" SWIGEXPORT(void) inithtmlhelpc();
|
||||
extern "C" SWIGEXPORT(void) initcalendarc();
|
||||
extern "C" SWIGEXPORT(void) initstreamsc();
|
||||
extern "C" SWIGEXPORT(void) initfilesysc();
|
||||
|
||||
extern "C" SWIGEXPORT(void) initglcanvasc();
|
||||
extern "C" SWIGEXPORT(void) initoglc();
|
||||
extern "C" SWIGEXPORT(void) initstc_c();
|
||||
|
||||
|
||||
// Export a C API in a struct. Other modules will be able to load this from
|
||||
// the wxc module and will then have safe access to these functions, even if
|
||||
// in another shared library.
|
||||
static wxPyCoreAPI API = {
|
||||
SWIG_MakePtr,
|
||||
SWIG_GetPtr,
|
||||
SWIG_GetPtrObj,
|
||||
SWIG_RegisterMapping,
|
||||
SWIG_addvarlink,
|
||||
SWIG_newvarlink,
|
||||
|
||||
wxPySaveThread,
|
||||
wxPyRestoreThread,
|
||||
wxPyConstructObject,
|
||||
wxPy_ConvertList,
|
||||
|
||||
byte_LIST_helper,
|
||||
int_LIST_helper,
|
||||
long_LIST_helper,
|
||||
string_LIST_helper,
|
||||
wxPoint_LIST_helper,
|
||||
wxBitmap_LIST_helper,
|
||||
wxString_LIST_helper,
|
||||
wxAcceleratorEntry_LIST_helper,
|
||||
|
||||
wxSize_helper,
|
||||
wxPoint_helper,
|
||||
wxRealPoint_helper,
|
||||
wxRect_helper,
|
||||
wxColour_helper,
|
||||
|
||||
wxPyCBH_setSelf,
|
||||
wxPyCBH_findCallback,
|
||||
wxPyCBH_callCallback,
|
||||
wxPyCBH_callCallbackObj,
|
||||
wxPyCBH_delete,
|
||||
};
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
@@ -2981,6 +3015,12 @@ SWIGEXPORT(void) initwxc() {
|
||||
SWIG_addvarlink(SWIG_globals,"wxPyDefaultPosition",_wrap_wxPyDefaultPosition_get, _wrap_wxPyDefaultPosition_set);
|
||||
SWIG_addvarlink(SWIG_globals,"wxPyDefaultSize",_wrap_wxPyDefaultSize_get, _wrap_wxPyDefaultSize_set);
|
||||
|
||||
// Make our API structure a CObject so other modules can import it
|
||||
// from this module.
|
||||
PyObject* v = PyCObject_FromVoidPtr(&API, NULL);
|
||||
PyDict_SetItemString(d,"wxPyCoreAPI", v);
|
||||
Py_XDECREF(v);
|
||||
|
||||
|
||||
__wxPreStart(); // initialize the GUI toolkit, if needed.
|
||||
|
||||
@@ -3008,15 +3048,6 @@ SWIGEXPORT(void) initwxc() {
|
||||
initstreamsc();
|
||||
initfilesysc();
|
||||
|
||||
initgridc();
|
||||
initutilsc();
|
||||
inithtmlc();
|
||||
inithtmlhelpc();
|
||||
initcalendarc();
|
||||
|
||||
initglcanvasc();
|
||||
initoglc();
|
||||
initstc_c();
|
||||
{
|
||||
int i;
|
||||
for (i = 0; _swig_mapping[i].n1; i++)
|
||||
|
||||
Reference in New Issue
Block a user