forked from qt-creator/qt-creator
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:
@@ -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())
|
||||
|
||||
@@ -44,7 +44,7 @@ namespace ClangCodeModel {
|
||||
class ClangHighlightingSupport: public CppTools::CppHighlightingSupport
|
||||
{
|
||||
public:
|
||||
ClangHighlightingSupport(TextEditor::ITextEditor *textEditor,
|
||||
ClangHighlightingSupport(TextEditor::BaseTextDocument *baseTextDocument,
|
||||
Internal::FastIndexer *fastIndexer);
|
||||
~ClangHighlightingSupport();
|
||||
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user