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:
Robin Dunn
2002-07-20 00:10:46 +00:00
parent 32a85500ad
commit 249a57f443
5 changed files with 24 additions and 2 deletions

View File

@@ -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;

View File

@@ -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

View File

@@ -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;

View File

@@ -207,7 +207,9 @@ static wxPyCoreAPI API = {
wxPyClientData_dtor,
wxPyUserData_dtor,
wxPyOORClientData_dtor
wxPyOORClientData_dtor,
wxPyCBInputStream_create
};

View File

@@ -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())