diff --git a/src/plugins/qmldesigner/components/integration/designdocument.cpp b/src/plugins/qmldesigner/components/integration/designdocument.cpp index bd24ed580f2de3d0940b8d94a4ef2a3f5e6b9cf8..c75988a2ed595d16edde6dd278ab7dae4d94bbb1 100644 --- a/src/plugins/qmldesigner/components/integration/designdocument.cpp +++ b/src/plugins/qmldesigner/components/integration/designdocument.cpp @@ -46,6 +46,7 @@ #include <rewritingexception.h> #include <modelnodeoperations.h> #include <qmldesignerplugin.h> +#include <viewmanager.h> #include <projectexplorer/projectexplorer.h> #include <projectexplorer/project.h> @@ -220,6 +221,11 @@ bool DesignDocument::loadInFileComponent(const ModelNode &componentNode) return true; } +QmlModelView *DesignDocument::qmlModelView() +{ + return viewManager().qmlModelView(); +} + /*! Returns any errors that happened when parsing the latest qml file. */ @@ -362,7 +368,7 @@ void DesignDocument::goIntoComponent() QList<ModelNode> selectedNodes; if (rewriterView()) - selectedNodes = rewriterView()->selectedModelNodes(); + selectedNodes = qmlModelView()->selectedModelNodes(); if (selectedNodes.count() == 1) { viewManager().setComponentNode(selectedNodes.first()); @@ -433,7 +439,7 @@ void DesignDocument::deleteSelected() try { RewriterTransaction transaction(rewriterView()); - QList<ModelNode> toDelete = rewriterView()->selectedModelNodes(); + QList<ModelNode> toDelete = qmlModelView()->selectedModelNodes(); foreach (ModelNode node, toDelete) { if (node.isValid() && !node.isRootNode() && QmlObjectNode(node).isValid()) QmlObjectNode(node).destroy(); @@ -562,8 +568,6 @@ void DesignDocument::paste() if (rootNode.id() == "designer__Selection") { QList<ModelNode> selectedNodes = rootNode.allDirectSubModelNodes(); - qDebug() << rootNode; - qDebug() << selectedNodes; pasteModel->detachView(&view); m_currentModel->attachView(&view); diff --git a/src/plugins/qmldesigner/components/integration/designdocument.h b/src/plugins/qmldesigner/components/integration/designdocument.h index 565082d74089d96a070cad308e0aa18bd49f0e54..5296c538a8d6ef91a4a3210908e6c9a895c2ecca 100644 --- a/src/plugins/qmldesigner/components/integration/designdocument.h +++ b/src/plugins/qmldesigner/components/integration/designdocument.h @@ -30,21 +30,12 @@ #ifndef DesignDocument_h #define DesignDocument_h -#include "rewriterview.h" - #include <model.h> #include <rewriterview.h> -#include <itemlibraryview.h> -#include <navigatorview.h> -#include <stateseditorview.h> -#include <formeditorview.h> -#include <propertyeditor.h> -#include <componentview.h> #include <basetexteditmodifier.h> #include <componenttextmodifier.h> #include <subcomponentmanager.h> #include <model/viewlogger.h> -#include <viewmanager.h> #include <QObject> #include <QString> @@ -66,6 +57,8 @@ class ModelNode; class TextModifier; class QmlObjectNode; class CrumbleBarInfo; +class ViewManager; +class QmlModelView; class DesignDocument: public QObject { @@ -147,6 +140,8 @@ private: // functions bool loadInFileComponent(const ModelNode &componentNode); + QmlModelView *qmlModelView(); + private: // variables QWeakPointer<QStackedWidget> m_stackedWidget; QWeakPointer<Model> m_documentModel; diff --git a/src/plugins/qmldesigner/designercore/include/viewmanager.h b/src/plugins/qmldesigner/designercore/include/viewmanager.h index 536dd3d78385059d57f9f35664746f487f46469b..b38b964ea4b6ba004577c2626d56a9283810b9d0 100644 --- a/src/plugins/qmldesigner/designercore/include/viewmanager.h +++ b/src/plugins/qmldesigner/designercore/include/viewmanager.h @@ -80,6 +80,9 @@ public: void pushInFileComponentOnCrambleBar(const QString &componentId); void nextFileIsCalledInternally(); + //used by DesignDocument ### find a better solution + QmlModelView *qmlModelView(); + private: // functions Q_DISABLE_COPY(ViewManager) diff --git a/src/plugins/qmldesigner/designercore/model/viewmanager.cpp b/src/plugins/qmldesigner/designercore/model/viewmanager.cpp index 24eda7730d4fd7ac2c374568bf26fb404e84bf4b..699081c49a8401214be85be5b56abb86d114c68b 100644 --- a/src/plugins/qmldesigner/designercore/model/viewmanager.cpp +++ b/src/plugins/qmldesigner/designercore/model/viewmanager.cpp @@ -188,6 +188,11 @@ void ViewManager::nextFileIsCalledInternally() m_formEditorView.formEditorWidget()->formEditorCrumbleBar()->nextFileIsCalledInternally(); } + QmlModelView *ViewManager::qmlModelView() + { + return &m_formEditorView; + } + Model *ViewManager::currentModel() const { return currentDesignDocument()->currentModel();