From 726c3345c4af3d253c46f56fb1a20e0078bd1b7c Mon Sep 17 00:00:00 2001
From: Roberto Raggi <roberto.raggi@nokia.com>
Date: Wed, 9 Jun 2010 15:56:03 +0200
Subject: [PATCH] Moved qmljsmodelmanagerinterface.h

---
 src/libs/qmljs/qmljs-lib.pri                  |  6 ++-
 src/libs/qmljs/qmljsmodelmanagerinterface.cpp | 42 +++++++++++++++++++
 .../qmljs}/qmljsmodelmanagerinterface.h       | 13 +++---
 .../model/basetexteditmodifier.cpp            | 11 +++--
 .../components/objectpropertiesview.cpp       |  4 +-
 .../qmljseditor/qmljscodecompletion.cpp       |  2 +-
 src/plugins/qmljseditor/qmljscodecompletion.h |  8 ++--
 src/plugins/qmljseditor/qmljseditor.cpp       |  2 +-
 src/plugins/qmljseditor/qmljseditor.h         | 12 +++---
 src/plugins/qmljseditor/qmljseditor.pro       |  2 -
 src/plugins/qmljseditor/qmljseditorplugin.h   |  7 +++-
 src/plugins/qmljseditor/qmljshoverhandler.cpp |  2 +-
 src/plugins/qmljseditor/qmljshoverhandler.h   |  5 +--
 src/plugins/qmljseditor/qmljsmodelmanager.h   |  5 +--
 src/plugins/qmljseditor/qmljsquickfix.h       |  6 ++-
 src/plugins/qmlprojectmanager/qmlproject.cpp  |  4 +-
 src/plugins/qmlprojectmanager/qmlproject.h    |  4 +-
 .../qmlprojectmanager/qmlprojectplugin.cpp    |  4 +-
 18 files changed, 91 insertions(+), 48 deletions(-)
 create mode 100644 src/libs/qmljs/qmljsmodelmanagerinterface.cpp
 rename src/{plugins/qmljseditor => libs/qmljs}/qmljsmodelmanagerinterface.h (92%)

diff --git a/src/libs/qmljs/qmljs-lib.pri b/src/libs/qmljs/qmljs-lib.pri
index e0e7b49a167..a723b035418 100644
--- a/src/libs/qmljs/qmljs-lib.pri
+++ b/src/libs/qmljs/qmljs-lib.pri
@@ -21,7 +21,8 @@ HEADERS += \
     $$PWD/qmljsscopebuilder.h \
     $$PWD/qmljslineinfo.h \
     $$PWD/qmljscompletioncontextfinder.h \
-    $$PWD/qmljscomponentversion.h
+    $$PWD/qmljscomponentversion.h \
+    $$PWD/qmljsmodelmanagerinterface.h \
 
 SOURCES += \
     $$PWD/qmljsbind.cpp \
@@ -34,7 +35,8 @@ SOURCES += \
     $$PWD/qmljsscopebuilder.cpp \
     $$PWD/qmljslineinfo.cpp \
     $$PWD/qmljscompletioncontextfinder.cpp \
-    $$PWD/qmljscomponentversion.cpp
+    $$PWD/qmljscomponentversion.cpp \
+    $$PWD/qmljsmodelmanagerinterface.cpp
 
 OTHER_FILES += \
     $$PWD/parser/qmljs.g
diff --git a/src/libs/qmljs/qmljsmodelmanagerinterface.cpp b/src/libs/qmljs/qmljsmodelmanagerinterface.cpp
new file mode 100644
index 00000000000..90917547f54
--- /dev/null
+++ b/src/libs/qmljs/qmljsmodelmanagerinterface.cpp
@@ -0,0 +1,42 @@
+/**************************************************************************
+**
+** This file is part of Qt Creator
+**
+** Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** Commercial Usage
+**
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Nokia.
+**
+** GNU Lesser General Public License Usage
+**
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file.  Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://qt.nokia.com/contact.
+**
+**************************************************************************/
+
+#include "qmljsmodelmanagerinterface.h"
+
+using namespace QmlJS;
+
+ModelManagerInterface::ModelManagerInterface(QObject *parent)
+    : QObject(parent)
+{
+}
+
+ModelManagerInterface::~ModelManagerInterface()
+{
+}
+
diff --git a/src/plugins/qmljseditor/qmljsmodelmanagerinterface.h b/src/libs/qmljs/qmljsmodelmanagerinterface.h
similarity index 92%
rename from src/plugins/qmljseditor/qmljsmodelmanagerinterface.h
rename to src/libs/qmljs/qmljsmodelmanagerinterface.h
index a39a7d2e176..58e56a6c337 100644
--- a/src/plugins/qmljseditor/qmljsmodelmanagerinterface.h
+++ b/src/libs/qmljs/qmljsmodelmanagerinterface.h
@@ -30,21 +30,18 @@
 #ifndef QMLJSMODELMANAGERINTERFACE_H
 #define QMLJSMODELMANAGERINTERFACE_H
 
-#include "qmljseditor_global.h"
-
-#include <qmljs/qmljsdocument.h>
+#include "qmljs_global.h"
+#include "qmljsdocument.h"
 
 #include <QObject>
 #include <QStringList>
 #include <QSharedPointer>
 
 namespace QmlJS {
-class Snapshot;
-}
 
-namespace QmlJSEditor {
+class Snapshot;
 
-class QMLJSEDITOR_EXPORT ModelManagerInterface: public QObject
+class QMLJS_EXPORT ModelManagerInterface: public QObject
 {
     Q_OBJECT
 
@@ -67,6 +64,6 @@ signals:
     void aboutToRemoveFiles(const QStringList &files);
 };
 
-} // namespace QmlJSEditor
+} // namespace QmlJS
 
 #endif // QMLJSMODELMANAGERINTERFACE_H
diff --git a/src/plugins/qmldesigner/designercore/model/basetexteditmodifier.cpp b/src/plugins/qmldesigner/designercore/model/basetexteditmodifier.cpp
index a7ce641efa7..3127be6ead8 100644
--- a/src/plugins/qmldesigner/designercore/model/basetexteditmodifier.cpp
+++ b/src/plugins/qmldesigner/designercore/model/basetexteditmodifier.cpp
@@ -31,11 +31,10 @@
 
 #include <extensionsystem/pluginmanager.h>
 #include <qmljs/qmljsdocument.h>
-#include <qmljseditor/qmljsmodelmanagerinterface.h>
+#include <qmljs/qmljsmodelmanagerinterface.h>
 #include <texteditor/tabsettings.h>
 
 using namespace QmlDesigner;
-using namespace QmlJSEditor;
 
 BaseTextEditModifier::BaseTextEditModifier(TextEditor::BaseTextEditor *textEdit):
         PlainTextEditModifier(textEdit)
@@ -69,16 +68,16 @@ int BaseTextEditModifier::indentDepth() const
 }
 
 namespace {
-static inline QmlJSEditor::ModelManagerInterface *getModelManager()
+static inline QmlJS::ModelManagerInterface *getModelManager()
 {
     ExtensionSystem::PluginManager *pluginManager = ExtensionSystem::PluginManager::instance();
-    return pluginManager->getObject<QmlJSEditor::ModelManagerInterface>();
+    return pluginManager->getObject<QmlJS::ModelManagerInterface>();
 }
 }
 
 QmlJS::Snapshot BaseTextEditModifier::getSnapshot() const
 {
-    QmlJSEditor::ModelManagerInterface *modelManager = getModelManager();
+    QmlJS::ModelManagerInterface *modelManager = getModelManager();
     if (modelManager)
         return modelManager->snapshot();
     else
@@ -87,7 +86,7 @@ QmlJS::Snapshot BaseTextEditModifier::getSnapshot() const
 
 QStringList BaseTextEditModifier::importPaths() const
 {
-    QmlJSEditor::ModelManagerInterface *modelManager = getModelManager();
+    QmlJS::ModelManagerInterface *modelManager = getModelManager();
     if (modelManager)
         return modelManager->importPaths();
     else
diff --git a/src/plugins/qmlinspector/components/objectpropertiesview.cpp b/src/plugins/qmlinspector/components/objectpropertiesview.cpp
index b0d1b1220ed..b37daae887f 100644
--- a/src/plugins/qmlinspector/components/objectpropertiesview.cpp
+++ b/src/plugins/qmlinspector/components/objectpropertiesview.cpp
@@ -34,7 +34,7 @@
 #include "propertytypefinder.h"
 
 #include <extensionsystem/pluginmanager.h>
-#include <qmljseditor/qmljsmodelmanagerinterface.h>
+#include <qmljs/qmljsmodelmanagerinterface.h>
 #include <qmljs/qmljsdocument.h>
 
 #include <QtGui/QApplication>
@@ -224,7 +224,7 @@ void ObjectPropertiesView::setPropertyValue(PropertiesViewItem *item, const QVar
 QString ObjectPropertiesView::propertyBaseClass(const QDeclarativeDebugObjectReference &object, const QDeclarativeDebugPropertyReference &property, int &depth)
 {
     ExtensionSystem::PluginManager *pluginManager = ExtensionSystem::PluginManager::instance();
-    QmlJSEditor::ModelManagerInterface *modelManager = pluginManager->getObject<QmlJSEditor::ModelManagerInterface>();
+    QmlJS::ModelManagerInterface *modelManager = pluginManager->getObject<QmlJS::ModelManagerInterface>();
     QmlJS::Snapshot snapshot = modelManager->snapshot();
 
     QmlJS::Document::Ptr document = snapshot.document(object.source().url().path());
diff --git a/src/plugins/qmljseditor/qmljscodecompletion.cpp b/src/plugins/qmljseditor/qmljscodecompletion.cpp
index ebc79e88410..75f7112f8b8 100644
--- a/src/plugins/qmljseditor/qmljscodecompletion.cpp
+++ b/src/plugins/qmljseditor/qmljscodecompletion.cpp
@@ -30,8 +30,8 @@
 #include "qmljscodecompletion.h"
 #include "qmlexpressionundercursor.h"
 #include "qmljseditor.h"
-#include "qmljsmodelmanagerinterface.h"
 
+#include <qmljs/qmljsmodelmanagerinterface.h>
 #include <qmljs/parser/qmljsast_p.h>
 #include <qmljs/qmljsbind.h>
 #include <qmljs/qmljsinterpreter.h>
diff --git a/src/plugins/qmljseditor/qmljscodecompletion.h b/src/plugins/qmljseditor/qmljscodecompletion.h
index 96de6f588e0..ae3eb8bcf6c 100644
--- a/src/plugins/qmljseditor/qmljscodecompletion.h
+++ b/src/plugins/qmljseditor/qmljscodecompletion.h
@@ -40,6 +40,8 @@ class ITextEditable;
 }
 
 namespace QmlJS {
+    class ModelManagerInterface;
+
     namespace Interpreter {
         class Value;
     }
@@ -47,8 +49,6 @@ namespace QmlJS {
 
 namespace QmlJSEditor {
 
-class ModelManagerInterface;
-
 namespace Internal {
 
 class FunctionArgumentWidget;
@@ -58,7 +58,7 @@ class CodeCompletion: public TextEditor::ICompletionCollector
     Q_OBJECT
 
 public:
-    CodeCompletion(ModelManagerInterface *modelManager, QObject *parent = 0);
+    CodeCompletion(QmlJS::ModelManagerInterface *modelManager, QObject *parent = 0);
     virtual ~CodeCompletion();
 
     virtual TextEditor::ITextEditable *editor() const;
@@ -88,7 +88,7 @@ private:
             const QHash<QString, const QmlJS::Interpreter::Value *> &newCompletions,
             const QIcon &icon, int relevance);
 
-    ModelManagerInterface *m_modelManager;
+    QmlJS::ModelManagerInterface *m_modelManager;
     TextEditor::ITextEditable *m_editor;
     int m_startPosition;
     QList<TextEditor::CompletionItem> m_completions;
diff --git a/src/plugins/qmljseditor/qmljseditor.cpp b/src/plugins/qmljseditor/qmljseditor.cpp
index ec90ac3f6b5..5f2e4306702 100644
--- a/src/plugins/qmljseditor/qmljseditor.cpp
+++ b/src/plugins/qmljseditor/qmljseditor.cpp
@@ -1430,7 +1430,7 @@ SemanticInfo SemanticHighlighter::semanticInfo(const Source &source)
     return semanticInfo;
 }
 
-void SemanticHighlighter::setModelManager(QmlJSEditor::ModelManagerInterface *modelManager)
+void SemanticHighlighter::setModelManager(QmlJS::ModelManagerInterface *modelManager)
 {
     m_modelManager = modelManager;
 }
diff --git a/src/plugins/qmljseditor/qmljseditor.h b/src/plugins/qmljseditor/qmljseditor.h
index fd5fe9c3cd9..5ea672dd5fc 100644
--- a/src/plugins/qmljseditor/qmljseditor.h
+++ b/src/plugins/qmljseditor/qmljseditor.h
@@ -47,9 +47,11 @@ namespace Core {
 class ICore;
 }
 
-namespace QmlJSEditor {
+namespace QmlJS {
+    class ModelManagerInterface;
+}
 
-class ModelManagerInterface;
+namespace QmlJSEditor {
 class Highlighter;
 
 namespace Internal {
@@ -176,7 +178,7 @@ public:
     };
 
     void rehighlight(const Source &source);
-    void setModelManager(ModelManagerInterface *modelManager);
+    void setModelManager(QmlJS::ModelManagerInterface *modelManager);
 
 Q_SIGNALS:
     void changed(const QmlJSEditor::Internal::SemanticInfo &semanticInfo);
@@ -194,7 +196,7 @@ private:
     bool m_done;
     Source m_source;
     SemanticInfo m_lastSemanticInfo;
-    ModelManagerInterface *m_modelManager;
+    QmlJS::ModelManagerInterface *m_modelManager;
 };
 
 class QmlJSTextEditor : public TextEditor::BaseTextEditor
@@ -265,7 +267,7 @@ private:
     QTimer *m_updateUsesTimer;
     QTimer *m_semanticRehighlightTimer;
     QComboBox *m_methodCombo;
-    ModelManagerInterface *m_modelManager;
+    QmlJS::ModelManagerInterface *m_modelManager;
     QTextCharFormat m_occurrencesFormat;
     QTextCharFormat m_occurrencesUnusedFormat;
     QTextCharFormat m_occurrenceRenameFormat;
diff --git a/src/plugins/qmljseditor/qmljseditor.pro b/src/plugins/qmljseditor/qmljseditor.pro
index dc7c0a65d30..acd9da1afaf 100644
--- a/src/plugins/qmljseditor/qmljseditor.pro
+++ b/src/plugins/qmljseditor/qmljseditor.pro
@@ -21,7 +21,6 @@ HEADERS += \
     qmljshighlighter.h \
     qmljshoverhandler.h \
     qmljsmodelmanager.h \
-    qmljsmodelmanagerinterface.h \
     qmljspreviewrunner.h \
     qmljsquickfix.h
 
@@ -36,7 +35,6 @@ SOURCES += \
     qmljshighlighter.cpp \
     qmljshoverhandler.cpp \
     qmljsmodelmanager.cpp \
-    qmljsmodelmanagerinterface.cpp \
     qmljspreviewrunner.cpp \
     qmljsquickfix.cpp
 
diff --git a/src/plugins/qmljseditor/qmljseditorplugin.h b/src/plugins/qmljseditor/qmljseditorplugin.h
index d5d87a053ac..bf632ecc69d 100644
--- a/src/plugins/qmljseditor/qmljseditorplugin.h
+++ b/src/plugins/qmljseditor/qmljseditorplugin.h
@@ -50,9 +50,12 @@ namespace TextEditor {
 class ITextEditable;
 }
 
+namespace QmlJS {
+    class ModelManagerInterface;
+}
+
 namespace QmlJSEditor {
 
-class ModelManagerInterface;
 class QmlFileWizard;
 
 namespace Internal {
@@ -98,7 +101,7 @@ private:
     QAction *m_actionPreview;
     QmlJSPreviewRunner *m_previewRunner;
 
-    ModelManagerInterface *m_modelManager;
+    QmlJS::ModelManagerInterface *m_modelManager;
     QmlFileWizard *m_wizard;
     QmlJSEditorFactory *m_editor;
     TextEditor::TextEditorActionHandler *m_actionHandler;
diff --git a/src/plugins/qmljseditor/qmljshoverhandler.cpp b/src/plugins/qmljseditor/qmljshoverhandler.cpp
index 38cc47cae56..2810fdb4c36 100644
--- a/src/plugins/qmljseditor/qmljshoverhandler.cpp
+++ b/src/plugins/qmljseditor/qmljshoverhandler.cpp
@@ -63,7 +63,7 @@ HoverHandler::HoverHandler(QObject *parent)
     : QObject(parent)
     , m_helpEngineNeedsSetup(false)
 {
-    m_modelManager = ExtensionSystem::PluginManager::instance()->getObject<ModelManagerInterface>();
+    m_modelManager = ExtensionSystem::PluginManager::instance()->getObject<QmlJS::ModelManagerInterface>();
 
     ICore *core = ICore::instance();
     QFileInfo fi(core->settings()->fileName());
diff --git a/src/plugins/qmljseditor/qmljshoverhandler.h b/src/plugins/qmljseditor/qmljshoverhandler.h
index f41ad628678..f8a1f282ddf 100644
--- a/src/plugins/qmljseditor/qmljshoverhandler.h
+++ b/src/plugins/qmljseditor/qmljshoverhandler.h
@@ -30,8 +30,7 @@
 #ifndef QMLJSHOVERHANDLER_H
 #define QMLJSHOVERHANDLER_H
 
-#include "qmljsmodelmanagerinterface.h"
-
+#include <qmljs/qmljsmodelmanagerinterface.h>
 #include <QtCore/QObject>
 
 QT_BEGIN_NAMESPACE
@@ -79,7 +78,7 @@ private:
                         QStringList *baseClasses) const;
 
 private:
-    ModelManagerInterface *m_modelManager;
+    QmlJS::ModelManagerInterface *m_modelManager;
     QHelpEngineCore *m_helpEngine;
     QString m_helpId;
     QString m_toolTip;
diff --git a/src/plugins/qmljseditor/qmljsmodelmanager.h b/src/plugins/qmljseditor/qmljsmodelmanager.h
index b72d9d318dc..4386c23dcd4 100644
--- a/src/plugins/qmljseditor/qmljsmodelmanager.h
+++ b/src/plugins/qmljseditor/qmljsmodelmanager.h
@@ -30,8 +30,7 @@
 #ifndef QMLJSMODELMANAGER_H
 #define QMLJSMODELMANAGER_H
 
-#include "qmljsmodelmanagerinterface.h"
-
+#include <qmljs/qmljsmodelmanagerinterface.h>
 #include <qmljs/qmljsdocument.h>
 
 #include <QFuture>
@@ -47,7 +46,7 @@ class MimeType;
 namespace QmlJSEditor {
 namespace Internal {
 
-class ModelManager: public ModelManagerInterface
+class ModelManager: public QmlJS::ModelManagerInterface
 {
     Q_OBJECT
 
diff --git a/src/plugins/qmljseditor/qmljsquickfix.h b/src/plugins/qmljseditor/qmljsquickfix.h
index 03a917998a6..998c35fdc64 100644
--- a/src/plugins/qmljseditor/qmljsquickfix.h
+++ b/src/plugins/qmljseditor/qmljsquickfix.h
@@ -35,9 +35,11 @@
 #include <qmljs/parser/qmljsastfwd_p.h>
 #include <qmljs/qmljsdocument.h>
 
-namespace QmlJSEditor {
+namespace QmlJS {
+    class ModelManagerInterface;
+}
 
-class ModelManagerInterface;
+namespace QmlJSEditor {
 
 namespace Internal {
 
diff --git a/src/plugins/qmlprojectmanager/qmlproject.cpp b/src/plugins/qmlprojectmanager/qmlproject.cpp
index ee72f414cd7..1cbf524fe63 100644
--- a/src/plugins/qmlprojectmanager/qmlproject.cpp
+++ b/src/plugins/qmlprojectmanager/qmlproject.cpp
@@ -37,7 +37,7 @@
 #include <coreplugin/messagemanager.h>
 #include <extensionsystem/pluginmanager.h>
 #include <projectexplorer/filewatcher.h>
-#include <qmljseditor/qmljsmodelmanagerinterface.h>
+#include <qmljs/qmljsmodelmanagerinterface.h>
 
 #include <QTextStream>
 #include <QDeclarativeComponent>
@@ -48,7 +48,7 @@ namespace QmlProjectManager {
 QmlProject::QmlProject(Internal::Manager *manager, const QString &fileName)
     : m_manager(manager),
       m_fileName(fileName),
-      m_modelManager(ExtensionSystem::PluginManager::instance()->getObject<QmlJSEditor::ModelManagerInterface>()),
+      m_modelManager(ExtensionSystem::PluginManager::instance()->getObject<QmlJS::ModelManagerInterface>()),
       m_fileWatcher(new ProjectExplorer::FileWatcher(this)),
       m_targetFactory(new Internal::QmlProjectTargetFactory(this))
 {
diff --git a/src/plugins/qmlprojectmanager/qmlproject.h b/src/plugins/qmlprojectmanager/qmlproject.h
index 132622e27ff..8a510a66652 100644
--- a/src/plugins/qmlprojectmanager/qmlproject.h
+++ b/src/plugins/qmlprojectmanager/qmlproject.h
@@ -39,7 +39,7 @@
 
 #include <QtDeclarative/QDeclarativeEngine>
 
-namespace QmlJSEditor {
+namespace QmlJS {
 class ModelManagerInterface;
 }
 
@@ -118,7 +118,7 @@ private:
     QString m_fileName;
     Internal::QmlProjectFile *m_file;
     QString m_projectName;
-    QmlJSEditor::ModelManagerInterface *m_modelManager;
+    QmlJS::ModelManagerInterface *m_modelManager;
 
     // plain format
     QStringList m_files;
diff --git a/src/plugins/qmlprojectmanager/qmlprojectplugin.cpp b/src/plugins/qmlprojectmanager/qmlprojectplugin.cpp
index 144d5d00880..6f3b6115b5c 100644
--- a/src/plugins/qmlprojectmanager/qmlprojectplugin.cpp
+++ b/src/plugins/qmlprojectmanager/qmlprojectplugin.cpp
@@ -47,7 +47,7 @@
 #include <texteditor/texteditoractionhandler.h>
 
 #include <projectexplorer/taskwindow.h>
-#include <qmljseditor/qmljsmodelmanagerinterface.h>
+#include <qmljs/qmljsmodelmanagerinterface.h>
 
 #include <QtCore/QtPlugin>
 
@@ -99,7 +99,7 @@ void QmlProjectPlugin::extensionsInitialized()
     ProjectExplorer::TaskWindow *taskWindow = pluginManager->getObject<ProjectExplorer::TaskWindow>();
     m_qmlTaskManager->setTaskWindow(taskWindow);
 
-    QmlJSEditor::ModelManagerInterface *modelManager = pluginManager->getObject<QmlJSEditor::ModelManagerInterface>();
+    QmlJS::ModelManagerInterface *modelManager = pluginManager->getObject<QmlJS::ModelManagerInterface>();
     Q_ASSERT(modelManager);
     connect(modelManager, SIGNAL(documentChangedOnDisk(QmlJS::Document::Ptr)),
             m_qmlTaskManager, SLOT(documentChangedOnDisk(QmlJS::Document::Ptr)));
-- 
GitLab