From: Robin Dunn Date: Sat, 20 Jul 2002 00:10:46 +0000 (+0000) Subject: Made the wxInputStream typemap useable outside the core wxc module X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/249a57f4438ef017764e7b317fce1c9847ed45dc 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 --- diff --git a/wxPython/src/helpers.cpp b/wxPython/src/helpers.cpp index 6ccc430366..dee8d45844 100644 --- a/wxPython/src/helpers.cpp +++ b/wxPython/src/helpers.cpp @@ -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; diff --git a/wxPython/src/helpers.h b/wxPython/src/helpers.h index 3ad0d236a7..acc450dce6 100644 --- a/wxPython/src/helpers.h +++ b/wxPython/src/helpers.h @@ -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 diff --git a/wxPython/src/streams.i b/wxPython/src/streams.i index ee087b4f96..9e4feb1537 100644 --- a/wxPython/src/streams.i +++ b/wxPython/src/streams.i @@ -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; diff --git a/wxPython/src/wx.i b/wxPython/src/wx.i index bca4da7820..3925c11c67 100644 --- a/wxPython/src/wx.i +++ b/wxPython/src/wx.i @@ -207,7 +207,9 @@ static wxPyCoreAPI API = { wxPyClientData_dtor, wxPyUserData_dtor, - wxPyOORClientData_dtor + wxPyOORClientData_dtor, + + wxPyCBInputStream_create }; diff --git a/wxPython/src/wxPython.h b/wxPython/src/wxPython.h index 934894b2a7..67fb55da52 100644 --- a/wxPython/src/wxPython.h +++ b/wxPython/src/wxPython.h @@ -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())