aboutsummaryrefslogtreecommitdiffstats
path: root/sources/pyside2/PySide2/templates
diff options
context:
space:
mode:
authorCristian Maureira-Fredes <cristian.maureira-fredes@qt.io>2018-11-30 15:07:27 +0100
committerAlexandru Croitor <alexandru.croitor@qt.io>2018-11-30 16:04:25 +0000
commit5778103f5c86dc7f95bd79eabc24de4021eb2734 (patch)
tree870a404177f02bcd0288deee090af994de7de7e7 /sources/pyside2/PySide2/templates
parent0a40640a1882dceb34f601dc818cd64c29612672 (diff)
Move code to snippets and templates
There was still leftover code on the typesystems but not all could be translated to snippets, so it was replace by templates. Task-number: PYSIDE-834 Change-Id: I7dbe2f15171ce6a60137be970312dc80622219c9 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Diffstat (limited to 'sources/pyside2/PySide2/templates')
-rw-r--r--sources/pyside2/PySide2/templates/gui_common.xml21
-rw-r--r--sources/pyside2/PySide2/templates/webkitwidgets_common.xml18
-rw-r--r--sources/pyside2/PySide2/templates/widgets_common.xml37
3 files changed, 76 insertions, 0 deletions
diff --git a/sources/pyside2/PySide2/templates/gui_common.xml b/sources/pyside2/PySide2/templates/gui_common.xml
index 227d0a460..d25d50014 100644
--- a/sources/pyside2/PySide2/templates/gui_common.xml
+++ b/sources/pyside2/PySide2/templates/gui_common.xml
@@ -287,5 +287,26 @@
%PYARG_0 = %CONVERTTOPYTHON[%CPPSELF_TYPE](_tmp);
</template>
+ <template name="const_char_pybuffer">
+ PyObject *%out = Shiboken::Buffer::newObject(%in, size);
+ </template>
+
+ <template name="pybuffer_const_char">
+ Py_ssize_t bufferLen;
+ char *%out = reinterpret_cast&lt;char*&gt;(Shiboken::Buffer::getPointer(%PYARG_1, &amp;bufferLen));
+ </template>
+
+ <template name="uint_remove">
+ uint %out = bufferLen;
+ </template>
+
+ <template name="pybytes_const_uchar">
+ const uchar *%out = reinterpret_cast&lt;const uchar*>(PyBytes_AS_STRING(%PYARG_1));
+ </template>
+
+ <template name="pybytes_uint">
+ uint %out = static_cast&lt;uint>(PyBytes_Size(%PYARG_1));
+ </template>
+
</typesystem>
diff --git a/sources/pyside2/PySide2/templates/webkitwidgets_common.xml b/sources/pyside2/PySide2/templates/webkitwidgets_common.xml
index fa70c8de7..43e560c5f 100644
--- a/sources/pyside2/PySide2/templates/webkitwidgets_common.xml
+++ b/sources/pyside2/PySide2/templates/webkitwidgets_common.xml
@@ -52,4 +52,22 @@
}
</template>
+ <template name="qstring_remove">
+ QString _local;
+ QString* %4 = &amp;_local;
+ </template>
+
+ <template name="pysequence_qstring">
+ Shiboken::AutoDecRef pyRes(PySequence_GetItem(%PYARG_0, 0));
+ Shiboken::AutoDecRef pyStr(PySequence_GetItem(%PYARG_0, 1));
+ %RETURN_TYPE %out = %CONVERTTOCPP[%RETURN_TYPE](pyRes);
+ *%4 = %CONVERTTOCPP[QString](pyStr);
+ </template>
+
+ <template name="qstring_pytuple">
+ %PYARG_0 = PyTuple_New(2);
+ PyTuple_SET_ITEM(%PYARG_0, 0, %CONVERTTOPYTHON[%RETURN_TYPE](%0));
+ PyTuple_SET_ITEM(%PYARG_0, 1, %CONVERTTOPYTHON[QString](*%4));
+ </template>
+
</typesystem>
diff --git a/sources/pyside2/PySide2/templates/widgets_common.xml b/sources/pyside2/PySide2/templates/widgets_common.xml
index b68739533..e63785bb2 100644
--- a/sources/pyside2/PySide2/templates/widgets_common.xml
+++ b/sources/pyside2/PySide2/templates/widgets_common.xml
@@ -51,4 +51,41 @@
Shiboken::Object::setParent(%PYSELF, $PYARG);
</template>
+ <template name="qgraphicsitem_pysequence">
+ int numItems = PySequence_Size(%PYARG_1);
+ Shiboken::AutoArrayPointer&lt;QGraphicsItem*&gt; %out(numItems);
+ for (int i=0; i &lt; numItems; i++) {
+ %out[i] = %CONVERTTOCPP[QGraphicsItem*](PySequence_Fast_GET_ITEM(%PYARG_1, i));
+ }
+ </template>
+
+ <template name="qgraphicsitem_pyobject">
+ Shiboken::AutoDecRef object(PyList_New(0));
+ for (int i=0, max=numItems; i &lt; max; i++) {
+ PyList_Append(object, %CONVERTTOPYTHON[QGraphicsItem*](%in[i]));
+ }
+ PyObject *%out = object.object();
+ </template>
+
+ <template name="qstyleoptiongraphicsitem_pyobject">
+ Shiboken::AutoDecRef option_object(PyList_New(0));
+ for (int i=0, max=numItems; i &lt; max; i++) {
+ const QStyleOptionGraphicsItem* item = &amp;%in[i];
+ PyList_Append(option_object, %CONVERTTOPYTHON[QStyleOptionGraphicsItem](item));
+ }
+ PyObject* %out = option_object.object();
+ </template>
+
+ <template name="pysequence_qstyleoptiongraphicsitem">
+ int numOptions = PySequence_Size(%PYARG_2);
+ Shiboken::AutoArrayPointer&lt;QStyleOptionGraphicsItem&gt; %out(numOptions);
+ for (int i=0; i &lt; numOptions; i++) {
+ %out[i] = %CONVERTTOCPP[QStyleOptionGraphicsItem](PySequence_Fast_GET_ITEM(%PYARG_1, i));
+ }
+ </template>
+
+ <template name="pysequencesize_int">
+ int %out = PySequence_Size(%PYARG_1);
+ </template>
+
</typesystem>