From 8e65e2815c2dc13bc8e62199a34d24825df4f4db Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Tue, 23 Aug 2022 17:32:48 +0200 Subject: [PATCH] QmlDesigner: Add NodeInstanceServer::allGroupStateInstances() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: I26b20976746c3790d679a63db209fb535eb58382 Reviewed-by: Henning Gründl Reviewed-by: Qt CI Bot --- .../qml2puppet/instances/nodeinstanceserver.cpp | 15 +++++++++++++++ .../qml2puppet/instances/nodeinstanceserver.h | 2 ++ 2 files changed, 17 insertions(+) diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/nodeinstanceserver.cpp b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/nodeinstanceserver.cpp index 41c67f70b68..31a907c37fe 100644 --- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/nodeinstanceserver.cpp +++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/nodeinstanceserver.cpp @@ -1061,6 +1061,21 @@ ServerNodeInstance NodeInstanceServer::rootNodeInstance() const return m_rootNodeInstance; } +QList NodeInstanceServer::allGroupStateInstances() const +{ + QList groups; + std::copy_if(nodeInstances().cbegin(), + nodeInstances().cend(), + std::back_inserter(groups), + [](const ServerNodeInstance &instance) { + return instance.isValid() && instance.internalObject()->metaObject() + && instance.internalObject()->metaObject()->className() + == QByteArrayLiteral("QQuickStateGroup"); + }); + + return groups; +} + void NodeInstanceServer::setStateInstance(const ServerNodeInstance &stateInstance) { m_activeStateInstance = stateInstance; diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/nodeinstanceserver.h b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/nodeinstanceserver.h index 42f345ee4e5..698c93fc60f 100644 --- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/nodeinstanceserver.h +++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/nodeinstanceserver.h @@ -200,6 +200,8 @@ public: ServerNodeInstance rootNodeInstance() const; + QList allGroupStateInstances() const; + void notifyPropertyChange(qint32 instanceid, const PropertyName &propertyName); QByteArray importCode() const;