diff --git a/ide/basedebugmanager.pas b/ide/basedebugmanager.pas index fd53c215d1..a611b188cf 100644 --- a/ide/basedebugmanager.pas +++ b/ide/basedebugmanager.pas @@ -88,6 +88,7 @@ type function DoRunToCursor: TModalResult; virtual; abstract; function DoStopProject: TModalResult; virtual; abstract; procedure DoToggleCallStack; virtual; abstract; + procedure ProcessCommand(Command: word; var Handled: boolean); virtual; abstract; function RunDebugger: TModalResult; virtual; abstract; procedure EndDebugging; virtual; abstract; @@ -169,6 +170,9 @@ end. { ============================================================================= $Log$ + Revision 1.23 2004/11/23 11:01:10 mattias + added key handling for debug manager + Revision 1.22 2004/09/23 07:45:53 vincents moved FDebugger field from BaseDebugManager to DebugManager diff --git a/ide/debugmanager.pas b/ide/debugmanager.pas index b0dca9d7c9..b6c82fab69 100644 --- a/ide/debugmanager.pas +++ b/ide/debugmanager.pas @@ -139,6 +139,7 @@ type function DoRunToCursor: TModalResult; override; function DoStopProject: TModalResult; override; procedure DoToggleCallStack; override; + procedure ProcessCommand(Command: word; var Handled: boolean); override; function RunDebugger: TModalResult; override; procedure EndDebugging; override; @@ -1750,6 +1751,26 @@ begin ViewDebugDialog(ddtCallStack); end; +procedure TDebugManager.ProcessCommand(Command: word; var Handled: boolean); +begin + debugln('TDebugManager.ProcessCommand ',dbgs(Command)); + Handled:=true; + case Command of + ecPause: DoPauseProject; + ecStepInto: DoStepIntoProject; + ecStepOver: DoStepOverProject; + ecRunToCursor: DoRunToCursor; + ecStopProgram: DoStopProject; + ecToggleCallStack: DoToggleCallStack; + ecToggleWatches: ViewDebugDialog(ddtWatches); + ecToggleBreakPoints: ViewDebugDialog(ddtBreakpoints); + ecToggleDebuggerOut: ViewDebugDialog(ddtOutput); + ecToggleLocals: ViewDebugDialog(ddtLocals); + else + Handled:=false; + end; +end; + function TDebugManager.RunDebugger: TModalResult; begin //writeln('TDebugManager.RunDebugger A ',FDebugger<>nil,' Destroying=',Destroying); @@ -1920,6 +1941,9 @@ end. { ============================================================================= $Log$ + Revision 1.78 2004/11/23 11:01:10 mattias + added key handling for debug manager + Revision 1.77 2004/11/23 00:54:55 marc + Added Evaluate/Modify dialog diff --git a/ide/main.pp b/ide/main.pp index f38b7f1008..df8110095d 100644 --- a/ide/main.pp +++ b/ide/main.pp @@ -2010,8 +2010,10 @@ var ASrcEdit: TSourceEditor; AnUnitInfo: TUnitInfo; begin + debugln('TDebugManager.OnProcessIDECommand ',dbgs(Command)); + Handled:=true; - + case Command of ecContextHelp: @@ -2059,13 +2061,6 @@ begin DoRunProject; end; - ecPause: DebugBoss.DoPauseProject; - ecStepInto: DebugBoss.DoStepIntoProject; - ecStepOver: DebugBoss.DoStepOverProject; - ecRunToCursor: DebugBoss.DoRunToCursor; - ecStopProgram: DebugBoss.DoStopProject; - ecToggleCallStack: DebugBoss.DoToggleCallStack; - ecJumpToPrevError: DoJumpToNextError(true); @@ -2147,6 +2142,8 @@ begin else Handled:=false; + + DebugBoss.ProcessCommand(Command,Handled); end; end; @@ -10965,6 +10962,9 @@ end. { ============================================================================= $Log$ + Revision 1.797 2004/11/23 11:01:10 mattias + added key handling for debug manager + Revision 1.796 2004/11/22 21:39:39 mattias implemented registration functions for project, file and package types, added cgilazide package