forked from qt-creator/qt-creator
Change-Id: I0b3913993b09b006e2d0431a68e98e21e8865898 Reviewed-by: David Schulz <david.schulz@qt.io>
50 lines
1.9 KiB
C++
50 lines
1.9 KiB
C++
// Copyright (C) 2016 The Qt Company Ltd.
|
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0+ OR GPL-3.0 WITH Qt-GPL-exception-1.0
|
|
|
|
#pragma once
|
|
|
|
#include "cppmodelmanagersupport.h"
|
|
|
|
#include <QScopedPointer>
|
|
|
|
namespace CppEditor { class FollowSymbolUnderCursor; }
|
|
|
|
namespace CppEditor::Internal {
|
|
|
|
class BuiltinModelManagerSupport: public ModelManagerSupport
|
|
{
|
|
Q_DISABLE_COPY(BuiltinModelManagerSupport)
|
|
|
|
public:
|
|
BuiltinModelManagerSupport();
|
|
~BuiltinModelManagerSupport() override;
|
|
|
|
CppCompletionAssistProvider *completionAssistProvider();
|
|
TextEditor::BaseHoverHandler *createHoverHandler();
|
|
|
|
BaseEditorDocumentProcessor *createEditorDocumentProcessor(
|
|
TextEditor::TextDocument *baseTextDocument) final;
|
|
|
|
FollowSymbolUnderCursor &followSymbolInterface() { return *m_followSymbol; }
|
|
|
|
private:
|
|
void followSymbol(const CursorInEditor &data, const Utils::LinkHandler &processLinkCallback,
|
|
bool resolveTarget, bool inNextSplit) override;
|
|
void followSymbolToType(const CursorInEditor &data,
|
|
const Utils::LinkHandler &processLinkCallback,
|
|
bool inNextSplit) override;
|
|
void switchDeclDef(const CursorInEditor &data,
|
|
const Utils::LinkHandler &processLinkCallback) override;
|
|
void startLocalRenaming(const CursorInEditor &data,
|
|
const ProjectPart *projectPart,
|
|
RenameCallback &&renameSymbolsCallback) override;
|
|
void globalRename(const CursorInEditor &data, const QString &replacement) override;
|
|
void findUsages(const CursorInEditor &data) const override;
|
|
void switchHeaderSource(const Utils::FilePath &filePath, bool inNextSplit) override;
|
|
|
|
QScopedPointer<CppCompletionAssistProvider> m_completionAssistProvider;
|
|
QScopedPointer<FollowSymbolUnderCursor> m_followSymbol;
|
|
};
|
|
|
|
} // namespace CppEditor::Internal
|