diff options
author | Marco Bubke <marco.bubke@digia.com> | 2013-05-28 14:14:07 +0200 |
---|---|---|
committer | Marco Bubke <marco.bubke@digia.com> | 2013-05-30 14:11:57 +0200 |
commit | b97422b710be8489c3798febcc82dc8cc6b86c3d (patch) | |
tree | 1a80913bc447b570852666f88aa98a71d48b793e /src/plugins/qmldesigner/designercore/model/qmlobjectnode.cpp | |
parent | 21c821806db143239d1824af42eac2dcb216c76f (diff) | |
download | qt-creator-b97422b710be8489c3798febcc82dc8cc6b86c3d.tar.gz |
QmlDesigner: Add container item support in node instances
Change-Id: I30e0d11346b8c63188d052b46656e7ede179e55d
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
Diffstat (limited to 'src/plugins/qmldesigner/designercore/model/qmlobjectnode.cpp')
-rw-r--r-- | src/plugins/qmldesigner/designercore/model/qmlobjectnode.cpp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/plugins/qmldesigner/designercore/model/qmlobjectnode.cpp b/src/plugins/qmldesigner/designercore/model/qmlobjectnode.cpp index 42643ed82f..42c41dc6ab 100644 --- a/src/plugins/qmldesigner/designercore/model/qmlobjectnode.cpp +++ b/src/plugins/qmldesigner/designercore/model/qmlobjectnode.cpp @@ -444,6 +444,11 @@ QmlObjectNode QmlObjectNode::nodeForInstance(const NodeInstance &instance) const return QmlObjectNode(ModelNode(instance.modelNode(), qmlModelView())); } +QmlItemNode QmlObjectNode::itemForInstance(const NodeInstance &instance) const +{ + return QmlItemNode(ModelNode(instance.modelNode(), qmlModelView())); +} + bool QmlObjectNode::hasNodeParent() const { return modelNode().hasParentProperty(); @@ -454,6 +459,13 @@ bool QmlObjectNode::hasInstanceParent() const return nodeInstance().parentId() >= 0 && qmlModelView()->nodeInstanceView()->hasInstanceForId(nodeInstance().parentId()); } +bool QmlObjectNode::hasInstanceParentItem() const +{ + return nodeInstance().parentId() >= 0 + && qmlModelView()->nodeInstanceView()->hasInstanceForId(nodeInstance().parentId()) + && QmlItemNode::isItemOrWindow(qmlModelView()->modelNodeForInternalId(nodeInstance().parentId())); +} + void QmlObjectNode::setParentProperty(const NodeAbstractProperty &parentProeprty) { @@ -468,6 +480,14 @@ QmlObjectNode QmlObjectNode::instanceParent() const return QmlObjectNode(); } +QmlItemNode QmlObjectNode::instanceParentItem() const +{ + if (hasInstanceParentItem()) + return itemForInstance(qmlModelView()->nodeInstanceView()->instanceForId(nodeInstance().parentId())); + + return QmlItemNode(); +} + void QmlObjectNode::setId(const QString &id) { modelNode().setId(id); |