aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHugo Parente Lima <hugo.pl@gmail.com>2010-12-20 15:06:33 -0200
committerHugo Parente Lima <hugo.pl@gmail.com>2012-03-08 16:48:00 -0300
commitdb35d78b27389be9794b620c95cd290bf98a93dc (patch)
treeba5221d2e7a0da29ca809bd59b17b729f6b0e155
parenta9424b314ef086262ec1cc4b62a733d0dd86aaf8 (diff)
Fix bug#544 - "QtCore.QRect missing binding for method getCoords"
Reviewer: Marcelo Lira <marcelo.lira@openbossa.org> Lauro Moura <lauro.neto@openbossa.org>
-rw-r--r--PySide/QtCore/typesystem_core.xml88
-rw-r--r--tests/QtCore/qrect_test.py12
2 files changed, 95 insertions, 5 deletions
diff --git a/PySide/QtCore/typesystem_core.xml b/PySide/QtCore/typesystem_core.xml
index a30e50e14..507e55af7 100644
--- a/PySide/QtCore/typesystem_core.xml
+++ b/PySide/QtCore/typesystem_core.xml
@@ -862,10 +862,48 @@
};
</inject-code>
<modify-function signature="getCoords(int*,int*,int*,int*)const">
- <remove/>
+ <modify-argument index="return">
+ <replace-type modified-type="PyObject" />
+ </modify-argument>
+ <modify-argument index="1">
+ <remove-argument />
+ </modify-argument>
+ <modify-argument index="2">
+ <remove-argument />
+ </modify-argument>
+ <modify-argument index="3">
+ <remove-argument />
+ </modify-argument>
+ <modify-argument index="4">
+ <remove-argument />
+ </modify-argument>
+ <inject-code class="target">
+ int a, b, c, d;
+ %CPPSELF.%FUNCTION_NAME(&amp;a, &amp;b, &amp;c, &amp;d);
+ %PYARG_0 = Shiboken::makeTuple(a, b, c, d);
+ </inject-code>
</modify-function>
<modify-function signature="getRect(int*,int*,int*,int*)const">
- <remove/>
+ <modify-argument index="return">
+ <replace-type modified-type="PyObject" />
+ </modify-argument>
+ <modify-argument index="1">
+ <remove-argument />
+ </modify-argument>
+ <modify-argument index="2">
+ <remove-argument />
+ </modify-argument>
+ <modify-argument index="3">
+ <remove-argument />
+ </modify-argument>
+ <modify-argument index="4">
+ <remove-argument />
+ </modify-argument>
+ <inject-code class="target">
+ int a, b, c, d;
+ %CPPSELF.%FUNCTION_NAME(&amp;a, &amp;b, &amp;c, &amp;d);
+ %PYARG_0 = Shiboken::makeTuple(a, b, c, d);
+ </inject-code>
</modify-function>
</value-type>
<value-type name="QRectF">
@@ -881,8 +919,50 @@
</insert-template>
</inject-code>
</add-function>
- <modify-function signature="getCoords(qreal*,qreal*,qreal*,qreal*)const" remove="all" />
- <modify-function signature="getRect(qreal*,qreal*,qreal*,qreal*)const" remove="all" />
+ <modify-function signature="getCoords(qreal*,qreal*,qreal*,qreal*)const">
+ <modify-argument index="return">
+ <replace-type modified-type="PyObject" />
+ </modify-argument>
+ <modify-argument index="1">
+ <remove-argument />
+ </modify-argument>
+ <modify-argument index="2">
+ <remove-argument />
+ </modify-argument>
+ <modify-argument index="3">
+ <remove-argument />
+ </modify-argument>
+ <modify-argument index="4">
+ <remove-argument />
+ </modify-argument>
+ <inject-code class="target">
+ qreal a, b, c, d;
+ %CPPSELF.%FUNCTION_NAME(&amp;a, &amp;b, &amp;c, &amp;d);
+ %PYARG_0 = Shiboken::makeTuple(a, b, c, d);
+ </inject-code>
+ </modify-function>
+ <modify-function signature="getRect(qreal*,qreal*,qreal*,qreal*)const">
+ <modify-argument index="return">
+ <replace-type modified-type="PyObject" />
+ </modify-argument>
+ <modify-argument index="1">
+ <remove-argument />
+ </modify-argument>
+ <modify-argument index="2">
+ <remove-argument />
+ </modify-argument>
+ <modify-argument index="3">
+ <remove-argument />
+ </modify-argument>
+ <modify-argument index="4">
+ <remove-argument />
+ </modify-argument>
+ <inject-code class="target">
+ qreal a, b, c, d;
+ %CPPSELF.%FUNCTION_NAME(&amp;a, &amp;b, &amp;c, &amp;d);
+ %PYARG_0 = Shiboken::makeTuple(a, b, c, d);
+ </inject-code>
+ </modify-function>
</value-type>
<value-type name="QSize" hash-function="PySide::hash">
<add-function signature="__reduce__" return-type="PyObject*">
diff --git a/tests/QtCore/qrect_test.py b/tests/QtCore/qrect_test.py
index 3c5f5be05..a6d38d950 100644
--- a/tests/QtCore/qrect_test.py
+++ b/tests/QtCore/qrect_test.py
@@ -3,7 +3,7 @@
import unittest
-from PySide.QtCore import QPoint, QRect
+from PySide.QtCore import QPoint, QRect, QRectF
class RectConstructor(unittest.TestCase):
@@ -97,6 +97,16 @@ class RectOperator(unittest.TestCase):
rect3 = rect1 | rect2
self.assertEqual(rect3, rect1)
+ def testGetCoordsAndRect(self):
+ rect1 = QRect(1, 2, 3, 4)
+ self.assertEqual(rect1.getRect(), (1, 2, 3, 4))
+ self.assertEqual(rect1.getCoords(), (1, 2, 3, 5))
+
+ rect1 = QRectF(1, 2, 3, 4)
+ self.assertEqual(rect1.getRect(), (1, 2, 3, 4))
+ self.assertEqual(rect1.getCoords(), (1, 2, 4, 6))
+
+
if __name__ == '__main__':
unittest.main()