aboutsummaryrefslogtreecommitdiffstats
path: root/PySide
diff options
context:
space:
mode:
authorMarcelo Lira <marcelo.lira@openbossa.org>2009-11-03 05:23:00 -0300
committerHugo Lima <hugo.lima@openbossa.org>2009-11-03 14:17:35 -0200
commitd2cd71313d0c44eaffe4b38ab3f9ac6daa2c20cb (patch)
tree8f90c975274cc48295bc80b2cc2b34396631efb4 /PySide
parentc0832e4a9ad96c6b7df0f1749c764b37f7ab1bc3 (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.h1
-rw-r--r--PySide/QtCore/qhash_conversions.h6
-rw-r--r--PySide/QtCore/qlist_conversions.h12
-rw-r--r--PySide/QtCore/qmap_conversions.h6
-rw-r--r--PySide/QtCore/qpair_conversions.h10
-rw-r--r--PySide/QtCore/qstring_conversions.h23
-rw-r--r--PySide/QtCore/qvector_conversions.h6
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++) {