diff options
author | Marcelo Lira <marcelo.lira@openbossa.org> | 2009-09-15 14:52:50 -0300 |
---|---|---|
committer | Marcelo Lira <marcelo.lira@openbossa.org> | 2009-09-15 15:02:05 -0300 |
commit | d753c1cf52dfda27fb251366ee754017e2f68a44 (patch) | |
tree | 0044940f8285c1303cdeae34494a4b21de4409c3 /PySide/QtCore/qlist_conversions.h | |
parent | 96bc2011c8762c117fb2d71d3feba4678690ac49 (diff) |
added conversion rules for QList and QPair containers
Diffstat (limited to 'PySide/QtCore/qlist_conversions.h')
-rw-r--r-- | PySide/QtCore/qlist_conversions.h | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/PySide/QtCore/qlist_conversions.h b/PySide/QtCore/qlist_conversions.h new file mode 100644 index 000000000..b305d1468 --- /dev/null +++ b/PySide/QtCore/qlist_conversions.h @@ -0,0 +1,24 @@ +template <typename StdList> +struct Converter_qlist +{ + static PyObject* toPython(StdList holder) + { + PyObject* result = PyList_New(holder.size()); + for (int i = 0; i < holder.size(); i++) { + PyList_SET_ITEM(result, i, Converter<typename StdList::value_type>::toPython(holder.at(i))); + } + return result; + } + static StdList toCpp(PyObject* pyobj) + { + StdList result; + for (int i = 0; i < PySequence_Size(pyobj); i++) { + PyObject* pyItem = PySequence_GetItem(pyobj, i); + result.append(Converter<typename StdList::value_type>::toCpp(pyItem)); + } + return result; + } +}; + +template<typename T> +struct Converter<QList<T> > : Converter_qlist<QList<T> > {}; |