CppEditor: Introduce C++ Code Model Inspector

By default invokable via Ctrl+Shift+F12.

Change-Id: If8d61233b6d38d12131718f7c20bf40f76bc9ae4
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
This commit is contained in:
Nikolai Kosjar
2013-11-03 02:02:36 +01:00
parent 7f829b26e5
commit c4a0f90edd
10 changed files with 2845 additions and 2 deletions

View File

@@ -42,6 +42,8 @@
#include "cppquickfixes.h"
#include "cpphighlighterfactory.h"
#include "cppcodemodelinspectordialog.h"
#include <coreplugin/actionmanager/actioncontainer.h>
#include <coreplugin/actionmanager/actionmanager.h>
#include <coreplugin/coreconstants.h>
@@ -285,6 +287,11 @@ bool CppEditorPlugin::initialize(const QStringList & /*arguments*/, QString *err
connect(m_reparseExternallyChangedFiles, SIGNAL(triggered()), cppModelManager, SLOT(updateModifiedSourceFiles()));
cppToolsMenu->addAction(cmd);
QAction *inspectCppCodeModel = new QAction(tr("Debug: Inspect C++ Code Model"), this);
cmd = ActionManager::registerAction(inspectCppCodeModel, Constants::INSPECT_CPP_CODEMODEL, globalContext);
cmd->setDefaultKeySequence(QKeySequence(Core::UseMacShortcuts ? tr("Meta+Shift+F12") : tr("Ctrl+Shift+F12")));
connect(inspectCppCodeModel, SIGNAL(triggered()), this, SLOT(inspectCppCodeModel()));
m_actionHandler = new TextEditor::TextEditorActionHandler(CppEditor::Constants::C_CPPEDITOR,
TextEditor::TextEditorActionHandler::Format
| TextEditor::TextEditorActionHandler::UnCommentSelection
@@ -387,6 +394,16 @@ void CppEditorPlugin::onAllTasksFinished(Core::Id type)
}
}
void CppEditorPlugin::inspectCppCodeModel()
{
if (m_cppCodeModelInspectorDialog) {
ICore::raiseWindow(m_cppCodeModelInspectorDialog);
} else {
m_cppCodeModelInspectorDialog = new CppCodeModelInspectorDialog(ICore::mainWindow());
m_cppCodeModelInspectorDialog->show();
}
}
void CppEditorPlugin::openTypeHierarchy()
{
if (currentCppEditorWidget()) {