diff options
author | renatofilho <renato.filho@openbossa.org> | 2010-10-15 17:04:30 -0300 |
---|---|---|
committer | renatofilho <renato.filho@openbossa.org> | 2010-10-15 18:19:46 -0300 |
commit | d75bd8367d26e4049b6748cc001ec7482fbda832 (patch) | |
tree | 985fcf6fe08349e89583cc33eeea795bc3794a9e | |
parent | 5c9afb798ecc9ec29622464c9c96909a2e79f220 (diff) |
Created function value to class QTreeWidgetItemIterator using the
operator *.
Fixes bug #400.
Reviewer: Hugo Parente Lima <hugo.pl@gmail.com>
Luciano Wolf <luciano.wolf@openbossa.org>
-rw-r--r-- | PySide/QtGui/typesystem_gui_common.xml | 13 | ||||
-rw-r--r-- | tests/QtGui/CMakeLists.txt | 1 | ||||
-rw-r--r-- | tests/QtGui/bug_400.py | 26 |
3 files changed, 38 insertions, 2 deletions
diff --git a/PySide/QtGui/typesystem_gui_common.xml b/PySide/QtGui/typesystem_gui_common.xml index 4ebef94c7..09f66d939 100644 --- a/PySide/QtGui/typesystem_gui_common.xml +++ b/PySide/QtGui/typesystem_gui_common.xml @@ -518,11 +518,20 @@ </modify-function> </value-type> <value-type name="QTreeWidgetItemIterator" > + <modify-function signature="QTreeWidgetItemIterator(QTreeWidget *, QFlags<QTreeWidgetItemIterator::IteratorFlag>)"> + <inject-code class="target" position="end"> + Shiboken::setParent(%PYARG_1, (PyObject*)sbkSelf); + </inject-code> + </modify-function> + <add-function signature="value()" return-type="QTreeWidgetItem*"> + <inject-code> + %PYARG_0 = %CONVERTTOPYTHON[QTreeWidgetItem*](%CPPSELF.operator*()); + SbkBaseWrapper_setOwnership(%PYARG_0, false); + </inject-code> + </add-function> <enum-type name="IteratorFlag" flags="QTreeWidgetItemIterator::IteratorFlags"/> <modify-function signature="operator++(int)" remove="all"/> <modify-function signature="operator--(int)" remove="all"/> - <modify-function signature="operator+=(int)" remove="all"/> - <modify-function signature="operator-=(int)" remove="all"/> <modify-function signature="operator++()" remove="all"/> <modify-function signature="operator--()" remove="all"/> <modify-function signature="operator*()const" remove="all"/> diff --git a/tests/QtGui/CMakeLists.txt b/tests/QtGui/CMakeLists.txt index f40ebfd70..4a293f2dd 100644 --- a/tests/QtGui/CMakeLists.txt +++ b/tests/QtGui/CMakeLists.txt @@ -11,6 +11,7 @@ PYSIDE_TEST(bug_338.py) PYSIDE_TEST(bug_363.py) PYSIDE_TEST(bug_367.py) PYSIDE_TEST(bug_389.py) +PYSIDE_TEST(bug_400.py) PYSIDE_TEST(customproxywidget_test.py) PYSIDE_TEST(deepcopy_test.py) PYSIDE_TEST(float_to_int_implicit_conversion_test.py) diff --git a/tests/QtGui/bug_400.py b/tests/QtGui/bug_400.py new file mode 100644 index 000000000..0038a3e62 --- /dev/null +++ b/tests/QtGui/bug_400.py @@ -0,0 +1,26 @@ +''' Test bug 389: http://bugs.openbossa.org/show_bug.cgi?id=389''' + +import unittest +from helper import UsesQApplication +from PySide.QtGui import QTreeWidgetItemIterator, QTreeWidgetItem, QTreeWidget + +class BugTest(UsesQApplication): + def testCase(self): + treeWidget = QTreeWidget() + treeWidget.setColumnCount(1) + items = [] + for i in range(10): + items.append(QTreeWidgetItem(None, ["item: %i" % i])) + + treeWidget.insertTopLevelItems(0, items); + _iter = QTreeWidgetItemIterator(treeWidget) + index = 0 + while(_iter.value()): + item = _iter.value() + self.assert_(item is items[index]) + index += 1 + _iter += 1 + + +if __name__ == '__main__': + unittest.main() |