aboutsummaryrefslogtreecommitdiffstats
path: root/sources/pyside2/PySide2/QtGui/typesystem_gui_common.xml
diff options
context:
space:
mode:
Diffstat (limited to 'sources/pyside2/PySide2/QtGui/typesystem_gui_common.xml')
-rw-r--r--sources/pyside2/PySide2/QtGui/typesystem_gui_common.xml1567
1 files changed, 406 insertions, 1161 deletions
diff --git a/sources/pyside2/PySide2/QtGui/typesystem_gui_common.xml b/sources/pyside2/PySide2/QtGui/typesystem_gui_common.xml
index 70fd1692a..2181ff073 100644
--- a/sources/pyside2/PySide2/QtGui/typesystem_gui_common.xml
+++ b/sources/pyside2/PySide2/QtGui/typesystem_gui_common.xml
@@ -41,36 +41,27 @@
-->
<typesystem package="PySide2.QtGui">
<load-typesystem name="QtCore/typesystem_core.xml" generate="no"/>
+ <load-typesystem name="templates/core_common.xml" generate="no"/>
+ <load-typesystem name="templates/gui_common.xml" generate="no"/>
- <template name="QFontCharFix">
- int size = Shiboken::String::len(%PYARG_1);
- if (size == 1) {
- const char *str = Shiboken::String::toCString(%PYARG_1);
- QChar ch(str[0]);
- %RETURN_TYPE %0 = %CPPSELF.%FUNCTION_NAME(ch);
- %PYARG_0 = %CONVERTTOPYTHON[%RETURN_TYPE](%0);
- } else {
- PyErr_SetString(PyExc_TypeError, "String must have only one character");
- }
- </template>
<rejection class="^Q.*$" argument-type="^QPlatform.*$"/>
- <function signature="qAlpha(uint)" />
- <function signature="qBlue(uint)" />
- <function signature="qGray(int,int,int)" />
- <function signature="qGray(uint)" />
- <function signature="qGreen(uint)" />
- <function signature="qIsGray(uint)" />
- <function signature="qRed(uint)" />
- <function signature="qRgb(int,int,int)" />
- <function signature="qRgba(int,int,int,int)" />
- <function signature="qFuzzyCompare(QMatrix,QMatrix)" />
- <function signature="qFuzzyCompare(QTransform,QTransform)" />
- <function signature="qFuzzyCompare(QQuaternion,QQuaternion)" />
- <function signature="qFuzzyCompare(QMatrix4x4,QMatrix4x4)" />
- <function signature="qFuzzyCompare(QVector2D,QVector2D)" />
- <function signature="qFuzzyCompare(QVector3D,QVector3D)" />
- <function signature="qFuzzyCompare(QVector4D,QVector4D)" />
+ <function signature="qAlpha(uint)"/>
+ <function signature="qBlue(uint)"/>
+ <function signature="qGray(int,int,int)"/>
+ <function signature="qGray(uint)"/>
+ <function signature="qGreen(uint)"/>
+ <function signature="qIsGray(uint)"/>
+ <function signature="qRed(uint)"/>
+ <function signature="qRgb(int,int,int)"/>
+ <function signature="qRgba(int,int,int,int)"/>
+ <function signature="qFuzzyCompare(QMatrix,QMatrix)"/>
+ <function signature="qFuzzyCompare(QTransform,QTransform)"/>
+ <function signature="qFuzzyCompare(QQuaternion,QQuaternion)"/>
+ <function signature="qFuzzyCompare(QMatrix4x4,QMatrix4x4)"/>
+ <function signature="qFuzzyCompare(QVector2D,QVector2D)"/>
+ <function signature="qFuzzyCompare(QVector3D,QVector3D)"/>
+ <function signature="qFuzzyCompare(QVector4D,QVector4D)"/>
<rejection class="*" function-name="qobject_interface_iid&lt;QStyleFactoryInterface*&gt;"/>
<rejection class="*" function-name="qobject_interface_iid&lt;QAccessibleFactoryInterface*&gt;"/>
<rejection class="*" function-name="qobject_interface_iid&lt;QInputContextFactoryInterface*&gt;"/>
@@ -97,21 +88,21 @@
<rejection class="*" function-name="d_func"/>
<rejection class="*" field-name="d_ptr"/>
<rejection class="*" field-name="d"/>
- <rejection class="^QOpenGL.*$" argument-type="^GLboolean( const)?\*$"/>
+ <rejection class="^QOpenGL.*$" argument-type="^(const )?GLboolean ?\*$"/>
<rejection class="^QOpenGL.*$" argument-type="^GLchar\*$"/>
- <rejection class="^QOpenGL.*$" argument-type="GLchar *const const*"/>
+ <rejection class="^QOpenGL.*$" argument-type="^(const )?GLchar ?\*(const)?\*$"/>
<rejection class="^QOpenGL.*$" argument-type="^char\*$"/>
- <rejection class="^QOpenGL.*$" argument-type="^char( const)?\*\*$"/>
+ <rejection class="^QOpenGL.*$" argument-type="^(const )?char ?\*\*$"/>
<rejection class="^QOpenGL.*$" argument-type="GLintptr"/>
<rejection class="^QOpenGL.*$" argument-type="GLsizeiptr"/>
<rejection class="^QOpenGL.*$" argument-type="GLsync"/>
<rejection class="^QOpenGL.*$" argument-type="^GLubyte( const)?\*$"/>
- <rejection class="^QOpenGL.*$" argument-type="^QMatrix.x.( const)?\*$"/>
+ <rejection class="^QOpenGL.*$" argument-type="^(const )?QMatrix.x. ?\*$"/>
<rejection class="^QOpenGL.*$" argument-type="qopengl_GLintptr"/>
<rejection class="^QOpenGL.*$" argument-type="qopengl_GLsizeiptr"/>
<rejection class="^QOpenGL.*$" argument-type="QOpenGLTextureHelper*"/>
- <rejection class="^QOpenGL.*$" argument-type="^QVector.D( const)?\*$"/>
- <rejection class="^QOpenGL.*$" argument-type="^void( const)?\*\*$"/>
+ <rejection class="^QOpenGL.*$" argument-type="^(const )?QVector.D ?\*$"/>
+ <rejection class="^QOpenGL.*$" argument-type="^(const )?void ?\*\*$"/>
<!--
Event classes have a lot of non-documented protected fields, those fields
@@ -212,13 +203,9 @@
<primitive-type name="WId" target-lang-api-name="PyLong">
<conversion-rule>
- <native-to-target>
- return PyLong_FromVoidPtr(reinterpret_cast&lt;void *&gt;(%in));
- </native-to-target>
+ <native-to-target file="../glue/qtgui.cpp" snippet="return-pylong-voidptr"/>
<target-to-native>
- <add-conversion type="PyLong">
- %out = reinterpret_cast&lt;%OUTTYPE&gt;(PyLong_AsVoidPtr(%in));
- </add-conversion>
+ <add-conversion type="PyLong" file="../glue/qtgui.cpp" snippet="conversion-pylong"/>
</target-to-native>
</conversion-rule>
</primitive-type>
@@ -257,9 +244,9 @@
<add-function signature="__repr__" return-type="PyObject*">
<inject-code class="target" position="beginning">
<insert-template name="repr_code">
- <replace from="%REPR_FORMAT" to="%f, %f, %f, %f, %f, %f, %f, %f, %f" />
+ <replace from="%REPR_FORMAT" to="%f, %f, %f, %f, %f, %f, %f, %f, %f"/>
<replace from="%REPR_ARGS"
- to="%CPPSELF.m11(), %CPPSELF.m12(), %CPPSELF.m13(), %CPPSELF.m21(), %CPPSELF.m22(), %CPPSELF.m23(), %CPPSELF.m31(), %CPPSELF.m32(), %CPPSELF.m33()" />
+ to="%CPPSELF.m11(), %CPPSELF.m12(), %CPPSELF.m13(), %CPPSELF.m21(), %CPPSELF.m22(), %CPPSELF.m23(), %CPPSELF.m31(), %CPPSELF.m32(), %CPPSELF.m33()"/>
</insert-template>
</inject-code>
</add-function>
@@ -267,16 +254,16 @@
<add-function signature="__reduce__" return-type="PyObject*">
<inject-code class="target" position="beginning">
<insert-template name="reduce_code">
- <replace from="%REDUCE_FORMAT" to="ddddddddd" />
+ <replace from="%REDUCE_FORMAT" to="ddddddddd"/>
<replace from="%REDUCE_ARGS"
- to="%CPPSELF.m11(), %CPPSELF.m12(), %CPPSELF.m13(), %CPPSELF.m21(), %CPPSELF.m22(), %CPPSELF.m23(), %CPPSELF.m31(), %CPPSELF.m32(), %CPPSELF.m33()" />
+ to="%CPPSELF.m11(), %CPPSELF.m12(), %CPPSELF.m13(), %CPPSELF.m21(), %CPPSELF.m22(), %CPPSELF.m23(), %CPPSELF.m31(), %CPPSELF.m32(), %CPPSELF.m33()"/>
</insert-template>
</inject-code>
</add-function>
<modify-function signature="map(qreal,qreal,qreal*,qreal*)const">
<modify-argument index="0">
- <replace-type modified-type="PyObject" />
+ <replace-type modified-type="PyObject"/>
</modify-argument>
<modify-argument index="3">
<remove-argument/>
@@ -286,7 +273,7 @@
</modify-argument>
<inject-code class="target" position="beginning">
<insert-template name="fix_args,number*,number*">
- <replace from="$TYPE" to="qreal" />
+ <replace from="$TYPE" to="qreal"/>
</insert-template>
</inject-code>
</modify-function>
@@ -306,38 +293,14 @@
</inject-code>
</modify-function>
<add-function signature="quadToQuad(QPolygonF&amp;,QPolygonF&amp;)" return-type="PyObject*" static="true">
- <inject-code>
- QTransform _result;
- if (QTransform::quadToQuad(%1, %2, _result)) {
- %PYARG_0 = %CONVERTTOPYTHON[QTransform](_result);
- } else {
- Py_INCREF(Py_None);
- %PYARG_0 = Py_None;
- }
- </inject-code>
+ <inject-code file="../glue/qtgui.cpp" snippet="qtransform-quadtoquad"/>
</add-function>
<add-function signature="quadToSquare(QPolygonF &amp;)" return-type="PyObject*" static="true">
- <inject-code>
- QTransform _result;
- if (QTransform::quadToSquare(%1, _result)) {
- %PYARG_0 = %CONVERTTOPYTHON[QTransform](_result);
- } else {
- Py_INCREF(Py_None);
- %PYARG_0 = Py_None;
- }
- </inject-code>
+ <inject-code file="../glue/qtgui.cpp" snippet="qtransform-quadtosquare"/>
</add-function>
<add-function signature="squareToQuad(QPolygonF &amp;)" return-type="PyObject*" static="true">
- <inject-code>
- QTransform _result;
- if (QTransform::squareToQuad(%1, _result)) {
- %PYARG_0 = %CONVERTTOPYTHON[QTransform](_result);
- } else {
- Py_INCREF(Py_None);
- %PYARG_0 = Py_None;
- }
- </inject-code>
+ <inject-code file="../glue/qtgui.cpp" snippet="qtransform-squaretoquad"/>
</add-function>
<!-- Disambiguate from Qt3DCore/qtransform.h -->
<include file-name="QtGui/qtransform.h" location="global"/>
@@ -346,21 +309,17 @@
<value-type name="QStaticText">
<enum-type name="PerformanceHint"/>
</value-type>
- <value-type name="QTextFragment" />
+ <value-type name="QTextFragment"/>
<value-type name="QBitmap" >
<modify-function signature="fromData(QSize,const uchar*,QImage::Format)">
<modify-argument index="2">
<replace-type modified-type="PyBuffer"/>
</modify-argument>
- <inject-code>
- uchar *buffer = reinterpret_cast&lt;uchar*&gt;(Shiboken::Buffer::getPointer(%PYARG_2));
- QBitmap %0 = QBitmap::fromData(%1, buffer, %3);
- %PYARG_0 = %CONVERTTOPYTHON[QBitmap](%0);
- </inject-code>
+ <inject-code file="../glue/qtgui.cpp" snippet="qbitmap-fromdata"/>
</modify-function>
</value-type>
- <value-type name="QTextInlineObject" />
- <value-type name="QTextDocumentFragment" />
+ <value-type name="QTextInlineObject"/>
+ <value-type name="QTextDocumentFragment"/>
<value-type name="QTextOption">
<enum-type name="Flag" flags="Flags"/>
<enum-type name="TabType"/>
@@ -370,19 +329,12 @@
<value-type name="QTextLine" >
<enum-type name="CursorPosition"/>
<enum-type name="Edge"/>
- <modify-function signature="cursorToX(int*,QTextLine::Edge)const" remove="all" />
+ <modify-function signature="cursorToX(int*,QTextLine::Edge)const" remove="all"/>
<modify-function signature="cursorToX(int,QTextLine::Edge)const">
<modify-argument index="0">
- <replace-type modified-type="PyObject" />
+ <replace-type modified-type="PyObject"/>
</modify-argument>
- <inject-code class="target" position="beginning">
- %BEGIN_ALLOW_THREADS
- %RETURN_TYPE %0 = %CPPSELF->::%TYPE::%FUNCTION_NAME(&amp;%1, %2);
- %END_ALLOW_THREADS
- %PYARG_0 = PyTuple_New(2);
- PyTuple_SET_ITEM(%PYARG_0, 0, %CONVERTTOPYTHON[%RETURN_TYPE](%0));
- PyTuple_SET_ITEM(%PYARG_0, 1, %CONVERTTOPYTHON[%ARG1_TYPE](%1));
- </inject-code>
+ <inject-code class="target" position="beginning" file="../glue/qtgui.cpp" snippet="qtextline-cursortox"/>
</modify-function>
<modify-function signature="xToCursor(qreal,QTextLine::CursorPosition)const">
<modify-argument index="2">
@@ -390,12 +342,11 @@
</modify-argument>
</modify-function>
</value-type>
- <value-type name="QTextTableFormat" />
- <value-type name="QTextImageFormat" />
+ <value-type name="QTextTableFormat"/>
+ <value-type name="QTextImageFormat"/>
<value-type name="QTextFrameFormat" >
<enum-type name="BorderStyle"/>
<enum-type name="Position"/>
- <modify-function signature="isValid()const" access="non-final"/>
</value-type>
<value-type name="QTextLength">
<enum-type name="Type"/>
@@ -403,18 +354,15 @@
<value-type name="QPainterPath">
<enum-type name="ElementType"/>
<value-type name="Element">
- <modify-field name="x" write="false"/>
- <modify-field name="y" write="false"/>
- <modify-field name="type" write="false"/>
<include file-name="QPainterPath" location="global"/>
</value-type>
</value-type>
<value-type name="QPalette">
- <enum-type name="ColorGroup" />
- <enum-type name="ColorRole" />
+ <enum-type name="ColorGroup"/>
+ <enum-type name="ColorRole"/>
</value-type>
<object-type name="QInputMethod">
- <enum-type name="Action" />
+ <enum-type name="Action"/>
</object-type>
<value-type name="QKeySequence">
<enum-type name="SequenceFormat"/>
@@ -424,9 +372,9 @@
<add-function signature="__repr__" return-type="PyObject*">
<inject-code class="target" position="beginning">
<insert-template name="repr_code">
- <replace from="%REPR_FORMAT" to="%i, %i, %i, %i" />
+ <replace from="%REPR_FORMAT" to="%i, %i, %i, %i"/>
<replace from="%REPR_ARGS"
- to="(*%CPPSELF)[0], (*%CPPSELF)[1], (*%CPPSELF)[2], (*%CPPSELF)[3]" />
+ to="(*%CPPSELF)[0], (*%CPPSELF)[1], (*%CPPSELF)[2], (*%CPPSELF)[3]"/>
</insert-template>
</inject-code>
</add-function>
@@ -434,22 +382,15 @@
<add-function signature="__reduce__" return-type="PyObject*">
<inject-code class="target" position="beginning">
<insert-template name="reduce_code">
- <replace from="%REDUCE_FORMAT" to="iiii" />
- <replace from="%REDUCE_ARGS" to="(*%CPPSELF)[0], (*%CPPSELF)[1], (*%CPPSELF)[2], (*%CPPSELF)[3]" />
+ <replace from="%REDUCE_FORMAT" to="iiii"/>
+ <replace from="%REDUCE_ARGS" to="(*%CPPSELF)[0], (*%CPPSELF)[1], (*%CPPSELF)[2], (*%CPPSELF)[3]"/>
</insert-template>
</inject-code>
</add-function>
<modify-function signature="operator[](uint)const" remove="all"/>
<add-function signature="__getitem__">
- <inject-code class="target" position="beginning">
- if (_i &lt; 0 || _i >= %CPPSELF.count()) {
- PyErr_SetString(PyExc_IndexError, "index out of bounds");
- return 0;
- }
- int item = (*%CPPSELF)[_i];
- return %CONVERTTOPYTHON[int](item);
- </inject-code>
+ <inject-code class="target" position="beginning" file="../glue/qtgui.cpp" snippet="qkeysequence-getitem"/>
</add-function>
<!-- ### Not necessary due the PySide QVariant conversion rules -->
@@ -465,25 +406,22 @@
<modify-argument index="return">
<replace-type modified-type="PyObject"/>
</modify-argument>
- <inject-code>
- %PYARG_0 = Shiboken::Buffer::newObject(%CPPSELF.data(), %CPPSELF.size());
- </inject-code>
+ <inject-code file="../glue/qtgui.cpp" snippet="qpicture-data"/>
</modify-function>
<modify-function signature="setData(const char*,uint)">
<modify-argument index="1">
<replace-type modified-type="PyBuffer"/>
<conversion-rule class="target">
- PyObject *%out = Shiboken::Buffer::newObject(%in, size);
+ <insert-template name="const_char_pybuffer"/>
</conversion-rule>
<conversion-rule class="native">
- Py_ssize_t bufferLen;
- char *%out = reinterpret_cast&lt;char*&gt;(Shiboken::Buffer::getPointer(%PYARG_1, &amp;bufferLen));
+ <insert-template name="pybuffer_const_char"/>
</conversion-rule>
</modify-argument>
<modify-argument index="2">
<remove-argument/>
<conversion-rule class="native">
- uint %out = bufferLen;
+ <insert-template name="uint_remove"/>
</conversion-rule>
</modify-argument>
</modify-function>
@@ -506,13 +444,13 @@
<!-- ### -->
<add-function signature="__iter__()" return-type="PyObject*">
<inject-code class="target" position="beginning">
- <insert-template name="__iter__" />
+ <insert-template name="__iter__"/>
</inject-code>
</add-function>
<add-function signature="__next__()" return-type="PyObject*">
<inject-code class="target" position="beginning">
<insert-template name="__next__">
- <replace from="%CPPSELF_TYPE" to="QTextBlock::iterator" />
+ <replace from="%CPPSELF_TYPE" to="QTextBlock::iterator"/>
</insert-template>
</inject-code>
</add-function>
@@ -520,48 +458,34 @@
<add-function signature="__iter__()" return-type="PyObject*">
<inject-code class="target" position="beginning">
<insert-template name="__iter_parent__">
- <replace from="%CPPSELF_TYPE" to="QTextBlock::iterator" />
+ <replace from="%CPPSELF_TYPE" to="QTextBlock::iterator"/>
</insert-template>
</inject-code>
</add-function>
<modify-function signature="setUserData(QTextBlockUserData*)">
- <inject-code class="target" position="end">
- const QTextDocument *doc = %CPPSELF.document();
- if (doc) {
- Shiboken::AutoDecRef pyDocument(%CONVERTTOPYTHON[QTextDocument*](doc));
- Shiboken::Object::setParent(pyDocument, %PYARG_1);
- }
- </inject-code>
+ <inject-code class="target" position="end" file="../glue/qtgui.cpp" snippet="qtextblock-setuserdata"/>
</modify-function>
<modify-function signature="userData()const">
<modify-argument index="return">
<define-ownership class="target" owner="default"/>
</modify-argument>
- <inject-code class="target" position="end">
- const QTextDocument *doc = %CPPSELF.document();
- if (doc) {
- Shiboken::AutoDecRef pyDocument(%CONVERTTOPYTHON[QTextDocument*](doc));
- Shiboken::Object::setParent(pyDocument, %PYARG_0);
- }
- </inject-code>
+ <inject-code class="target" position="end" file="../glue/qtgui.cpp" snippet="qtextblock-userdata"/>
</modify-function>
</value-type>
<value-type name="QTextBlockFormat">
<enum-type name="LineHeightTypes" since="4.8" revision="4800"/>
</value-type>
- <value-type name="QTextTableCellFormat" />
+ <value-type name="QTextTableCellFormat"/>
<value-type name="QTextCharFormat" >
<enum-type name="FontPropertiesInheritanceBehavior"/>
<enum-type name="UnderlineStyle"/>
<enum-type name="VerticalAlignment"/>
- <modify-function signature="isValid()const" access="non-final"/>
</value-type>
<value-type name="QTextFormat" >
<enum-type name="FormatType"/>
<enum-type name="ObjectTypes"/>
<enum-type name="PageBreakFlag" flags="PageBreakFlags"/>
- <enum-type name="Property" />
- <modify-function signature="isValid()const" access="non-final"/>
+ <enum-type name="Property"/>
</value-type>
<value-type name="QTextListFormat">
<enum-type name="Style"/>
@@ -572,17 +496,10 @@
<include file-name="QTransform" location="global"/>
</extra-includes>
<add-function signature="__reduce__" return-type="PyObject*">
- <inject-code class="target" position="beginning">
- PyObject *points = PyList_New(%CPPSELF.count());
- for (int i = 0, max = %CPPSELF.count(); i &lt; max; ++i){
- int x, y;
- %CPPSELF.point(i, &amp;x, &amp;y);
- QPoint pt = QPoint(x, y);
- PyList_SET_ITEM(points, i, %CONVERTTOPYTHON[QPoint](pt));
- }
+ <inject-code class="target" position="beginning" file="../glue/qtgui.cpp" snippet="qpolygon-reduce">
<insert-template name="reduce_code">
- <replace from="%REDUCE_FORMAT" to="N" />
- <replace from="%REDUCE_ARGS" to="points" />
+ <replace from="%REDUCE_FORMAT" to="N"/>
+ <replace from="%REDUCE_ARGS" to="points"/>
</insert-template>
</inject-code>
</add-function>
@@ -592,18 +509,10 @@
<!-- ### A QVector parameter, for no defined type, will generate wrong code. -->
<modify-function signature="operator+=(QVector&lt;QPoint&gt;)" remove="all"/>
<modify-function signature="operator&lt;&lt;(QPoint)">
- <inject-code>
- // %FUNCTION_NAME()
- *%CPPSELF &lt;&lt; %1;
- %PYARG_0 = %CONVERTTOPYTHON[QPolygon*](%CPPSELF);
- </inject-code>
+ <inject-code file="../glue/qtgui.cpp" snippet="qpolygon-operatorlowerlower"/>
</modify-function>
<modify-function signature="operator&lt;&lt;(QVector&lt;QPoint&gt;)">
- <inject-code>
- // %FUNCTION_NAME()
- *%CPPSELF &lt;&lt; %1;
- %PYARG_0 = %CONVERTTOPYTHON[QPolygon*](%CPPSELF);
- </inject-code>
+ <inject-code file="../glue/qtgui.cpp" snippet="qpolygon-operatorlowerlower"/>
</modify-function>
<!-- ### -->
</value-type>
@@ -631,26 +540,6 @@
</modify-function>
</value-type>
- <template name="load_xpm">
- Shiboken::AutoDecRef strList(PySequence_Fast(%PYARG_1, "Invalid sequence."));
- int lineCount = PySequence_Fast_GET_SIZE(strList.object());
- for (int line = 0; line &lt; lineCount; ++line) {
- if (!Shiboken::String::check(PySequence_Fast_GET_ITEM(strList.object(), line))) {
- PyErr_SetString(PyExc_TypeError, "The argument must be a sequence of strings.");
- break;
- }
- }
-
- const char **xpm = reinterpret_cast&lt;const char**&gt;(malloc(lineCount * sizeof(const char**)));
- for (int line = 0; line &lt; lineCount; ++line)
- xpm[line] = Shiboken::String::toCString(PySequence_Fast_GET_ITEM(strList.object(), line));
-
- %BEGIN_ALLOW_THREADS
- %0 = new %TYPE(xpm);
- %END_ALLOW_THREADS
-
- free(xpm);
- </template>
<value-type name="QPixmap" >
<!--<conversion-rule>-->
<!--<target-to-native replace="no">-->
@@ -664,16 +553,14 @@
<modify-argument index="1">
<rename to="image"/>
</modify-argument>
- <inject-code class="target" position="beginning">
- %0 = new %TYPE(QPixmap::fromImage(%1));
- </inject-code>
+ <inject-code class="target" position="beginning" file="../glue/qtgui.cpp" snippet="qpixmap"/>
</add-function>
- <modify-function signature="QPixmap(const char*[])">
+ <modify-function signature="QPixmap(const char*const[])">
<modify-argument index="1">
- <replace-type modified-type="PySequence" />
+ <replace-type modified-type="PySequence"/>
</modify-argument>
<inject-code class="target" position="beginning">
- <insert-template name="load_xpm" />
+ <insert-template name="load_xpm"/>
</inject-code>
</modify-function>
@@ -681,16 +568,28 @@
<modify-function signature="operator!()const" remove="all"/>
<modify-function signature="loadFromData(const uchar*,uint,const char*,QFlags&lt;Qt::ImageConversionFlag&gt;)">
+ <inject-documentation format="target" mode="append">
+ This method must be used with an QPixmap object, not the class:
+
+ ::
+
+ # Wrong
+ pixmap = QPixmap.loadFromData(...)
+
+ # Right
+ pixmap = QPixmap().loadFromData(...)
+
+ </inject-documentation>
<modify-argument index="1">
<replace-type modified-type="PyBytes"/>
<conversion-rule class="native">
- const uchar *%out = reinterpret_cast&lt;const uchar*>(PyBytes_AS_STRING(%PYARG_1));
+ <insert-template name="pybytes_const_uchar"/>
</conversion-rule>
</modify-argument>
<modify-argument index="2">
<remove-argument/>
<conversion-rule class="native">
- uint %out = static_cast&lt;uint>(PyBytes_Size(%PYARG_1));
+ <insert-template name="pybytes_uint"/>
</conversion-rule>
</modify-argument>
</modify-function>
@@ -705,7 +604,7 @@
<enum-type name="SelectionType"/>
<modify-function signature="selectedTableCells(int*,int*,int*,int*)const">
<modify-argument index="0">
- <replace-type modified-type="PyObject" />
+ <replace-type modified-type="PyObject"/>
</modify-argument>
<modify-argument index="1">
<remove-argument/>
@@ -721,12 +620,12 @@
</modify-argument>
<inject-code class="target" position="beginning">
<insert-template name="fix_number*,number*,number*,number*">
- <replace from="$TYPE" to="int" />
+ <replace from="$TYPE" to="int"/>
</insert-template>
</inject-code>
<inject-code class="native" position="end">
<insert-template name="fix_native_return_number*,number*,number*,number*">
- <replace from="$TYPE" to="int" />
+ <replace from="$TYPE" to="int"/>
</insert-template>
</inject-code>
</modify-function>
@@ -755,9 +654,9 @@
<add-function signature="__repr__" return-type="PyObject*">
<inject-code class="target" position="beginning">
<insert-template name="repr_code">
- <replace from="%REPR_FORMAT" to="%f, %f, %f, %f, %f, %f" />
+ <replace from="%REPR_FORMAT" to="%f, %f, %f, %f, %f, %f"/>
<replace from="%REPR_ARGS"
- to="%CPPSELF.m11(), %CPPSELF.m12(), %CPPSELF.m21(), %CPPSELF.m22(), %CPPSELF.dx(), %CPPSELF.dy()" />
+ to="%CPPSELF.m11(), %CPPSELF.m12(), %CPPSELF.m21(), %CPPSELF.m22(), %CPPSELF.dx(), %CPPSELF.dy()"/>
</insert-template>
</inject-code>
</add-function>
@@ -765,18 +664,11 @@
<add-function signature="__reduce__" return-type="PyObject*">
<inject-code class="target" position="beginning">
<insert-template name="reduce_code">
- <replace from="%REDUCE_FORMAT" to="dddddd" />
- <replace from="%REDUCE_ARGS" to="%CPPSELF.m11(), %CPPSELF.m12(), %CPPSELF.m21(), %CPPSELF.m22(), %CPPSELF.dx(), %CPPSELF.dy()" />
+ <replace from="%REDUCE_FORMAT" to="dddddd"/>
+ <replace from="%REDUCE_ARGS" to="%CPPSELF.m11(), %CPPSELF.m12(), %CPPSELF.m21(), %CPPSELF.m22(), %CPPSELF.dx(), %CPPSELF.dy()"/>
</insert-template>
</inject-code>
</add-function>
- <template name="qmatrix_map">
- %ARG1_TYPE a, b;
- %CPPSELF.%FUNCTION_NAME(%1, %2, &amp;a, &amp;b);
- %PYARG_0 = PyTuple_New(2);
- PyTuple_SET_ITEM(%PYARG_0, 0, %CONVERTTOPYTHON[%ARG1_TYPE](a));
- PyTuple_SET_ITEM(%PYARG_0, 1, %CONVERTTOPYTHON[%ARG1_TYPE](b));
- </template>
<modify-function signature="map(int,int,int*,int*)const">
<modify-argument index="3">
<remove-argument />
@@ -785,7 +677,7 @@
<remove-argument />
</modify-argument>
<inject-code>
- <insert-template name="qmatrix_map" />
+ <insert-template name="qmatrix_map"/>
</inject-code>
</modify-function>
<modify-function signature="map(qreal,qreal,qreal*,qreal*)const">
@@ -796,9 +688,15 @@
<remove-argument />
</modify-argument>
<inject-code>
- <insert-template name="qmatrix_map" />
+ <insert-template name="qmatrix_map"/>
</inject-code>
</modify-function>
+ <modify-function signature="map(const QPoint&amp;)const">
+ <modify-argument index="return">
+ <replace-type modified-type="QPoint"/>
+ </modify-argument>
+ <inject-code file="../glue/qtgui.cpp" snippet="qmatrix-map-point" />
+ </modify-function>
<modify-function signature="inverted(bool*)const">
<modify-argument index="1">
<remove-argument/>
@@ -812,15 +710,15 @@
</modify-function>
</value-type>
- <value-type name="QConicalGradient" polymorphic-id-expression="%1-&gt;type() == QGradient::ConicalGradient" />
- <value-type name="QFontInfo" />
- <value-type name="QRadialGradient" polymorphic-id-expression="%1-&gt;type() == QGradient::RadialGradient" />
+ <value-type name="QConicalGradient" polymorphic-id-expression="%1-&gt;type() == QGradient::ConicalGradient"/>
+ <value-type name="QFontInfo"/>
+ <value-type name="QRadialGradient" polymorphic-id-expression="%1-&gt;type() == QGradient::RadialGradient"/>
<value-type name="QFont" >
<enum-type name="Capitalization"/>
<enum-type name="SpacingType"/>
<enum-type name="Stretch"/>
<enum-type name="Style"/>
- <enum-type name="StyleHint" />
+ <enum-type name="StyleHint"/>
<enum-type name="StyleStrategy"/>
<enum-type name="Weight"/>
<enum-type name="HintingPreference" since="4.8" revision="4800"/>
@@ -843,7 +741,7 @@
<include file-name="QImage" location="global"/>
</extra-includes>
</function> -->
- <primitive-type name="QImageCleanupFunction" />
+ <primitive-type name="QImageCleanupFunction"/>
<value-type name="QImage">
<enum-type name="Format"/>
<enum-type name="InvertMode"/>
@@ -852,17 +750,13 @@
<include file-name="QMatrix" location="global"/>
</extra-includes>
- <template name="qimage_buffer_constructor">
- uchar *ptr = reinterpret_cast&lt;uchar*&gt;(Shiboken::Buffer::getPointer(%PYARG_1));
- %0 = new %TYPE(ptr, %ARGS);
- </template>
<modify-function signature="QImage(uchar*,int,int,int,QImage::Format,QImageCleanupFunction,void*)">
<modify-argument index="1">
<replace-type modified-type="PyBuffer"/>
</modify-argument>
<inject-code>
<insert-template name="qimage_buffer_constructor">
- <replace from="%ARGS" to="%2, %3, %4, %5" />
+ <replace from="%ARGS" to="%2, %3, %4, %5"/>
</insert-template>
</inject-code>
</modify-function>
@@ -872,7 +766,7 @@
</modify-argument>
<inject-code>
<insert-template name="qimage_buffer_constructor">
- <replace from="%ARGS" to="%2, %3, %4" />
+ <replace from="%ARGS" to="%2, %3, %4"/>
</insert-template>
</inject-code>
</modify-function>
@@ -880,61 +774,52 @@
<add-function signature="QImage(QString&amp;,int,int,int,QImage::Format)">
<inject-code>
<insert-template name="qimage_buffer_constructor">
- <replace from="%ARGS" to="%2, %3, %4, %5" />
+ <replace from="%ARGS" to="%2, %3, %4, %5"/>
</insert-template>
</inject-code>
</add-function>
<add-function signature="QImage(QString&amp;,int,int,QImage::Format)">
<inject-code>
<insert-template name="qimage_buffer_constructor">
- <replace from="%ARGS" to="%2, %3, %4" />
+ <replace from="%ARGS" to="%2, %3, %4"/>
</insert-template>
</inject-code>
</add-function>
<!-- The non-const versions are already used -->
<modify-function signature="QImage(const uchar*,int,int,int,QImage::Format,QImageCleanupFunction,void*)" remove="all"/>
- <modify-function signature="QImage(const uchar*,int,int,QImage::Format,QImageCleanupFunction,void*)" remove="all" />
+ <modify-function signature="QImage(const uchar*,int,int,QImage::Format,QImageCleanupFunction,void*)" remove="all"/>
<!-- ### -->
- <modify-function signature="QImage(const char*[])">
+ <modify-function signature="QImage(const char*const[])">
<modify-argument index="1">
- <replace-type modified-type="PySequence" />
+ <replace-type modified-type="PySequence"/>
</modify-argument>
<inject-code class="target" position="beginning">
- <insert-template name="load_xpm" />
+ <insert-template name="load_xpm"/>
</inject-code>
</modify-function>
<!-- ### There is already an fromData with a QByteArray type (that is convertible from Python's str) as the first type. -->
<modify-function signature="fromData(const uchar*,int,const char*)" remove="all"/>
<!-- ### There is already an loadFromData with a QByteArray type (that is convertible from Python's str) as the first type. -->
- <modify-function signature="loadFromData(const uchar*,int,const char*)" remove="all" />
+ <modify-function signature="loadFromData(const uchar*,int,const char*)" remove="all"/>
<modify-function signature="constBits()const" since="4.7">
- <inject-code>
- %PYARG_0 = Shiboken::Buffer::newObject(%CPPSELF.%FUNCTION_NAME(), %CPPSELF.byteCount());
- </inject-code>
+ <inject-code file="../glue/qtgui.cpp" snippet="qimage-constbits"/>
</modify-function>
<modify-function signature="bits()">
- <inject-code>
- // byteCount() is only available on Qt4.7, so we use bytesPerLine * height
- %PYARG_0 = Shiboken::Buffer::newObject(%CPPSELF.%FUNCTION_NAME(), %CPPSELF.bytesPerLine() * %CPPSELF.height(), Shiboken::Buffer::ReadWrite);
- </inject-code>
+ <inject-code file="../glue/qtgui.cpp" snippet="qimage-bits"/>
</modify-function>
<modify-function signature="constScanLine(int)const" since="4.7">
- <inject-code>
- %PYARG_0 = Shiboken::Buffer::newObject(%CPPSELF.%FUNCTION_NAME(%1), %CPPSELF.bytesPerLine());
- </inject-code>
+ <inject-code file="../glue/qtgui.cpp" snippet="qimage-constscanline"/>
<modify-argument index="return">
- <replace-type modified-type="PyObject" />
+ <replace-type modified-type="PyObject"/>
</modify-argument>
</modify-function>
<modify-function signature="scanLine(int)">
- <inject-code>
- %PYARG_0 = Shiboken::Buffer::newObject(%CPPSELF.%FUNCTION_NAME(%1), %CPPSELF.bytesPerLine(), Shiboken::Buffer::ReadWrite);
- </inject-code>
+ <inject-code file="../glue/qtgui.cpp" snippet="qimage-scanline"/>
<modify-argument index="return">
- <replace-type modified-type="PyObject" />
+ <replace-type modified-type="PyObject"/>
</modify-argument>
</modify-function>
<!--
@@ -961,8 +846,8 @@
<extra-includes>
<include file-name="QStringList" location="global"/>
</extra-includes>
- <enum-type name="SystemFont" />
- <enum-type name="WritingSystem" />
+ <enum-type name="SystemFont"/>
+ <enum-type name="WritingSystem"/>
</value-type>
<value-type name="QPen">
<extra-includes>
@@ -975,48 +860,6 @@
</extra-includes>
</value-type>
- <template name="qcolor_repr">
- switch(%CPPSELF.spec()) {
- case QColor::Rgb:
- {
- qreal r, g, b, a;
- %CPPSELF.getRgbF(&amp;r, &amp;g, &amp;b, &amp;a);
- QString repr = QString().sprintf("PySide2.QtGui.QColor.fromRgbF(%.6f, %.6f, %.6f, %.6f)", r, g, b, a);
- %PYARG_0 = Shiboken::String::fromCString(qPrintable(repr));
- break;
- }
- case QColor::Hsv:
- {
- qreal h, s, v, a;
- %CPPSELF.getHsvF(&amp;h, &amp;s, &amp;v, &amp;a);
- QString repr = QString().sprintf("PySide2.QtGui.QColor.fromHsvF(%.6f, %.6f, %.6f, %.6f)", h, s, v, a);
- %PYARG_0 = Shiboken::String::fromCString(qPrintable(repr));
- break;
- }
- case QColor::Cmyk:
- {
- qreal c, m, y, k, a;
- %CPPSELF.getCmykF(&amp;c, &amp;m, &amp;y, &amp;k, &amp;a);
- QString repr = QString().sprintf("PySide2.QtGui.QColor.fromCmykF(%.6f, %.6f, %.6f, %.6f, %.6f)", c, m, y, k, a);
- %PYARG_0 = Shiboken::String::fromCString(qPrintable(repr));
- break;
- }
- #if QT_VERSION >= 0x040600
- case QColor::Hsl:
- {
- qreal h, s, l, a;
- %CPPSELF.getHslF(&amp;h, &amp;s, &amp;l, &amp;a);
- QString repr = QString().sprintf("PySide2.QtGui.QColor.fromHslF(%.6f, %.6f, %.6f, %.6f)", h, s, l, a);
- %PYARG_0 = Shiboken::String::fromCString(qPrintable(repr));
- break;
- }
- #endif
- default:
- {
- %PYARG_0 = Shiboken::String::fromCString("PySide2.QtGui.QColor()");
- }
- }
- </template>
<value-type name="QColor">
<enum-type name="NameFormat"/>
<enum-type name="Spec"/>
@@ -1025,117 +868,36 @@
</extra-includes>
<add-function signature="__repr__" return-type="PyObject*">
<inject-code class="target" position="beginning">
- <insert-template name="qcolor_repr" />
+ <insert-template name="qcolor_repr"/>
</inject-code>
</add-function>
<add-function signature="__str__" return-type="PyObject*">
<inject-code class="target" position="beginning">
- <insert-template name="qcolor_repr" />
+ <insert-template name="qcolor_repr"/>
</inject-code>
</add-function>
<add-function signature="__setstate__(PyObject*)" return-type="PyObject">
- <inject-code>
- Shiboken::AutoDecRef func(PyObject_GetAttr(%PYSELF, PyTuple_GET_ITEM(%1, 0)));
- PyObject *args = PyTuple_GET_ITEM(%1, 1);
- %PYARG_0 = PyObject_Call(func, args, NULL);
- </inject-code>
+ <inject-code file="../glue/qtgui.cpp" snippet="qcolor-setstate"/>
</add-function>
<add-function signature="__reduce__" return-type="PyObject">
- <inject-code class="target" position="beginning">
- switch(%CPPSELF.spec()) {
- case QColor::Rgb:
- {
- qreal r, g, b, a;
- %CPPSELF.getRgbF(&amp;r, &amp;g, &amp;b, &amp;a);
- %PYARG_0 = Py_BuildValue("(ON(s(ffff)))", Py_TYPE(%PYSELF), PyTuple_New(0), "setRgbF", (float)r, (float)g, (float)b, (float)a);
- break;
- }
- case QColor::Hsv:
- {
- qreal h, s, v, a;
- %CPPSELF.getHsvF(&amp;h, &amp;s, &amp;v, &amp;a);
- %PYARG_0 = Py_BuildValue("(ON(s(ffff)))", Py_TYPE(%PYSELF), PyTuple_New(0), "setHsvF", (float)h, (float)s, (float)v, (float)a);
- break;
- }
- case QColor::Cmyk:
- {
- qreal c, m, y, k, a;
- %CPPSELF.getCmykF(&amp;c, &amp;m, &amp;y, &amp;k, &amp;a);
- %PYARG_0 = Py_BuildValue("(ON(s(fffff)))", Py_TYPE(%PYSELF), PyTuple_New(0), "setCmykF", (float)c, (float)m, (float)y, (float)k, (float)a);
- break;
- }
- #if QT_VERSION >= 0x040600
- case QColor::Hsl:
- {
- qreal h, s, l, a;
- %CPPSELF.getHslF(&amp;h, &amp;s, &amp;l, &amp;a);
- %PYARG_0 = Py_BuildValue("(ON(s(ffff)))", Py_TYPE(%PYSELF), PyTuple_New(0), "setHslF", (float)h, (float)s, (float)l, (float)a);
- break;
- }
- #endif
- default:
- {
- %PYARG_0 = Py_BuildValue("(N(O))", PyObject_Type(%PYSELF), Py_None);
- }
- }
- </inject-code>
+ <inject-code class="target" position="beginning" file="../glue/qtgui.cpp" snippet="qcolor-reduce"/>
</add-function>
<add-function signature="toTuple" return-type="PyObject">
- <inject-code class="target" position="beginning">
- switch(%CPPSELF.spec()) {
- case QColor::Rgb:
- {
- int r, g, b, a;
- %CPPSELF.getRgb(&amp;r, &amp;g, &amp;b, &amp;a);
- %PYARG_0 = Py_BuildValue("iiii", r, g, b, a);
- break;
- }
- case QColor::Hsv:
- {
- int h, s, v, a;
- %CPPSELF.getHsv(&amp;h, &amp;s, &amp;v, &amp;a);
- %PYARG_0 = Py_BuildValue("iiii", h, s, v, a);
- break;
- }
- case QColor::Cmyk:
- {
- int c, m, y, k, a;
- %CPPSELF.getCmyk(&amp;c, &amp;m, &amp;y, &amp;k, &amp;a);
- %PYARG_0 = Py_BuildValue("iiiii", c, m, y, k, a);
- break;
- }
- case QColor::Hsl:
- {
- int h, s, l, a;
- %CPPSELF.getHsl(&amp;h, &amp;s, &amp;l, &amp;a);
- %PYARG_0 = Py_BuildValue("iiii", h, s, l, a);
- break;
- }
- default:
- {
- %PYARG_0 = 0;
- }
- }
- </inject-code>
+ <inject-code class="target" position="beginning" file="../glue/qtgui.cpp" snippet="qcolor-totuple"/>
</add-function>
<!-- ### "QColor(QColor::Spec)" is an internal method. -->
<modify-function signature="QColor(QColor::Spec)" remove="all"/>
<!-- ### Constructor removed because we already have an overload using QString. -->
- <modify-function signature="QColor(const char*)" remove="all" />
+ <modify-function signature="QColor(const char*)" remove="all"/>
<!-- ### -->
<add-function signature="QColor(QVariant)">
- <inject-code class="target" position="beginning">
- if (%1.type() == QVariant::Color)
- %0 = new %TYPE(%1.value&lt;QColor>());
- else
- PyErr_SetString(PyExc_TypeError, "QVariant must be holding a QColor");
- </inject-code>
+ <inject-code class="target" position="beginning" file="../glue/qtgui.cpp" snippet="qcolor"/>
</add-function>
<!-- get* methods. Inject code -->
<modify-function signature="getCmyk(int*,int*,int*,int*,int*)">
<modify-argument index="0">
- <replace-type modified-type="PyObject *" />
+ <replace-type modified-type="PyObject *"/>
</modify-argument>
<modify-argument index="1">
<remove-argument/>
@@ -1156,13 +918,13 @@
<inject-code class="target" position="beginning">
<insert-template name="fix_number*,number*,number*,number*,number*">
- <replace from="$TYPE" to="int" />
+ <replace from="$TYPE" to="int"/>
</insert-template>
</inject-code>
</modify-function>
<modify-function signature="getCmykF(qreal*,qreal*,qreal*,qreal*,qreal*)">
<modify-argument index="0">
- <replace-type modified-type="PyObject *" />
+ <replace-type modified-type="PyObject *"/>
</modify-argument>
<modify-argument index="1">
<remove-argument/>
@@ -1183,13 +945,13 @@
<inject-code class="target" position="beginning">
<insert-template name="fix_number*,number*,number*,number*,number*">
- <replace from="$TYPE" to="qreal" />
+ <replace from="$TYPE" to="qreal"/>
</insert-template>
</inject-code>
</modify-function>
<modify-function signature="getHsl(int*,int*,int*,int*)const" since="4.6">
<modify-argument index="0">
- <replace-type modified-type="PyObject *" />
+ <replace-type modified-type="PyObject *"/>
</modify-argument>
<modify-argument index="1">
<remove-argument/>
@@ -1206,13 +968,13 @@
</modify-argument>
<inject-code class="target" position="beginning">
<insert-template name="fix_number*,number*,number*,number*">
- <replace from="$TYPE" to="int" />
+ <replace from="$TYPE" to="int"/>
</insert-template>
</inject-code>
</modify-function>
<modify-function signature="getHslF(qreal*,qreal*,qreal*,qreal*)const" since="4.6">
<modify-argument index="0">
- <replace-type modified-type="PyObject *" />
+ <replace-type modified-type="PyObject *"/>
</modify-argument>
<modify-argument index="1">
<remove-argument/>
@@ -1229,13 +991,13 @@
</modify-argument>
<inject-code class="target" position="beginning">
<insert-template name="fix_number*,number*,number*,number*">
- <replace from="$TYPE" to="qreal" />
+ <replace from="$TYPE" to="qreal"/>
</insert-template>
</inject-code>
</modify-function>
<modify-function signature="getHsv(int*,int*,int*,int*)const">
<modify-argument index="0">
- <replace-type modified-type="PyObject *" />
+ <replace-type modified-type="PyObject *"/>
</modify-argument>
<modify-argument index="1">
<remove-argument/>
@@ -1252,13 +1014,13 @@
</modify-argument>
<inject-code class="target" position="beginning">
<insert-template name="fix_number*,number*,number*,number*">
- <replace from="$TYPE" to="int" />
+ <replace from="$TYPE" to="int"/>
</insert-template>
</inject-code>
</modify-function>
<modify-function signature="getHsvF(qreal*,qreal*,qreal*,qreal*)const">
<modify-argument index="0">
- <replace-type modified-type="PyObject *" />
+ <replace-type modified-type="PyObject *"/>
</modify-argument>
<modify-argument index="1">
<remove-argument/>
@@ -1275,13 +1037,13 @@
</modify-argument>
<inject-code class="target" position="beginning">
<insert-template name="fix_number*,number*,number*,number*">
- <replace from="$TYPE" to="qreal" />
+ <replace from="$TYPE" to="qreal"/>
</insert-template>
</inject-code>
</modify-function>
<modify-function signature="getRgb(int*,int*,int*,int*)const">
<modify-argument index="0">
- <replace-type modified-type="PyObject *" />
+ <replace-type modified-type="PyObject *"/>
</modify-argument>
<modify-argument index="1">
<remove-argument/>
@@ -1298,13 +1060,13 @@
</modify-argument>
<inject-code class="target" position="beginning">
<insert-template name="fix_number*,number*,number*,number*">
- <replace from="$TYPE" to="int" />
+ <replace from="$TYPE" to="int"/>
</insert-template>
</inject-code>
</modify-function>
<modify-function signature="getRgbF(qreal*,qreal*,qreal*,qreal*)const">
<modify-argument index="0">
- <replace-type modified-type="PyObject *" />
+ <replace-type modified-type="PyObject *"/>
</modify-argument>
<modify-argument index="1">
<remove-argument/>
@@ -1321,7 +1083,7 @@
</modify-argument>
<inject-code class="target" position="beginning">
<insert-template name="fix_number*,number*,number*,number*">
- <replace from="$TYPE" to="qreal" />
+ <replace from="$TYPE" to="qreal"/>
</insert-template>
</inject-code>
</modify-function>
@@ -1350,56 +1112,14 @@
<modify-argument index="5">
<replace-type modified-type="PyObject"/>
</modify-argument>
- <inject-code class="target" position="beginning">
- int *array = nullptr;
- bool errorOccurred = false;
-
- if (numArgs == 5) {
- array = Shiboken::sequenceToIntArray(%PYARG_5, true);
- if (PyErr_Occurred()) {
- if (array)
- delete []array;
- errorOccurred = true;
- }
- }
-
- if (!errorOccurred) {
- %RETURN_TYPE retval = %CPPSELF.%FUNCTION_NAME(%1, %2, %3, %4, array);
-
- if (array)
- delete []array;
-
- %PYARG_0 = %CONVERTTOPYTHON[%RETURN_TYPE](retval);
- }
- </inject-code>
+ <inject-code class="target" position="beginning" file="../glue/qtgui.cpp" snippet="qfontmetricsf-boundingrect"/>
</modify-function>
<modify-function signature="size(int,QString,int,int*)const">
<modify-argument index="4">
<replace-type modified-type="PyObject"/>
</modify-argument>
- <inject-code class="target" position="beginning">
- int *array = nullptr;
- bool errorOccurred = false;
-
- if (numArgs == 4) {
- array = Shiboken::sequenceToIntArray(%PYARG_4, true);
- if (PyErr_Occurred()) {
- if (array)
- delete []array;
- errorOccurred = true;
- }
- }
-
- if (!errorOccurred) {
- %RETURN_TYPE retval = %CPPSELF.%FUNCTION_NAME(%1, %2, %3, array);
-
- if (array)
- delete []array;
-
- %PYARG_0 = %CONVERTTOPYTHON[%RETURN_TYPE](retval);
- }
- </inject-code>
+ <inject-code class="target" position="beginning" file="../glue/qtgui.cpp" snippet="qfontmetricsf-size"/>
</modify-function>
</value-type>
<value-type name="QFontMetrics" >
@@ -1426,107 +1146,44 @@
<modify-argument index="8">
<replace-type modified-type="PyObject"/>
</modify-argument>
- <inject-code class="target" position="beginning">
- int *array = nullptr;
- bool errorOccurred = false;
-
- if (numArgs == 8) {
- array = Shiboken::sequenceToIntArray(%PYARG_8, true);
- if (PyErr_Occurred()) {
- if (array)
- delete []array;
- errorOccurred = true;
- }
- }
-
- if (!errorOccurred) {
- %RETURN_TYPE retval = %CPPSELF.%FUNCTION_NAME(%1, %2, %3, %4, %5, %6, %7, array);
-
- if (array)
- delete []array;
-
- %PYARG_0 = %CONVERTTOPYTHON[%RETURN_TYPE](retval);
- }
- </inject-code>
+ <inject-code class="target" position="beginning" file="../glue/qtgui.cpp" snippet="qfontmetrics-boundingrect-1"/>
</modify-function>
<modify-function signature="boundingRect(QRect,int,QString,int,int*)const">
<modify-argument index="5">
<replace-type modified-type="PyObject"/>
</modify-argument>
- <inject-code class="target" position="beginning">
- int *array = nullptr;
- bool errorOccurred = false;
-
- if (numArgs == 5) {
- array = Shiboken::sequenceToIntArray(%PYARG_5, true);
- if (PyErr_Occurred()) {
- if (array)
- delete []array;
- errorOccurred = true;
- }
- }
-
- if (!errorOccurred) {
- %RETURN_TYPE retval = %CPPSELF.%FUNCTION_NAME(%1, %2, %3, %4, array);
-
- if (array)
- delete []array;
-
- %PYARG_0 = %CONVERTTOPYTHON[%RETURN_TYPE](retval);
- }
- </inject-code>
+ <inject-code class="target" position="beginning" file="../glue/qtgui.cpp" snippet="qfontmetrics-boundingrect-2"/>
</modify-function>
<modify-function signature="size(int,QString,int,int*)const">
<modify-argument index="4">
<replace-type modified-type="PyObject"/>
</modify-argument>
- <inject-code class="target" position="beginning">
- int *array = nullptr;
- bool errorOccurred = false;
-
- if (numArgs == 4) {
- array = Shiboken::sequenceToIntArray(%PYARG_4, true);
- if (PyErr_Occurred()) {
- if (array)
- delete []array;
- errorOccurred = true;
- }
- }
-
- if (!errorOccurred) {
- %RETURN_TYPE retval = %CPPSELF.%FUNCTION_NAME(%1, %2, %3, array);
-
- if (array)
- delete []array;
-
- %PYARG_0 = %CONVERTTOPYTHON[%RETURN_TYPE](retval);
- }
-
- </inject-code>
+ <inject-code class="target" position="beginning" file="../glue/qtgui.cpp" snippet="qfontmetrics-size"/>
</modify-function>
</value-type>
- <value-type name="QGradient" force-abstract="yes" polymorphic-id-expression="%1-&gt;type() == QGradient::NoGradient">
+ <value-type name="QGradient" polymorphic-id-expression="%1-&gt;type() == QGradient::NoGradient">
<enum-type name="CoordinateMode"/>
<enum-type name="InterpolationMode"/>
- <enum-type name="Spread" lower-bound="QGradient.PadSpread" upper-bound="QGradient.RepeatSpread"/>
+ <enum-type name="Preset" since="5.12"/>
+ <enum-type name="Spread"/>
<enum-type name="Type"/>
</value-type>
- <value-type name="QLinearGradient" polymorphic-id-expression="%1-&gt;type() == QGradient::LinearGradient" />
+ <value-type name="QLinearGradient" polymorphic-id-expression="%1-&gt;type() == QGradient::LinearGradient"/>
<object-type name="QPaintDevice">
<enum-type name="PaintDeviceMetric"/>
</object-type>
<object-type name="QPagedPaintDevice">
- <value-type name="Margins" />
- <enum-type name="PageSize" />
+ <value-type name="Margins"/>
+ <enum-type name="PageSize"/>
<enum-type name="PdfVersion" since="5.10"/>
</object-type>
<object-type name="QAbstractTextDocumentLayout">
<value-type name="PaintContext" >
<include file-name="QAbstractTextDocumentLayout" location="global"/>
</value-type>
- <value-type name="Selection" />
+ <value-type name="Selection"/>
<modify-function signature="setPaintDevice(QPaintDevice*)">
<modify-argument index="1">
<parent index="this" action="add"/>
@@ -1539,15 +1196,15 @@
<modify-argument index="1" invalidate-after-use="yes"/>
</modify-function>
</object-type>
- <object-type name="QPyTextObject" />
+ <object-type name="QPyTextObject"/>
- <object-type name="QDesktopServices" since="4.2" />
+ <object-type name="QDesktopServices" since="4.2"/>
<object-type name="QDoubleValidator">
<enum-type name="Notation"/>
</object-type>
<object-type name="QIconEngine">
- <object-type name="AvailableSizesArgument" />
- <enum-type name="IconEngineHook" />
+ <object-type name="AvailableSizesArgument"/>
+ <enum-type name="IconEngineHook"/>
<modify-function signature="paint(QPainter*,QRect,QIcon::Mode,QIcon::State)">
<modify-argument index="1" invalidate-after-use="yes"/>
</modify-function>
@@ -1569,7 +1226,7 @@
</modify-function>
<modify-function signature="write(const QImage&amp;)" allow-thread="yes"/>
</object-type>
- <object-type name="QIntValidator" />
+ <object-type name="QIntValidator"/>
<object-type name="QPainterPathStroker" copyable="false"/>
<object-type name="QPictureIO">
@@ -1582,19 +1239,11 @@
<object-type name="QPixmapCache">
<value-type name="Key"/>
<add-function signature="find(QPixmapCache::Key&amp;)">
- <inject-code>
- QPixmap p;
- if (%CPPSELF.%FUNCTION_NAME(%1, &amp;p)) {
- %PYARG_0 = %CONVERTTOPYTHON[QPixmap](p);
- } else {
- %PYARG_0 = Py_None;
- Py_INCREF(%PYARG_0);
- }
- </inject-code>
+ <inject-code file="../glue/qtgui.cpp" snippet="qpixmapcache-find"/>
</add-function>
</object-type>
- <object-type name="QRegExpValidator" />
+ <object-type name="QRegExpValidator"/>
<object-type name="QStandardItem">
<enum-type name="ItemType"/>
@@ -1646,27 +1295,13 @@
</modify-function>
<modify-function signature="setChild(int,int,QStandardItem*)">
- <inject-code class="target" position="beginning">
- // Clear parent from the old child
- QStandardItem *_i = %CPPSELF->child(%1, %2);
- if (_i) {
- PyObject *_pyI = %CONVERTTOPYTHON[QStandardItem*](_i);
- Shiboken::Object::setParent(0, _pyI);
- }
- </inject-code>
+ <inject-code class="target" position="beginning" file="../glue/qtgui.cpp" snippet="qstandarditem-setchild-1"/>
<modify-argument index="3">
<parent index="this" action="add"/>
</modify-argument>
</modify-function>
<modify-function signature="setChild(int,QStandardItem*)">
- <inject-code class="target" position="beginning">
- // Clear parent from the old child
- QStandardItem *_i = %CPPSELF->child(%1);
- if (_i) {
- PyObject *_pyI = %CONVERTTOPYTHON[QStandardItem*](_i);
- Shiboken::Object::setParent(0, _pyI);
- }
- </inject-code>
+ <inject-code class="target" position="beginning" file="../glue/qtgui.cpp" snippet="qstandarditem-setchild-2"/>
<modify-argument index="2">
<parent index="this" action="add"/>
</modify-argument>
@@ -1705,8 +1340,8 @@
</modify-argument>
</modify-function>
</object-type>
- <object-type name="QTextBlockGroup" />
- <object-type name="QTextBlockUserData" />
+ <object-type name="QTextBlockGroup"/>
+ <object-type name="QTextBlockUserData"/>
<object-type name="QTextItem">
<enum-type name="RenderFlag" flags="RenderFlags"/>
</object-type>
@@ -1721,42 +1356,6 @@
</modify-function>
</object-type>
- <template name="validator_conversionrule">
- QValidator::State %out;
-
- if (PySequence_Check(%PYARG_0)) {
- Shiboken::AutoDecRef seq(PySequence_Fast(%PYARG_0, 0));
- int size = PySequence_Fast_GET_SIZE(seq.object());
-
- if (size > 1) {
- if (%ISCONVERTIBLE[QString](PySequence_Fast_GET_ITEM(seq.object(), 1)))
- %1 = %CONVERTTOCPP[QString](PySequence_Fast_GET_ITEM(seq.object(), 1));
- else
- qWarning("%TYPE::%FUNCTION_NAME: Second tuple element is not convertible to unicode.");
- }
-
- if (size > 2) {
- if (%ISCONVERTIBLE[int](PySequence_Fast_GET_ITEM(seq.object(), 2)))
- %2 = %CONVERTTOCPP[int](PySequence_Fast_GET_ITEM(seq.object(), 2));
- else
- qWarning("%TYPE::%FUNCTION_NAME: Second tuple element is not convertible to int.");
- }
- %PYARG_0 = PySequence_Fast_GET_ITEM(seq.object(), 0);
- Py_INCREF(%PYARG_0); // we need to incref, because "%PYARG_0 = ..." will decref the tuple and the tuple will be decrefed again at the end of this scope.
- }
-
- // check retrun value
- if (%ISCONVERTIBLE[QValidator::State](%PYARG_0)) {
- %out = %CONVERTTOCPP[QValidator::State](%PYARG_0);
- } else {
- PyErr_Format(PyExc_TypeError, "Invalid return value in function %s, expected %s, got %s.",
- "QValidator.validate",
- "PySide2.QtGui.QValidator.State, (PySide2.QtGui.QValidator.State,), (PySide2.QtGui.QValidator.State, unicode) or (PySide2.QtGui.QValidator.State, unicode, int)",
- Py_TYPE(pyResult)->tp_name);
- return QValidator::State();
- }
- </template>
-
<object-type name="QValidator">
<enum-type name="State"/>
<modify-function signature="fixup(QString &amp;)const">
@@ -1766,9 +1365,7 @@
<inject-code class="native" position="end">
<insert-template name="return_QString_native"/>
</inject-code>
- <inject-code class="target" position="end">
- <insert-template name="return_QString"/>
- </inject-code>
+ <inject-code class="target" position="end" file="../glue/qtcore.cpp" snippet="qstring-return"/>
</modify-function>
<modify-function signature="validate(QString &amp;,int &amp;)const">
<modify-argument index="return">
@@ -1783,25 +1380,26 @@
</modify-function>
</object-type>
- <object-type name="QActionEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::ActionAdded || %1-&gt;type() == QEvent::ActionRemoved || %1-&gt;type() == QEvent::ActionChanged" />
+ <object-type name="QActionEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::ActionAdded || %1-&gt;type() == QEvent::ActionRemoved || %1-&gt;type() == QEvent::ActionChanged"/>
<object-type name="QCloseEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::Close"/>
<object-type name="QContextMenuEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::ContextMenu">
<enum-type name="Reason"/>
</object-type>
+
<object-type name="QDragEnterEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::DragEnter"/>
<object-type name="QDragLeaveEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::DragLeave"/>
- <object-type name="QDragMoveEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::DragMove" />
+ <object-type name="QDragMoveEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::DragMove"/>
<object-type name="QDropEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::Drop">
<modify-function signature="source()const">
<modify-argument index="return">
- <define-ownership class="target" owner="default" />
+ <define-ownership class="target" owner="default"/>
</modify-argument>
</modify-function>
</object-type>
<object-type name="QEnterEvent" copyable="false" polymorphic-id-expression="%1-&gt;type() == QEvent::Enter"/>
- <object-type name="QExposeEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::Expose" />
- <object-type name="QFileOpenEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::FileOpen" />
- <object-type name="QFocusEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::FocusIn || %1-&gt;type() == QEvent::FocusOut" />
+ <object-type name="QExposeEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::Expose"/>
+ <object-type name="QFileOpenEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::FileOpen"/>
+ <object-type name="QFocusEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::FocusIn || %1-&gt;type() == QEvent::FocusOut"/>
<object-type name="QHelpEvent" copyable="false" polymorphic-id-expression="%1-&gt;type() == QEvent::ToolTip || %1-&gt;type() == QEvent::WhatsThis"/>
<object-type name="QHideEvent" copyable="false" polymorphic-id-expression="%1-&gt;type() == QEvent::Hide"/>
<object-type name="QHoverEvent" copyable="false" polymorphic-id-expression="%1-&gt;type() == QEvent::HoverEnter || %1-&gt;type() == QEvent::HoverLeave || %1-&gt;type() == QEvent::HoverMove"/>
@@ -1817,7 +1415,7 @@
</object-type>
<object-type name="QInputMethodQueryEvent" copyable="false" polymorphic-id-expression="%1-&gt;type() == QEvent::InputMethodQuery"/>
- <object-type name="QMoveEvent" copyable = "false" polymorphic-id-expression="%1-&gt;type() == QEvent::Move" />
+ <object-type name="QMoveEvent" copyable = "false" polymorphic-id-expression="%1-&gt;type() == QEvent::Move"/>
<object-type name="QNativeGestureEvent" copyable="false" polymorphic-id-expression="%1-&gt;type() == QEvent::NativeGesture"/>
<object-type name="QResizeEvent" copyable = "false" polymorphic-id-expression="%1-&gt;type() == QEvent::Resize"/>
<object-type name="QShortcutEvent" copyable = "false" polymorphic-id-expression="%1-&gt;type() == QEvent::Shortcut">
@@ -1832,18 +1430,13 @@
<object-type name="QWhatsThisClickedEvent" copyable="false" polymorphic-id-expression="%1-&gt;type() == QEvent::WhatsThisClicked"/>
<object-type name="QWheelEvent" copyable= "false" polymorphic-id-expression="%1-&gt;type() == QEvent::Wheel"/>
<!-- Qt5.5: suppress this nameless enum -->
- <suppress-warning text="enum 'QWheelEvent::DefaultDeltasPerStep' does not have a type entry or is not an enum" />
+ <suppress-warning text="enum 'QWheelEvent::DefaultDeltasPerStep' does not have a type entry or is not an enum"/>
<object-type name="QWindowStateChangeEvent" copyable="false" polymorphic-id-expression="%1-&gt;type() == QEvent::WindowStateChange"/>
- <object-type name="QInputEvent" copyable="false">
- <modify-function signature="modifiers()const" access="non-final"/>
- </object-type>
+ <object-type name="QInputEvent" copyable="false"/>
<object-type name="QKeyEvent" copyable= "false" polymorphic-id-expression="%1-&gt;type() == QEvent::KeyPress || %1-&gt;type() == QEvent::KeyRelease || %1-&gt;type() == QEvent::ShortcutOverride">
<add-function signature="operator!=(QKeySequence::StandardKey)">
- <inject-code class="target">
- bool ret = !(&amp;%CPPSELF == %1);
- %PYARG_0 = %CONVERTTOPYTHON[bool](ret);
- </inject-code>
+ <inject-code class="target" file="../glue/qtgui.cpp" snippet="qkeyevent-operatornotequal"/>
</add-function>
</object-type>
<object-type name="QMouseEvent" copyable= "false" polymorphic-id-expression="%1-&gt;type() == QEvent::MouseButtonDblClick || %1-&gt;type() == QEvent::MouseButtonPress || %1-&gt;type() == QEvent::MouseButtonRelease || %1-&gt;type() == QEvent::MouseMove"/>
@@ -1867,13 +1460,13 @@
<!-- ### -->
<add-function signature="__iter__()" return-type="PyObject*">
<inject-code class="target" position="beginning">
- <insert-template name="__iter__" />
+ <insert-template name="__iter__"/>
</inject-code>
</add-function>
<add-function signature="__next__()" return-type="PyObject*">
<inject-code class="target" position="beginning">
<insert-template name="__next__">
- <replace from="%CPPSELF_TYPE" to="QTextFrame::iterator" />
+ <replace from="%CPPSELF_TYPE" to="QTextFrame::iterator"/>
</insert-template>
</inject-code>
</add-function>
@@ -1881,7 +1474,7 @@
<add-function signature="__iter__()" return-type="PyObject*">
<inject-code class="target" position="beginning">
<insert-template name="__iter_parent__">
- <replace from="%CPPSELF_TYPE" to="QTextFrame::iterator" />
+ <replace from="%CPPSELF_TYPE" to="QTextFrame::iterator"/>
</insert-template>
</inject-code>
</add-function>
@@ -1891,7 +1484,7 @@
<include file-name="QRect" location="global"/>
</extra-includes>
<enum-type name="ImageOption"/>
- <enum-type name="Transformation" flags="Transformations" since="5.5" />
+ <enum-type name="Transformation" flags="Transformations" since="5.5"/>
<modify-function signature="setDevice(QIODevice*)">
<modify-argument index="1">
<parent index="this" action="add"/>
@@ -1910,7 +1503,7 @@
<enum-type name="ImageReaderError"/>
<!-- ### This method does not make sense in Python.
Update: perhaps it does, but no one is missing it. -->
- <modify-function signature="read(QImage*)" remove="all" />
+ <modify-function signature="read(QImage*)" remove="all"/>
<modify-function signature="setDevice(QIODevice*)">
<modify-argument index="1">
<parent index="this" action="add"/>
@@ -1971,170 +1564,135 @@
</extra-includes>
<modify-function signature="takeItem(int,int)">
<modify-argument index="return">
- <parent index="this" action="remove" />
+ <parent index="this" action="remove"/>
</modify-argument>
</modify-function>
<modify-function signature="takeHorizontalHeaderItem(int)">
<modify-argument index="return">
- <parent index="this" action="remove" />
+ <parent index="this" action="remove"/>
</modify-argument>
</modify-function>
<modify-function signature="takeVerticalHeaderItem(int)">
<modify-argument index="return">
- <parent index="this" action="remove" />
+ <parent index="this" action="remove"/>
</modify-argument>
</modify-function>
<modify-function signature="verticalHeaderItem(int)const">
<modify-argument index="return">
- <parent index="this" action="add" />
+ <parent index="this" action="add"/>
</modify-argument>
</modify-function>
<modify-function signature="horizontalHeaderItem(int)const">
<modify-argument index="return">
- <parent index="this" action="add" />
+ <parent index="this" action="add"/>
</modify-argument>
</modify-function>
<modify-function signature="invisibleRootItem()const">
<modify-argument index="return">
- <parent index="this" action="add" />
+ <parent index="this" action="add"/>
</modify-argument>
</modify-function>
<modify-function signature="item(int,int)const">
<modify-argument index="return">
- <parent index="this" action="add" />
+ <parent index="this" action="add"/>
</modify-argument>
</modify-function>
<modify-function signature="itemFromIndex(const QModelIndex&amp;)const">
<modify-argument index="return">
- <parent index="this" action="add" />
+ <parent index="this" action="add"/>
</modify-argument>
</modify-function>
<modify-function signature="itemPrototype()const">
<modify-argument index="return">
- <parent index="this" action="add" />
+ <parent index="this" action="add"/>
</modify-argument>
</modify-function>
<modify-function signature="appendRow(const QList&lt;QStandardItem*&gt;&amp;)">
<modify-argument index="1">
- <parent index="this" action="add" />
+ <parent index="this" action="add"/>
</modify-argument>
</modify-function>
<modify-function signature="appendRow(QStandardItem*)">
<modify-argument index="1">
- <parent index="this" action="add" />
+ <parent index="this" action="add"/>
</modify-argument>
</modify-function>
<modify-function signature="insertRow(int,QStandardItem*)">
<modify-argument index="2">
- <parent index="this" action="add" />
+ <parent index="this" action="add"/>
</modify-argument>
</modify-function>
<modify-function signature="setHorizontalHeaderItem(int,QStandardItem*)">
<modify-argument index="2">
- <parent index="this" action="add" />
+ <parent index="this" action="add"/>
</modify-argument>
</modify-function>
<modify-function signature="setItem(int,int,QStandardItem*)">
- <inject-code class="target" position="beginning">
- // Clear parent from the old child
- QStandardItem *_i = %CPPSELF->item(%1, %2);
- if (_i) {
- PyObject *_pyI = %CONVERTTOPYTHON[QStandardItem*](_i);
- Shiboken::Object::setParent(0, _pyI);
- }
- </inject-code>
+ <inject-code class="target" position="beginning" file="../glue/qtgui.cpp" snippet="qstandarditemmodel-setitem-1"/>
<modify-argument index="3">
- <parent index="this" action="add" />
+ <parent index="this" action="add"/>
</modify-argument>
</modify-function>
<modify-function signature="setItem(int,QStandardItem*)">
- <inject-code class="target" position="beginning">
- // Clear parent from the old child
- QStandardItem *_i = %CPPSELF->item(%1);
- if (_i) {
- PyObject *_pyI = %CONVERTTOPYTHON[QStandardItem*](_i);
- Shiboken::Object::setParent(0, _pyI);
- }
- </inject-code>
+ <inject-code class="target" position="beginning" file="../glue/qtgui.cpp" snippet="qstandarditemmodel-setitem-2"/>
<modify-argument index="2">
- <parent index="this" action="add" />
+ <parent index="this" action="add"/>
</modify-argument>
</modify-function>
<modify-function signature="setItemPrototype(const QStandardItem*)">
<modify-argument index="1">
- <parent index="this" action="add" />
+ <parent index="this" action="add"/>
</modify-argument>
</modify-function>
<modify-function signature="setVerticalHeaderItem(int,QStandardItem*)">
- <inject-code class="target" position="beginning">
- // Clear parent from the old child
- QStandardItem *_i = %CPPSELF->verticalHeaderItem(%1);
- if (_i) {
- PyObject *_pyI = %CONVERTTOPYTHON[QStandardItem*](_i);
- Shiboken::Object::setParent(0, _pyI);
- }
- </inject-code>
+ <inject-code class="target" position="beginning" file="../glue/qtgui.cpp" snippet="qstandarditemmodel-setverticalheaderitem"/>
<modify-argument index="2">
- <parent index="this" action="add" />
+ <parent index="this" action="add"/>
</modify-argument>
</modify-function>
<modify-function signature="takeColumn(int)">
<modify-argument index="return">
- <parent index="this" action="remove" />
+ <parent index="this" action="remove"/>
</modify-argument>
</modify-function>
<modify-function signature="takeRow(int)">
<modify-argument index="return">
- <parent index="this" action="remove" />
+ <parent index="this" action="remove"/>
</modify-argument>
</modify-function>
<modify-function signature="findItems(const QString&amp;,QFlags&lt;Qt::MatchFlag&gt;,int)const">
<modify-argument index="return">
- <parent index="this" action="add" />
+ <parent index="this" action="add"/>
</modify-argument>
</modify-function>
<modify-function signature="insertColumn(int,const QList&lt;QStandardItem*&gt;&amp;)">
<modify-argument index="2">
- <parent index="this" action="add" />
+ <parent index="this" action="add"/>
</modify-argument>
</modify-function>
<modify-function signature="insertRow(int,const QList&lt;QStandardItem*&gt;&amp;)">
<modify-argument index="2">
- <parent index="this" action="add" />
+ <parent index="this" action="add"/>
</modify-argument>
</modify-function>
<modify-function signature="appendColumn(const QList&lt;QStandardItem*&gt;&amp;)">
<modify-argument index="1">
- <parent index="this" action="add" />
+ <parent index="this" action="add"/>
</modify-argument>
</modify-function>
<modify-function signature="clear()">
- <inject-code class="target" position="beginning">
- Shiboken::BindingManager &amp;bm = Shiboken::BindingManager::instance();
- SbkObject *pyRoot = bm.retrieveWrapper(%CPPSELF.invisibleRootItem());
- if (pyRoot) {
- Shiboken::Object::destroy(pyRoot, %CPPSELF.invisibleRootItem());
- }
-
- for (int r=0, r_max = %CPPSELF.rowCount(); r &lt; r_max; r++) {
- QList&lt;QStandardItem *&gt; ri = %CPPSELF.takeRow(0);
-
- PyObject *pyResult = %CONVERTTOPYTHON[QList&lt;QStandardItem * &gt;](ri);
- Shiboken::Object::setParent(Py_None, pyResult);
- Py_XDECREF(pyResult);
- }
- </inject-code>
+ <inject-code class="target" position="beginning" file="../glue/qtgui.cpp" snippet="qstandarditemmodel-clear"/>
</modify-function>
</object-type>
<object-type name="QClipboard">
@@ -2142,7 +1700,7 @@
<include file-name="QImage" location="global"/>
<include file-name="QPixmap" location="global"/>
</extra-includes>
- <enum-type name="Mode" />
+ <enum-type name="Mode"/>
<modify-function signature="setMimeData(QMimeData*,QClipboard::Mode)">
<modify-argument index="1">
<!-- TODO: maybe this is not the best solution -->
@@ -2156,14 +1714,7 @@
<modify-argument index="return">
<replace-type modified-type="(retval, subtype)"/>
</modify-argument>
- <inject-code class="target" position="end">
- %BEGIN_ALLOW_THREADS
- %RETURN_TYPE retval_ = %CPPSELF.%FUNCTION_NAME(%1, %2);
- %END_ALLOW_THREADS
- %PYARG_0 = PyTuple_New(2);
- PyTuple_SET_ITEM(%PYARG_0, 0, %CONVERTTOPYTHON[%RETURN_TYPE](retval_));
- PyTuple_SET_ITEM(%PYARG_0, 1, %CONVERTTOPYTHON[%ARG1_TYPE](%1));
- </inject-code>
+ <inject-code class="target" position="end" file="../glue/qtgui.cpp" snippet="qclipboard-text"/>
</modify-function>
</object-type>
<object-type name="QPaintEngineState">
@@ -2210,9 +1761,9 @@
<parent index="this" action="add"/>
</modify-argument>
</modify-function>
- <modify-function signature="print(QPagedPaintDevice*)const" rename="print_" />
+ <modify-function signature="print(QPagedPaintDevice*)const" rename="print_"/>
</object-type>
- <object-type name="QTextDocumentWriter" since="4.5" />
+ <object-type name="QTextDocumentWriter" since="4.5"/>
<object-type name="QTextTable">
<extra-includes>
<include file-name="QTextCursor" location="global"/>
@@ -2237,7 +1788,6 @@
</extra-includes>
<!-- ### "setPaintDevice(QPaintDevice*)" is an internal method. -->
<modify-function signature="setPaintDevice(QPaintDevice*)" remove="all"/>
- <modify-field name="state" read="false" write="false"/>
</object-type>
<object-type name="QPainter">
<extra-includes>
@@ -2254,70 +1804,57 @@
<!-- ### "drawText(...)" is an internal method. -->
<modify-function signature="drawText(const QPointF&amp;,const QString&amp;,int,int)" remove="all"/>
- <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" />
+ <modify-function signature="drawConvexPolygon(const QPoint*,int)" remove="all"/>
<add-function signature="drawConvexPolygon(QVector&lt;QPoint>)">
<inject-code>
- <insert-template name="qpainter_drawlist" />
+ <insert-template name="qpainter_drawlist"/>
</inject-code>
</add-function>
- <modify-function signature="drawConvexPolygon(const QPointF*,int)" remove="all" />
+ <modify-function signature="drawConvexPolygon(const QPointF*,int)" remove="all"/>
<add-function signature="drawConvexPolygon(QVector&lt;QPointF>)">
<inject-code>
- <insert-template name="qpainter_drawlist" />
+ <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" />
- <modify-function signature="drawLines(const QPoint*,int)" remove="all" />
- <modify-function signature="drawLines(const QPointF*,int)" remove="all" />
- <modify-function signature="drawRects(const QRect*,int)" remove="all" />
- <modify-function signature="drawRects(const QRectF*,int)" remove="all" />
+ <modify-function signature="drawLines(const QLine*,int)" remove="all"/>
+ <modify-function signature="drawLines(const QLineF*,int)" remove="all"/>
+ <modify-function signature="drawLines(const QPoint*,int)" remove="all"/>
+ <modify-function signature="drawLines(const QPointF*,int)" remove="all"/>
+ <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" />
+ <modify-function signature="drawPoints(const QPoint*,int)" remove="all"/>
<add-function signature="drawPoints(QVector&lt;QPoint>)">
<inject-code>
- <insert-template name="qpainter_drawlist" />
+ <insert-template name="qpainter_drawlist"/>
</inject-code>
</add-function>
- <modify-function signature="drawPoints(const QPointF*,int)" remove="all" />
+ <modify-function signature="drawPoints(const QPointF*,int)" remove="all"/>
<add-function signature="drawPoints(QVector&lt;QPointF>)">
<inject-code>
- <insert-template name="qpainter_drawlist" />
+ <insert-template name="qpainter_drawlist"/>
</inject-code>
</add-function>
- <modify-function signature="drawPolygon(const QPoint*,int,Qt::FillRule)" remove="all" />
+ <modify-function signature="drawPolygon(const QPoint*,int,Qt::FillRule)" remove="all"/>
<add-function signature="drawPolygon(QVector&lt;QPoint>,Qt::FillRule)">
- <inject-code>
- %BEGIN_ALLOW_THREADS
- %CPPSELF.%FUNCTION_NAME(%1.data(), %1.size(), %2);
- %END_ALLOW_THREADS
- </inject-code>
+ <inject-code file="../glue/qtgui.cpp" snippet="qpainter-drawpolygon"/>
</add-function>
- <modify-function signature="drawPolygon(const QPointF*,int,Qt::FillRule)" remove="all" />
+ <modify-function signature="drawPolygon(const QPointF*,int,Qt::FillRule)" remove="all"/>
<add-function signature="drawPolygon(QVector&lt;QPointF>,Qt::FillRule)">
- <inject-code>
- %BEGIN_ALLOW_THREADS
- %CPPSELF.%FUNCTION_NAME(%1.data(), %1.size(), %2);
- %END_ALLOW_THREADS
- </inject-code>
+ <inject-code file="../glue/qtgui.cpp" snippet="qpainter-drawpolygon"/>
</add-function>
- <modify-function signature="drawPolyline(const QPoint*,int)" remove="all" />
+ <modify-function signature="drawPolyline(const QPoint*,int)" remove="all"/>
<add-function signature="drawPolyline(QVector&lt;QPoint>)">
<inject-code>
- <insert-template name="qpainter_drawlist" />
+ <insert-template name="qpainter_drawlist"/>
</inject-code>
</add-function>
- <modify-function signature="drawPolyline(const QPointF*,int)" remove="all" />
+ <modify-function signature="drawPolyline(const QPointF*,int)" remove="all"/>
<add-function signature="drawPolyline(QVector&lt;QPointF>)">
<inject-code>
- <insert-template name="qpainter_drawlist" />
+ <insert-template name="qpainter_drawlist"/>
</inject-code>
</add-function>
<modify-function signature="drawRoundRect(int,int,int,int,int,int)">
@@ -2388,12 +1925,17 @@
</modify-function>
</object-type>
+ <value-type name="QGenericMatrix" generate="no"/>
<value-type name="QMatrix2x2" since="4.6">
+ <modify-function signature="QMatrix2x2(const float*)">
+ <modify-argument index="1"><array/></modify-argument>
+ </modify-function>
+ <modify-function signature="copyDataTo(float*) const" remove="all"/>
<add-function signature="__repr__" return-type="PyObject*">
<inject-code class="target" position="beginning">
<insert-template name="repr_code_matrix">
- <replace from="%MATRIX_SIZE" to="4" />
- <replace from="%MATRIX_TYPE" to="float" />
+ <replace from="%MATRIX_SIZE" to="4"/>
+ <replace from="%MATRIX_TYPE" to="float"/>
</insert-template>
</inject-code>
</add-function>
@@ -2401,87 +1943,37 @@
<add-function signature="__reduce__" return-type="PyObject*">
<inject-code class="target" position="beginning">
<insert-template name="reduce_code_matrix">
- <replace from="%MATRIX_TYPE" to="float" />
- <replace from="%MATRIX_SIZE" to="4" />
+ <replace from="%MATRIX_TYPE" to="float"/>
+ <replace from="%MATRIX_SIZE" to="4"/>
</insert-template>
</inject-code>
</add-function>
<add-function signature="QMatrix2x2(PySequence*)">
<inject-code class="target" position="beginning">
<insert-template name="matrix_constructor">
- <replace from="%SIZE" to="4" />
+ <replace from="%SIZE" to="4"/>
</insert-template>
</inject-code>
</add-function>
<add-function signature="data()" return-type="float">
<inject-code class="target" position="beginning">
<insert-template name="matrix_data_function">
- <replace from="%MATRIX_SIZE" to="4" />
- </insert-template>
- </inject-code>
- </add-function>
- <add-function signature="fill(PyObject*)">
- <inject-code class="target" position="beginning">
- <insert-template name="matrix_fill_function">
- <replace from="%MATRIX_SIZE" to="4" />
+ <replace from="%MATRIX_SIZE" to="4"/>
</insert-template>
</inject-code>
</add-function>
- <add-function signature="transposed()" return-type="PyObject">
- <inject-code class="target" position="beginning">
- <insert-template name="matrix_transposed_function">
- <replace from="%TRANSPOSED_TYPE" to="QMatrix2x2" />
- </insert-template>
- </inject-code>
- </add-function>
- <add-function signature="operator!=(const QMatrix2x2&amp;)" return-type="bool" />
-
- <template name="inplace_add">
- *%CPPSELF += %1;
- return %CONVERTTOPYTHON[%RETURN_TYPE](*%CPPSELF);
- </template>
- <template name="inplace_sub">
- *%CPPSELF -= %1;
- return %CONVERTTOPYTHON[%RETURN_TYPE](*%CPPSELF);
- </template>
- <template name="inplace_mult">
- *%CPPSELF *= %1;
- return %CONVERTTOPYTHON[%RETURN_TYPE](*%CPPSELF);
- </template>
- <template name="inplace_div">
- *%CPPSELF /= %1;
- return %CONVERTTOPYTHON[%RETURN_TYPE](*%CPPSELF);
- </template>
-
- <add-function signature="operator*=(float)" return-type="QMatrix2x2" >
- <inject-code class="target" position="beginning">
- <insert-template name="inplace_mult"/>
- </inject-code>
- </add-function>
- <add-function signature="operator+=(const QMatrix2x2&amp;)" return-type="QMatrix2x2" >
- <inject-code class="target" position="beginning">
- <insert-template name="inplace_add"/>
- </inject-code>
- </add-function>
- <add-function signature="operator-=(const QMatrix2x2&amp;)" return-type="QMatrix2x2" >
- <inject-code class="target" position="beginning">
- <insert-template name="inplace_sub"/>
- </inject-code>
- </add-function>
- <add-function signature="operator/=(float)" return-type="QMatrix2x2" >
- <inject-code class="target" position="beginning">
- <insert-template name="inplace_div"/>
- </inject-code>
- </add-function>
- <add-function signature="operator==(const QMatrix2x2&amp;)" return-type="bool" />
</value-type>
<value-type name="QMatrix2x3" since="4.6">
+ <modify-function signature="QMatrix2x3(const float*)">
+ <modify-argument index="1"><array/></modify-argument>
+ </modify-function>
+ <modify-function signature="copyDataTo(float*) const" remove="all"/>
<add-function signature="__repr__" return-type="PyObject*">
<inject-code class="target" position="beginning">
<insert-template name="repr_code_matrix">
- <replace from="%MATRIX_SIZE" to="6" />
- <replace from="%MATRIX_TYPE" to="float" />
+ <replace from="%MATRIX_SIZE" to="6"/>
+ <replace from="%MATRIX_TYPE" to="float"/>
</insert-template>
</inject-code>
</add-function>
@@ -2489,69 +1981,37 @@
<add-function signature="__reduce__" return-type="PyObject*">
<inject-code class="target" position="beginning">
<insert-template name="reduce_code_matrix">
- <replace from="%MATRIX_TYPE" to="float" />
- <replace from="%MATRIX_SIZE" to="6" />
+ <replace from="%MATRIX_TYPE" to="float"/>
+ <replace from="%MATRIX_SIZE" to="6"/>
</insert-template>
</inject-code>
</add-function>
<add-function signature="QMatrix2x3(PySequence*)">
<inject-code class="target" position="beginning">
<insert-template name="matrix_constructor">
- <replace from="%SIZE" to="6" />
+ <replace from="%SIZE" to="6"/>
</insert-template>
</inject-code>
</add-function>
<add-function signature="data()" return-type="float">
<inject-code class="target" position="beginning">
<insert-template name="matrix_data_function">
- <replace from="%MATRIX_SIZE" to="6" />
+ <replace from="%MATRIX_SIZE" to="6"/>
</insert-template>
</inject-code>
</add-function>
- <add-function signature="fill(PyObject*)">
- <inject-code class="target" position="beginning">
- <insert-template name="matrix_fill_function">
- <replace from="%MATRIX_SIZE" to="6" />
- </insert-template>
- </inject-code>
- </add-function>
- <add-function signature="transposed()" return-type="PyObject">
- <inject-code class="target" position="beginning">
- <insert-template name="matrix_transposed_function">
- <replace from="%TRANSPOSED_TYPE" to="QMatrix3x2" />
- </insert-template>
- </inject-code>
- </add-function>
- <add-function signature="operator!=(const QMatrix2x3&amp;)" return-type="bool" />
- <add-function signature="operator*=(float)" return-type="QMatrix2x3" >
- <inject-code class="target" position="beginning">
- <insert-template name="inplace_mult"/>
- </inject-code>
- </add-function>
- <add-function signature="operator+=(const QMatrix2x3&amp;)" return-type="QMatrix2x3" >
- <inject-code class="target" position="beginning">
- <insert-template name="inplace_add"/>
- </inject-code>
- </add-function>
- <add-function signature="operator-=(const QMatrix2x3&amp;)" return-type="QMatrix2x3" >
- <inject-code class="target" position="beginning">
- <insert-template name="inplace_sub"/>
- </inject-code>
- </add-function>
- <add-function signature="operator/=(float)" return-type="QMatrix2x3" >
- <inject-code class="target" position="beginning">
- <insert-template name="inplace_div"/>
- </inject-code>
- </add-function>
- <add-function signature="operator==(const QMatrix2x3&amp;)" return-type="bool" />
</value-type>
<value-type name="QMatrix2x4" since="4.6">
+ <modify-function signature="QMatrix2x4(const float*)">
+ <modify-argument index="1"><array/></modify-argument>
+ </modify-function>
+ <modify-function signature="copyDataTo(float*) const" remove="all"/>
<add-function signature="__repr__" return-type="PyObject*">
<inject-code class="target" position="beginning">
<insert-template name="repr_code_matrix">
- <replace from="%MATRIX_SIZE" to="8" />
- <replace from="%MATRIX_TYPE" to="float" />
+ <replace from="%MATRIX_SIZE" to="8"/>
+ <replace from="%MATRIX_TYPE" to="float"/>
</insert-template>
</inject-code>
</add-function>
@@ -2559,69 +2019,37 @@
<add-function signature="__reduce__" return-type="PyObject*">
<inject-code class="target" position="beginning">
<insert-template name="reduce_code_matrix">
- <replace from="%MATRIX_TYPE" to="float" />
- <replace from="%MATRIX_SIZE" to="8" />
+ <replace from="%MATRIX_TYPE" to="float"/>
+ <replace from="%MATRIX_SIZE" to="8"/>
</insert-template>
</inject-code>
</add-function>
<add-function signature="QMatrix2x4(PySequence*)">
<inject-code class="target" position="beginning">
<insert-template name="matrix_constructor">
- <replace from="%SIZE" to="8" />
+ <replace from="%SIZE" to="8"/>
</insert-template>
</inject-code>
</add-function>
<add-function signature="data()" return-type="float">
<inject-code class="target" position="beginning">
<insert-template name="matrix_data_function">
- <replace from="%MATRIX_SIZE" to="8" />
+ <replace from="%MATRIX_SIZE" to="8"/>
</insert-template>
</inject-code>
</add-function>
- <add-function signature="fill(PyObject*)">
- <inject-code class="target" position="beginning">
- <insert-template name="matrix_fill_function">
- <replace from="%MATRIX_SIZE" to="8" />
- </insert-template>
- </inject-code>
- </add-function>
- <add-function signature="transposed()" return-type="PyObject">
- <inject-code class="target" position="beginning">
- <insert-template name="matrix_transposed_function">
- <replace from="%TRANSPOSED_TYPE" to="QMatrix4x2" />
- </insert-template>
- </inject-code>
- </add-function>
- <add-function signature="operator!=(const QMatrix2x4&amp;)" return-type="bool" />
- <add-function signature="operator*=(float)" return-type="QMatrix2x4" >
- <inject-code class="target" position="beginning">
- <insert-template name="inplace_mult"/>
- </inject-code>
- </add-function>
- <add-function signature="operator+=(const QMatrix2x4&amp;)" return-type="QMatrix2x4" >
- <inject-code class="target" position="beginning">
- <insert-template name="inplace_add"/>
- </inject-code>
- </add-function>
- <add-function signature="operator-=(const QMatrix2x4&amp;)" return-type="QMatrix2x4" >
- <inject-code class="target" position="beginning">
- <insert-template name="inplace_sub"/>
- </inject-code>
- </add-function>
- <add-function signature="operator/=(float)" return-type="QMatrix2x4" >
- <inject-code class="target" position="beginning">
- <insert-template name="inplace_div"/>
- </inject-code>
- </add-function>
- <add-function signature="operator==(const QMatrix2x4&amp;)" return-type="bool" />
</value-type>
<value-type name="QMatrix3x2" since="4.6">
+ <modify-function signature="QMatrix3x2(const float*)">
+ <modify-argument index="1"><array/></modify-argument>
+ </modify-function>
+ <modify-function signature="copyDataTo(float*) const" remove="all"/>
<add-function signature="__repr__" return-type="PyObject*">
<inject-code class="target" position="beginning">
<insert-template name="repr_code_matrix">
- <replace from="%MATRIX_SIZE" to="6" />
- <replace from="%MATRIX_TYPE" to="float" />
+ <replace from="%MATRIX_SIZE" to="6"/>
+ <replace from="%MATRIX_TYPE" to="float"/>
</insert-template>
</inject-code>
</add-function>
@@ -2629,69 +2057,37 @@
<add-function signature="__reduce__" return-type="PyObject*">
<inject-code class="target" position="beginning">
<insert-template name="reduce_code_matrix">
- <replace from="%MATRIX_TYPE" to="float" />
- <replace from="%MATRIX_SIZE" to="6" />
+ <replace from="%MATRIX_TYPE" to="float"/>
+ <replace from="%MATRIX_SIZE" to="6"/>
</insert-template>
</inject-code>
</add-function>
<add-function signature="QMatrix3x2(PySequence*)">
<inject-code class="target" position="beginning">
<insert-template name="matrix_constructor">
- <replace from="%SIZE" to="6" />
+ <replace from="%SIZE" to="6"/>
</insert-template>
</inject-code>
</add-function>
<add-function signature="data()" return-type="float">
<inject-code class="target" position="beginning">
<insert-template name="matrix_data_function">
- <replace from="%MATRIX_SIZE" to="6" />
+ <replace from="%MATRIX_SIZE" to="6"/>
</insert-template>
</inject-code>
</add-function>
- <add-function signature="fill(PyObject*)">
- <inject-code class="target" position="beginning">
- <insert-template name="matrix_fill_function">
- <replace from="%MATRIX_SIZE" to="6" />
- </insert-template>
- </inject-code>
- </add-function>
- <add-function signature="transposed()" return-type="PyObject">
- <inject-code class="target" position="beginning">
- <insert-template name="matrix_transposed_function">
- <replace from="%TRANSPOSED_TYPE" to="QMatrix2x3" />
- </insert-template>
- </inject-code>
- </add-function>
- <add-function signature="operator!=(const QMatrix3x2&amp;)" return-type="bool" />
- <add-function signature="operator*=(float)" return-type="QMatrix3x2" >
- <inject-code class="target" position="beginning">
- <insert-template name="inplace_mult"/>
- </inject-code>
- </add-function>
- <add-function signature="operator+=(const QMatrix3x2&amp;)" return-type="QMatrix3x2" >
- <inject-code class="target" position="beginning">
- <insert-template name="inplace_add"/>
- </inject-code>
- </add-function>
- <add-function signature="operator-=(const QMatrix3x2&amp;)" return-type="QMatrix3x2" >
- <inject-code class="target" position="beginning">
- <insert-template name="inplace_sub"/>
- </inject-code>
- </add-function>
- <add-function signature="operator/=(float)" return-type="QMatrix3x2" >
- <inject-code class="target" position="beginning">
- <insert-template name="inplace_div"/>
- </inject-code>
- </add-function>
- <add-function signature="operator==(const QMatrix3x2&amp;)" return-type="bool" />
</value-type>
<value-type name="QMatrix3x3" since="4.6">
+ <modify-function signature="QMatrix3x3(const float*)">
+ <modify-argument index="1"><array/></modify-argument>
+ </modify-function>
+ <modify-function signature="copyDataTo(float*) const" remove="all"/>
<add-function signature="__repr__" return-type="PyObject*">
<inject-code class="target" position="beginning">
<insert-template name="repr_code_matrix">
- <replace from="%MATRIX_SIZE" to="9" />
- <replace from="%MATRIX_TYPE" to="float" />
+ <replace from="%MATRIX_SIZE" to="9"/>
+ <replace from="%MATRIX_TYPE" to="float"/>
</insert-template>
</inject-code>
</add-function>
@@ -2699,69 +2095,37 @@
<add-function signature="__reduce__" return-type="PyObject*">
<inject-code class="target" position="beginning">
<insert-template name="reduce_code_matrix">
- <replace from="%MATRIX_TYPE" to="float" />
- <replace from="%MATRIX_SIZE" to="9" />
+ <replace from="%MATRIX_TYPE" to="float"/>
+ <replace from="%MATRIX_SIZE" to="9"/>
</insert-template>
</inject-code>
</add-function>
<add-function signature="QMatrix3x3(PySequence*)">
<inject-code class="target" position="beginning">
<insert-template name="matrix_constructor">
- <replace from="%SIZE" to="9" />
+ <replace from="%SIZE" to="9"/>
</insert-template>
</inject-code>
</add-function>
<add-function signature="data()" return-type="float">
<inject-code class="target" position="beginning">
<insert-template name="matrix_data_function">
- <replace from="%MATRIX_SIZE" to="9" />
- </insert-template>
- </inject-code>
- </add-function>
- <add-function signature="fill(PyObject*)">
- <inject-code class="target" position="beginning">
- <insert-template name="matrix_fill_function">
- <replace from="%MATRIX_SIZE" to="9" />
+ <replace from="%MATRIX_SIZE" to="9"/>
</insert-template>
</inject-code>
</add-function>
- <add-function signature="transposed()" return-type="PyObject">
- <inject-code class="target" position="beginning">
- <insert-template name="matrix_transposed_function">
- <replace from="%TRANSPOSED_TYPE" to="QMatrix3x3" />
- </insert-template>
- </inject-code>
- </add-function>
- <add-function signature="operator!=(const QMatrix3x3&amp;)" return-type="bool" />
- <add-function signature="operator*=(float)" return-type="QMatrix3x3" >
- <inject-code class="target" position="beginning">
- <insert-template name="inplace_mult"/>
- </inject-code>
- </add-function>
- <add-function signature="operator+=(const QMatrix3x3&amp;)" return-type="QMatrix3x3" >
- <inject-code class="target" position="beginning">
- <insert-template name="inplace_add"/>
- </inject-code>
- </add-function>
- <add-function signature="operator-=(const QMatrix3x3&amp;)" return-type="QMatrix3x3" >
- <inject-code class="target" position="beginning">
- <insert-template name="inplace_sub"/>
- </inject-code>
- </add-function>
- <add-function signature="operator/=(float)" return-type="QMatrix3x3" >
- <inject-code class="target" position="beginning">
- <insert-template name="inplace_div"/>
- </inject-code>
- </add-function>
- <add-function signature="operator==(const QMatrix3x3&amp;)" return-type="bool" />
</value-type>
<value-type name="QMatrix3x4" since="4.6">
+ <modify-function signature="QMatrix3x4(const float*)">
+ <modify-argument index="1"><array/></modify-argument>
+ </modify-function>
+ <modify-function signature="copyDataTo(float*) const" remove="all"/>
<add-function signature="__repr__" return-type="PyObject*">
<inject-code class="target" position="beginning">
<insert-template name="repr_code_matrix">
- <replace from="%MATRIX_SIZE" to="12" />
- <replace from="%MATRIX_TYPE" to="float" />
+ <replace from="%MATRIX_SIZE" to="12"/>
+ <replace from="%MATRIX_TYPE" to="float"/>
</insert-template>
</inject-code>
</add-function>
@@ -2769,69 +2133,36 @@
<add-function signature="__reduce__" return-type="PyObject*">
<inject-code class="target" position="beginning">
<insert-template name="reduce_code_matrix">
- <replace from="%MATRIX_TYPE" to="float" />
- <replace from="%MATRIX_SIZE" to="12" />
+ <replace from="%MATRIX_TYPE" to="float"/>
+ <replace from="%MATRIX_SIZE" to="12"/>
</insert-template>
</inject-code>
</add-function>
<add-function signature="QMatrix3x4(PySequence*)">
<inject-code class="target" position="beginning">
<insert-template name="matrix_constructor">
- <replace from="%SIZE" to="12" />
+ <replace from="%SIZE" to="12"/>
</insert-template>
</inject-code>
</add-function>
<add-function signature="data()" return-type="float">
<inject-code class="target" position="beginning">
<insert-template name="matrix_data_function">
- <replace from="%MATRIX_SIZE" to="12" />
- </insert-template>
- </inject-code>
- </add-function>
- <add-function signature="fill(PyObject*)">
- <inject-code class="target" position="beginning">
- <insert-template name="matrix_fill_function">
- <replace from="%MATRIX_SIZE" to="12" />
- </insert-template>
- </inject-code>
- </add-function>
- <add-function signature="transposed()" return-type="PyObject">
- <inject-code class="target" position="beginning">
- <insert-template name="matrix_transposed_function">
- <replace from="%TRANSPOSED_TYPE" to="QMatrix4x3" />
+ <replace from="%MATRIX_SIZE" to="12"/>
</insert-template>
</inject-code>
</add-function>
- <add-function signature="operator!=(const QMatrix3x4&amp;)" return-type="bool" />
- <add-function signature="operator*=(float)" return-type="QMatrix3x4" >
- <inject-code class="target" position="beginning">
- <insert-template name="inplace_mult"/>
- </inject-code>
- </add-function>
- <add-function signature="operator+=(const QMatrix3x4&amp;)" return-type="QMatrix3x4" >
- <inject-code class="target" position="beginning">
- <insert-template name="inplace_add"/>
- </inject-code>
- </add-function>
- <add-function signature="operator-=(const QMatrix3x4&amp;)" return-type="QMatrix3x4" >
- <inject-code class="target" position="beginning">
- <insert-template name="inplace_sub"/>
- </inject-code>
- </add-function>
- <add-function signature="operator/=(float)" return-type="QMatrix3x4" >
- <inject-code class="target" position="beginning">
- <insert-template name="inplace_div"/>
- </inject-code>
- </add-function>
- <add-function signature="operator==(const QMatrix3x4&amp;)" return-type="bool" />
</value-type>
<value-type name="QMatrix4x2" since="4.6">
+ <modify-function signature="QMatrix4x2(const float*)">
+ <modify-argument index="1"><array/></modify-argument>
+ </modify-function>
<add-function signature="__repr__" return-type="PyObject*">
<inject-code class="target" position="beginning">
<insert-template name="repr_code_matrix">
- <replace from="%MATRIX_SIZE" to="8" />
- <replace from="%MATRIX_TYPE" to="float" />
+ <replace from="%MATRIX_SIZE" to="8"/>
+ <replace from="%MATRIX_TYPE" to="float"/>
</insert-template>
</inject-code>
</add-function>
@@ -2839,69 +2170,37 @@
<add-function signature="__reduce__" return-type="PyObject*">
<inject-code class="target" position="beginning">
<insert-template name="reduce_code_matrix">
- <replace from="%MATRIX_TYPE" to="float" />
- <replace from="%MATRIX_SIZE" to="8" />
+ <replace from="%MATRIX_TYPE" to="float"/>
+ <replace from="%MATRIX_SIZE" to="8"/>
</insert-template>
</inject-code>
</add-function>
<add-function signature="QMatrix4x2(PySequence*)">
<inject-code class="target" position="beginning">
<insert-template name="matrix_constructor">
- <replace from="%SIZE" to="8" />
+ <replace from="%SIZE" to="8"/>
</insert-template>
</inject-code>
</add-function>
<add-function signature="data()" return-type="float">
<inject-code class="target" position="beginning">
<insert-template name="matrix_data_function">
- <replace from="%MATRIX_SIZE" to="8" />
- </insert-template>
- </inject-code>
- </add-function>
- <add-function signature="fill(PyObject*)">
- <inject-code class="target" position="beginning">
- <insert-template name="matrix_fill_function">
- <replace from="%MATRIX_SIZE" to="8" />
- </insert-template>
- </inject-code>
- </add-function>
- <add-function signature="transposed()" return-type="PyObject">
- <inject-code class="target" position="beginning">
- <insert-template name="matrix_transposed_function">
- <replace from="%TRANSPOSED_TYPE" to="QMatrix2x4" />
+ <replace from="%MATRIX_SIZE" to="8"/>
</insert-template>
</inject-code>
</add-function>
- <add-function signature="operator!=(const QMatrix4x2&amp;)" return-type="bool" />
- <add-function signature="operator*=(float)" return-type="QMatrix4x2" >
- <inject-code class="target" position="beginning">
- <insert-template name="inplace_mult"/>
- </inject-code>
- </add-function>
- <add-function signature="operator+=(const QMatrix4x2&amp;)" return-type="QMatrix4x2" >
- <inject-code class="target" position="beginning">
- <insert-template name="inplace_add"/>
- </inject-code>
- </add-function>
- <add-function signature="operator-=(const QMatrix4x2&amp;)" return-type="QMatrix4x2" >
- <inject-code class="target" position="beginning">
- <insert-template name="inplace_sub"/>
- </inject-code>
- </add-function>
- <add-function signature="operator/=(float)" return-type="QMatrix4x2" >
- <inject-code class="target" position="beginning">
- <insert-template name="inplace_div"/>
- </inject-code>
- </add-function>
- <add-function signature="operator==(const QMatrix4x2&amp;)" return-type="bool" />
</value-type>
<value-type name="QMatrix4x3" since="4.6">
+ <modify-function signature="QMatrix4x3(const float*)">
+ <modify-argument index="1"><array/></modify-argument>
+ </modify-function>
+ <modify-function signature="copyDataTo(float*) const" remove="all"/>
<add-function signature="__repr__" return-type="PyObject*">
<inject-code class="target" position="beginning">
<insert-template name="repr_code_matrix">
- <replace from="%MATRIX_SIZE" to="12" />
- <replace from="%MATRIX_TYPE" to="float" />
+ <replace from="%MATRIX_SIZE" to="12"/>
+ <replace from="%MATRIX_TYPE" to="float"/>
</insert-template>
</inject-code>
</add-function>
@@ -2909,66 +2208,29 @@
<add-function signature="__reduce__" return-type="PyObject*">
<inject-code class="target" position="beginning">
<insert-template name="reduce_code_matrix">
- <replace from="%MATRIX_TYPE" to="float" />
- <replace from="%MATRIX_SIZE" to="12" />
+ <replace from="%MATRIX_TYPE" to="float"/>
+ <replace from="%MATRIX_SIZE" to="12"/>
</insert-template>
</inject-code>
</add-function>
<add-function signature="QMatrix4x3(PySequence*)">
<inject-code class="target" position="beginning">
<insert-template name="matrix_constructor">
- <replace from="%SIZE" to="12" />
+ <replace from="%SIZE" to="12"/>
</insert-template>
</inject-code>
</add-function>
<add-function signature="data()" return-type="float">
<inject-code class="target" position="beginning">
<insert-template name="matrix_data_function">
- <replace from="%MATRIX_SIZE" to="12" />
- </insert-template>
- </inject-code>
- </add-function>
- <add-function signature="fill(PyObject*)">
- <inject-code class="target" position="beginning">
- <insert-template name="matrix_fill_function">
- <replace from="%MATRIX_SIZE" to="12" />
- </insert-template>
- </inject-code>
- </add-function>
- <add-function signature="transposed()" return-type="PyObject">
- <inject-code class="target" position="beginning">
- <insert-template name="matrix_transposed_function">
- <replace from="%TRANSPOSED_TYPE" to="QMatrix3x4" />
+ <replace from="%MATRIX_SIZE" to="12"/>
</insert-template>
</inject-code>
</add-function>
- <add-function signature="operator!=(const QMatrix4x3&amp;)" return-type="bool" />
- <add-function signature="operator*=(float)" return-type="QMatrix4x3" >
- <inject-code class="target" position="beginning">
- <insert-template name="inplace_mult"/>
- </inject-code>
- </add-function>
- <add-function signature="operator+=(const QMatrix4x3&amp;)" return-type="QMatrix4x3" >
- <inject-code class="target" position="beginning">
- <insert-template name="inplace_add"/>
- </inject-code>
- </add-function>
- <add-function signature="operator-=(const QMatrix4x3&amp;)" return-type="QMatrix4x3" >
- <inject-code class="target" position="beginning">
- <insert-template name="inplace_sub"/>
- </inject-code>
- </add-function>
- <add-function signature="operator/=(float)" return-type="QMatrix4x3" >
- <inject-code class="target" position="beginning">
- <insert-template name="inplace_div"/>
- </inject-code>
- </add-function>
- <add-function signature="operator==(const QMatrix4x3&amp;)" return-type="bool" />
</value-type>
<value-type name="QMatrix4x4" since="4.6">
-
<!-- Qt5: HAIRY TRICK ALERT ahead!
Qt5 partially replaced 'qreal' by float.
That had the side effect that all matrix types did not work any longer.
@@ -2977,10 +2239,10 @@
The signature "QList<qreal>" is needed by the __reduce__ methods,
but created by some other object used elsewhere.
- After the matrix type was changed, "QList<float>" was nowhere created.
+ After the matrix type was changed, "QList<float>" was created nowhere.
I don't know an explicit way to produce the right conversion function, so what I did
- was to create a dummy function and immediately dele it again.
+ was to create a dummy function and immediately delete it again.
This has the desired effect of creating the implicitly needed "QList<float>"
conversion, although the dummy function goes away.
@@ -2993,8 +2255,8 @@
<add-function signature="__repr__" return-type="PyObject*">
<inject-code class="target" position="beginning">
<insert-template name="repr_code_matrix">
- <replace from="%MATRIX_SIZE" to="16" />
- <replace from="%MATRIX_TYPE" to="float" />
+ <replace from="%MATRIX_SIZE" to="16"/>
+ <replace from="%MATRIX_TYPE" to="float"/>
</insert-template>
</inject-code>
</add-function>
@@ -3002,8 +2264,8 @@
<add-function signature="__reduce__" return-type="PyObject*">
<inject-code class="target" position="beginning">
<insert-template name="reduce_code_matrix">
- <replace from="%MATRIX_TYPE" to="float" />
- <replace from="%MATRIX_SIZE" to="16" />
+ <replace from="%MATRIX_TYPE" to="float"/>
+ <replace from="%MATRIX_SIZE" to="16"/>
</insert-template>
</inject-code>
</add-function>
@@ -3013,27 +2275,14 @@
<modify-function signature="QMatrix4x4(const float*)">
<modify-argument index="1">
- <replace-type modified-type="PySequence" />
+ <replace-type modified-type="PySequence"/>
</modify-argument>
- <inject-code class="target" position="beginning">
- if (PySequence_Size(%PYARG_1) == 16) {
- float values[16];
- for (int i=0; i &lt; 16; i++) {
- PyObject *pv = PySequence_Fast_GET_ITEM(%PYARG_1, i);
- values[i] = PyFloat_AsDouble(pv);
- }
-
- %0 = new %TYPE(values[0], values[1], values[2], values[3],
- values[4], values[5], values[6], values[7],
- values[8], values[9], values[10], values[11],
- values[12], values[13], values[14], values[15]);
- }
- </inject-code>
+ <inject-code class="target" position="beginning" file="../glue/qtgui.cpp" snippet="qmatrix4x4"/>
</modify-function>
<modify-function signature="data()">
<inject-code class="target" position="beginning">
<insert-template name="matrix_data_function">
- <replace from="%MATRIX_SIZE" to="16" />
+ <replace from="%MATRIX_SIZE" to="16"/>
</insert-template>
</inject-code>
</modify-function>
@@ -3044,15 +2293,7 @@
<modify-argument index="return">
<replace-type modified-type="PyTupleObject*"/>
</modify-argument>
- <inject-code class="target" position="beginning">
- float values[16];
- %CPPSELF.%FUNCTION_NAME(values);
- %PYARG_0 = PyTuple_New(16);
- for (int i = 0; i &lt; 16; i++) {
- PyObject *v = PyFloat_FromDouble(values[i]);
- PyTuple_SET_ITEM(%PYARG_0, i, v);
- }
- </inject-code>
+ <inject-code class="target" position="beginning" file="../glue/qtgui.cpp" snippet="qmatrix4x4-copydatato"/>
</modify-function>
<modify-function signature="inverted(bool*)const">
@@ -3074,21 +2315,7 @@
<modify-function signature="operator()(int,int)const" remove="all"/>
<modify-function signature="operator()(int,int)" remove="all"/>
<add-function signature="__mgetitem__" return-type="PyObject*">
- <inject-code>
- if (PySequence_Check(_key)) {
- Shiboken::AutoDecRef key(PySequence_Fast(_key, "Invalid matrix index."));
- if (PySequence_Fast_GET_SIZE(key.object()) == 2) {
- PyObject *posx = PySequence_Fast_GET_ITEM(key.object(), 0);
- 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);
- float ret = (*%CPPSELF)(x,y);
- return %CONVERTTOPYTHON[float](ret);
- }
- }
- PyErr_SetString(PyExc_IndexError, "Invalid matrix index.");
- return 0;
- </inject-code>
+ <inject-code file="../glue/qtgui.cpp" snippet="qmatrix4x4-mgetitem"/>
</add-function>
</value-type>
@@ -3098,8 +2325,8 @@
<add-function signature="__repr__" return-type="PyObject*">
<inject-code class="target" position="beginning">
<insert-template name="repr_code">
- <replace from="%REPR_FORMAT" to="%f, %f, %f, %f" />
- <replace from="%REPR_ARGS" to="%CPPSELF.scalar(), %CPPSELF.x(), %CPPSELF.y(), %CPPSELF.z()" />
+ <replace from="%REPR_FORMAT" to="%f, %f, %f, %f"/>
+ <replace from="%REPR_ARGS" to="%CPPSELF.scalar(), %CPPSELF.x(), %CPPSELF.y(), %CPPSELF.z()"/>
</insert-template>
</inject-code>
</add-function>
@@ -3107,16 +2334,16 @@
<add-function signature="__reduce__" return-type="PyObject*">
<inject-code class="target" position="beginning">
<insert-template name="reduce_code">
- <replace from="%REDUCE_FORMAT" to="dddd" />
- <replace from="%REDUCE_ARGS" to="%CPPSELF.scalar(), %CPPSELF.x(), %CPPSELF.y(), %CPPSELF.z()" />
+ <replace from="%REDUCE_FORMAT" to="dddd"/>
+ <replace from="%REDUCE_ARGS" to="%CPPSELF.scalar(), %CPPSELF.x(), %CPPSELF.y(), %CPPSELF.z()"/>
</insert-template>
</inject-code>
</add-function>
<!-- Qt5.5: XXX support the output variables! For now, I just suppressed the new methods. -->
- <modify-function signature="getAxisAndAngle(float*,float*,float*,float*)const" since="5.5" remove="all" />
- <modify-function signature="getAxisAndAngle(QVector3D*,float*)const" since="5.5" remove="all" />
- <modify-function signature="getEulerAngles(float*,float*,float*)const" since="5.5" remove="all" />
+ <modify-function signature="getAxisAndAngle(float*,float*,float*,float*)const" since="5.5" remove="all"/>
+ <modify-function signature="getAxisAndAngle(QVector3D*,float*)const" since="5.5" remove="all"/>
+ <modify-function signature="getEulerAngles(float*,float*,float*)const" since="5.5" remove="all"/>
</value-type>
<object-type name="QTouchEvent" since="4.6">
@@ -3126,16 +2353,16 @@
</object-type>
<object-type name="QTouchDevice">
- <enum-type name="CapabilityFlag" flags="Capabilities" />
- <enum-type name="DeviceType" />
+ <enum-type name="CapabilityFlag" flags="Capabilities"/>
+ <enum-type name="DeviceType"/>
</object-type>
<value-type name="QVector2D" since="4.6">
<add-function signature="__repr__" return-type="PyObject*">
<inject-code class="target" position="beginning">
<insert-template name="repr_code">
- <replace from="%REPR_FORMAT" to="%f, %f" />
- <replace from="%REPR_ARGS" to="%CPPSELF.x(), %CPPSELF.y()" />
+ <replace from="%REPR_FORMAT" to="%f, %f"/>
+ <replace from="%REPR_ARGS" to="%CPPSELF.x(), %CPPSELF.y()"/>
</insert-template>
</inject-code>
</add-function>
@@ -3143,8 +2370,8 @@
<add-function signature="__reduce__" return-type="PyObject*">
<inject-code class="target" position="beginning">
<insert-template name="reduce_code">
- <replace from="%REDUCE_FORMAT" to="dd" />
- <replace from="%REDUCE_ARGS" to="%CPPSELF.x(), %CPPSELF.y()" />
+ <replace from="%REDUCE_FORMAT" to="dd"/>
+ <replace from="%REDUCE_ARGS" to="%CPPSELF.x(), %CPPSELF.y()"/>
</insert-template>
</inject-code>
</add-function>
@@ -3152,8 +2379,8 @@
<add-function signature="toTuple" return-type="PyObject*">
<inject-code class="target" position="beginning">
<insert-template name="to_tuple">
- <replace from="%TT_FORMAT" to="dd" />
- <replace from="%TT_ARGS" to="%CPPSELF.x(), %CPPSELF.y()" />
+ <replace from="%TT_FORMAT" to="dd"/>
+ <replace from="%TT_ARGS" to="%CPPSELF.x(), %CPPSELF.y()"/>
</insert-template>
</inject-code>
</add-function>
@@ -3166,8 +2393,8 @@
<add-function signature="__repr__" return-type="PyObject*">
<inject-code class="target" position="beginning">
<insert-template name="repr_code">
- <replace from="%REPR_FORMAT" to="%f, %f, %f" />
- <replace from="%REPR_ARGS" to="%CPPSELF.x(), %CPPSELF.y(), %CPPSELF.z()" />
+ <replace from="%REPR_FORMAT" to="%f, %f, %f"/>
+ <replace from="%REPR_ARGS" to="%CPPSELF.x(), %CPPSELF.y(), %CPPSELF.z()"/>
</insert-template>
</inject-code>
</add-function>
@@ -3175,8 +2402,8 @@
<add-function signature="__reduce__" return-type="PyObject*">
<inject-code class="target" position="beginning">
<insert-template name="reduce_code">
- <replace from="%REDUCE_FORMAT" to="ddd" />
- <replace from="%REDUCE_ARGS" to="%CPPSELF.x(), %CPPSELF.y(), %CPPSELF.z()" />
+ <replace from="%REDUCE_FORMAT" to="ddd"/>
+ <replace from="%REDUCE_ARGS" to="%CPPSELF.x(), %CPPSELF.y(), %CPPSELF.z()"/>
</insert-template>
</inject-code>
</add-function>
@@ -3184,8 +2411,8 @@
<add-function signature="toTuple" return-type="PyObject*">
<inject-code class="target" position="beginning">
<insert-template name="to_tuple">
- <replace from="%TT_FORMAT" to="ddd" />
- <replace from="%TT_ARGS" to="%CPPSELF.x(), %CPPSELF.y(), %CPPSELF.z()" />
+ <replace from="%TT_FORMAT" to="ddd"/>
+ <replace from="%TT_ARGS" to="%CPPSELF.x(), %CPPSELF.y(), %CPPSELF.z()"/>
</insert-template>
</inject-code>
</add-function>
@@ -3198,8 +2425,8 @@
<add-function signature="__repr__" return-type="PyObject*">
<inject-code class="target" position="beginning">
<insert-template name="repr_code">
- <replace from="%REPR_FORMAT" to="%f, %f, %f, %f" />
- <replace from="%REPR_ARGS" to="%CPPSELF.x(), %CPPSELF.y(), %CPPSELF.z(), %CPPSELF.w()" />
+ <replace from="%REPR_FORMAT" to="%f, %f, %f, %f"/>
+ <replace from="%REPR_ARGS" to="%CPPSELF.x(), %CPPSELF.y(), %CPPSELF.z(), %CPPSELF.w()"/>
</insert-template>
</inject-code>
</add-function>
@@ -3207,8 +2434,8 @@
<add-function signature="__reduce__" return-type="PyObject*">
<inject-code class="target" position="beginning">
<insert-template name="reduce_code">
- <replace from="%REDUCE_FORMAT" to="dddd" />
- <replace from="%REDUCE_ARGS" to="%CPPSELF.x(), %CPPSELF.y(), %CPPSELF.z(), %CPPSELF.w()" />
+ <replace from="%REDUCE_FORMAT" to="dddd"/>
+ <replace from="%REDUCE_ARGS" to="%CPPSELF.x(), %CPPSELF.y(), %CPPSELF.z(), %CPPSELF.w()"/>
</insert-template>
</inject-code>
</add-function>
@@ -3216,8 +2443,8 @@
<add-function signature="toTuple" return-type="PyObject*">
<inject-code class="target" position="beginning">
<insert-template name="to_tuple">
- <replace from="%TT_FORMAT" to="dddd" />
- <replace from="%TT_ARGS" to="%CPPSELF.x(), %CPPSELF.y(), %CPPSELF.z(), %CPPSELF.w()" />
+ <replace from="%TT_FORMAT" to="dddd"/>
+ <replace from="%TT_ARGS" to="%CPPSELF.x(), %CPPSELF.y(), %CPPSELF.z(), %CPPSELF.w()"/>
</insert-template>
</inject-code>
</add-function>
@@ -3243,7 +2470,7 @@
</object-type>
<!-- This enum is present on QtCore -->
- <suppress-warning text="enum 'QCoreApplication::ApplicationFlags' is specified in typesystem, but not declared" />
+ <suppress-warning text="enum 'QCoreApplication::ApplicationFlags' is specified in typesystem, but not declared"/>
<!-- Qt5: here the new QWindow stuff and what it pulls in -->
<object-type name="QBackingStore"/>
@@ -3266,12 +2493,35 @@
</extra-includes>
</primitive-type>
- <object-type name="QWindow">
+ <object-type name="QWindow" delete-in-main-thread="true">
<enum-type name="AncestorMode"/>
<enum-type name="Visibility"/>
+ <modify-function signature="raise()" rename="raise_"/>
+ <!-- see QWidget::nativeEvent(), QAbstractNativeEventFilter::nativeEventFilter() -->
+ <modify-function signature="nativeEvent(const QByteArray &amp;,void*,long*)">
+ <modify-argument index="3">
+ <remove-argument/>
+ <conversion-rule class="native">
+ <insert-template name="return_native_eventfilter_conversion_variables"/>
+ </conversion-rule>
+ </modify-argument>
+ <modify-argument index="return">
+ <replace-type modified-type="PyObject"/>
+ <conversion-rule class="native">
+ <insert-template name="return_native_eventfilter_conversion"/>
+ </conversion-rule>
+ </modify-argument>
+ <inject-code position="end">
+ <insert-template name="return_native_eventfilter"/>
+ </inject-code>
+ </modify-function>
+ <modify-function signature="fromWinId(WId)">
+ <modify-argument index="1">
+ <replace-type modified-type="long"/>
+ </modify-argument>
+ <inject-code file="../glue/qtgui.cpp" snippet="qwindow-fromWinId"/>
+ </modify-function>
</object-type>
- <!-- Qt5: not sure if this needs support, skipped for now -->
- <rejection class="QWindow" function-name="nativeEvent"/>"
<object-type name="QGuiApplication">
<extra-includes>
@@ -3282,33 +2532,25 @@
<include file-name="QIcon" location="global"/>
<include file-name="QLocale" location="global"/>
</extra-includes>
- <modify-function signature="QGuiApplication(int&amp;,char**,int)" access="private" />
+ <modify-function signature="QGuiApplication(int&amp;,char**,int)" access="private"/>
<add-function signature="QGuiApplication(QStringList)">
- <inject-code>
- QGuiApplicationConstructor(%PYSELF, args, &amp;%0);
- </inject-code>
+ <inject-code file="../glue/qtgui.cpp" snippet="qguiapplication-1"/>
</add-function>
<add-function signature="QGuiApplication()">
- <inject-code>
- PyObject *empty = PyTuple_New(2);
- if (!PyTuple_SetItem(empty, 0, PyList_New(0))) {
- QGuiApplicationConstructor(%PYSELF, empty, &amp;%0);
- }
- </inject-code>
+ <inject-code file="../glue/qtgui.cpp" snippet="qguiapplication-2"/>
</add-function>
- <modify-function signature="exec()" rename="exec_" allow-thread="yes"/>
- <inject-code class="native" file="glue/qguiapplication_init.cpp" position="beginning" />
+ <inject-code class="native" position="beginning" file="../glue/qtgui.cpp" snippet="qguiapplication-init"/>
</object-type>
<object-type name="QOpenGLBuffer" since="5.0">
- <enum-type name="Access" />
- <enum-type name="RangeAccessFlag" flags="RangeAccessFlags" />
- <enum-type name="Type" />
- <enum-type name="UsagePattern" />
+ <enum-type name="Access"/>
+ <enum-type name="RangeAccessFlag" flags="RangeAccessFlags"/>
+ <enum-type name="Type"/>
+ <enum-type name="UsagePattern"/>
</object-type>
<object-type name="QOpenGLContext">
- <enum-type name="OpenGLModuleType" />
+ <enum-type name="OpenGLModuleType"/>
</object-type>
<object-type name="QOpenGLContextGroup" since="5.0"/>
<object-type name="QOpenGLDebugLogger" since="5.1">
@@ -3320,7 +2562,7 @@
<enum-type name="Severity" flags="Severities"/>
</value-type>
<object-type name="QOpenGLFramebufferObject" since="5.0">
- <enum-type name="Attachment" />
+ <enum-type name="Attachment"/>
<enum-type name="FramebufferRestorePolicy" since="5.7"/>
</object-type>
<value-type name="QOpenGLFramebufferObjectFormat"/>
@@ -3538,11 +2780,9 @@
</modify-function>
<modify-function signature="glGetStringi(unsigned int,unsigned int)">
<modify-argument index="return">
- <replace-type modified-type="QString" />
+ <replace-type modified-type="QString"/>
</modify-argument>
- <inject-code class="target" position="beginning">
- <insert-template name="glGetString_return_QString"/>
- </inject-code>
+ <inject-code class="target" position="beginning" file="../glue/qtcore.cpp" snippet="qstring-return"/>
</modify-function>
</object-type>
<object-type name="QOpenGLFunctions" since="5.0">
@@ -3599,7 +2839,7 @@
</modify-function>
<modify-function signature="glGetString(unsigned int)">
<modify-argument index="return">
- <replace-type modified-type="QString" />
+ <replace-type modified-type="QString"/>
</modify-argument>
<inject-code class="target" position="beginning">
<insert-template name="glGetString_return_QString"/>
@@ -3638,7 +2878,7 @@
-->
<value-type name="QOpenGLPixelTransferOptions"/>
<object-type name="QOpenGLShader" since="5.0">
- <enum-type name="ShaderTypeBit" flags="ShaderType" />
+ <enum-type name="ShaderTypeBit" flags="ShaderType"/>
</object-type>
<object-type name="QOpenGLShaderProgram" since="5.0">
<modify-function signature="setAttributeArray(int,const float*,int,int)">
@@ -3737,9 +2977,14 @@
<modify-function signature="glyphIndexesForChars(const QChar*,int,quint32*,int*)const" remove="all"/>
</value-type>
<object-type name="QRasterWindow"/>
- <object-type name="QScreen" />
+ <object-type name="QScreen">
+ <modify-function signature="grabWindow(WId,int,int,int,int)">
+ <modify-argument index="1">
+ <replace-type modified-type="long"/>
+ </modify-argument>
+ <inject-code file="../glue/qtgui.cpp" snippet="qscreen-grabWindow"/>
+ </modify-function>
+ </object-type>
<object-type name="QStyleHints"/>
</typesystem>
-
-