Browse Source

+ cmResetDebugger and cmGrep
* Avoid StatusStack overflow

pierre 26 years ago
parent
commit
33e7e22e1a
2 changed files with 32 additions and 7 deletions
  1. 10 2
      ide/text/fpconst.pas
  2. 22 5
      ide/text/fphelp.pas

+ 10 - 2
ide/text/fpconst.pas

@@ -75,7 +75,8 @@ const
      cmAddWatch          = 225;
      cmAddWatch          = 225;
      cmTraceInto         = 226;
      cmTraceInto         = 226;
      cmStepOver          = 227;
      cmStepOver          = 227;
-
+     cmResetDebugger     = 228;
+     
      cmNotImplemented    = 1000;
      cmNotImplemented    = 1000;
      cmNewFromTemplate   = 1001;
      cmNewFromTemplate   = 1001;
 
 
@@ -86,6 +87,7 @@ const
      cmCalculatorPaste   = 1603;
      cmCalculatorPaste   = 1603;
      cmMsgClear          = 1604;
      cmMsgClear          = 1604;
      cmUpdateTools       = 1605;
      cmUpdateTools       = 1605;
+     cmGrep              = 1606;
 
 
      cmAddItem           = 1620;
      cmAddItem           = 1620;
      cmEditItem          = 1621;
      cmEditItem          = 1621;
@@ -168,6 +170,7 @@ const
      hcSaveINI           = hcShift+cmSaveINI;
      hcSaveINI           = hcShift+cmSaveINI;
      hcSaveAsINI         = hcShift+cmSaveAsINI;
      hcSaveAsINI         = hcShift+cmSaveAsINI;
      hcCalculator        = hcShift+cmCalculator;
      hcCalculator        = hcShift+cmCalculator;
+     hcGrep              = hcShift+cmGrep;
      hcSwitchesMode      = hcShift+cmSwitchesMode;
      hcSwitchesMode      = hcShift+cmSwitchesMode;
      hcAbout             = hcShift+cmAbout;
      hcAbout             = hcShift+cmAbout;
 
 
@@ -194,6 +197,7 @@ const
      hcGlobals           = hcShift+cmGlobals;
      hcGlobals           = hcShift+cmGlobals;
      hcRun               = hcShift+cmRun;
      hcRun               = hcShift+cmRun;
      hcParameters        = hcShift+cmParameters;
      hcParameters        = hcShift+cmParameters;
+     hcResetDebugger     = hcShift+cmResetDebugger;
      hcCompile           = hcShift+cmCompile;
      hcCompile           = hcShift+cmCompile;
      hcMake              = hcShift+cmMake;
      hcMake              = hcShift+cmMake;
      hcBuild             = hcShift+cmBuild;
      hcBuild             = hcShift+cmBuild;
@@ -263,7 +267,11 @@ implementation
 END.
 END.
 {
 {
   $Log$
   $Log$
-  Revision 1.7  1999-01-22 10:24:02  peter
+  Revision 1.8  1999-02-04 12:23:43  pierre
+    + cmResetDebugger and cmGrep
+    * Avoid StatusStack overflow
+
+  Revision 1.7  1999/01/22 10:24:02  peter
     * first debugger things
     * first debugger things
 
 
   Revision 1.6  1999/01/21 11:54:12  peter
   Revision 1.6  1999/01/21 11:54:12  peter

+ 22 - 5
ide/text/fphelp.pas

@@ -59,7 +59,10 @@ uses Objects,Views,App,MsgBox,
      WHelp,
      WHelp,
      FPConst,FPVars,FPUtils;
      FPConst,FPVars,FPUtils;
 
 
-var StatusStack : array[0..10] of string[MaxViewWidth];
+const
+    MaxStatusLevel = 10;
+    
+var StatusStack : array[0..MaxStatusLevel] of string[MaxViewWidth];
 
 
 const
 const
       StatusStackPtr  : integer = 0;
       StatusStackPtr  : integer = 0;
@@ -125,6 +128,7 @@ begin
     hcRunMenu       : S:='Execution and parameters';
     hcRunMenu       : S:='Execution and parameters';
     hcRun           : S:='Run the current program';
     hcRun           : S:='Run the current program';
     hcParameters    : S:='Set command-line parameters passed to program at execution';
     hcParameters    : S:='Set command-line parameters passed to program at execution';
+    hcResetDebugger : S:='Reset Program';
     hcUserScreen    : S:='Switch to the full-screen user output';
     hcUserScreen    : S:='Switch to the full-screen user output';
 
 
     hcCompileMenu   : S:='Compile, build & make';
     hcCompileMenu   : S:='Compile, build & make';
@@ -137,9 +141,12 @@ begin
     hcInformation   : S:='Show compiler messages and program information';
     hcInformation   : S:='Show compiler messages and program information';
 
 
     hcDebugMenu     : S:='';
     hcDebugMenu     : S:='';
-
+    hcToggleBreakpoint : S:='Toggles Breakpoint';
+    
     hcToolsMenu     : S:='User installed tools';
     hcToolsMenu     : S:='User installed tools';
     hcCalculator    : S:='Show calculator';
     hcCalculator    : S:='Show calculator';
+    hcGrep          : S:='Run grep';
+
     hcToolsBase..
     hcToolsBase..
     hcToolsBase+MaxToolCount
     hcToolsBase+MaxToolCount
                     : S:='User installed tool';
                     : S:='User installed tool';
@@ -292,7 +299,10 @@ end;
 procedure PushStatus(S: string);
 procedure PushStatus(S: string);
 begin
 begin
   if StatusLine=nil then Exit;
   if StatusLine=nil then Exit;
-  StatusStack[StatusStackPtr]:=PAdvancedStatusLine(StatusLine)^.GetStatusText;
+  If StatusStackPtr<=MaxStatusLevel then
+    StatusStack[StatusStackPtr]:=PAdvancedStatusLine(StatusLine)^.GetStatusText
+  else
+    StatusStack[MaxStatusLevel]:=PAdvancedStatusLine(StatusLine)^.GetStatusText;
   SetStatus(S);
   SetStatus(S);
   Inc(StatusStackPtr);
   Inc(StatusStackPtr);
 end;
 end;
@@ -301,7 +311,10 @@ procedure PopStatus;
 begin
 begin
   if StatusLine=nil then Exit;
   if StatusLine=nil then Exit;
   Dec(StatusStackPtr);
   Dec(StatusStackPtr);
-  SetStatus(StatusStack[StatusStackPtr]);
+  If StatusStackPtr<=MaxStatusLevel then
+    SetStatus(StatusStack[StatusStackPtr])
+  else
+    SetStatus(StatusStack[MaxStatusLevel]);
 end;
 end;
 
 
 procedure SetStatus(S: string);
 procedure SetStatus(S: string);
@@ -328,7 +341,11 @@ end;
 END.
 END.
 {
 {
   $Log$
   $Log$
-  Revision 1.4  1999-01-21 11:54:13  peter
+  Revision 1.5  1999-02-04 12:23:44  pierre
+    + cmResetDebugger and cmGrep
+    * Avoid StatusStack overflow
+
+  Revision 1.4  1999/01/21 11:54:13  peter
     + tools menu
     + tools menu
     + speedsearch in symbolbrowser
     + speedsearch in symbolbrowser
     * working run command
     * working run command