QmlDesigner: Update anchors if selected node is reparented

If a node is reparented in the navigator we have to update
the anchor backend.

Change-Id: I5eb586410ee5d270c3f1b4fef7e3fa37afbc7921
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
This commit is contained in:
Thomas Hartmann
2016-09-13 16:55:35 +02:00
parent 3198c39338
commit 8c76f08ce4
2 changed files with 14 additions and 0 deletions

View File

@@ -651,6 +651,15 @@ void PropertyEditorView::rootNodeTypeChanged(const QString &/*type*/, int /*majo
// TODO: we should react to this case
}
void PropertyEditorView::nodeReparented(const ModelNode &node,
const NodeAbstractProperty &newPropertyParent,
const NodeAbstractProperty &oldPropertyParent,
AbstractView::PropertyChangeFlags propertyChange)
{
if (node == m_selectedNode)
m_qmlBackEndForCurrentType->backendAnchorBinding().setup(QmlItemNode(m_selectedNode));
}
void PropertyEditorView::setValue(const QmlObjectNode &qmlObjectNode, const PropertyName &name, const QVariant &value)
{
m_locked = true;

View File

@@ -81,6 +81,11 @@ public:
void rootNodeTypeChanged(const QString &type, int majorVersion, int minorVersion) override;
void nodeReparented(const ModelNode &node,
const NodeAbstractProperty &newPropertyParent,
const NodeAbstractProperty &oldPropertyParent,
AbstractView::PropertyChangeFlags propertyChange);
public slots:
void changeValue(const QString &name);
void changeExpression(const QString &name);