diff --git a/ide/keymapping.pp b/ide/keymapping.pp index 8d19d4d2da..aec4f240f1 100644 --- a/ide/keymapping.pp +++ b/ide/keymapping.pp @@ -49,6 +49,8 @@ const ecPause = ecRun + 1; ecStepInto = ecPause + 1; ecStepOver = ecStepInto + 1; + ecRunToCursor = ecStepOver + 1; + ecStopProgram = ecRunToCursor + 1; ecJumpToEditor = ecUserFirst + 300; ecToggleFormUnit = ecUserFirst + 301; @@ -315,6 +317,8 @@ begin ecPause: Result:= 'pause program'; ecStepInto: Result:= 'step into'; ecStepOver: Result:= 'step over'; + ecRunToCursor: Result:= 'run to cursor'; + ecStopProgram: Result:= 'stop program'; ecJumpToEditor: Result:='jump to editor'; ecToggleFormUnit: Result:='toggle between form and unit'; ecGotoEditor1: Result:= 'goto editor 1'; @@ -907,6 +911,8 @@ begin Add('Pause program',ecPause,VK_UNKNOWN,[],VK_UNKNOWN,[]); Add('Step into',ecStepInto,VK_F7,[],VK_UNKNOWN,[]); Add('Step over',ecStepOver,VK_F8,[],VK_UNKNOWN,[]); + Add('Run to cursor',ecStepOver,VK_F4,[],VK_UNKNOWN,[]); + Add('Stop program',ecStepOver,VK_F2,[SSCtrl],VK_UNKNOWN,[]); Add('Go to source editor 1',ecGotoEditor0,VK_1,[ssAlt],VK_UNKNOWN,[]); Add('Go to source editor 2',ecGotoEditor0,VK_2,[ssAlt],VK_UNKNOWN,[]); diff --git a/ide/main.pp b/ide/main.pp index b9c2dd31d9..a33ce2af61 100644 --- a/ide/main.pp +++ b/ide/main.pp @@ -1425,28 +1425,66 @@ end; Procedure TMainIDE.OnSrcNotebookProcessCommand(Sender: TObject; Command: integer; var Handled: boolean); begin + Handled:=true; case Command of ecBuild: begin - Handled:=true; DoBuildProject; end; ecRun: begin - Handled:=true; - if DoBuildProject<>mrOk then exit; + if ToolStatus=itNone then + if DoBuildProject<>mrOk then begin + Handled:=false; + exit; + end; DoRunProject; end; + ecPause: + begin + DoPauseProject; + end; + ecStepInto: + begin + if ToolStatus=itNone then + if DoBuildProject<>mrOk then begin + Handled:=false; + exit; + end; + DoStepIntoProject; + end; + ecStepOver: + begin + if ToolStatus=itNone then + if DoBuildProject<>mrOk then begin + Handled:=false; + exit; + end; + DoStepOverProject; + end; + ecRunToCursor: + begin + if ToolStatus=itNone then + if DoBuildProject<>mrOk then begin + Handled:=false; + exit; + end; + DoRunToCursor; + end; + ecStopProgram: + begin + DoStopProject; + end; ecFindProcedureDefinition,ecFindProcedureMethod: begin - Handled:=true; DoJumpToProcedureSection; end; ecCompleteCode: begin - Handled:=true; DoCompleteCodeAtCursor; end; + else + Handled:=false; end; end; @@ -4295,8 +4333,8 @@ end. { ============================================================================= $Log$ - Revision 1.124 2001/10/18 13:01:30 lazarus - MG: fixed speedbuttons numglyphs>1 and started IDE debugging + Revision 1.125 2001/10/18 13:34:03 lazarus + MG: keys for debugging Revision 1.123 2001/10/17 13:43:15 lazarus MG: added find previous to source editor