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:
Robin Dunn
2000-12-22 00:06:04 +00:00
parent 341366c67a
commit 1e7ecb7be0
41 changed files with 1220 additions and 918 deletions
+1 -1
View File
@@ -1 +1 @@
ver = '2.3b1'
ver = '2.3b2'
+1 -1
View File
@@ -14,7 +14,7 @@
%{
#include "helpers.h"
#include "export.h"
#include <wx/calctrl.h>
%}
+66
View File
@@ -0,0 +1,66 @@
////////////////////////////////////////////////////////////////////////////
// Name: export.h
// Purpose: To be used from modules that are not part of the core
// wxPython extension in order to get access to some helper
// functions that live in wxc.
//
// Author: Robin Dunn
//
// Created: 14-Dec-2000
// RCS-ID: $Id$
// Copyright: (c) 2000 by Total Control Software
// Licence: wxWindows license
/////////////////////////////////////////////////////////////////////////////
#ifndef __wxp_export__
#define __wxp_export__
//----------------------------------------------------------------------
#define wxPyUSE_EXPORT
#include "helpers.h"
#define wxPyCoreAPI_IMPORT() \
wxPyCoreAPIPtr = (wxPyCoreAPI*)PyCObject_Import("wxPython.wxc", "wxPyCoreAPI")
#define SWIG_MakePtr(a, b, c) (wxPyCoreAPIPtr->p_SWIG_MakePtr(a, b, c))
#define SWIG_GetPtr(a, b, c) (wxPyCoreAPIPtr->p_SWIG_GetPtr(a, b, c))
#define SWIG_GetPtrObj(a, b, c) (wxPyCoreAPIPtr->p_SWIG_GetPtrObj(a, b, c))
#define SWIG_RegisterMapping(a, b, c) (wxPyCoreAPIPtr->p_SWIG_RegisterMapping(a, b, c))
#define SWIG_addvarlink(a, b, c, d) (wxPyCoreAPIPtr->p_SWIG_addvarlink(a, b, c, d))
#define wxPyRestoreThread() (wxPyCoreAPIPtr->p_wxPyRestoreThread())
#define wxPySaveThread(a) (wxPyCoreAPIPtr->p_wxPySaveThread(a))
#define wxPyConstructObject(a,b,c) (wxPyCoreAPIPtr->p_wxPyConstructObject(a,b,c))
#define wxPy_ConvertList(a,b) (wxPyCoreAPIPtr->p_wxPy_ConvertList(a,b))
#define byte_LIST_helper(a) (wxPyCoreAPIPtr->p_byte_LIST_helper(a))
#define int_LIST_helper(a) (wxPyCoreAPIPtr->p_int_LIST_helper(a))
#define long_LIST_helper(a) (wxPyCoreAPIPtr->p_long_LIST_helper(a))
#define string_LIST_helper(a) (wxPyCoreAPIPtr->p_string_LIST_helper(a))
#define wxPoint_LIST_helper(a) (wxPyCoreAPIPtr->p_wxPoint_LIST_helper(a))
#define wxBitmap_LIST_helper(a) (wxPyCoreAPIPtr->p_wxBitmap_LIST_helper(a))
#define wxString_LIST_helper(a) (wxPyCoreAPIPtr->p_wxString_LIST_helper(a))
#define wxAcceleratorEntry_LIST_helper(a) (wxPyCoreAPIPtr->p_wxAcceleratorEntry_LIST_helper(a))
#define wxSize_helper(a,b) (wxPyCoreAPIPtr->p_wxSize_helper(a,b))
#define wxPoint_helper(a,b) (wxPyCoreAPIPtr->p_wxPoint_helper(a,b))
#define wxRealPoint_helper(a,b) (wxPyCoreAPIPtr->p_wxRealPoint_helper(a,b))
#define wxRect_helper(a,b) (wxPyCoreAPIPtr->p_wxRect_helper(a,b))
#define wxColour_helper(a,b) (wxPyCoreAPIPtr->p_wxColour_helper(a,b))
#define wxPyCBH_setSelf(a, b, c, d) (wxPyCoreAPIPtr->p_wxPyCBH_setSelf(a,b,c,d))
#define wxPyCBH_findCallback(a, b) (wxPyCoreAPIPtr->p_wxPyCBH_findCallback(a, b))
#define wxPyCBH_callCallback(a, b) (wxPyCoreAPIPtr->p_wxPyCBH_callCallback(a, b))
#define wxPyCBH_callCallbackObj(a, b) (wxPyCoreAPIPtr->p_wxPyCBH_callCallbackObj(a, b))
#define wxPyCBH_delete(a) (wxPyCoreAPIPtr->p_wxPyCBH_delete(a))
// This one is special. It's the first function called in SWIG generated
// modules, so we'll use it to also import the API.
#define SWIG_newvarlink() (wxPyCoreAPI_IMPORT(), wxPyCoreAPIPtr->p_SWIG_newvarlink())
//----------------------------------------------------------------------
#endif
+91 -91
View File
@@ -15,7 +15,7 @@
#ifndef OLD_GRID
%{
#include "helpers.h"
#include "export.h"
#include <wx/grid.h>
%}
@@ -47,10 +47,10 @@
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; \
@@ -71,9 +71,9 @@
#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 \
@@ -89,9 +89,9 @@
#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 \
@@ -108,8 +108,8 @@
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; \
}
@@ -120,8 +120,8 @@
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; \
}
@@ -132,9 +132,9 @@
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); \
@@ -150,8 +150,8 @@
#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); \
}
@@ -160,9 +160,9 @@
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); \
@@ -183,8 +183,8 @@
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); \
@@ -201,8 +201,8 @@
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); \
@@ -218,8 +218,8 @@
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); \
@@ -235,9 +235,9 @@
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); \
@@ -257,8 +257,8 @@
#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); \
@@ -274,8 +274,8 @@
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); \
@@ -291,8 +291,8 @@
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); \
@@ -308,9 +308,9 @@
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); \
@@ -330,8 +330,8 @@
#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); \
@@ -347,8 +347,8 @@
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); \
@@ -363,8 +363,8 @@
#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); \
@@ -379,8 +379,8 @@
#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); \
@@ -395,8 +395,8 @@
#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); \
@@ -410,8 +410,8 @@
#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); \
@@ -484,13 +484,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);
@@ -500,14 +500,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"))
@@ -523,10 +523,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;
@@ -638,12 +638,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);
}
@@ -651,10 +651,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);
}
@@ -663,10 +663,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;
@@ -676,10 +676,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;
@@ -693,10 +693,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);
@@ -708,11 +708,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);
@@ -989,9 +989,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);
@@ -1005,8 +1005,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);
}
@@ -1016,10 +1016,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) {
@@ -1036,10 +1036,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) {
@@ -1059,16 +1059,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);
}
+27 -23
View File
@@ -257,8 +257,8 @@ PyObject* __wxSetDictionary(PyObject* /* self */, PyObject* args)
//---------------------------------------------------------------------------
PyObject* wxPyConstructObject(void* ptr,
const char* className,
int setThisOwn) {
const char* className,
int setThisOwn) {
PyObject* obj;
PyObject* arg;
@@ -301,8 +301,6 @@ PyObject* wxPyConstructObject(void* ptr,
//---------------------------------------------------------------------------
static unsigned int _wxPyNestCount = 0;
static PyThreadState* myPyThreadState_Get() {
PyThreadState* current;
current = PyThreadState_Swap(NULL);
@@ -320,7 +318,6 @@ HELPEREXPORT bool wxPyRestoreThread() {
// already have the lock. (I hope!)
//
#ifdef WXP_WITH_THREAD
_wxPyNestCount += 1;
if (wxPyEventThreadState != myPyThreadState_Get()) {
PyEval_RestoreThread(wxPyEventThreadState);
return TRUE;
@@ -336,7 +333,6 @@ HELPEREXPORT void wxPySaveThread(bool doSave) {
if (doSave) {
wxPyEventThreadState = PyEval_SaveThread();
}
_wxPyNestCount -= 1;
#endif
}
@@ -398,23 +394,6 @@ void wxPyCallback::EventThunker(wxEvent& event) {
//----------------------------------------------------------------------
wxPyCallbackHelper::wxPyCallbackHelper() {
m_class = NULL;
m_self = NULL;
m_lastFound = NULL;
m_incRef = FALSE;
}
wxPyCallbackHelper::~wxPyCallbackHelper() {
bool doSave = wxPyRestoreThread();
if (m_incRef) {
Py_XDECREF(m_self);
Py_XDECREF(m_class);
}
wxPySaveThread(doSave);
}
wxPyCallbackHelper::wxPyCallbackHelper(const wxPyCallbackHelper& other) {
m_lastFound = NULL;
m_self = other.m_self;
@@ -495,6 +474,31 @@ PyObject* wxPyCallbackHelper::callCallbackObj(PyObject* argTuple) const {
}
void wxPyCBH_setSelf(wxPyCallbackHelper& cbh, PyObject* self, PyObject* klass, int incref) {
cbh.setSelf(self, klass, incref);
}
bool wxPyCBH_findCallback(const wxPyCallbackHelper& cbh, const char* name) {
return cbh.findCallback(name);
}
int wxPyCBH_callCallback(const wxPyCallbackHelper& cbh, PyObject* argTuple) {
return cbh.callCallback(argTuple);
}
PyObject* wxPyCBH_callCallbackObj(const wxPyCallbackHelper& cbh, PyObject* argTuple) {
return cbh.callCallbackObj(argTuple);
}
void wxPyCBH_delete(wxPyCallbackHelper* cbh) {
bool doSave = wxPyRestoreThread();
if (cbh->m_incRef) {
Py_XDECREF(cbh->m_self);
Py_XDECREF(cbh->m_class);
}
wxPySaveThread(doSave);
}
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
+249 -177
View File
File diff suppressed because it is too large Load Diff
+6 -16
View File
@@ -14,7 +14,7 @@
%module html
%{
#include "helpers.h"
#include "export.h"
#include <wx/html/htmlwin.h>
#include <wx/html/htmprint.h>
#include <wx/image.h>
@@ -40,16 +40,6 @@
%extern utils.i
//---------------------------------------------------------------------------
%{
// #ifdef __WXMSW__
// wxString wxPyEmptyStr("");
// wxPoint wxPyDefaultPosition(wxDefaultPosition);
// wxSize wxPyDefaultSize(wxDefaultSize);
// #endif
%}
%pragma(python) code = "import wx"
@@ -433,9 +423,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
@@ -452,8 +442,8 @@ void wxPyHtmlWindow::base_OnLinkClicked(const wxHtmlLinkInfo& link) {
%name(wxHtmlWindow) class wxPyHtmlWindow : public wxScrolledWindow {
public:
wxPyHtmlWindow(wxWindow *parent, int id = -1,
wxPoint& pos = wxPyDefaultPosition,
wxSize& size = wxPyDefaultSize,
wxPoint& pos = wxDefaultPosition,
wxSize& size = wxDefaultSize,
int flags=wxHW_SCROLLBAR_AUTO,
char* name = "htmlWindow");
+1 -1
View File
@@ -14,7 +14,7 @@
%module htmlhelp
%{
#include "helpers.h"
#include "export.h"
#include <wx/html/htmlwin.h>
#include <wx/html/helpctrl.h>
#include <wx/image.h>
+8
View File
@@ -99,7 +99,15 @@ long wxGetNumberFromUser(const wxString& message,
// GDI Functions
bool wxColourDisplay();
int wxDisplayDepth();
int wxGetDisplayDepth();
void wxDisplaySize(int* OUTPUT, int* OUTPUT);
wxSize wxGetDisplaySize();
void wxDisplaySizeMM(int* OUTPUT, int* OUTPUT);
wxSize wxGetDisplaySizeMM();
void wxSetCursor(wxCursor& cursor);
//----------------------------------------------------------------------
+1 -1
View File
@@ -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) {
+91 -91
View File
@@ -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);
}
+6 -12
View File
@@ -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;
+1 -1
View File
@@ -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>
+134
View File
@@ -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 },
+16
View File
@@ -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):
+3 -1
View File
@@ -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) {
+48 -17
View File
@@ -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++)
+3 -1
View File
@@ -14,7 +14,7 @@
%module utils
%{
#include "helpers.h"
#include "export.h"
#include <wx/config.h>
#include <wx/fileconf.h>
#include <wx/datetime.h>
@@ -34,6 +34,8 @@
//---------------------------------------------------------------------------
%{
static wxString wxPyEmptyStr("");
static PyObject* __EnumerationHelper(bool flag, wxString& str, long index) {
PyObject* ret = PyTuple_New(3);
if (ret) {
+48 -17
View File
@@ -124,6 +124,8 @@ public:
//----------------------------------------------------------------------
%{
extern "C" SWIGEXPORT(void) initwindowsc();
extern "C" SWIGEXPORT(void) initwindows2c();
extern "C" SWIGEXPORT(void) initeventsc();
@@ -141,22 +143,60 @@ 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,
};
%}
%init %{
// 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.
@@ -184,15 +224,6 @@ extern "C" SWIGEXPORT(void) initstc_c();
initstreamsc();
initfilesysc();
initgridc();
initutilsc();
inithtmlc();
inithtmlhelpc();
initcalendarc();
initglcanvasc();
initoglc();
initstc_c();
%}
//----------------------------------------------------------------------