diff --git a/src/plugins/qmldesigner/designercore/include/modelnode.h b/src/plugins/qmldesigner/designercore/include/modelnode.h index 5f6eff7f00b..318f37a863d 100644 --- a/src/plugins/qmldesigner/designercore/include/modelnode.h +++ b/src/plugins/qmldesigner/designercore/include/modelnode.h @@ -123,6 +123,7 @@ public: NodeListProperty nodeListProperty(const PropertyName &name) const; NodeProperty nodeProperty(const PropertyName &name) const; NodeAbstractProperty nodeAbstractProperty(const PropertyName &name) const; + NodeAbstractProperty defaultNodeAbstractProperty() const; void removeProperty(const PropertyName &name); //### also implement in AbstractProperty QList properties() const; diff --git a/src/plugins/qmldesigner/designercore/include/qmlobjectnode.h b/src/plugins/qmldesigner/designercore/include/qmlobjectnode.h index 3cf56b28aaf..1c92409a77b 100644 --- a/src/plugins/qmldesigner/designercore/include/qmlobjectnode.h +++ b/src/plugins/qmldesigner/designercore/include/qmlobjectnode.h @@ -66,6 +66,7 @@ public: void setVariantProperty(const PropertyName &name, const QVariant &value); void setBindingProperty(const PropertyName &name, const QString &expression); NodeAbstractProperty nodeAbstractProperty(const PropertyName &name) const; + NodeAbstractProperty defaultNodeAbstractProperty() const; NodeProperty nodeProperty(const PropertyName &name) const; NodeListProperty nodeListProperty(const PropertyName &name) const; diff --git a/src/plugins/qmldesigner/designercore/model/modelnode.cpp b/src/plugins/qmldesigner/designercore/model/modelnode.cpp index a46fcd898c7..05e485f5328 100644 --- a/src/plugins/qmldesigner/designercore/model/modelnode.cpp +++ b/src/plugins/qmldesigner/designercore/model/modelnode.cpp @@ -414,7 +414,12 @@ NodeAbstractProperty ModelNode::nodeAbstractProperty(const PropertyName &name) c if (!isValid()) throw InvalidModelNodeException(__LINE__, __FUNCTION__, __FILE__); - return NodeAbstractProperty(name, m_internalNode, model(), view()); + return NodeAbstractProperty(name, m_internalNode, model(), view()); +} + +NodeAbstractProperty ModelNode::defaultNodeAbstractProperty() const +{ + return nodeAbstractProperty(metaInfo().defaultPropertyName()); } diff --git a/src/plugins/qmldesigner/designercore/model/qmlobjectnode.cpp b/src/plugins/qmldesigner/designercore/model/qmlobjectnode.cpp index 41a9f482af4..3e2db542ac3 100644 --- a/src/plugins/qmldesigner/designercore/model/qmlobjectnode.cpp +++ b/src/plugins/qmldesigner/designercore/model/qmlobjectnode.cpp @@ -130,7 +130,12 @@ bool QmlObjectNode::hasBindingProperty(const PropertyName &name) const NodeAbstractProperty QmlObjectNode::nodeAbstractProperty(const PropertyName &name) const { - return modelNode().nodeAbstractProperty(name); + return modelNode().nodeAbstractProperty(name); +} + +NodeAbstractProperty QmlObjectNode::defaultNodeAbstractProperty() const +{ + return modelNode().defaultNodeAbstractProperty(); } NodeProperty QmlObjectNode::nodeProperty(const PropertyName &name) const