diff --git a/src/plugins/qmldesigner/components/propertyeditor/colorwidget.cpp b/src/plugins/qmldesigner/components/propertyeditor/colorwidget.cpp index 7c5248035e6ae779b01e1c9bab8598b5066a5f29..11127a80243f6a97c7d53f6cad68b56b2e1ca25f 100644 --- a/src/plugins/qmldesigner/components/propertyeditor/colorwidget.cpp +++ b/src/plugins/qmldesigner/components/propertyeditor/colorwidget.cpp @@ -195,7 +195,8 @@ void ColorWidget::updateGradientNode() if (m_modelNode.hasProperty("gradient")) { m_modelNode.removeProperty("gradient"); } - gradientNode = m_modelNode.addChildNode("Qt/Gradient", 4, 6, "gradient"); + gradientNode = m_modelNode.view()->createModelNode("Qt/Gradient", 4, 6); + m_modelNode.nodeProperty("gradient").reparentHere(gradientNode); m_gradientNode = gradientNode; } diff --git a/src/plugins/qmldesigner/core/include/modelnode.h b/src/plugins/qmldesigner/core/include/modelnode.h index 843af5f8592f9ffe3a970bbee4ce8fc177b94d84..59be43c94806f81d06ee281c110eb20e44e80106 100644 --- a/src/plugins/qmldesigner/core/include/modelnode.h +++ b/src/plugins/qmldesigner/core/include/modelnode.h @@ -104,7 +104,6 @@ public: void setParentProperty(const ModelNode &newParentNode, const QString &propertyName); bool hasParentProperty() const; - ModelNode addChildNode(const QString &nodeTypeString, int majorVersion, int minorVersion, const QString &propertyName, const PropertyListType &propertyList = PropertyListType()); const QList<ModelNode> allDirectSubModelNodes() const; const QList<ModelNode> allSubModelNodes() const; bool hasAnySubModelNodes() const; diff --git a/src/plugins/qmldesigner/core/model/modelnode.cpp b/src/plugins/qmldesigner/core/model/modelnode.cpp index bd832231b70899de5b83be2aae902c90609d40f3..9025e173f96e30e6994b01fb0c63fcd54b46e731 100644 --- a/src/plugins/qmldesigner/core/model/modelnode.cpp +++ b/src/plugins/qmldesigner/core/model/modelnode.cpp @@ -64,7 +64,6 @@ There is always a root model node in every QmlDesigner::Model: \code QmlDesigner::Model *model = QmlDesigner::Model::create(); QmlDesigner::ModelNode rootNode = model->rootNode(); -QmlDesigner::ModelNode childNode = rootNode.addChildNode("QLineEdit"); \endcode You can add a property to a node: @@ -321,7 +320,7 @@ ModelNode parentNode4 = node.parentProperty().parentModelNode(); parentNode4 == parentNode1; -> true \endcode -\see parentNode childNodes addChildNode hasChildNodes Model::undo +\see parentNode childNodes hasChildNodes Model::undo */ @@ -354,7 +353,7 @@ void ModelNode::setParentProperty(const ModelNode &newParentNode, const QString /*! \brief test if there is a parent for this node \return true is this node has a parent -\see childNodes parentNode setParentNode addChildNode hasChildNodes Model::undo +\see childNodes parentNode setParentNode hasChildNodes Model::undo */ bool ModelNode::hasParentProperty() const { @@ -574,27 +573,6 @@ void ModelNode::removeProperty(const QString &name) } - -/*! \brief creates a new node and add it as child to this node -\param nodeTypeString type name of the child node -\param propertyList list of properties -\return the new created model node - -*/ -ModelNode ModelNode::addChildNode(const QString &nodeTypeString, int majorVersion, int minorVersion, const QString &propertyName, const PropertyListType &propertyList) -{ - if (!isValid()) { - Q_ASSERT_X(isValid(), Q_FUNC_INFO, "model node is invalid"); - throw InvalidModelNodeException(__LINE__, __FUNCTION__, __FILE__); - } - - ModelNode newNode(view()->createModelNode(nodeTypeString, majorVersion, minorVersion, propertyList)); - - newNode.setParentProperty(nodeListProperty(propertyName)); - - return newNode; -} - /*! \brief removes this node from the node tree */ diff --git a/src/plugins/qmldesigner/core/model/qmlitemnode.cpp b/src/plugins/qmldesigner/core/model/qmlitemnode.cpp index 0078602983739724614f16701a34e9b21fe27b13..ad384345ade3b166926b6fd13e78195b22909b9a 100644 --- a/src/plugins/qmldesigner/core/model/qmlitemnode.cpp +++ b/src/plugins/qmldesigner/core/model/qmlitemnode.cpp @@ -268,7 +268,8 @@ QmlModelState QmlModelStateGroup::addState(const QString &name) PropertyListType propertyList; propertyList.append(qMakePair(QString("name"), QVariant(name))); - ModelNode newState(modelNode().addChildNode("Qt/State", 4, 6, "states", propertyList)); + ModelNode newState = modelNode().view()->createModelNode("Qt/State", 4, 6, propertyList); + modelNode().nodeListProperty("states").reparentHere(newState); return newState; } diff --git a/src/plugins/qmldesigner/core/model/qmlstate.cpp b/src/plugins/qmldesigner/core/model/qmlstate.cpp index 774fc5ab700cb8113c863d96135f60b638a65108..e7e4d8f4f7534f36179de6fc52e9f882e62645b0 100644 --- a/src/plugins/qmldesigner/core/model/qmlstate.cpp +++ b/src/plugins/qmldesigner/core/model/qmlstate.cpp @@ -174,7 +174,9 @@ void QmlModelState::addChangeSetIfNotExists(const ModelNode &node) return; //changeSet already there } - ModelNode newChangeSet(modelNode().addChildNode("Qt/PropertyChanges", 4, 6, "changes")); + ModelNode newChangeSet = modelNode().view()->createModelNode("Qt/PropertyChanges", 4, 6); + modelNode().nodeListProperty("changes").reparentHere(newChangeSet); + QmlPropertyChanges(newChangeSet).setTarget(node); Q_ASSERT(QmlPropertyChanges(newChangeSet).isValid()); }