From 68d30df703191f0628d865c510439ae032c23ded Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Thu, 17 Mar 2022 15:15:05 +0200 Subject: [PATCH] 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 --- .../navigator/choosefrompropertylistdialog.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/plugins/qmldesigner/components/navigator/choosefrompropertylistdialog.cpp b/src/plugins/qmldesigner/components/navigator/choosefrompropertylistdialog.cpp index fd17d9b5bc3..00987711c56 100644 --- a/src/plugins/qmldesigner/components/navigator/choosefrompropertylistdialog.cpp +++ b/src/plugins/qmldesigner/components/navigator/choosefrompropertylistdialog.cpp @@ -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"); } }