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/QtCore/qstring_conversions.h | |
parent | c0832e4a9ad96c6b7df0f1749c764b37f7ab1bc3 (diff) |
Updated container converters to the new shiboken conversion scheme
Reviewed by Hugo Parente <hugo.lima@openbossa.org>
Diffstat (limited to 'PySide/QtCore/qstring_conversions.h')
-rw-r--r-- | PySide/QtCore/qstring_conversions.h | 23 |
1 files changed, 15 insertions, 8 deletions
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); } |