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;