void FormEditorView::nodeCreated(const ModelNode &createdNode) { QmlModelView::nodeCreated(createdNode); ModelNode node(createdNode); if (QmlItemNode(node).isValid()) //only setup QmlItems setupFormEditorItemTree(QmlItemNode(node)); }
void FormEditorView::rootNodeTypeChanged(const QString &type, int majorVersion, int minorVersion) { QmlItemNode oldItemNode(rootModelNode()); if (oldItemNode.isValid() && m_scene->hasItemForQmlItemNode(oldItemNode)) { FormEditorItem *item = m_scene->itemForQmlItemNode(oldItemNode); QList<QmlItemNode> nodeList; nodeList.append(oldItemNode.allSubModelNodes()); nodeList.append(oldItemNode); QList<FormEditorItem*> removedItemList; removedItemList.append(scene()->itemsForQmlItemNodes(nodeList)); m_currentTool->itemsAboutToRemoved(removedItemList); delete item; } QmlModelView::rootNodeTypeChanged(type, majorVersion, minorVersion); QmlItemNode newItemNode(rootModelNode()); if (newItemNode.isValid()) //only setup QmlItems setupFormEditorItemTree(newItemNode); m_currentTool->setItems(scene()->itemsForQmlItemNodes(selectedQmlItemNodes())); }
//This method does the setup of the initial FormEditorItem tree in the scene void FormEditorView::setupFormEditorItemTree(const QmlItemNode &qmlItemNode) { m_scene->addFormEditorItem(qmlItemNode); foreach (const QmlItemNode &nextNode, qmlItemNode.children()) //TODO instance children setupFormEditorItemTree(nextNode); }
//This method does the setup of the initial FormEditorItem tree in the scene void FormEditorView::setupFormEditorItemTree(const QmlItemNode &qmlItemNode) { m_scene->addFormEditorItem(qmlItemNode); foreach (const QmlObjectNode &nextNode, qmlItemNode.allDirectSubNodes()) //TODO instance children if (QmlItemNode(nextNode).isValid()) setupFormEditorItemTree(nextNode.toQmlItemNode()); }
void FormEditorView::nodeCreated(const ModelNode &createdNode) { QmlModelView::nodeCreated(createdNode); ModelNode node(createdNode); //If the node has source for components/custom parsers we ignore it. if (QmlItemNode(node).isValid() && node.nodeSourceType() == ModelNode::NodeWithoutSource) //only setup QmlItems setupFormEditorItemTree(QmlItemNode(node)); }
//This method does the setup of the initial FormEditorItem tree in the scene void FormEditorView::setupFormEditorItemTree(const QmlItemNode &qmlItemNode) { m_scene->addFormEditorItem(qmlItemNode); foreach (const QmlObjectNode &nextNode, qmlItemNode.allDirectSubNodes()) //TODO instance children //If the node has source for components/custom parsers we ignore it. if (QmlItemNode(nextNode).isValid() && nextNode.modelNode().nodeSourceType() == ModelNode::NodeWithoutSource) setupFormEditorItemTree(nextNode.toQmlItemNode()); }
void FormEditorView::modelAttached(Model *model) { Q_ASSERT(model); QmlModelView::modelAttached(model); Q_ASSERT(m_scene->formLayerItem()); if (rootQmlObjectNode().toQmlItemNode().isValid()) setupFormEditorItemTree(rootQmlObjectNode().toQmlItemNode()); }
void FormEditorView::modelAttached(Model *model) { Q_ASSERT(model); AbstractView::modelAttached(model); Q_ASSERT(m_scene->formLayerItem()); if (QmlItemNode::isValidQmlItemNode(rootModelNode())) setupFormEditorItemTree(rootModelNode()); m_formEditorWidget->updateActions(); }