From 80922268abef161ed7e32dcc8e64d2b7bc63f1e8 Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Tue, 23 Aug 2022 17:32:28 +0200 Subject: QmlDesigner: Implement ObjectNodeInstance::stateInstances() for StateGroup MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: Ia6e239530d399da34ab63253762e3ebd2a79f4db Reviewed-by: Henning Gründl --- .../qml2puppet/instances/objectnodeinstance.cpp | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.cpp b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.cpp index d574d5f9792..e5796a63410 100644 --- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.cpp +++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.cpp @@ -46,6 +46,10 @@ #include #include +#include + +#include + static bool isSimpleExpression(const QString &expression) { if (expression.startsWith(QStringLiteral("{"))) @@ -656,8 +660,18 @@ QList ObjectNodeInstance::allItemsRecursive() const return QList(); } -QList ObjectNodeInstance::stateInstances() const +QList ObjectNodeInstance::stateInstances() const { + if (auto group = qobject_cast(object())) { + QList instanceList; + const QList stateList = group->states(); + for (QQuickState *state : stateList) { + if (state && nodeInstanceServer()->hasInstanceForObject(state)) + instanceList.append(nodeInstanceServer()->instanceForObject(state)); + } + return instanceList; + } + return QList(); } -- cgit v1.2.3