diff options
-rw-r--r-- | PySide/QtGui/typesystem_gui_common.xml | 68 | ||||
-rw-r--r-- | tests/QtGui/qpainter_test.py | 28 |
2 files changed, 82 insertions, 14 deletions
diff --git a/PySide/QtGui/typesystem_gui_common.xml b/PySide/QtGui/typesystem_gui_common.xml index da919e870..67f0ae362 100644 --- a/PySide/QtGui/typesystem_gui_common.xml +++ b/PySide/QtGui/typesystem_gui_common.xml @@ -2317,8 +2317,6 @@ <object-type name="QSpacerItem"/> <object-type name="QStandardItem"> <enum-type name="ItemType"/> - <!-- ### See bug 771 --> - <modify-function signature="QStandardItem(const QStandardItem &)" remove="all"/> <modify-function signature="operator<(QStandardItem)const"> <modify-argument index="1" invalidate-after-use="yes"/> </modify-function> @@ -5046,29 +5044,73 @@ <!-- ### "drawText(...)" is an internal method. --> <modify-function signature="drawText(const QPointF &, const QString &, int, int)" remove="all"/> - <!-- ### See bug 772 --> + + <template name="qpainter_drawlist"> + %BEGIN_ALLOW_THREADS + %CPPSELF.%FUNCTION_NAME(%1.data(), %1.size()); + %END_ALLOW_THREADS + </template> + <modify-function signature="drawConvexPolygon(const QPoint *, int)" remove="all" /> + <add-function signature="drawConvexPolygon(QVector<QPoint>)"> + <inject-code> + <insert-template name="qpainter_drawlist" /> + </inject-code> + </add-function> <modify-function signature="drawConvexPolygon(const QPointF *, int)" remove="all" /> - <!-- ### See bug 779 --> + <add-function signature="drawConvexPolygon(QVector<QPointF>)"> + <inject-code> + <insert-template name="qpainter_drawlist" /> + </inject-code> + </add-function> + <!-- ### Overloads using QVector<T> does the job of these methods --> <modify-function signature="drawLines(const QLine *, int)" remove="all" /> <modify-function signature="drawLines(const QLineF *, int)" remove="all" /> - <!-- ### See bug 780 --> <modify-function signature="drawLines(const QPoint *, int)" remove="all" /> <modify-function signature="drawLines(const QPointF *, int)" remove="all" /> - <!-- ### See bug 781 --> + <modify-function signature="drawRects(const QRect *, int)" remove="all" /> + <modify-function signature="drawRects(const QRectF *, int)" remove="all" /> + <!-- ### --> <modify-function signature="drawPoints(const QPoint *, int)" remove="all" /> + <add-function signature="drawPoints(QVector<QPoint>)"> + <inject-code> + <insert-template name="qpainter_drawlist" /> + </inject-code> + </add-function> <modify-function signature="drawPoints(const QPointF *, int)" remove="all" /> - <!-- ### See bug 782 --> + <add-function signature="drawPoints(QVector<QPointF>)"> + <inject-code> + <insert-template name="qpainter_drawlist" /> + </inject-code> + </add-function> <modify-function signature="drawPolygon(const QPoint *, int, Qt::FillRule)" remove="all" /> + <add-function signature="drawPolygon(QVector<QPoint>, Qt::FillRule)"> + <inject-code> + %BEGIN_ALLOW_THREADS + %CPPSELF.%FUNCTION_NAME(%1.data(), %1.size(), %2); + %END_ALLOW_THREADS + </inject-code> + </add-function> <modify-function signature="drawPolygon(const QPointF *, int, Qt::FillRule)" remove="all" /> - <!-- ### See bug 783 --> + <add-function signature="drawPolygon(QVector<QPointF>, Qt::FillRule)"> + <inject-code> + %BEGIN_ALLOW_THREADS + %CPPSELF.%FUNCTION_NAME(%1.data(), %1.size(), %2); + %END_ALLOW_THREADS + </inject-code> + </add-function> <modify-function signature="drawPolyline(const QPoint *, int)" remove="all" /> + <add-function signature="drawPolyline(QVector<QPoint>)"> + <inject-code> + <insert-template name="qpainter_drawlist" /> + </inject-code> + </add-function> <modify-function signature="drawPolyline(const QPointF *, int)" remove="all" /> - <!-- ### See bug 784 --> - <modify-function signature="drawRects(const QRect *, int)" remove="all" /> - <modify-function signature="drawRects(const QRectF *, int)" remove="all" /> - <!-- ### --> - + <add-function signature="drawPolyline(QVector<QPointF>)"> + <inject-code> + <insert-template name="qpainter_drawlist" /> + </inject-code> + </add-function> <modify-function signature="drawRoundRect(int, int, int, int, int, int)"> <modify-argument index="5"> <rename to="xRound"/> diff --git a/tests/QtGui/qpainter_test.py b/tests/QtGui/qpainter_test.py index 5baa82225..f86718efa 100644 --- a/tests/QtGui/qpainter_test.py +++ b/tests/QtGui/qpainter_test.py @@ -36,13 +36,39 @@ class QPainterDrawText(unittest.TestCase): self.assert_(isinstance(newRect, QRectF)) - def testDrawLinesOverloads(self): + def testDrawOverloads(self): '''Calls QPainter.drawLines overloads, if something is wrong Exception and chaos ensues. Bug #395''' self.painter.drawLines([QLine(QPoint(0,0), QPoint(1,1))]) self.painter.drawLines([QPoint(0,0), QPoint(1,1)]) self.painter.drawLines([QPointF(0,0), QPointF(1,1)]) self.painter.drawLines([QLineF(QPointF(0,0), QPointF(1,1))]) + self.painter.drawPoints([QPoint(0,0), QPoint(1,1)]) + self.painter.drawPoints([QPointF(0,0), QPointF(1,1)]) + self.painter.drawConvexPolygon([QPointF(10.0, 80.0), + QPointF(20.0, 10.0), + QPointF(80.0, 30.0), + QPointF(90.0, 70.0)]) + self.painter.drawConvexPolygon([QPoint(10.0, 80.0), + QPoint(20.0, 10.0), + QPoint(80.0, 30.0), + QPoint(90.0, 70.0)]) + self.painter.drawPolygon([QPointF(10.0, 80.0), + QPointF(20.0, 10.0), + QPointF(80.0, 30.0), + QPointF(90.0, 70.0)]) + self.painter.drawPolygon([QPoint(10.0, 80.0), + QPoint(20.0, 10.0), + QPoint(80.0, 30.0), + QPoint(90.0, 70.0)]) + self.painter.drawPolyline([QPointF(10.0, 80.0), + QPointF(20.0, 10.0), + QPointF(80.0, 30.0), + QPointF(90.0, 70.0)]) + self.painter.drawPolyline([QPoint(10.0, 80.0), + QPoint(20.0, 10.0), + QPoint(80.0, 30.0), + QPoint(90.0, 70.0)]) class SetBrushWithOtherArgs(unittest.TestCase): '''Using qpainter.setBrush with args other than QBrush''' |