aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/debugger/debuggerplugin.cpp
diff options
context:
space:
mode:
authorhjk <[email protected]>2017-10-26 16:32:48 +0200
committerhjk <[email protected]>2017-11-06 11:53:57 +0000
commit78513ecd8fcd1fd716d997ffe5d85b67e45fb6b5 (patch)
tree183e879f44979cfacb38ff3aee89038411f8d813 /src/plugins/debugger/debuggerplugin.cpp
parent0e1953a0f447d643a602ecb82b55826dfca88882 (diff)
Debugger: Split Expressions view into dock of its own
Change-Id: Ie86a5bd72c3140219f925835a065d9f6a3ae0ea4 Task-number: QTCREATORBUG-19167 Reviewed-by: Leena Miettinen <[email protected]> Reviewed-by: Christian Stenger <[email protected]>
Diffstat (limited to 'src/plugins/debugger/debuggerplugin.cpp')
-rw-r--r--src/plugins/debugger/debuggerplugin.cpp53
1 files changed, 28 insertions, 25 deletions
diff --git a/src/plugins/debugger/debuggerplugin.cpp b/src/plugins/debugger/debuggerplugin.cpp
index 11d37635e28..657f2f31f2a 100644
--- a/src/plugins/debugger/debuggerplugin.cpp
+++ b/src/plugins/debugger/debuggerplugin.cpp
@@ -695,12 +695,10 @@ public:
toggleBreakpoint(data, message);
}
- void updateWatchersHeader(int section, int, int newSize)
+ void updateReturnViewHeader(int section, int, int newSize)
{
if (m_shuttingDown)
return;
-
- m_watchersView->header()->resizeSection(section, newSize);
m_returnView->header()->resizeSection(section, newSize);
}
@@ -1036,7 +1034,7 @@ public:
QWidget *m_stackWindow = 0;
QWidget *m_threadsWindow = 0;
LogWindow *m_logWindow = 0;
- LocalsAndExpressionsWindow *m_localsAndExpressionsWindow = 0;
+ LocalsAndInspectorWindow *m_localsAndInspectorWindow = 0;
bool m_busy;
QString m_lastPermanentStatusMessage;
@@ -1369,18 +1367,19 @@ bool DebuggerPluginPrivate::initialize(const QStringList &arguments,
m_threadsWindow = addSearch(m_threadsView, tr("&Threads"), DOCKWIDGET_THREADS);
m_returnView = new WatchTreeView(ReturnType); // No settings.
- m_returnWindow = addSearch(m_returnView, tr("Locals and &Expressions"), "CppDebugReturn");
+ m_returnWindow = addSearch(m_returnView, tr("Locals"), "CppDebugReturn");
m_localsView = new WatchTreeView(LocalsType);
m_localsView->setSettings(settings, "Debugger.LocalsView");
- m_localsWindow = addSearch(m_localsView, tr("Locals and &Expressions"), "CppDebugLocals");
-
- m_watchersView = new WatchTreeView(WatchersType); // No settings.
- m_watchersWindow = addSearch(m_watchersView, tr("Locals and &Expressions"), "CppDebugWatchers");
+ m_localsWindow = addSearch(m_localsView, tr("Locals"), "CppDebugLocals");
- m_inspectorView = new WatchTreeView(InspectType);
+ m_inspectorView = new WatchTreeView(InspectType); // No settings.
m_inspectorView->setSettings(settings, "Debugger.LocalsView"); // sic! same as locals view.
- m_inspectorWindow = addSearch(m_inspectorView, tr("Locals and &Expressions"), "Inspector");
+ m_inspectorWindow = addSearch(m_inspectorView, tr("Locals"), "Inspector");
+
+ m_watchersView = new WatchTreeView(WatchersType);
+ m_watchersView->setSettings(settings, "Debugger.WatchersView");
+ m_watchersWindow = addSearch(m_watchersView, tr("&Expressions"), "CppDebugWatchers");
// Snapshot
m_snapshotHandler = new SnapshotHandler;
@@ -1390,9 +1389,9 @@ bool DebuggerPluginPrivate::initialize(const QStringList &arguments,
m_snapshotView->setModel(m_snapshotHandler->model());
m_snapshotWindow = addSearch(m_snapshotView, tr("Snapshots"), DOCKWIDGET_SNAPSHOTS);
- // Watchers
+ // Locals
connect(m_localsView->header(), &QHeaderView::sectionResized,
- this, &DebuggerPluginPrivate::updateWatchersHeader, Qt::QueuedConnection);
+ this, &DebuggerPluginPrivate::updateReturnViewHeader, Qt::QueuedConnection);
auto act = m_continueAction = new QAction(tr("Continue"), this);
act->setIcon(visibleStartIcon(Id(Constants::CONTINUE), false));
@@ -1474,10 +1473,10 @@ bool DebuggerPluginPrivate::initialize(const QStringList &arguments,
ActionContainer *debugMenu = ActionManager::actionContainer(PE::M_DEBUG);
- m_localsAndExpressionsWindow = new LocalsAndExpressionsWindow(
- m_localsWindow, m_inspectorWindow, m_returnWindow, m_watchersWindow);
- m_localsAndExpressionsWindow->setObjectName(QLatin1String(DOCKWIDGET_WATCHERS));
- m_localsAndExpressionsWindow->setWindowTitle(m_localsWindow->windowTitle());
+ m_localsAndInspectorWindow = new LocalsAndInspectorWindow(
+ m_localsWindow, m_inspectorWindow, m_returnWindow);
+ m_localsAndInspectorWindow->setObjectName(DOCKWIDGET_LOCALS_AND_INSPECTOR);
+ m_localsAndInspectorWindow->setWindowTitle(m_localsWindow->windowTitle());
RunConfiguration::registerAspect<DebuggerRunConfigurationAspect>();
@@ -1830,7 +1829,9 @@ bool DebuggerPluginPrivate::initialize(const QStringList &arguments,
{DOCKWIDGET_MODULES, m_modulesWindow, DOCKWIDGET_THREADS, Perspective::AddToTab, false},
{DOCKWIDGET_SOURCE_FILES, m_sourceFilesWindow, DOCKWIDGET_MODULES, Perspective::AddToTab, false},
{DOCKWIDGET_SNAPSHOTS, m_snapshotWindow, DOCKWIDGET_SOURCE_FILES, Perspective::AddToTab, false},
- {DOCKWIDGET_WATCHERS, m_localsAndExpressionsWindow, {}, Perspective::AddToTab, true,
+ {DOCKWIDGET_LOCALS_AND_INSPECTOR, m_localsAndInspectorWindow, {}, Perspective::AddToTab, true,
+ Qt::RightDockWidgetArea},
+ {DOCKWIDGET_WATCHERS, m_watchersWindow, DOCKWIDGET_LOCALS_AND_INSPECTOR, Perspective::AddToTab, true,
Qt::RightDockWidgetArea},
{DOCKWIDGET_OUTPUT, m_logWindow, {}, Perspective::AddToTab, false, Qt::TopDockWidgetArea},
{DOCKWIDGET_BREAK, 0, {}, Perspective::Raise}
@@ -1865,7 +1866,6 @@ bool DebuggerPluginPrivate::initialize(const QStringList &arguments,
m_plugin->addAutoReleasedObject(m_commonOptionsPage);
m_globalDebuggerOptions->fromSettings();
- m_watchersWindow->setVisible(false);
m_returnWindow->setVisible(false);
return true;
@@ -2491,7 +2491,6 @@ void DebuggerPluginPrivate::setBusyCursor(bool busy)
void DebuggerPluginPrivate::setInitialState()
{
- m_watchersWindow->setVisible(false);
m_returnWindow->setVisible(false);
setBusyCursor(false);
m_reverseDirectionAction->setChecked(false);
@@ -2575,7 +2574,7 @@ void DebuggerPluginPrivate::updateState(DebuggerRunTool *runTool)
m_debugWithoutDeployAction->setEnabled(false);
setProxyAction(m_visibleStartAction, Id(Constants::CONTINUE));
m_hiddenStopAction->setAction(m_exitAction);
- m_localsAndExpressionsWindow->setShowLocals(true);
+ m_localsAndInspectorWindow->setShowLocals(true);
} else if (state == InferiorRunOk) {
// Shift-F5 interrupts. It is also "interruptible".
m_interruptAction->setEnabled(true);
@@ -2585,7 +2584,7 @@ void DebuggerPluginPrivate::updateState(DebuggerRunTool *runTool)
m_debugWithoutDeployAction->setEnabled(false);
setProxyAction(m_visibleStartAction, Id(Constants::INTERRUPT));
m_hiddenStopAction->setAction(m_interruptAction);
- m_localsAndExpressionsWindow->setShowLocals(false);
+ m_localsAndInspectorWindow->setShowLocals(false);
} else if (state == DebuggerFinished) {
const bool canRun = ProjectExplorerPlugin::canRunStartupProject(ProjectExplorer::Constants::DEBUG_RUN_MODE);
// We don't want to do anything anymore.
@@ -2609,7 +2608,7 @@ void DebuggerPluginPrivate::updateState(DebuggerRunTool *runTool)
m_visibleStartAction->setAction(m_undisturbableAction);
m_hiddenStopAction->setAction(m_exitAction);
// show locals in core dumps
- m_localsAndExpressionsWindow->setShowLocals(true);
+ m_localsAndInspectorWindow->setShowLocals(true);
} else {
// Everything else is "undisturbable".
m_interruptAction->setEnabled(false);
@@ -3143,9 +3142,8 @@ void updateState(DebuggerRunTool *runTool)
dd->updateState(runTool);
}
-void updateWatchersWindow(bool showWatch, bool showReturn)
+void updateLocalsWindow(bool showReturn)
{
- dd->m_watchersWindow->setVisible(showWatch);
dd->m_returnWindow->setVisible(showReturn);
dd->m_localsView->resizeColumns();
}
@@ -3203,6 +3201,11 @@ QWidget *mainWindow()
return dd->m_mainWindow;
}
+void raiseWatchersWindow()
+{
+ return dd->m_mainWindow->raiseDock(DOCKWIDGET_WATCHERS);
+}
+
bool isRegistersWindowVisible()
{
return dd->m_registerWindow->isVisible();