From 00f51edd5b4d68aa8dcbf15ade14a96d680a574f Mon Sep 17 00:00:00 2001 From: Marcelo Lira Date: Thu, 11 Aug 2011 08:20:40 -0300 Subject: Updated QtGui's type system. --- PySide/QtGui/typesystem_gui_common.xml | 165 ++++++++++++++++++++------------- 1 file changed, 98 insertions(+), 67 deletions(-) (limited to 'PySide') diff --git a/PySide/QtGui/typesystem_gui_common.xml b/PySide/QtGui/typesystem_gui_common.xml index dd159676f..5017a4e7f 100644 --- a/PySide/QtGui/typesystem_gui_common.xml +++ b/PySide/QtGui/typesystem_gui_common.xml @@ -26,7 +26,8 @@ if (size == 1) { char *str = PyString_AS_STRING(%PYARG_1); QChar ch(str[0]); - %PYARG_0 = %CONVERTTOPYTHON[%RETURN_TYPE](%CPPSELF.%FUNCTION_NAME(ch)); + %RETURN_TYPE %0 = %CPPSELF.%FUNCTION_NAME(ch); + %PYARG_0 = %CONVERTTOPYTHON[%RETURN_TYPE](%0); } else { PyErr_SetString(PyExc_TypeError, "String must have only one character"); } @@ -419,7 +420,8 @@ uchar* buffer = (uchar*) Shiboken::Buffer::getPointer(%PYARG_2); - %PYARG_0 = %CONVERTTOPYTHON[QBitmap](QBitmap::fromData(%1, buffer, %3)); + QBitmap %0 = QBitmap::fromData(%1, buffer, %3); + %PYARG_0 = %CONVERTTOPYTHON[QBitmap](%0); @@ -522,7 +524,8 @@ PyErr_SetString(PyExc_IndexError, "index out of bounds"); return 0; } - return %CONVERTTOPYTHON[int]((*%CPPSELF)[_i]); + int item = (*%CPPSELF)[_i]; + return %CONVERTTOPYTHON[int](item); @@ -670,7 +673,8 @@ for (int i = 0, max = %CPPSELF.count(); i < max; ++i){ int x, y; %CPPSELF.point(i, &x, &y); - PyList_SET_ITEM(points, i, %CONVERTTOPYTHON[QPoint](QPoint(x, y))); + QPoint pt = QPoint(x, y); + PyList_SET_ITEM(points, i, %CONVERTTOPYTHON[QPoint](pt)); } @@ -744,15 +748,18 @@ - if (**%CPPSELF) - %PYARG_0 = %CONVERTTOPYTHON[QTreeWidgetItemIterator*](new QTreeWidgetItemIterator((*%CPPSELF)++)); + if (**%CPPSELF) { + QTreeWidgetItemIterator* %0 = new QTreeWidgetItemIterator((*%CPPSELF)++); + %PYARG_0 = %CONVERTTOPYTHON[QTreeWidgetItemIterator*](%0); + } - %PYARG_0 = %CONVERTTOPYTHON[QTreeWidgetItem*](%CPPSELF.operator*()); - Shiboken::Object::releaseOwnership(%PYARG_0); + QTreeWidgetItem* %0 = %CPPSELF.operator*(); + %PYARG_0 = %CONVERTTOPYTHON[QTreeWidgetItem*](%0); + Shiboken::Object::releaseOwnership(%PYARG_0); @@ -1671,12 +1678,16 @@ - + + - if (%0) { - Shiboken::AutoDecRef pyParent(%CONVERTTOPYTHON[QObject*](%0->parent())); - Shiboken::Object::setParent(pyParent, %PYARG_0); - } + @@ -2944,7 +2955,8 @@ - %PYARG_0 = %CONVERTTOPYTHON[bool](!(&%CPPSELF == %1)); + bool ret = !(&%CPPSELF == %1); + %PYARG_0 = %CONVERTTOPYTHON[bool](ret); @@ -3280,10 +3292,7 @@ - if (%0) { - Shiboken::AutoDecRef pyParent(%CONVERTTOPYTHON[QObject*](%0->parent())); - Shiboken::Object::setParent(pyParent, %PYARG_0); - } + @@ -3425,14 +3434,15 @@ - Shiboken::AutoDecRef parent(%CONVERTTOPYTHON[QGraphicsItem*](%1->parentItem())); - foreach (QGraphicsItem* item, %1->children()) - Shiboken::Object::setParent(parent, %CONVERTTOPYTHON[QGraphicsItem*](item)); - %BEGIN_ALLOW_THREADS - %CPPSELF.%FUNCTION_NAME(%1); - %END_ALLOW_THREADS - // the arg was destroyed by Qt. - Shiboken::Object::invalidate(%PYARG_1); + QGraphicsItem* parentItem = %1->parentItem(); + Shiboken::AutoDecRef parent(%CONVERTTOPYTHON[QGraphicsItem*](parentItem)); + foreach (QGraphicsItem* item, %1->children()) + Shiboken::Object::setParent(parent, %CONVERTTOPYTHON[QGraphicsItem*](item)); + %BEGIN_ALLOW_THREADS + %CPPSELF.%FUNCTION_NAME(%1); + %END_ALLOW_THREADS + // the arg was destroyed by Qt. + Shiboken::Object::invalidate(%PYARG_1); @@ -3558,8 +3568,9 @@ - %PYARG_0 = %CONVERTTOPYTHON[%RETURN_TYPE](%CPPSELF.%FUNCTION_NAME(%1, %2)); - Shiboken::Object::keepReference((SbkObject*)%PYARG_0, "setWidget(QWidget*)1", %PYARG_1); + %RETURN_TYPE %0 = %CPPSELF.%FUNCTION_NAME(%1, %2); + %PYARG_0 = %CONVERTTOPYTHON[%RETURN_TYPE](%0); + Shiboken::Object::keepReference((SbkObject*)%PYARG_0, "setWidget(QWidget*)1", %PYARG_1); @@ -4379,7 +4390,8 @@ for (int i = 0; i < %CPPSELF.count(); i++) { - Shiboken::AutoDecRef pyWidget(%CONVERTTOPYTHON[QWidget*](%CPPSELF.widget(i))); + QWidget* widget = %CPPSELF.widget(i); + Shiboken::AutoDecRef pyWidget(%CONVERTTOPYTHON[QWidget*](widget)); Shiboken::Object::setParent(0, pyWidget); } %CPPSELF.%FUNCTION_NAME(); @@ -5106,7 +5118,8 @@ - %PYARG_0 = %CONVERTTOPYTHON[QAction*](%CPPSELF.addAction(%1, %2)); + QAction* action = %CPPSELF.addAction(%1, %2); + %PYARG_0 = %CONVERTTOPYTHON[QAction*](action); Shiboken::AutoDecRef result(PyObject_CallMethod(%PYARG_0, "connect", "OsO", %PYARG_0, SIGNAL(triggered()), %PYARG_3)); @@ -5118,7 +5131,8 @@ - %PYARG_0 = %CONVERTTOPYTHON[QAction*](%CPPSELF.addAction(%1)); + QAction* action = %CPPSELF.addAction(%1); + %PYARG_0 = %CONVERTTOPYTHON[QAction*](action); Shiboken::AutoDecRef result(PyObject_CallMethod(%PYARG_0, "connect", "OsO", %PYARG_0, SIGNAL(triggered()), %PYARG_2)); @@ -5165,13 +5179,11 @@ foreach(QToolButton* child, %CPPSELF.findChildren<QToolButton*>()) { if (bm.hasWrapper(child)) { PyObject* pyChild = %CONVERTTOPYTHON[QToolButton*](child); - Shiboken::Object::setParent(0, pyChild); + Shiboken::Object::setParent(0, pyChild); lst << pyChild; } } - %CPPSELF.clear(); - foreach(PyObject* obj, lst) { Shiboken::Object::invalidate(reinterpret_cast<SbkObject* >(obj)); Py_XDECREF(obj); @@ -6006,24 +6018,42 @@ + + + + + + - return %CONVERTTOPYTHON[QMatrix2x2](*%CPPSELF *= %1); + - return %CONVERTTOPYTHON[QMatrix2x2](*%CPPSELF += %1); + - return %CONVERTTOPYTHON[QMatrix2x2](*%CPPSELF -= %1); + - return %CONVERTTOPYTHON[QMatrix2x2](*%CPPSELF /= %1); + @@ -6078,22 +6108,22 @@ - return %CONVERTTOPYTHON[QMatrix2x3](*%CPPSELF *= %1); + - return %CONVERTTOPYTHON[QMatrix2x3](*%CPPSELF += %1); + - return %CONVERTTOPYTHON[QMatrix2x3](*%CPPSELF -= %1); + - return %CONVERTTOPYTHON[QMatrix2x3](*%CPPSELF /= %1); + @@ -6148,22 +6178,22 @@ - return %CONVERTTOPYTHON[QMatrix2x4](*%CPPSELF *= %1); + - return %CONVERTTOPYTHON[QMatrix2x4](*%CPPSELF += %1); + - return %CONVERTTOPYTHON[QMatrix2x4](*%CPPSELF -= %1); + - return %CONVERTTOPYTHON[QMatrix2x4](*%CPPSELF /= %1); + @@ -6218,22 +6248,22 @@ - return %CONVERTTOPYTHON[QMatrix3x2](*%CPPSELF *= %1); + - return %CONVERTTOPYTHON[QMatrix3x2](*%CPPSELF += %1); + - return %CONVERTTOPYTHON[QMatrix3x2](*%CPPSELF -= %1); + - return %CONVERTTOPYTHON[QMatrix3x2](*%CPPSELF /= %1); + @@ -6288,22 +6318,22 @@ - return %CONVERTTOPYTHON[QMatrix3x3](*%CPPSELF *= %1); + - return %CONVERTTOPYTHON[QMatrix3x3](*%CPPSELF += %1); + - return %CONVERTTOPYTHON[QMatrix3x3](*%CPPSELF -= %1); + - return %CONVERTTOPYTHON[QMatrix3x3](*%CPPSELF /= %1); + @@ -6358,22 +6388,22 @@ - return %CONVERTTOPYTHON[QMatrix3x4](*%CPPSELF *= %1); + - return %CONVERTTOPYTHON[QMatrix3x4](*%CPPSELF += %1); + - return %CONVERTTOPYTHON[QMatrix3x4](*%CPPSELF -= %1); + - return %CONVERTTOPYTHON[QMatrix3x4](*%CPPSELF /= %1); + @@ -6428,22 +6458,22 @@ - return %CONVERTTOPYTHON[QMatrix4x2](*%CPPSELF *= %1); + - return %CONVERTTOPYTHON[QMatrix4x2](*%CPPSELF += %1); + - return %CONVERTTOPYTHON[QMatrix4x2](*%CPPSELF -= %1); + - return %CONVERTTOPYTHON[QMatrix4x2](*%CPPSELF /= %1); + @@ -6498,22 +6528,22 @@ - return %CONVERTTOPYTHON[QMatrix4x3](*%CPPSELF *= %1); + - return %CONVERTTOPYTHON[QMatrix4x3](*%CPPSELF += %1); + - return %CONVERTTOPYTHON[QMatrix4x3](*%CPPSELF -= %1); + - return %CONVERTTOPYTHON[QMatrix4x3](*%CPPSELF /= %1); + @@ -6600,7 +6630,8 @@ PyObject* posy = PySequence_Fast_GET_ITEM(key.object(), 1); Py_ssize_t x = PyInt_AsSsize_t(posx); Py_ssize_t y = PyInt_AsSsize_t(posy); - return %CONVERTTOPYTHON[qreal]((*%CPPSELF)(x,y)); + qreal ret = (*%CPPSELF)(x,y); + return %CONVERTTOPYTHON[qreal](ret); } } PyErr_SetString(PyExc_IndexError, "Invalid matrix index."); -- cgit v1.2.3