QmlDesigner: Add new node hints

Change-Id: I327b9bd714072077bc12085573e63ee2f4b994a8
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
This commit is contained in:
Thomas Hartmann
2019-06-14 14:27:34 +02:00
parent acfe45c434
commit 31c9171a65
2 changed files with 25 additions and 0 deletions

View File

@@ -64,9 +64,11 @@ public:
bool isStackedContainer() const; bool isStackedContainer() const;
bool canBeReparentedTo(const ModelNode &potenialParent); bool canBeReparentedTo(const ModelNode &potenialParent);
QString indexPropertyForStackedContainer() const; QString indexPropertyForStackedContainer() const;
QStringList visibleNonDefaultProperties() const;
bool takesOverRenderingOfChildren() const; bool takesOverRenderingOfChildren() const;
bool visibleInNavigator() const; bool visibleInNavigator() const;
bool visibleInLibrary() const; bool visibleInLibrary() const;
QString forceNonDefaultProperty() const;
QHash<QString, QString> hints() const; QHash<QString, QString> hints() const;
static NodeHints fromModelNode(const ModelNode &modelNode); static NodeHints fromModelNode(const ModelNode &modelNode);

View File

@@ -192,6 +192,19 @@ QString NodeHints::indexPropertyForStackedContainer() const
return Internal::evaluateExpression(expression, modelNode(), ModelNode()).toString(); 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 bool NodeHints::takesOverRenderingOfChildren() const
{ {
if (!isValid()) if (!isValid())
@@ -213,6 +226,16 @@ bool NodeHints::visibleInLibrary() const
return evaluateBooleanExpression("visibleInLibrary", true); 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 QHash<QString, QString> NodeHints::hints() const
{ {
return m_hints; return m_hints;