X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a72f4631fe5ab7ebeefdacf8ec9c826ea962133f..3a9becbd5439254a77e7dbc0278d80117a397264:/wxPython/src/my_typemaps.i diff --git a/wxPython/src/my_typemaps.i b/wxPython/src/my_typemaps.i index 33f6d98e20..c22b3ae7ef 100644 --- a/wxPython/src/my_typemaps.i +++ b/wxPython/src/my_typemaps.i @@ -124,6 +124,11 @@ MAKE_INT_ARRAY_TYPEMAPS(styles, styles_field) +%typemap(out) wxCharBuffer { + $result = PyString_FromString((char*)$1.data()); +} + + //--------------------------------------------------------------------------- // Typemaps to convert Python sequence objects (tuples, etc.) to // wxSize, wxPoint, wxRealPoint, and wxRect. @@ -201,15 +206,11 @@ MAKE_INT_ARRAY_TYPEMAPS(styles, styles_field) int i, len=PySequence_Length($input); for (i=0; iAdd(Py2wxString(str)); + $1->Add(*s); + delete s; Py_DECREF(item); - Py_DECREF(str); } } @@ -283,6 +284,24 @@ MAKE_INT_ARRAY_TYPEMAPS(styles, styles_field) } +//--------------------------------------------------------------------------- +// wxFileOffset, can be a 32-bit or a 64-bit integer + +%typemap(in) wxFileOffset { + if (sizeof(wxFileOffset) > sizeof(long)) + $1 = PyLong_AsLongLong($input); + else + $1 = PyInt_AsLong($input); +} + +%typemap(out) wxFileOffset { + if (sizeof(wxFileOffset) > sizeof(long)) + $result = PyLong_FromLongLong($1); + else + $result = PyInt_FromLong($1); +} + + //--------------------------------------------------------------------------- // Typemap for when GDI objects are returned by reference. This will cause a // copy to be made instead of returning a reference to the same instance. The @@ -316,6 +335,7 @@ MAKE_INT_ARRAY_TYPEMAPS(styles, styles_field) %typemap(out) wxFSFile* { $result = wxPyMake_wxObject($1, $owner); } %typemap(out) wxFileSystem* { $result = wxPyMake_wxObject($1, $owner); } %typemap(out) wxImageList* { $result = wxPyMake_wxObject($1, $owner); } +%typemap(out) wxImage* { $result = wxPyMake_wxObject($1, $owner); } %typemap(out) wxListItem* { $result = wxPyMake_wxObject($1, $owner); } %typemap(out) wxMenuItem* { $result = wxPyMake_wxObject($1, $owner); } %typemap(out) wxMouseEvent* { $result = wxPyMake_wxObject($1, $owner); } @@ -350,7 +370,7 @@ MAKE_INT_ARRAY_TYPEMAPS(styles, styles_field) %typemap(out) wxDialog* { $result = wxPyMake_wxObject($1, $owner); } %typemap(out) wxScrolledWindow* { $result = wxPyMake_wxObject($1, $owner); } -%typemap(out) wxSizer* { $result = wxPyMake_wxSizer($1, $owner); } +%typemap(out) wxSizer* { $result = wxPyMake_wxObject($1, $owner); } //---------------------------------------------------------------------------