CppTools: CppHighlightingSupport takes a BaseTextDocument

...instead an ITextEditor.

The ITextEditor was only used to access the file path and QTextDocument
via the BaseTextEditorWidget.

Change-Id: Idef2b8162b992fe3718e16e2a046e2ff214846f2
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
This commit is contained in:
Nikolai Kosjar
2014-06-06 11:52:09 -04:00
parent fc7f5ba364
commit a6e04c363f
15 changed files with 53 additions and 45 deletions

View File

@@ -29,21 +29,19 @@
#include "clanghighlightingsupport.h"
#include <coreplugin/idocument.h>
#include <texteditor/basetexteditor.h>
#include <texteditor/itexteditor.h>
#include <texteditor/basetextdocument.h>
#include <QTextBlock>
#include <QTextEdit>
#include "pchmanager.h"
using namespace ClangCodeModel;
using namespace ClangCodeModel::Internal;
using namespace CppTools;
ClangHighlightingSupport::ClangHighlightingSupport(TextEditor::ITextEditor *textEditor, FastIndexer *fastIndexer)
: CppHighlightingSupport(textEditor)
ClangHighlightingSupport::ClangHighlightingSupport(TextEditor::BaseTextDocument *baseTextDocument,
FastIndexer *fastIndexer)
: CppHighlightingSupport(baseTextDocument)
, m_fastIndexer(fastIndexer)
, m_semanticMarker(new ClangCodeModel::SemanticMarker)
{
@@ -69,11 +67,10 @@ QFuture<TextEditor::HighlightingResult> ClangHighlightingSupport::highlightingFu
Q_UNUSED(doc);
Q_UNUSED(snapshot);
TextEditor::BaseTextEditorWidget *ed = qobject_cast<TextEditor::BaseTextEditorWidget *>(editor()->widget());
int firstLine = 1;
int lastLine = ed->document()->blockCount();
int lastLine = baseTextDocument()->document()->blockCount();
const QString fileName = editor()->document()->filePath();
const QString fileName = baseTextDocument()->filePath();
CppModelManagerInterface *modelManager = CppModelManagerInterface::instance();
QList<ProjectPart::Ptr> parts = modelManager->projectPart(fileName);
if (parts.isEmpty())

View File

@@ -44,7 +44,7 @@ namespace ClangCodeModel {
class ClangHighlightingSupport: public CppTools::CppHighlightingSupport
{
public:
ClangHighlightingSupport(TextEditor::ITextEditor *textEditor,
ClangHighlightingSupport(TextEditor::BaseTextDocument *baseTextDocument,
Internal::FastIndexer *fastIndexer);
~ClangHighlightingSupport();

View File

@@ -64,7 +64,7 @@ CppTools::CppCompletionAssistProvider *ModelManagerSupport::completionAssistProv
}
CppTools::CppHighlightingSupport *ModelManagerSupport::highlightingSupport(
TextEditor::ITextEditor *editor)
TextEditor::BaseTextDocument *baseTextDocument)
{
return new ClangHighlightingSupport(editor, m_fastIndexer);
return new ClangHighlightingSupport(baseTextDocument, m_fastIndexer);
}

View File

@@ -51,7 +51,8 @@ public:
virtual QString displayName() const;
virtual CppTools::CppCompletionAssistProvider *completionAssistProvider();
virtual CppTools::CppHighlightingSupport *highlightingSupport(TextEditor::ITextEditor *editor);
virtual CppTools::CppHighlightingSupport *highlightingSupport(
TextEditor::BaseTextDocument *baseTextDocument);
private:
QScopedPointer<CppTools::CppCompletionAssistProvider> m_completionAssistProvider;