%typemap(python, out) wxString {
#if wxUSE_UNICODE
- $target = PyUnicode_FromUnicode($source->c_str(), $source->Len());
+ $target = PyUnicode_FromWideChar($source->c_str(), $source->Len());
#else
$target = PyString_FromStringAndSize($source->c_str(), $source->Len());
#endif
%typemap(python, out) wxString* {
#if wxUSE_UNICODE
- $target = PyUnicode_FromUnicode($source->c_str(), $source->Len());
+ $target = PyUnicode_FromWideChar($source->c_str(), $source->Len());
#else
$target = PyString_FromStringAndSize($source->c_str(), $source->Len());
#endif
return NULL;
}
+%typemap(python,in) wxPoint2DDouble& (wxPoint2DDouble temp) {
+ $target = &temp;
+ if (! wxPoint2DDouble_helper($source, &$target))
+ return NULL;
+}
+
//---------------------------------------------------------------------------
// Typemap to convert strings to wxColour. Two string formats are accepted,
// either a colour name, or a hex colour spec like "#RRGGBB"
PyObject* item = PySequence_GetItem($source, i);
#if wxUSE_UNICODE
PyObject* str = PyObject_Unicode(item);
- $target->Add(PyUnicode_AsUnicode(str));
#else
PyObject* str = PyObject_Str(item);
- $target->Add(PyString_AsString(str));
#endif
+ $target->Add(Py2wxString(str));
Py_DECREF(item);
Py_DECREF(str);
}
}
+// Typemaps to convert an array of ints to a list
+%typemap(python, out) wxArrayInt& {
+ $target = PyList_New(0);
+ size_t idx;
+ for (idx = 0; idx < $source->GetCount(); idx += 1) {
+ PyObject* val = PyInt_FromLong($source->Item(idx));
+ PyList_Append($target, val);
+ Py_DECREF(val);
+ }
+}
+
+%typemap(python, out) wxArrayInt {
+ $target = PyList_New(0);
+ size_t idx;
+ for (idx = 0; idx < $source->GetCount(); idx += 1) {
+ PyObject* val = PyInt_FromLong($source->Item(idx));
+ PyList_Append($target, val);
+ Py_DECREF(val);
+ }
+ delete $source;
+}
+
+
//---------------------------------------------------------------------------
// Map T_OUTPUTs for floats to return ints.
%typemap(python,ignore) byte *OUTPUT = byte *T_OUTPUT;
%typemap(python,argout) byte *OUTPUT = byte *T_OUTPUT;
+
+%typemap(python,ignore) wxCoord *OUTPUT = int *OUTPUT;
+%typemap(python,argout) wxCoord *OUTPUT = int *OUTPUT;
+
+
//---------------------------------------------------------------------------
// Typemaps to convert return values that are base class pointers
// to the real derived type, if possible. See wxPyMake_wxObject in
%typemap(python, out) wxMenu* { $target = wxPyMake_wxObject($source); }
%typemap(python, out) wxValidator* { $target = wxPyMake_wxObject($source); }
+%typemap(python, out) wxApp* { $target = wxPyMake_wxObject($source); }
+%typemap(python, out) wxPyApp* { $target = wxPyMake_wxObject($source); }
%typemap(python, out) wxDC* { $target = wxPyMake_wxObject($source); }
%typemap(python, out) wxFSFile* { $target = wxPyMake_wxObject($source); }
%typemap(python, out) wxFileSystem* { $target = wxPyMake_wxObject($source); }
%typemap(python, out) wxToolTip* { $target = wxPyMake_wxObject($source); }
+%typemap(python, out) wxBitmapButton* { $target = wxPyMake_wxObject($source); }
%typemap(python, out) wxButton* { $target = wxPyMake_wxObject($source); }
%typemap(python, out) wxControl* { $target = wxPyMake_wxObject($source); }
%typemap(python, out) wxFrame* { $target = wxPyMake_wxObject($source); }
%typemap(python, out) wxGrid* { $target = wxPyMake_wxObject($source); }
+%typemap(python, out) wxListCtrl* { $target = wxPyMake_wxObject($source); }
%typemap(python, out) wxMDIChildFrame* { $target = wxPyMake_wxObject($source); }
%typemap(python, out) wxMDIClientWindow* { $target = wxPyMake_wxObject($source); }
%typemap(python, out) wxMenuBar* { $target = wxPyMake_wxObject($source); }
%typemap(python, out) wxTextCtrl* { $target = wxPyMake_wxObject($source); }
%typemap(python, out) wxToolBar* { $target = wxPyMake_wxObject($source); }
%typemap(python, out) wxToolBarBase* { $target = wxPyMake_wxObject($source); }
+%typemap(python, out) wxTreeCtrl* { $target = wxPyMake_wxObject($source); }
%typemap(python, out) wxWindow* { $target = wxPyMake_wxObject($source); }
%typemap(python, out) wxHtmlWindow* { $target = wxPyMake_wxObject($source); }
+%typemap(python, out) wxPyHtmlWindow* { $target = wxPyMake_wxObject($source); }
+%typemap(python, out) wxWizardPage* { $target = wxPyMake_wxObject($source); }
%typemap(python, out) wxSizer* { $target = wxPyMake_wxSizer($source); }