Debugger: Use engine specific contexts for delegating actions

Some actions that are engine specific are visible globally in the Debug
menu, like stopping, interrupting and continuing the debugger, and
various step variants.
These are registered in the action manager by the debugger plugin.

Avoid duplicating the state management of these actions in the debugger
plugin, by registering these actions as disabled dummies.
The actual actions of the specific debugger run are now registered in
the action manager by the debugger engine instance, for a debugger
engine instance specific context.
The engine manager sets the engine instance specific context when the UI
is switched to the specific debugger run.

Change-Id: I0a311cec0856365b830460dec2ce33d14a2289c0
Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
Eike Ziller
2018-10-23 15:32:33 +02:00
parent 9274a42485
commit 1c17ed6db8
5 changed files with 133 additions and 187 deletions

View File

@@ -37,7 +37,6 @@ const char MODE_DEBUG[] = "Mode.Debug";
const char C_DEBUGMODE[] = "Debugger.DebugMode";
const char C_CPPDEBUGGER[] = "Gdb Debugger";
const char C_QMLDEBUGGER[] = "Qml/JavaScript Debugger";
const char C_DEBUGGER_RUNNING[] = "Debugger.Running";
const char C_DEBUGGER_NOTRUNNING[] = "Debugger.NotRunning";
const char PRESET_PERSPECTIVE_ID[] = "Debugger.Perspective.Preset";
@@ -56,9 +55,14 @@ const char ABORT[] = "Debugger.Abort";
const char STEP[] = "Debugger.StepLine";
const char STEPOUT[] = "Debugger.StepOut";
const char NEXT[] = "Debugger.NextLine";
const char RUNTOLINE[] = "Debugger.RunToLine";
const char RUNTOSELECTEDFUNCTION[] = "Debugger.RunToSelectedFunction";
const char JUMPTOLINE[] = "Debugger.JumpToLine";
const char RETURNFROMFUNCTION[] = "Debugger.ReturnFromFunction";
const char START_AND_BREAK_ON_MAIN[]= "Debugger.StartAndBreakOnMain";
const char REVERSE[] = "Debugger.ReverseDirection";
const char RESET[] = "Debugger.Reset";
const char DETACH[] = "Debugger.Detach";
const char OPERATE_BY_INSTRUCTION[] = "Debugger.OperateByInstruction";
const char QML_SHOW_APP_ON_TOP[] = "Debugger.QmlShowAppOnTop";
const char QML_SELECTTOOL[] = "Debugger.QmlSelectTool";