forked from qt-creator/qt-creator
QmlDesigner: Add convenience functions
Those helpers make it easy to filter by types. Change-Id: I36cedba043a1c89c68b98ef03a309ec0d8e67475 Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
This commit is contained in:
@@ -164,6 +164,7 @@ public:
|
||||
bool hasModelNodeForInternalId(qint32 internalId) const;
|
||||
|
||||
QList<ModelNode> allModelNodes() const;
|
||||
QList<ModelNode> allModelNodesOfType(const TypeName &typeName) const;
|
||||
|
||||
void emitDocumentMessage(const QList<DocumentMessage> &errors, const QList<DocumentMessage> &warnings = QList<DocumentMessage>());
|
||||
void emitDocumentMessage(const QString &error);
|
||||
|
@@ -107,6 +107,8 @@ public:
|
||||
bool hasParentProperty() const;
|
||||
|
||||
const QList<ModelNode> directSubModelNodes() const;
|
||||
const QList<ModelNode> directSubModelNodesOfType(const TypeName &typeName) const;
|
||||
|
||||
const QList<ModelNode> allSubModelNodes() const;
|
||||
const QList<ModelNode> allSubModelNodesAndThisNode() const;
|
||||
bool hasAnySubModelNodes() const;
|
||||
|
@@ -39,6 +39,7 @@
|
||||
|
||||
#include <coreplugin/helpmanager.h>
|
||||
#include <utils/qtcassert.h>
|
||||
#include <utils/algorithm.h>
|
||||
|
||||
#include <QRegExp>
|
||||
|
||||
@@ -635,6 +636,13 @@ QList<ModelNode> AbstractView::allModelNodes() const
|
||||
return toModelNodeList(model()->d->allNodes());
|
||||
}
|
||||
|
||||
QList<ModelNode> AbstractView::allModelNodesOfType(const TypeName &typeName) const
|
||||
{
|
||||
return Utils::filtered(allModelNodes(), [typeName](const ModelNode &node){
|
||||
return node.metaInfo().isValid() && node.metaInfo().isSubclassOf(typeName);
|
||||
});
|
||||
}
|
||||
|
||||
void AbstractView::emitDocumentMessage(const QString &error)
|
||||
{
|
||||
emitDocumentMessage({DocumentMessage(error)});
|
||||
|
@@ -42,6 +42,8 @@
|
||||
#include "nodeproperty.h"
|
||||
#include <rewriterview.h>
|
||||
|
||||
#include <utils/algorithm.h>
|
||||
|
||||
#include <QHash>
|
||||
#include <QRegExp>
|
||||
#include <QSet>
|
||||
@@ -775,6 +777,13 @@ const QList<ModelNode> ModelNode::directSubModelNodes() const
|
||||
return toModelNodeList(internalNode()->allDirectSubNodes(), view());
|
||||
}
|
||||
|
||||
const QList<ModelNode> ModelNode::directSubModelNodesOfType(const TypeName &typeName) const
|
||||
{
|
||||
return Utils::filtered(directSubModelNodes(), [typeName](const ModelNode &node){
|
||||
return node.metaInfo().isValid() && node.metaInfo().isSubclassOf(typeName);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
/*!
|
||||
\brief returns all ModelNodes that are direct or indirect children of this ModelNode
|
||||
|
Reference in New Issue
Block a user