diff options
author | Ulf Hermann <ulf.hermann@qt.io> | 2019-08-21 18:34:21 +0200 |
---|---|---|
committer | Ulf Hermann <ulf.hermann@qt.io> | 2019-09-26 12:32:17 +0200 |
commit | cc1a604c704f848927b3fa0a97b0a50b0b79d2a4 (patch) | |
tree | 610ece713eba021c8e5a3d248f54a62370e810f8 /src/imports/particles | |
parent | 531cf90305ae50920b2e597dd0758fdb82ad88b0 (diff) |
Specify parameters of type registration in class declarations
Using this technique we can automatically register all necessary
revisions and minor versions of a type, using the metaobject system.
This greatly reduces the potential for mistakes and resulting
incompatibilities between versions of imports.
We assume that for each type we need to register all revisions of its
super types and its attached type, and that the revisions match. That
is, if you import version X of type A, you will also get version X of
its attached type and of any super types. As we previously didn't take
these dependencies into account when manually registering the types, a
number of extra revisions are now registered for some types.
Potentially, we can now generate the qmltypes files at compile time,
using moc.
Change-Id: I7abb8a5c39f5e63ad1a0cb41a783f2c91909491b
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Diffstat (limited to 'src/imports/particles')
-rw-r--r-- | src/imports/particles/plugins.qmltypes | 170 |
1 files changed, 136 insertions, 34 deletions
diff --git a/src/imports/particles/plugins.qmltypes b/src/imports/particles/plugins.qmltypes index 0fe5dc808c..4a11658f1f 100644 --- a/src/imports/particles/plugins.qmltypes +++ b/src/imports/particles/plugins.qmltypes @@ -12,8 +12,14 @@ Module { name: "QQuickAgeAffector" defaultProperty: "data" prototype: "QQuickParticleAffector" - exports: ["QtQuick.Particles/Age 2.0"] - exportMetaObjectRevisions: [0] + exports: [ + "QtQuick.Particles/Age 2.0", + "QtQuick.Particles/Age 2.1", + "QtQuick.Particles/Age 2.11", + "QtQuick.Particles/Age 2.4", + "QtQuick.Particles/Age 2.7" + ] + exportMetaObjectRevisions: [0, 1, 11, 4, 7] Property { name: "lifeLeft"; type: "int" } Property { name: "advancePosition"; type: "bool" } Signal { @@ -79,8 +85,14 @@ Module { name: "QQuickAttractorAffector" defaultProperty: "data" prototype: "QQuickParticleAffector" - exports: ["QtQuick.Particles/Attractor 2.0"] - exportMetaObjectRevisions: [0] + exports: [ + "QtQuick.Particles/Attractor 2.0", + "QtQuick.Particles/Attractor 2.1", + "QtQuick.Particles/Attractor 2.11", + "QtQuick.Particles/Attractor 2.4", + "QtQuick.Particles/Attractor 2.7" + ] + exportMetaObjectRevisions: [0, 1, 11, 4, 7] Enum { name: "Proportion" values: { @@ -157,8 +169,14 @@ Module { name: "QQuickCustomAffector" defaultProperty: "data" prototype: "QQuickParticleAffector" - exports: ["QtQuick.Particles/Affector 2.0"] - exportMetaObjectRevisions: [0] + exports: [ + "QtQuick.Particles/Affector 2.0", + "QtQuick.Particles/Affector 2.1", + "QtQuick.Particles/Affector 2.11", + "QtQuick.Particles/Affector 2.4", + "QtQuick.Particles/Affector 2.7" + ] + exportMetaObjectRevisions: [0, 1, 11, 4, 7] Property { name: "relative"; type: "bool" } Property { name: "position"; type: "QQuickDirection"; isPointer: true } Property { name: "velocity"; type: "QQuickDirection"; isPointer: true } @@ -205,8 +223,14 @@ Module { name: "QQuickCustomParticle" defaultProperty: "data" prototype: "QQuickParticlePainter" - exports: ["QtQuick.Particles/CustomParticle 2.0"] - exportMetaObjectRevisions: [0] + exports: [ + "QtQuick.Particles/CustomParticle 2.0", + "QtQuick.Particles/CustomParticle 2.1", + "QtQuick.Particles/CustomParticle 2.11", + "QtQuick.Particles/CustomParticle 2.4", + "QtQuick.Particles/CustomParticle 2.7" + ] + exportMetaObjectRevisions: [0, 1, 11, 4, 7] Property { name: "fragmentShader"; type: "QByteArray" } Property { name: "vertexShader"; type: "QByteArray" } } @@ -236,8 +260,14 @@ Module { name: "QQuickFrictionAffector" defaultProperty: "data" prototype: "QQuickParticleAffector" - exports: ["QtQuick.Particles/Friction 2.0"] - exportMetaObjectRevisions: [0] + exports: [ + "QtQuick.Particles/Friction 2.0", + "QtQuick.Particles/Friction 2.1", + "QtQuick.Particles/Friction 2.11", + "QtQuick.Particles/Friction 2.4", + "QtQuick.Particles/Friction 2.7" + ] + exportMetaObjectRevisions: [0, 1, 11, 4, 7] Property { name: "factor"; type: "double" } Property { name: "threshold"; type: "double" } Signal { @@ -261,8 +291,14 @@ Module { name: "QQuickGravityAffector" defaultProperty: "data" prototype: "QQuickParticleAffector" - exports: ["QtQuick.Particles/Gravity 2.0"] - exportMetaObjectRevisions: [0] + exports: [ + "QtQuick.Particles/Gravity 2.0", + "QtQuick.Particles/Gravity 2.1", + "QtQuick.Particles/Gravity 2.11", + "QtQuick.Particles/Gravity 2.4", + "QtQuick.Particles/Gravity 2.7" + ] + exportMetaObjectRevisions: [0, 1, 11, 4, 7] Property { name: "magnitude"; type: "double" } Property { name: "acceleration"; type: "double" } Property { name: "angle"; type: "double" } @@ -291,8 +327,14 @@ Module { name: "QQuickGroupGoalAffector" defaultProperty: "data" prototype: "QQuickParticleAffector" - exports: ["QtQuick.Particles/GroupGoal 2.0"] - exportMetaObjectRevisions: [0] + exports: [ + "QtQuick.Particles/GroupGoal 2.0", + "QtQuick.Particles/GroupGoal 2.1", + "QtQuick.Particles/GroupGoal 2.11", + "QtQuick.Particles/GroupGoal 2.4", + "QtQuick.Particles/GroupGoal 2.7" + ] + exportMetaObjectRevisions: [0, 1, 11, 4, 7] Property { name: "goalState"; type: "string" } Property { name: "jump"; type: "bool" } Signal { @@ -316,8 +358,14 @@ Module { name: "QQuickImageParticle" defaultProperty: "data" prototype: "QQuickParticlePainter" - exports: ["QtQuick.Particles/ImageParticle 2.0"] - exportMetaObjectRevisions: [0] + exports: [ + "QtQuick.Particles/ImageParticle 2.0", + "QtQuick.Particles/ImageParticle 2.1", + "QtQuick.Particles/ImageParticle 2.11", + "QtQuick.Particles/ImageParticle 2.4", + "QtQuick.Particles/ImageParticle 2.7" + ] + exportMetaObjectRevisions: [0, 1, 11, 4, 7] Enum { name: "Status" values: { @@ -495,8 +543,14 @@ Module { name: "QQuickItemParticle" defaultProperty: "data" prototype: "QQuickParticlePainter" - exports: ["QtQuick.Particles/ItemParticle 2.0"] - exportMetaObjectRevisions: [0] + exports: [ + "QtQuick.Particles/ItemParticle 2.0", + "QtQuick.Particles/ItemParticle 2.1", + "QtQuick.Particles/ItemParticle 2.11", + "QtQuick.Particles/ItemParticle 2.4", + "QtQuick.Particles/ItemParticle 2.7" + ] + exportMetaObjectRevisions: [0, 1, 11, 4, 7] attachedType: "QQuickItemParticleAttached" Property { name: "fade"; type: "bool" } Property { name: "delegate"; type: "QQmlComponent"; isPointer: true } @@ -575,9 +629,15 @@ Module { name: "QQuickParticleAffector" defaultProperty: "data" prototype: "QQuickItem" - exports: ["QtQuick.Particles/ParticleAffector 2.0"] + exports: [ + "QtQuick.Particles/ParticleAffector 2.0", + "QtQuick.Particles/ParticleAffector 2.1", + "QtQuick.Particles/ParticleAffector 2.11", + "QtQuick.Particles/ParticleAffector 2.4", + "QtQuick.Particles/ParticleAffector 2.7" + ] isCreatable: false - exportMetaObjectRevisions: [0] + exportMetaObjectRevisions: [0, 1, 11, 4, 7] Property { name: "system"; type: "QQuickParticleSystem"; isPointer: true } Property { name: "groups"; type: "QStringList" } Property { name: "whenCollidingWith"; type: "QStringList" } @@ -643,8 +703,14 @@ Module { name: "QQuickParticleEmitter" defaultProperty: "data" prototype: "QQuickItem" - exports: ["QtQuick.Particles/Emitter 2.0"] - exportMetaObjectRevisions: [0] + exports: [ + "QtQuick.Particles/Emitter 2.0", + "QtQuick.Particles/Emitter 2.1", + "QtQuick.Particles/Emitter 2.11", + "QtQuick.Particles/Emitter 2.4", + "QtQuick.Particles/Emitter 2.7" + ] + exportMetaObjectRevisions: [0, 1, 11, 4, 7] Enum { name: "Lifetime" values: { @@ -839,9 +905,15 @@ Module { name: "QQuickParticlePainter" defaultProperty: "data" prototype: "QQuickItem" - exports: ["QtQuick.Particles/ParticlePainter 2.0"] + exports: [ + "QtQuick.Particles/ParticlePainter 2.0", + "QtQuick.Particles/ParticlePainter 2.1", + "QtQuick.Particles/ParticlePainter 2.11", + "QtQuick.Particles/ParticlePainter 2.4", + "QtQuick.Particles/ParticlePainter 2.7" + ] isCreatable: false - exportMetaObjectRevisions: [0] + exportMetaObjectRevisions: [0, 1, 11, 4, 7] Property { name: "system"; type: "QQuickParticleSystem"; isPointer: true } Property { name: "groups"; type: "QStringList" } Signal { name: "countChanged" } @@ -871,8 +943,14 @@ Module { name: "QQuickParticleSystem" defaultProperty: "data" prototype: "QQuickItem" - exports: ["QtQuick.Particles/ParticleSystem 2.0"] - exportMetaObjectRevisions: [0] + exports: [ + "QtQuick.Particles/ParticleSystem 2.0", + "QtQuick.Particles/ParticleSystem 2.1", + "QtQuick.Particles/ParticleSystem 2.11", + "QtQuick.Particles/ParticleSystem 2.4", + "QtQuick.Particles/ParticleSystem 2.7" + ] + exportMetaObjectRevisions: [0, 1, 11, 4, 7] Property { name: "running"; type: "bool" } Property { name: "paused"; type: "bool" } Property { name: "empty"; type: "bool"; isReadonly: true } @@ -966,8 +1044,14 @@ Module { name: "QQuickSpriteGoalAffector" defaultProperty: "data" prototype: "QQuickParticleAffector" - exports: ["QtQuick.Particles/SpriteGoal 2.0"] - exportMetaObjectRevisions: [0] + exports: [ + "QtQuick.Particles/SpriteGoal 2.0", + "QtQuick.Particles/SpriteGoal 2.1", + "QtQuick.Particles/SpriteGoal 2.11", + "QtQuick.Particles/SpriteGoal 2.4", + "QtQuick.Particles/SpriteGoal 2.7" + ] + exportMetaObjectRevisions: [0, 1, 11, 4, 7] Property { name: "goalState"; type: "string" } Property { name: "jump"; type: "bool" } Property { name: "systemStates"; type: "bool" } @@ -1069,8 +1153,14 @@ Module { name: "QQuickTrailEmitter" defaultProperty: "data" prototype: "QQuickParticleEmitter" - exports: ["QtQuick.Particles/TrailEmitter 2.0"] - exportMetaObjectRevisions: [0] + exports: [ + "QtQuick.Particles/TrailEmitter 2.0", + "QtQuick.Particles/TrailEmitter 2.1", + "QtQuick.Particles/TrailEmitter 2.11", + "QtQuick.Particles/TrailEmitter 2.4", + "QtQuick.Particles/TrailEmitter 2.7" + ] + exportMetaObjectRevisions: [0, 1, 11, 4, 7] Enum { name: "EmitSize" values: { @@ -1132,8 +1222,14 @@ Module { name: "QQuickTurbulenceAffector" defaultProperty: "data" prototype: "QQuickParticleAffector" - exports: ["QtQuick.Particles/Turbulence 2.0"] - exportMetaObjectRevisions: [0] + exports: [ + "QtQuick.Particles/Turbulence 2.0", + "QtQuick.Particles/Turbulence 2.1", + "QtQuick.Particles/Turbulence 2.11", + "QtQuick.Particles/Turbulence 2.4", + "QtQuick.Particles/Turbulence 2.7" + ] + exportMetaObjectRevisions: [0, 1, 11, 4, 7] Property { name: "strength"; type: "double" } Property { name: "noiseSource"; type: "QUrl" } Signal { @@ -1157,8 +1253,14 @@ Module { name: "QQuickWanderAffector" defaultProperty: "data" prototype: "QQuickParticleAffector" - exports: ["QtQuick.Particles/Wander 2.0"] - exportMetaObjectRevisions: [0] + exports: [ + "QtQuick.Particles/Wander 2.0", + "QtQuick.Particles/Wander 2.1", + "QtQuick.Particles/Wander 2.11", + "QtQuick.Particles/Wander 2.4", + "QtQuick.Particles/Wander 2.7" + ] + exportMetaObjectRevisions: [0, 1, 11, 4, 7] Enum { name: "AffectableParameters" values: { |