QmlDesigner: Add some basic on-drag property bindings for particles

Dragging Particle3D based items from component library will highlight
particle emitters for automatic property binding. Similarly,
dragging particle shapes will highlight emitters and attractors for
automatic binding.

Change-Id: I0e5a8d066beaa6d84e8665e7ae985287de32ceea
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
This commit is contained in:
Miikka Heikkinen
2022-03-17 15:15:05 +02:00
parent 519804a0d2
commit 68d30df703

View File

@@ -51,6 +51,11 @@ ChooseFromPropertyListFilter::ChooseFromPropertyListFilter(const NodeMetaInfo &i
// -> InstanceList
// Pass
// -> Effect
// Particle3D
// -> ParticleEmitter3D
// ParticleAbstractShape3D
// -> ParticleEmitter3D
// -> Attractor3D
const TypeName textureType = "QtQuick3D.Texture";
if (insertInfo.isSubclassOf(textureType)) {
@@ -92,6 +97,13 @@ ChooseFromPropertyListFilter::ChooseFromPropertyListFilter(const NodeMetaInfo &i
} else if (insertInfo.isSubclassOf("QtQuick3D.Pass")) {
if (parentInfo.isSubclassOf("QtQuick3D.Effect"))
propertyList.append("passes");
} else if (insertInfo.isSubclassOf("QtQuick3D.Particles3D.Particle3D")) {
if (parentInfo.isSubclassOf("QtQuick3D.Particles3D.ParticleEmitter3D"))
propertyList.append("particle");
} else if (insertInfo.isSubclassOf("QQuick3DParticleAbstractShape")) {
if (parentInfo.isSubclassOf("QtQuick3D.Particles3D.ParticleEmitter3D")
|| parentInfo.isSubclassOf("QtQuick3D.Particles3D.Attractor3D"))
propertyList.append("shape");
}
}