aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Hartmann <thomas.hartmann@qt.io>2022-08-23 17:32:48 +0200
committerThomas Hartmann <thomas.hartmann@qt.io>2022-08-24 17:58:08 +0000
commit8e65e2815c2dc13bc8e62199a34d24825df4f4db (patch)
tree6cf437151342370116cfc047b4a9da8f479ee854
parent80922268abef161ed7e32dcc8e64d2b7bc63f1e8 (diff)
QmlDesigner: Add NodeInstanceServer::allGroupStateInstances()
Change-Id: I26b20976746c3790d679a63db209fb535eb58382 Reviewed-by: Henning Gründl <henning.gruendl@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
-rw-r--r--share/qtcreator/qml/qmlpuppet/qml2puppet/instances/nodeinstanceserver.cpp15
-rw-r--r--share/qtcreator/qml/qmlpuppet/qml2puppet/instances/nodeinstanceserver.h2
2 files changed, 17 insertions, 0 deletions
diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/nodeinstanceserver.cpp b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/nodeinstanceserver.cpp
index 41c67f70b6..31a907c37f 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<ServerNodeInstance> NodeInstanceServer::allGroupStateInstances() const
+{
+ QList<ServerNodeInstance> 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 42f345ee4e..698c93fc60 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<ServerNodeInstance> allGroupStateInstances() const;
+
void notifyPropertyChange(qint32 instanceid, const PropertyName &propertyName);
QByteArray importCode() const;