forked from qt-creator/qt-creator
CppTools: Get OverviewModel from model manager
Move ownership and add the placeholder for future clang based OverviewModel. Change-Id: Ia44d2c1d0db59b40239d1f7934bf37a02e4b14e6 Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
This commit is contained in:
@@ -35,6 +35,10 @@
|
|||||||
#include "clangcurrentdocumentfilter.h"
|
#include "clangcurrentdocumentfilter.h"
|
||||||
|
|
||||||
#include <coreplugin/editormanager/editormanager.h>
|
#include <coreplugin/editormanager/editormanager.h>
|
||||||
|
|
||||||
|
// TODO: replace with clang based overview model
|
||||||
|
#include <cpptools/cppoverviewmodel.h>
|
||||||
|
|
||||||
#include <cpptools/cppcodemodelsettings.h>
|
#include <cpptools/cppcodemodelsettings.h>
|
||||||
#include <cpptools/cppfollowsymbolundercursor.h>
|
#include <cpptools/cppfollowsymbolundercursor.h>
|
||||||
#include <cpptools/cppmodelmanager.h>
|
#include <cpptools/cppmodelmanager.h>
|
||||||
@@ -144,6 +148,11 @@ CppTools::RefactoringEngineInterface &ModelManagerSupportClang::refactoringEngin
|
|||||||
return *m_refactoringEngine;
|
return *m_refactoringEngine;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::unique_ptr<CppTools::AbstractOverviewModel> ModelManagerSupportClang::createOverviewModel()
|
||||||
|
{
|
||||||
|
return std::make_unique<CppTools::OverviewModel>();
|
||||||
|
}
|
||||||
|
|
||||||
CppTools::BaseEditorDocumentProcessor *ModelManagerSupportClang::createEditorDocumentProcessor(
|
CppTools::BaseEditorDocumentProcessor *ModelManagerSupportClang::createEditorDocumentProcessor(
|
||||||
TextEditor::TextDocument *baseTextDocument)
|
TextEditor::TextDocument *baseTextDocument)
|
||||||
{
|
{
|
||||||
|
@@ -71,6 +71,7 @@ public:
|
|||||||
TextEditor::TextDocument *baseTextDocument) override;
|
TextEditor::TextDocument *baseTextDocument) override;
|
||||||
CppTools::FollowSymbolInterface &followSymbolInterface() override;
|
CppTools::FollowSymbolInterface &followSymbolInterface() override;
|
||||||
CppTools::RefactoringEngineInterface &refactoringEngineInterface() override;
|
CppTools::RefactoringEngineInterface &refactoringEngineInterface() override;
|
||||||
|
std::unique_ptr<CppTools::AbstractOverviewModel> createOverviewModel() override;
|
||||||
|
|
||||||
BackendCommunicator &communicator();
|
BackendCommunicator &communicator();
|
||||||
QString dummyUiHeaderOnDiskDirPath() const;
|
QString dummyUiHeaderOnDiskDirPath() const;
|
||||||
|
@@ -94,7 +94,7 @@ CppEditorOutline::CppEditorOutline(TextEditor::TextEditorWidget *editorWidget)
|
|||||||
, m_editorWidget(editorWidget)
|
, m_editorWidget(editorWidget)
|
||||||
, m_combo(new Utils::TreeViewComboBox)
|
, m_combo(new Utils::TreeViewComboBox)
|
||||||
{
|
{
|
||||||
m_model = std::make_unique<CppTools::OverviewModel>();
|
m_model = CppModelManager::instance()->createOverviewModel();
|
||||||
m_proxyModel = new OverviewProxyModel(*m_model, this);
|
m_proxyModel = new OverviewProxyModel(*m_model, this);
|
||||||
m_proxyModel->setSourceModel(m_model.get());
|
m_proxyModel->setSourceModel(m_model.get());
|
||||||
|
|
||||||
|
@@ -26,6 +26,7 @@
|
|||||||
#include "cppmodelmanager.h"
|
#include "cppmodelmanager.h"
|
||||||
|
|
||||||
#include "abstracteditorsupport.h"
|
#include "abstracteditorsupport.h"
|
||||||
|
#include "abstractoverviewmodel.h"
|
||||||
#include "baseeditordocumentprocessor.h"
|
#include "baseeditordocumentprocessor.h"
|
||||||
#include "builtinindexingsupport.h"
|
#include "builtinindexingsupport.h"
|
||||||
#include "cppclassesfilter.h"
|
#include "cppclassesfilter.h"
|
||||||
@@ -400,6 +401,11 @@ FollowSymbolInterface &CppModelManager::followSymbolInterface() const
|
|||||||
return d->m_activeModelManagerSupport->followSymbolInterface();
|
return d->m_activeModelManagerSupport->followSymbolInterface();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::unique_ptr<AbstractOverviewModel> CppModelManager::createOverviewModel() const
|
||||||
|
{
|
||||||
|
return d->m_activeModelManagerSupport->createOverviewModel();
|
||||||
|
}
|
||||||
|
|
||||||
QString CppModelManager::configurationFileName()
|
QString CppModelManager::configurationFileName()
|
||||||
{
|
{
|
||||||
return Preprocessor::configurationFileName();
|
return Preprocessor::configurationFileName();
|
||||||
|
@@ -54,6 +54,7 @@ class TextDocument;
|
|||||||
namespace CppTools {
|
namespace CppTools {
|
||||||
|
|
||||||
class AbstractEditorSupport;
|
class AbstractEditorSupport;
|
||||||
|
class AbstractOverviewModel;
|
||||||
class BaseEditorDocumentProcessor;
|
class BaseEditorDocumentProcessor;
|
||||||
class CppCompletionAssistProvider;
|
class CppCompletionAssistProvider;
|
||||||
class CppEditorDocumentHandle;
|
class CppEditorDocumentHandle;
|
||||||
@@ -183,6 +184,7 @@ public:
|
|||||||
TextEditor::TextDocument *baseTextDocument) const;
|
TextEditor::TextDocument *baseTextDocument) const;
|
||||||
TextEditor::BaseHoverHandler *createHoverHandler() const;
|
TextEditor::BaseHoverHandler *createHoverHandler() const;
|
||||||
FollowSymbolInterface &followSymbolInterface() const;
|
FollowSymbolInterface &followSymbolInterface() const;
|
||||||
|
std::unique_ptr<AbstractOverviewModel> createOverviewModel() const;
|
||||||
|
|
||||||
void setIndexingSupport(CppIndexingSupport *indexingSupport);
|
void setIndexingSupport(CppIndexingSupport *indexingSupport);
|
||||||
CppIndexingSupport *indexingSupport();
|
CppIndexingSupport *indexingSupport();
|
||||||
|
@@ -30,6 +30,8 @@
|
|||||||
#include <QSharedPointer>
|
#include <QSharedPointer>
|
||||||
#include <QString>
|
#include <QString>
|
||||||
|
|
||||||
|
#include <memory>
|
||||||
|
|
||||||
namespace TextEditor {
|
namespace TextEditor {
|
||||||
class TextDocument;
|
class TextDocument;
|
||||||
class BaseHoverHandler;
|
class BaseHoverHandler;
|
||||||
@@ -37,6 +39,7 @@ class BaseHoverHandler;
|
|||||||
|
|
||||||
namespace CppTools {
|
namespace CppTools {
|
||||||
|
|
||||||
|
class AbstractOverviewModel;
|
||||||
class BaseEditorDocumentProcessor;
|
class BaseEditorDocumentProcessor;
|
||||||
class CppCompletionAssistProvider;
|
class CppCompletionAssistProvider;
|
||||||
class FollowSymbolInterface;
|
class FollowSymbolInterface;
|
||||||
@@ -56,6 +59,7 @@ public:
|
|||||||
TextEditor::TextDocument *baseTextDocument) = 0;
|
TextEditor::TextDocument *baseTextDocument) = 0;
|
||||||
virtual FollowSymbolInterface &followSymbolInterface() = 0;
|
virtual FollowSymbolInterface &followSymbolInterface() = 0;
|
||||||
virtual RefactoringEngineInterface &refactoringEngineInterface() = 0;
|
virtual RefactoringEngineInterface &refactoringEngineInterface() = 0;
|
||||||
|
virtual std::unique_ptr<AbstractOverviewModel> createOverviewModel() = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
class CPPTOOLS_EXPORT ModelManagerSupportProvider
|
class CPPTOOLS_EXPORT ModelManagerSupportProvider
|
||||||
|
@@ -27,6 +27,7 @@
|
|||||||
#include "cppmodelmanagersupportinternal.h"
|
#include "cppmodelmanagersupportinternal.h"
|
||||||
#include "cppfollowsymbolundercursor.h"
|
#include "cppfollowsymbolundercursor.h"
|
||||||
#include "cpphoverhandler.h"
|
#include "cpphoverhandler.h"
|
||||||
|
#include "cppoverviewmodel.h"
|
||||||
#include "cpprefactoringengine.h"
|
#include "cpprefactoringengine.h"
|
||||||
#include "builtineditordocumentprocessor.h"
|
#include "builtineditordocumentprocessor.h"
|
||||||
|
|
||||||
@@ -89,3 +90,8 @@ RefactoringEngineInterface &ModelManagerSupportInternal::refactoringEngineInterf
|
|||||||
{
|
{
|
||||||
return *m_refactoringEngine;
|
return *m_refactoringEngine;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::unique_ptr<AbstractOverviewModel> ModelManagerSupportInternal::createOverviewModel()
|
||||||
|
{
|
||||||
|
return std::make_unique<CppTools::OverviewModel>();
|
||||||
|
}
|
||||||
|
@@ -46,6 +46,7 @@ public:
|
|||||||
TextEditor::TextDocument *baseTextDocument) final;
|
TextEditor::TextDocument *baseTextDocument) final;
|
||||||
FollowSymbolInterface &followSymbolInterface() final;
|
FollowSymbolInterface &followSymbolInterface() final;
|
||||||
RefactoringEngineInterface &refactoringEngineInterface() final;
|
RefactoringEngineInterface &refactoringEngineInterface() final;
|
||||||
|
std::unique_ptr<AbstractOverviewModel> createOverviewModel() final;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QScopedPointer<CppCompletionAssistProvider> m_completionAssistProvider;
|
QScopedPointer<CppCompletionAssistProvider> m_completionAssistProvider;
|
||||||
|
Reference in New Issue
Block a user