diff options
author | Marcelo Lira <marcelo.lira@openbossa.org> | 2009-11-03 05:23:00 -0300 |
---|---|---|
committer | Hugo Lima <hugo.lima@openbossa.org> | 2009-11-03 14:17:35 -0200 |
commit | d2cd71313d0c44eaffe4b38ab3f9ac6daa2c20cb (patch) | |
tree | 8f90c975274cc48295bc80b2cc2b34396631efb4 /PySide | |
parent | c0832e4a9ad96c6b7df0f1749c764b37f7ab1bc3 (diff) |
Updated container converters to the new shiboken conversion scheme
Reviewed by Hugo Parente <hugo.lima@openbossa.org>
Diffstat (limited to 'PySide')
-rw-r--r-- | PySide/QtCore/qbool_conversions.h | 1 | ||||
-rw-r--r-- | PySide/QtCore/qhash_conversions.h | 6 | ||||
-rw-r--r-- | PySide/QtCore/qlist_conversions.h | 12 | ||||
-rw-r--r-- | PySide/QtCore/qmap_conversions.h | 6 | ||||
-rw-r--r-- | PySide/QtCore/qpair_conversions.h | 10 | ||||
-rw-r--r-- | PySide/QtCore/qstring_conversions.h | 23 | ||||
-rw-r--r-- | PySide/QtCore/qvector_conversions.h | 6 |
7 files changed, 35 insertions, 29 deletions
diff --git a/PySide/QtCore/qbool_conversions.h b/PySide/QtCore/qbool_conversions.h index 73215ffac..66e25fd11 100644 --- a/PySide/QtCore/qbool_conversions.h +++ b/PySide/QtCore/qbool_conversions.h @@ -1,4 +1,3 @@ - template <> struct Converter<QBool> { diff --git a/PySide/QtCore/qhash_conversions.h b/PySide/QtCore/qhash_conversions.h index 53863e840..b1aa9c2a5 100644 --- a/PySide/QtCore/qhash_conversions.h +++ b/PySide/QtCore/qhash_conversions.h @@ -1,11 +1,11 @@ template <typename qhash> struct Converter_qhash { - static bool isConvertible(PyObject* pyObj) { - return PyDict_Check(pyObj); + static bool isConvertible(PyObject* pyobj) { + return PyDict_Check(pyobj); } - static PyObject* toPython(qhash hash) + static PyObject* toPython(const qhash& hash) { PyObject* result = PyDict_New(); diff --git a/PySide/QtCore/qlist_conversions.h b/PySide/QtCore/qlist_conversions.h index 8da6edcce..7430c615d 100644 --- a/PySide/QtCore/qlist_conversions.h +++ b/PySide/QtCore/qlist_conversions.h @@ -1,15 +1,15 @@ template <typename qlist> struct Converter_qlist { - static bool isConvertible(PyObject* pyObj) { - return PySequence_Check(pyObj); + static bool isConvertible(PyObject* pyobj) { + return PySequence_Check(pyobj); } - static PyObject* toPython(qlist holder) + static PyObject* toPython(const qlist& list) { - PyObject* result = PyList_New(holder.size()); - for (int i = 0; i < holder.size(); i++) { - PyList_SET_ITEM(result, i, Converter<typename qlist::value_type>::toPython(holder.at(i))); + PyObject* result = PyList_New(list.size()); + for (int i = 0; i < list.size(); i++) { + PyList_SET_ITEM(result, i, Converter<typename qlist::value_type>::toPython(list.at(i))); } return result; } diff --git a/PySide/QtCore/qmap_conversions.h b/PySide/QtCore/qmap_conversions.h index 3977c81a9..d670605da 100644 --- a/PySide/QtCore/qmap_conversions.h +++ b/PySide/QtCore/qmap_conversions.h @@ -1,11 +1,11 @@ template <typename qmap> struct Converter_qmap { - static bool isConvertible(PyObject* pyObj) { - return PyDict_Check(pyObj); + static bool isConvertible(PyObject* pyobj) { + return PyDict_Check(pyobj); } - static PyObject* toPython(qmap map) + static PyObject* toPython(const qmap& map) { PyObject* result = PyDict_New(); diff --git a/PySide/QtCore/qpair_conversions.h b/PySide/QtCore/qpair_conversions.h index 27a9936a6..667ae04fe 100644 --- a/PySide/QtCore/qpair_conversions.h +++ b/PySide/QtCore/qpair_conversions.h @@ -1,13 +1,13 @@ template <typename qpair> struct Converter_qpair { - static bool isConvertible(PyObject* pyObj) { - return PySequence_Check(pyObj); + static bool isConvertible(PyObject* pyobj) { + return PySequence_Check(pyobj); } - static PyObject* toPython(qpair holder) + static PyObject* toPython(const qpair& pair) { - typename qpair::first_type first(holder.first); - typename qpair::second_type second(holder.second); + typename qpair::first_type first(pair.first); + typename qpair::second_type second(pair.second); PyObject* tuple = PyTuple_New(2); PyTuple_SET_ITEM(tuple, 0, Converter<typename qpair::first_type>::toPython(first)); PyTuple_SET_ITEM(tuple, 1, Converter<typename qpair::second_type>::toPython(second)); diff --git a/PySide/QtCore/qstring_conversions.h b/PySide/QtCore/qstring_conversions.h index a9a11ba28..33cf438df 100644 --- a/PySide/QtCore/qstring_conversions.h +++ b/PySide/QtCore/qstring_conversions.h @@ -1,14 +1,21 @@ -inline bool Converter< QString >::isConvertible(PyObject* pyObj) +inline bool Converter< QString >::isConvertible(PyObject* pyobj) { - return PyObject_TypeCheck(pyObj, &PyQString_Type) || PyUnicode_Check(pyObj) || PyString_Check(pyObj); + return PyUnicode_Check(pyobj) || PyString_Check(pyobj); } -inline PyObject* Converter< QString >::toPython(QString cppobj) +inline PyObject* Converter< QString >::createWrapper(const QString* cppobj) { - PyObject* pyobj; - void* holder = (void*) new QString(cppobj); - pyobj = Shiboken::PyBaseWrapper_New(&PyQString_Type, &PyQString_Type, holder); - return pyobj; + return PyBaseWrapper_New(&PyQString_Type, &PyQString_Type, cppobj); +} + +inline QString* Converter<QString >::copyCppObject(const QString& cppobj) +{ + return new QString(cppobj); +} + +inline PyObject* Converter< QString >::toPython(const QString& cppobj) +{ + return Converter< QString >::createWrapper(new QString(cppobj)); } inline QString Converter< QString >::toCpp(PyObject* pyobj) @@ -31,5 +38,5 @@ inline QString Converter< QString >::toCpp(PyObject* pyobj) #endif } else if (PyString_Check(pyobj)) return QString(Converter< char * >::toCpp(pyobj)); - return *((QString*) ((Shiboken::PyBaseWrapper*)pyobj)->cptr); + return *Converter< QString* >::toCpp(pyobj); } diff --git a/PySide/QtCore/qvector_conversions.h b/PySide/QtCore/qvector_conversions.h index 4d82900c7..645689ef2 100644 --- a/PySide/QtCore/qvector_conversions.h +++ b/PySide/QtCore/qvector_conversions.h @@ -1,10 +1,10 @@ template <typename qvector> struct Converter_qvector { - static bool isConvertible(PyObject* pyObj) { - return PySequence_Check(pyObj); + static bool isConvertible(PyObject* pyobj) { + return PySequence_Check(pyobj); } - static PyObject* toPython(qvector vector) + static PyObject* toPython(const qvector& vector) { PyObject* result = PyList_New(vector.size()); for (int i = 0; i < vector.size(); i++) { |