aboutsummaryrefslogtreecommitdiffstats
path: root/sources/pyside2/PySide2/QtQuick
diff options
context:
space:
mode:
authorCristian Maureira-Fredes <cristian.maureira-fredes@qt.io>2018-10-11 17:45:43 +0200
committerCristian Maureira-Fredes <cristian.maureira-fredes@qt.io>2018-11-22 17:00:11 +0000
commita57a202a70801f766094c3ed11664b03c9a6a3e4 (patch)
tree73c2c1f4fc902ccbc10b73811bbf299a2c555728 /sources/pyside2/PySide2/QtQuick
parentf93a7369657814206bfbce49817c8fbd9a1bfcba (diff)
Move inject-code snippets to separate files
When code must be modified or added to certain functions, we currently have two options: * Write a template and include it into the typesystem, * inject code directly at a certain place of the function entry. The problem with injecting raw code is that since it is an XML file, one need to escape protected symbols, like "<" and "&". Thanks to a couple of complementary commits, now we can place this code snippets on a separate file without triggering a whole module compiling process, since the typesystem itself will not be alterered. All the injected code from the typesystem was removed and placed into a single file per module inside a top-level directory called glue. Some small fixes were included mainly regarding styling of the code. Task-number: PYSIDE-834 Change-Id: I823e92d241a528d75d5940090008db9bf297f49e Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Diffstat (limited to 'sources/pyside2/PySide2/QtQuick')
-rw-r--r--sources/pyside2/PySide2/QtQuick/typesystem_quick.xml116
1 files changed, 57 insertions, 59 deletions
diff --git a/sources/pyside2/PySide2/QtQuick/typesystem_quick.xml b/sources/pyside2/PySide2/QtQuick/typesystem_quick.xml
index dde90166f..2dc90b9e0 100644
--- a/sources/pyside2/PySide2/QtQuick/typesystem_quick.xml
+++ b/sources/pyside2/PySide2/QtQuick/typesystem_quick.xml
@@ -45,130 +45,128 @@
<load-typesystem name="QtGui/typesystem_gui.xml" generate="no"/>
<load-typesystem name="QtQml/typesystem_qml.xml" generate="no"/>
- <smart-pointer-type name="QSharedPointer" type="shared" getter="data" />
+ <smart-pointer-type name="QSharedPointer" type="shared" getter="data"/>
<extra-includes>
<include file-name="pysidequickregistertype.h" location="local"/>
</extra-includes>
- <inject-code class="target" position="end">
- PySide::initQuickSupport(module);
- </inject-code>
+ <inject-code class="target" position="end" file="../glue/qtquick.cpp" snippet="qtquick"/>
- <object-type name="QQuickAsyncImageProvider" since="5.6" />
+ <object-type name="QQuickAsyncImageProvider" since="5.6"/>
- <object-type name="QQuickFramebufferObject" />
- <object-type name="QQuickFramebufferObject::Renderer" />
+ <object-type name="QQuickFramebufferObject"/>
+ <object-type name="QQuickFramebufferObject::Renderer"/>
- <object-type name="QQuickTextureFactory" />
- <object-type name="QQuickImageProvider" />
- <object-type name="QQuickImageResponse" since="5.6" />
+ <object-type name="QQuickTextureFactory"/>
+ <object-type name="QQuickImageProvider"/>
+ <object-type name="QQuickImageResponse" since="5.6"/>
- <object-type name="QQuickTransform" />
+ <object-type name="QQuickTransform"/>
<object-type name="QQuickItem" delete-in-main-thread="true">
- <value-type name="UpdatePaintNodeData" />
- <enum-type name="Flag" flags="Flags" />
- <enum-type name="ItemChange" />
- <enum-type name="TransformOrigin" />
+ <value-type name="UpdatePaintNodeData"/>
+ <enum-type name="Flag" flags="Flags"/>
+ <enum-type name="ItemChange"/>
+ <enum-type name="TransformOrigin"/>
<modify-function signature="itemTransform(QQuickItem*,bool*)const" allow-thread="yes">
<modify-argument index="2">
<remove-argument />
</modify-argument>
<modify-argument index="return">
- <replace-type modified-type="PyTuple" />
+ <replace-type modified-type="PyTuple"/>
</modify-argument>
<inject-code class="target" position="beginning">
- <insert-template name="fix_args,bool*" />
+ <insert-template name="fix_args,bool*"/>
</inject-code>
</modify-function>
<!-- TODO: Find a way to wrap `union ItemChangeData {}` -->
</object-type>
- <object-type name="QQuickItemGrabResult" />
+ <object-type name="QQuickItemGrabResult"/>
<object-type name="QQuickPaintedItem">
- <enum-type name="RenderTarget" />
- <enum-type name="PerformanceHint" flags="PerformanceHints" />
+ <enum-type name="RenderTarget"/>
+ <enum-type name="PerformanceHint" flags="PerformanceHints"/>
</object-type>
- <object-type name="QQuickRenderControl" />
+ <object-type name="QQuickRenderControl"/>
- <object-type name="QQuickTextDocument" />
+ <object-type name="QQuickTextDocument"/>
<object-type name="QQuickView">
- <enum-type name="ResizeMode" />
- <enum-type name="Status" />
+ <enum-type name="ResizeMode"/>
+ <enum-type name="Status"/>
</object-type>
<object-type name="QQuickWindow">
- <enum-type name="CreateTextureOption" flags="CreateTextureOptions" />
- <enum-type name="RenderStage" />
- <enum-type name="SceneGraphError" />
+ <enum-type name="CreateTextureOption" flags="CreateTextureOptions"/>
+ <enum-type name="RenderStage"/>
+ <enum-type name="SceneGraphError"/>
<enum-type name="TextRenderType" since="5.10"/>
</object-type>
<object-type name="QSGAbstractRenderer">
- <enum-type name="ClearModeBit" flags="ClearMode" />
+ <enum-type name="ClearModeBit" flags="ClearMode"/>
</object-type>
- <object-type name="QSGBasicGeometryNode" />
- <object-type name="QSGClipNode" />
- <object-type name="QSGDynamicTexture" />
+ <object-type name="QSGBasicGeometryNode"/>
+ <object-type name="QSGClipNode"/>
+ <object-type name="QSGDynamicTexture"/>
<object-type name="QSGEngine">
- <enum-type name="CreateTextureOption" flags="CreateTextureOptions" />
+ <enum-type name="CreateTextureOption" flags="CreateTextureOptions"/>
</object-type>
- <!-- <object-type name="QSGFlatColorMaterial" /> -->
+ <!-- <object-type name="QSGFlatColorMaterial"/> -->
<object-type name="QSGGeometry">
- <enum-type name="DataPattern" />
+ <enum-type name="DataPattern"/>
<enum-type name="AttributeType" since="5.8"/>
<enum-type name="DrawingMode" since="5.8"/>
<enum-type name="Type" since="5.8"/>
</object-type>
- <value-type name="QSGGeometry::Attribute" />
- <value-type name="QSGGeometry::AttributeSet" />
- <value-type name="QSGGeometry::ColoredPoint2D" />
- <value-type name="QSGGeometry::Point2D" />
- <value-type name="QSGGeometry::TexturedPoint2D" />
- <object-type name="QSGGeometryNode" />
+ <value-type name="QSGGeometry::Attribute"/>
+ <value-type name="QSGGeometry::AttributeSet"/>
+ <value-type name="QSGGeometry::ColoredPoint2D"/>
+ <value-type name="QSGGeometry::Point2D"/>
+ <value-type name="QSGGeometry::TexturedPoint2D"/>
+ <object-type name="QSGGeometryNode"/>
<!-- QSGMaterialShader doesn't compile because of const char * char * types not being recognized
by the C++ parser, nor the generator.
<object-type name="QSGMaterial">
- <enum-type name="Flag" flags="Flags" />
+ <enum-type name="Flag" flags="Flags"/>
</object-type>
- <object-type name="QSGMaterialShader" />
+ <object-type name="QSGMaterialShader"/>
<value-type name="QSGMaterialShader::RenderState">
- <enum-type name="DirtyState" flags="DirtyStates" />
+ <enum-type name="DirtyState" flags="DirtyStates"/>
</value-type>
-->
- <object-type name="QSGMaterialType" />
+ <object-type name="QSGMaterialType"/>
<object-type name="QSGNode">
- <enum-type name="DirtyStateBit" flags="DirtyState" />
- <enum-type name="Flag" flags="Flags" />
- <enum-type name="NodeType" />
+ <enum-type name="DirtyStateBit" flags="DirtyState"/>
+ <enum-type name="Flag" flags="Flags"/>
+ <enum-type name="NodeType"/>
</object-type>
- <object-type name="QSGOpacityNode" />
- <!-- <object-type name="QSGOpaqueTextureMaterial" /> -->
- <object-type name="QSGSimpleRectNode" />
+ <object-type name="QSGOpacityNode"/>
+ <!-- <object-type name="QSGOpaqueTextureMaterial"/> -->
+ <object-type name="QSGSimpleRectNode"/>
<object-type name="QSGSimpleTextureNode">
- <enum-type name="TextureCoordinatesTransformFlag" flags="TextureCoordinatesTransformMode" />
+ <enum-type name="TextureCoordinatesTransformFlag" flags="TextureCoordinatesTransformMode"/>
</object-type>
<object-type name="QSGTexture">
<enum-type name="AnisotropyLevel" since="5.9"/>
- <enum-type name="Filtering" />
- <enum-type name="WrapMode" />
+ <enum-type name="Filtering"/>
+ <enum-type name="WrapMode"/>
</object-type>
- <!-- <object-type name="QSGTextureMaterial" /> -->
- <object-type name="QSGTextureProvider" />
- <object-type name="QSGTransformNode" />
- <!-- <object-type name="QSGVertexColorMaterial" /> -->
+ <!-- <object-type name="QSGTextureMaterial"/> -->
+ <object-type name="QSGTextureProvider"/>
+ <object-type name="QSGTransformNode"/>
+ <!-- <object-type name="QSGVertexColorMaterial"/> -->
<!-- These currently don't work because they are template classes, and the generator chokes on
them. Making these work properly would require fixing the parsing of template classes,
allowing creation of State structures and passing them to the template classes, as well as
implementing some mechanism of registration of the custom template classes, kind of how
it's done for qt quick items.
- <object-type name="QSGSimpleMaterial" />
- <object-type name="QSGSimpleMaterialShader" />
+ <object-type name="QSGSimpleMaterial"/>
+ <object-type name="QSGSimpleMaterialShader"/>
-->
</typesystem>