aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Hartmann <thomas.hartmann@qt.io>2019-06-14 14:27:34 +0200
committerThomas Hartmann <thomas.hartmann@qt.io>2019-06-14 12:30:43 +0000
commit31c9171a658622723c4a47ceab0c8e22cb997c51 (patch)
tree1aeac1542484fea0f5551be484858bbd702ea9b3
parentacfe45c4348e9db30c3db682cf0863f38a5094cb (diff)
QmlDesigner: Add new node hints
Change-Id: I327b9bd714072077bc12085573e63ee2f4b994a8 Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
-rw-r--r--src/plugins/qmldesigner/designercore/include/nodehints.h2
-rw-r--r--src/plugins/qmldesigner/designercore/metainfo/nodehints.cpp23
2 files changed, 25 insertions, 0 deletions
diff --git a/src/plugins/qmldesigner/designercore/include/nodehints.h b/src/plugins/qmldesigner/designercore/include/nodehints.h
index 1e8b7d99e4..7fed390ee0 100644
--- a/src/plugins/qmldesigner/designercore/include/nodehints.h
+++ b/src/plugins/qmldesigner/designercore/include/nodehints.h
@@ -64,9 +64,11 @@ public:
bool isStackedContainer() const;
bool canBeReparentedTo(const ModelNode &potenialParent);
QString indexPropertyForStackedContainer() const;
+ QStringList visibleNonDefaultProperties() const;
bool takesOverRenderingOfChildren() const;
bool visibleInNavigator() const;
bool visibleInLibrary() const;
+ QString forceNonDefaultProperty() const;
QHash<QString, QString> hints() const;
static NodeHints fromModelNode(const ModelNode &modelNode);
diff --git a/src/plugins/qmldesigner/designercore/metainfo/nodehints.cpp b/src/plugins/qmldesigner/designercore/metainfo/nodehints.cpp
index c6bc645186..dcb350c448 100644
--- a/src/plugins/qmldesigner/designercore/metainfo/nodehints.cpp
+++ b/src/plugins/qmldesigner/designercore/metainfo/nodehints.cpp
@@ -192,6 +192,19 @@ QString NodeHints::indexPropertyForStackedContainer() const
return Internal::evaluateExpression(expression, modelNode(), ModelNode()).toString();
}
+QStringList NodeHints::visibleNonDefaultProperties() const
+{
+ if (!isValid())
+ return {};
+
+ const QString expression = m_hints.value("visibleNonDefaultProperties");
+
+ if (expression.isEmpty())
+ return {};
+
+ return Internal::evaluateExpression(expression, modelNode(), ModelNode()).toString().split(",");
+}
+
bool NodeHints::takesOverRenderingOfChildren() const
{
if (!isValid())
@@ -213,6 +226,16 @@ bool NodeHints::visibleInLibrary() const
return evaluateBooleanExpression("visibleInLibrary", true);
}
+QString NodeHints::forceNonDefaultProperty() const
+{
+ const QString expression = m_hints.value("forceNonDefaultProperty");
+
+ if (expression.isEmpty())
+ return {};
+
+ return Internal::evaluateExpression(expression, modelNode(), ModelNode()).toString();
+}
+
QHash<QString, QString> NodeHints::hints() const
{
return m_hints;