CplusPlus: Use plainer callbacks to interact to the CppEditor

Lets us remove a few explicit CppModelManager::instance() call
in user code later.

Change-Id: Id8d846d06a0715b3d609cc5d52cc031e1d025fb1
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
hjk
2023-07-11 14:19:33 +02:00
parent 1d59a37acb
commit 90ba140545
5 changed files with 70 additions and 54 deletions

View File

@@ -912,12 +912,25 @@ void CppModelManager::initCppTools()
});
}
static bool setExtraDiagnosticsCallback(const QString &fileName, const QString &kind,
const QList<Document::DiagnosticMessage> &diagnostics)
{
return m_instance->setExtraDiagnostics(fileName, kind, diagnostics);
}
static Snapshot snapshotCallback()
{
return m_instance->snapshot();
}
CppModelManager::CppModelManager()
: CppModelManagerBase(nullptr)
, d(new CppModelManagerPrivate)
: d(new CppModelManagerPrivate)
{
m_instance = this;
CppModelManagerBase::registerSetExtraDiagnosticsCallback(&setExtraDiagnosticsCallback);
CppModelManagerBase::registerSnapshotCallback(&snapshotCallback);
// Used for weak dependency in VcsBaseSubmitEditor
setObjectName("CppModelManager");
ExtensionSystem::PluginManager::addObject(this);