void ViewManager::detachRewriterView() { if (currentDesignDocument()->rewriterView()) { currentDesignDocument()->rewriterView()->deactivateTextMofifierChangeSignals(); currentModel()->setRewriterView(0); } }
void MainWindow::openFiles(QStringList& files) { QString fileName; foreach(fileName, files) { newChildWindow(); Model& model = currentModel(); model.load(fileName); }
void ViewManager::attachRewriterView(TextModifier *textModifier) { if (currentDesignDocument()->rewriterView()) { currentDesignDocument()->rewriterView()->setTextModifier(textModifier); currentDesignDocument()->rewriterView()->reactivateTextMofifierChangeSignals(); currentModel()->setRewriterView(currentDesignDocument()->rewriterView()); } }
void ViewManager::detachViewsExceptRewriterAndComponetView() { switchStateEditorViewToBaseState(); detachAdditionalViews(); currentModel()->detachView(&d->designerActionManagerView); currentModel()->detachView(&d->formEditorView); currentModel()->detachView(&d->textEditorView); currentModel()->detachView(&d->navigatorView); currentModel()->detachView(&d->itemLibraryView); currentModel()->detachView(&d->statesEditorView); currentModel()->detachView(&d->propertyEditorView); if (d->debugView.isAttached()) currentModel()->detachView(&d->debugView); currentModel()->setNodeInstanceView(0); }
void DesignDocument::goIntoSelectedComponent() { if (currentModel()) return; QList<ModelNode> selectedNodes; if (rewriterView()) selectedNodes = qmlModelView()->selectedModelNodes(); if (selectedNodes.count() == 1) { viewManager().setComponentNode(selectedNodes.first()); ModelNodeOperations::goIntoComponent(selectedNodes.first()); } }
void DesignDocument::copySelected() { QScopedPointer<Model> copyModel(Model::create("QtQuick.Rectangle", 1, 0, currentModel())); copyModel->setFileUrl(currentModel()->fileUrl()); copyModel->changeImports(currentModel()->imports(), QList<Import>()); Q_ASSERT(copyModel); DesignDocumentView view; currentModel()->attachView(&view); if (view.selectedModelNodes().isEmpty()) return; QList<ModelNode> selectedNodes(view.selectedModelNodes()); foreach (const ModelNode &node, selectedNodes) { foreach (const ModelNode &node2, selectedNodes) { if (node.isAncestorOf(node2)) selectedNodes.removeAll(node2); } }
void ViewManager::attachRewriterView() { if (currentDesignDocument()->rewriterView()) { currentDesignDocument()->rewriterView()->setWidgetStatusCallback([this](bool enable) { if (enable) enableWidgets(); else disableWidgets(); }); currentModel()->setRewriterView(currentDesignDocument()->rewriterView()); currentDesignDocument()->rewriterView()->reactivateTextMofifierChangeSignals(); } }
void DesignDocument::deleteSelected() { if (!currentModel()) return; try { RewriterTransaction transaction(rewriterView()); QList<ModelNode> toDelete = qmlModelView()->selectedModelNodes(); foreach (ModelNode node, toDelete) { if (node.isValid() && !node.isRootNode() && QmlObjectNode(node).isValid()) QmlObjectNode(node).destroy(); } } catch (RewritingException &e) { QMessageBox::warning(0, tr("Error"), e.description()); } }
void ViewManager::attachViewsExceptRewriterAndComponetView() { if (QmlDesignerPlugin::instance()->settings().enableDebugView) currentModel()->attachView(&m_debugView); attachNodeInstanceView(); currentModel()->attachView(&m_formEditorView); currentModel()->attachView(&m_navigatorView); attachItemLibraryView(); currentModel()->attachView(&m_statesEditorView); currentModel()->attachView(&m_propertyEditorView); currentModel()->attachView(DesignerActionManager::view()); attachAdditionalViews(); switchStateEditorViewToSavedState(); }
void DesignDocument::loadDocument(QPlainTextEdit *edit) { Q_CHECK_PTR(edit); connect(edit, SIGNAL(undoAvailable(bool)), this, SIGNAL(undoAvailable(bool))); connect(edit, SIGNAL(redoAvailable(bool)), this, SIGNAL(redoAvailable(bool))); connect(edit, SIGNAL(modificationChanged(bool)), this, SIGNAL(dirtyStateChanged(bool))); m_documentTextModifier.reset(new BaseTextEditModifier(dynamic_cast<TextEditor::BaseTextEditorWidget*>(plainTextEdit()))); m_inFileComponentTextModifier.reset(); updateFileName(QString(), fileName()); m_subComponentManager->update(QUrl::fromLocalFile(fileName()), currentModel()->imports()); m_documentLoaded = true; }
Model *DesignDocumentView::pasteToModel() { Model *parentModel = currentModel(); QTC_ASSERT(parentModel, return nullptr); Model *pasteModel(Model::create("empty", 1, 0, parentModel)); Q_ASSERT(pasteModel); if (!pasteModel) return nullptr; pasteModel->setFileUrl(parentModel->fileUrl()); pasteModel->changeImports(parentModel->imports(), {}); DesignDocumentView view; pasteModel->attachView(&view); view.fromClipboard(); return pasteModel; }
void DesignDocumentView::copyModelNodes(const QList<ModelNode> &nodesToCopy) { Model *parentModel = currentModel(); QTC_ASSERT(parentModel, return); QScopedPointer<Model> copyModel(Model::create("QtQuick.Rectangle", 1, 0, parentModel)); copyModel->setFileUrl(parentModel->fileUrl()); copyModel->changeImports(parentModel->imports(), {}); Q_ASSERT(copyModel); QList<ModelNode> selectedNodes = nodesToCopy; if (selectedNodes.isEmpty()) return; foreach (const ModelNode &node, selectedNodes) { foreach (const ModelNode &node2, selectedNodes) { if (node.isAncestorOf(node2)) selectedNodes.removeAll(node2); } }
void CameraSelection::slotOkClicked() { emit signalOkClicked(currentTitle(), currentModel(), currentPortPath(), currentCameraPath()); accept(); }
void ViewManager::detachAdditionalViews() { foreach (const QWeakPointer<AbstractView> &view, m_additionalViews) currentModel()->detachView(view.data()); }
void ViewManager::attachNodeInstanceView() { setNodeInstanceViewQtPath(pathToQt()); currentModel()->setNodeInstanceView(&m_nodeInstanceView); }
void DesignDocument::updateSubcomponentManager() { Q_ASSERT(m_subComponentManager); m_subComponentManager->update(QUrl::fromLocalFile(fileName()), currentModel()->imports()); }
void ViewManager::attachItemLibraryView() { setItemLibraryViewResourcePath(QFileInfo(currentDesignDocument()->fileName()).absolutePath()); currentModel()->attachView(&d->itemLibraryView); }
bool DesignDocument::hasQmlSyntaxErrors() const { return currentModel()->rewriterView() && !currentModel()->rewriterView()->errors().isEmpty(); }