diff options
author | Christian Tismer <tismer@stackless.com> | 2019-08-01 15:24:00 +0200 |
---|---|---|
committer | Christian Tismer <tismer@stackless.com> | 2019-08-07 15:19:34 +0200 |
commit | 87986cf77194b995785ae06e9eff07524b711dba (patch) | |
tree | c2af02dd852c62b9464adb72ffea0bed0a6af57a /sources/pyside2/PySide2/QtGui/typesystem_gui_common.xml | |
parent | 21d948aa47dfe62b58286a31c729e76c9e3c13db (diff) |
Support Pointer Primitive Types by Arrays or Result Tuples
-- This change is part of the improved numpy support --
Most primitive types are handled in XML, but this was not reflected
by the signatures, error messages, doc strings and hinting stubs.
In order to enhance the information shown to be more correct,
the C++ parser part was rewritten for Python. It is written
closely to Python syntax, but keeps the existing information about
primitive types intact.
AbstractMetaType::NativePointerAsArrayPattern is now used to
mark a variable as an array. Heuristics are no longer used.
If a pointer variable is not marked as an array, the Python parser
generates a return value. If more than one value would be returned,
a result-tuple is generated.
Because we now have a deterministic categorization of types, the
"const" attribute is no more needed and the entries in mapping.py
are reduced.
A few missing <array/> markers were added.
The tool also now handles typing.List[] differently in arguments and
return types. While return types stay lists, they are for now changed
to typing.Sequence[] in argument lists.
A test was included.
These messages belong to the previous "deprecated functions" patch:
Further, QMatrixMxN.constData was removed from the typesystem
and replaced by a surrogate function that calls QMatrixMxN.data,
but also generates a warning.
The long forgotten generate_pyi.py was now published in the same
course.
Task-number: PYSIDE-795
Task-number: PYSIDE-951
Change-Id: Ia59fe4986919525a70ea7cc453c64cdf46e7fba0
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
Diffstat (limited to 'sources/pyside2/PySide2/QtGui/typesystem_gui_common.xml')
-rw-r--r-- | sources/pyside2/PySide2/QtGui/typesystem_gui_common.xml | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/sources/pyside2/PySide2/QtGui/typesystem_gui_common.xml b/sources/pyside2/PySide2/QtGui/typesystem_gui_common.xml index 95b85a918..ab40e3953 100644 --- a/sources/pyside2/PySide2/QtGui/typesystem_gui_common.xml +++ b/sources/pyside2/PySide2/QtGui/typesystem_gui_common.xml @@ -1117,6 +1117,7 @@ <modify-function signature="boundingRect(QRectF,int,QString,int,int*)const"> <modify-argument index="5"> <replace-type modified-type="PyObject"/> + <array/> </modify-argument> <inject-code class="target" position="beginning" file="../glue/qtgui.cpp" snippet="qfontmetricsf-boundingrect"/> </modify-function> @@ -1124,6 +1125,7 @@ <modify-function signature="size(int,QString,int,int*)const"> <modify-argument index="4"> <replace-type modified-type="PyObject"/> + <array/> </modify-argument> <inject-code class="target" position="beginning" file="../glue/qtgui.cpp" snippet="qfontmetricsf-size"/> </modify-function> @@ -1150,7 +1152,8 @@ <modify-function signature="boundingRect(int,int,int,int,int,QString,int,int*)const"> <modify-argument index="8"> - <replace-type modified-type="PyObject"/> + <replace-type modified-type="PyObject"/> + <array/> </modify-argument> <inject-code class="target" position="beginning" file="../glue/qtgui.cpp" snippet="qfontmetrics-boundingrect-1"/> </modify-function> @@ -1158,6 +1161,7 @@ <modify-function signature="boundingRect(QRect,int,QString,int,int*)const"> <modify-argument index="5"> <replace-type modified-type="PyObject"/> + <array/> </modify-argument> <inject-code class="target" position="beginning" file="../glue/qtgui.cpp" snippet="qfontmetrics-boundingrect-2"/> </modify-function> @@ -1165,6 +1169,7 @@ <modify-function signature="size(int,QString,int,int*)const"> <modify-argument index="4"> <replace-type modified-type="PyObject"/> + <array/> </modify-argument> <inject-code class="target" position="beginning" file="../glue/qtgui.cpp" snippet="qfontmetrics-size"/> </modify-function> @@ -1935,6 +1940,7 @@ <value-type name="QMatrix2x2" since="4.6"> <modify-function signature="QMatrix2x2(const float*)" remove="all"/> <modify-function signature="copyDataTo(float*) const" remove="all"/> + <modify-function signature="constData()const" remove="all"/> <add-function signature="__repr__" return-type="PyObject*"> <inject-code class="target" position="beginning"> <insert-template name="repr_code_matrix"> @@ -1971,6 +1977,7 @@ <value-type name="QMatrix2x3" since="4.6"> <modify-function signature="QMatrix2x3(const float*)" remove="all"/> <modify-function signature="copyDataTo(float*) const" remove="all"/> + <modify-function signature="constData()const" remove="all"/> <add-function signature="__repr__" return-type="PyObject*"> <inject-code class="target" position="beginning"> <insert-template name="repr_code_matrix"> @@ -2007,6 +2014,7 @@ <value-type name="QMatrix2x4" since="4.6"> <modify-function signature="QMatrix2x4(const float*)" remove="all"/> <modify-function signature="copyDataTo(float*) const" remove="all"/> + <modify-function signature="constData()const" remove="all"/> <add-function signature="__repr__" return-type="PyObject*"> <inject-code class="target" position="beginning"> <insert-template name="repr_code_matrix"> @@ -2043,6 +2051,7 @@ <value-type name="QMatrix3x2" since="4.6"> <modify-function signature="QMatrix3x2(const float*)" remove="all"/> <modify-function signature="copyDataTo(float*) const" remove="all"/> + <modify-function signature="constData()const" remove="all"/> <add-function signature="__repr__" return-type="PyObject*"> <inject-code class="target" position="beginning"> <insert-template name="repr_code_matrix"> @@ -2079,6 +2088,7 @@ <value-type name="QMatrix3x3" since="4.6"> <modify-function signature="QMatrix3x3(const float*)" remove="all"/> <modify-function signature="copyDataTo(float*) const" remove="all"/> + <modify-function signature="constData()const" remove="all"/> <add-function signature="__repr__" return-type="PyObject*"> <inject-code class="target" position="beginning"> <insert-template name="repr_code_matrix"> @@ -2115,6 +2125,7 @@ <value-type name="QMatrix3x4" since="4.6"> <modify-function signature="QMatrix3x4(const float*)" remove="all"/> <modify-function signature="copyDataTo(float*) const" remove="all"/> + <modify-function signature="constData()const" remove="all"/> <add-function signature="__repr__" return-type="PyObject*"> <inject-code class="target" position="beginning"> <insert-template name="repr_code_matrix"> @@ -2151,6 +2162,7 @@ <value-type name="QMatrix4x2" since="4.6"> <modify-function signature="QMatrix4x2(const float*)" remove="all"/> <modify-function signature="copyDataTo(float*) const" remove="all"/> + <modify-function signature="constData()const" remove="all"/> <add-function signature="__repr__" return-type="PyObject*"> <inject-code class="target" position="beginning"> <insert-template name="repr_code_matrix"> @@ -2187,6 +2199,7 @@ <value-type name="QMatrix4x3" since="4.6"> <modify-function signature="QMatrix4x3(const float*)" remove="all"/> <modify-function signature="copyDataTo(float*) const" remove="all"/> + <modify-function signature="constData()const" remove="all"/> <add-function signature="__repr__" return-type="PyObject*"> <inject-code class="target" position="beginning"> <insert-template name="repr_code_matrix"> @@ -2267,6 +2280,7 @@ <modify-function signature="QMatrix4x4(const float*)"> <modify-argument index="1"> <replace-type modified-type="PySequence"/> + <array/> </modify-argument> <inject-code class="target" position="beginning" file="../glue/qtgui.cpp" snippet="qmatrix4x4"/> </modify-function> @@ -2734,7 +2748,7 @@ <modify-argument index="3"><array/></modify-argument> </modify-function> <modify-function signature="^glTexParameterI?u?[fi]v\(.*$"> - <modify-argument index="3"><array/></modify-argument> + <modify-argument index="3"><array/></modify-argument> </modify-function> <modify-function signature="glUniform1uiv(int,int,const unsigned int*)"> <modify-argument index="3"><array/></modify-argument> |