Made the wxInputStream typemap useable outside the core wxc module
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@16222 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -326,8 +326,15 @@ PyObject* __wxSetDictionary(PyObject* /* self */, PyObject* args)
|
||||
#define wxPlatform "__WXMAC__"
|
||||
#endif
|
||||
|
||||
#ifdef __WXDEBUG__
|
||||
int wxdebug = 1;
|
||||
#else
|
||||
int wxdebug = 0;
|
||||
#endif
|
||||
|
||||
PyDict_SetItemString(wxPython_dict, "wxPlatform", PyString_FromString(wxPlatform));
|
||||
PyDict_SetItemString(wxPython_dict, "wxUSE_UNICODE", PyInt_FromLong(wxUSE_UNICODE));
|
||||
PyDict_SetItemString(wxPython_dict, "__WXDEBUG__", PyInt_FromLong(wxdebug));
|
||||
|
||||
Py_INCREF(Py_None);
|
||||
return Py_None;
|
||||
@@ -826,6 +833,11 @@ wxPyCBInputStream* wxPyCBInputStream::create(PyObject *py, bool block) {
|
||||
return new wxPyCBInputStream(read, seek, tell, block);
|
||||
}
|
||||
|
||||
|
||||
wxPyCBInputStream* wxPyCBInputStream_create(PyObject *py, bool block) {
|
||||
return wxPyCBInputStream::create(py, block);
|
||||
}
|
||||
|
||||
PyObject* wxPyCBInputStream::getMethod(PyObject* py, char* name) {
|
||||
if (!PyObject_HasAttrString(py, name))
|
||||
return NULL;
|
||||
|
@@ -210,10 +210,12 @@ public:
|
||||
class wxPyClientData;
|
||||
class wxPyUserData;
|
||||
class wxPyOORClientData;
|
||||
class wxPyCBInputStream;
|
||||
|
||||
void wxPyClientData_dtor(wxPyClientData* self);
|
||||
void wxPyUserData_dtor(wxPyUserData* self);
|
||||
void wxPyOORClientData_dtor(wxPyOORClientData* self);
|
||||
wxPyCBInputStream* wxPyCBInputStream_create(PyObject *py, bool block);
|
||||
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
@@ -285,6 +287,9 @@ struct wxPyCoreAPI {
|
||||
void (*p_wxPyClientData_dtor)(wxPyClientData*);
|
||||
void (*p_wxPyUserData_dtor)(wxPyUserData*);
|
||||
void (*p_wxPyOORClientData_dtor)(wxPyOORClientData*);
|
||||
|
||||
wxPyCBInputStream* (*p_wxPyCBInputStream_create)(PyObject *py, bool block);
|
||||
|
||||
};
|
||||
|
||||
#ifdef wxPyUSE_EXPORT
|
||||
|
@@ -39,7 +39,7 @@
|
||||
$target = temp->m_wxis;
|
||||
created = FALSE;
|
||||
} else {
|
||||
$target = wxPyCBInputStream::create($source, FALSE);
|
||||
$target = wxPyCBInputStream_create($source, FALSE);
|
||||
if ($target == NULL) {
|
||||
PyErr_SetString(PyExc_TypeError,"Expected _wxInputStream_p or Python file-like object.");
|
||||
return NULL;
|
||||
|
@@ -207,7 +207,9 @@ static wxPyCoreAPI API = {
|
||||
|
||||
wxPyClientData_dtor,
|
||||
wxPyUserData_dtor,
|
||||
wxPyOORClientData_dtor
|
||||
wxPyOORClientData_dtor,
|
||||
|
||||
wxPyCBInputStream_create
|
||||
};
|
||||
|
||||
|
||||
|
@@ -90,6 +90,9 @@ static void wxPyCoreAPI_IMPORT() {
|
||||
#define wxPyUserData_dtor(a) (wxPyCoreAPIPtr->p_wxPyUserData_dtor(a))
|
||||
#define wxPyOORClientData_dtor(a) (wxPyCoreAPIPtr->p_wxPyOORClientData_dtor(a))
|
||||
|
||||
#define wxPyCBInputStream_create(a, b) (wxPyCoreAPIPtr->p_wxPyCBInputStream_create(a, b))
|
||||
|
||||
|
||||
// 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())
|
||||
|
Reference in New Issue
Block a user