Browse Source

* some breakpoint related fixes and Help contexts

pierre 26 years ago
parent
commit
b0806dcf41
3 changed files with 56 additions and 22 deletions
  1. 16 4
      ide/text/fpconst.pas
  2. 31 16
      ide/text/fpdebug.pas
  3. 9 2
      ide/text/fphelp.pas

+ 16 - 4
ide/text/fpconst.pas

@@ -110,7 +110,7 @@ const
      cmMsgGotoSource     = 221;
      cmMsgTrackSource    = 222;
      cmGotoCursor        = 223;
-     cmToggleBreakpoint  = 224;
+     {cmToggleBreakpoint  = 224; never disabled =>2403 }
      cmAddWatch          = 225;
      cmTraceInto         = 226;
      cmStepOver          = 227;
@@ -126,7 +126,7 @@ const
      cmBreakpointList    = 237;
      cmWatches           = 238;
      cmUntilReturn       = 239;
-     { WARNING these two are also defined in weditor.pas PM } 
+     { WARNING these two are also defined in weditor.pas PM }
      cmCopyWin           = 240;
      cmPasteWin          = 241;
 
@@ -187,6 +187,11 @@ const
      cmTrackReference    = 2300;
      cmGotoReference     = 2301;
 
+     cmEditBreakpoint    = 2400;
+     cmNewBreakpoint     = 2401;
+     cmDeleteBreakpoint  = 2402;
+     cmToggleBreakpoint  = 2403;
+
      { Help constants }
      hcSourceWindow      = 8000;
      hcHelpWindow        = 8001;
@@ -257,7 +262,8 @@ const
 
      hcShowClipboard     = hcShift+cmShowClipboard;
      hcCopyWin           = hcShift+cmCopyWin;
-     hcPasteWin          = hcShift+cmPasteWin;                                                                                                                                                                                                                 
+     hcPasteWin          = hcShift+cmPasteWin;
+
      hcFindProcedure     = hcShift+cmFindProcedure;
      hcObjects           = hcShift+cmObjects;
      hcModules           = hcShift+cmModules;
@@ -291,6 +297,9 @@ const
      hcMsgGotoSource     = hcShift+cmMsgGotoSource;
      hcMsgTrackSource    = hcShift+cmMsgTrackSource;
      hcGotoCursor        = hcShift+cmGotoCursor;
+     hcNewBreakpoint     = hcShift+cmNewBreakpoint;
+     hcEditBreakpoint    = hcShift+cmEditBreakpoint;
+     hcDeleteBreakpoint  = hcShift+cmDeleteBreakpoint;
      hcToggleBreakpoint  = hcShift+cmToggleBreakpoint;
      hcEvaluate          = hcShift+cmEvaluate;
      hcAddWatch          = hcShift+cmAddWatch;
@@ -348,7 +357,10 @@ implementation
 END.
 {
   $Log$
-  Revision 1.25  1999-09-09 14:15:27  pierre
+  Revision 1.26  1999-09-09 16:31:45  pierre
+   * some breakpoint related fixes and Help contexts
+
+  Revision 1.25  1999/09/09 14:15:27  pierre
    + cmCopyWin,cmPasteWin
 
   Revision 1.24  1999/08/16 18:25:14  peter

+ 31 - 16
ide/text/fpdebug.pas

@@ -330,6 +330,7 @@ begin
   LoadFile(f);
   SetArgs(GetRunParameters);
   Debugger:=@self;
+  switch_to_user:=true;
   InsertBreakpoints;
   ReadWatches;
 end;
@@ -949,10 +950,10 @@ begin
   if (Owner<>nil) and (Owner^.GetState(sfModal)) then M:=nil else
   M:=NewMenu(
     NewItem('~G~oto source','',kbNoKey,cmMsgGotoSource,hcMsgGotoSource,
-    NewItem('~E~dit breakpoint','',kbNoKey,cmEdit,hcNoContext,
-    NewItem('~N~ew breakpoint','',kbNoKey,cmNew,hcNoContext,
-    NewItem('~D~elete breakpoint','',kbNoKey,cmDelete,hcNoContext,
-    NewItem('~T~oggle state','',kbNoKey,cmToggleBreakpoint,hcNoContext,
+    NewItem('~E~dit breakpoint','',kbNoKey,cmEditBreakpoint,hcEditBreakpoint,
+    NewItem('~N~ew breakpoint','',kbNoKey,cmNewBreakpoint,hcNewBreakpoint,
+    NewItem('~D~elete breakpoint','',kbNoKey,cmDeleteBreakpoint,hcDeleteBreakpoint,
+    NewItem('~T~oggle state','',kbNoKey,cmToggleBreakpoint,hcToggleBreakpoint,
     nil))))));
   GetLocalMenu:=M;
 end;
@@ -977,7 +978,7 @@ begin
       case Event.Command of
         cmListItemSelected :
           if Event.InfoPtr=@Self then
-            Message(@Self,evCommand,cmEdit,nil);
+            Message(@Self,evCommand,cmEditBreakpoint,nil);
       end;
     evCommand :
       begin
@@ -986,13 +987,13 @@ begin
           cmMsgTrackSource :
             if Range>0 then
               TrackSource;
-          cmEdit :
+          cmEditBreakpoint :
               EditCurrent;
           cmToggleBreakpoint :
               ToggleCurrent;
-          cmDelete :
+          cmDeleteBreakpoint :
               DeleteCurrent;
-          cmNew :
+          cmNewBreakpoint :
               EditNew;
           cmMsgClear :
             Clear;
@@ -1231,13 +1232,16 @@ end;
 
 procedure TBreakpointsListBox.Store(var S: TStream);
 var OL: PCollection;
+    OldR : integer;
 begin
   OL:=List;
+  OldR:=Range;
   New(List, Init(1,1));
 
   inherited Store(S);
 
   Dispose(List, Done);
+  Range:=OldR;
   List:=OL;
   { ^^^ nasty trick - has anyone a better idea how to avoid storing the
     collection? Pasting here a modified version of TListBox.Store+
@@ -1296,13 +1300,13 @@ begin
   Insert(New(PButton, Init(R, '~C~lose', cmClose, bfDefault)));
   X1:=X1+X;
   R.A.X:=X1-3;R.B.X:=X1+7;
-  Insert(New(PButton, Init(R, '~N~ew', cmNew, bfNormal)));
+  Insert(New(PButton, Init(R, '~N~ew', cmNewBreakpoint, bfNormal)));
   X1:=X1+X;
   R.A.X:=X1-3;R.B.X:=X1+7;
-  Insert(New(PButton, Init(R, '~E~dit', cmEdit, bfNormal)));
+  Insert(New(PButton, Init(R, '~E~dit', cmEditBreakpoint, bfNormal)));
   X1:=X1+X;
   R.A.X:=X1-3;R.B.X:=X1+7;
-  Insert(New(PButton, Init(R, '~D~elete', cmDelete, bfNormal)));
+  Insert(New(PButton, Init(R, '~D~elete', cmDeleteBreakpoint, bfNormal)));
   BreakLB^.Select;
   Update;
   BreakpointsWindow:=@self;
@@ -1358,15 +1362,23 @@ procedure TBreakpointsWindow.HandleEvent(var Event: TEvent);
 var DontClear : boolean;
 begin
   case Event.What of
+    evKeyDown :
+      begin
+        if (Event.KeyCode=kbEnter) or (Event.KeyCode=kbEsc) then
+          begin
+            ClearEvent(Event);
+            Hide;
+          end;
+      end;
     evCommand :
       begin
        DontClear:=False;
        case Event.Command of
-         cmNew :
+         cmNewBreakpoint :
            BreakLB^.EditNew;
-         cmEdit :
+         cmEditBreakpoint :
            BreakLB^.EditCurrent;
-         cmDelete :
+         cmDeleteBreakpoint :
            BreakLB^.DeleteCurrent;
          cmClose :
            Hide;
@@ -2089,7 +2101,7 @@ end;
       If not assigned(Debugger) then
         exit;
       Debugger^.Command('f '+IntToStr(Focused));
-      { for local vars } 
+      { for local vars }
       Debugger^.ReadWatches;
       { goto source }
       inherited GotoSource;
@@ -2280,7 +2292,10 @@ end.
 
 {
   $Log$
-  Revision 1.28  1999-09-09 14:20:05  pierre
+  Revision 1.29  1999-09-09 16:31:45  pierre
+   * some breakpoint related fixes and Help contexts
+
+  Revision 1.28  1999/09/09 14:20:05  pierre
    + Stack Window
 
   Revision 1.27  1999/08/24 22:04:33  pierre

+ 9 - 2
ide/text/fphelp.pas

@@ -153,6 +153,9 @@ begin
 
     hcDebugMenu     : S:='Debug Program';
     hcToggleBreakpoint : S:='Toggles Breakpoint';
+    hcNewBreakpoint    : S:='Create a new breakpoint';
+    hcEditBreakpoint   : S:='Edit focused breakpoint';
+    hcDeleteBreakpoint : S:='Delete focused breakpoint';
     hcOpenGDBWindow : S:='Open direct window to GDB';
     hcAddWatch      : S:='Add a new expression to watch';
     hcWatches       : S:='Open the Watches Window';
@@ -160,7 +163,8 @@ begin
     hcBreakpointList : S:='Edit breakpoints';
     hcToolsMenu     : S:='User installed tools';
     hcCalculator    : S:='Show calculator';
-{    hcGrep          : S:='Run grep';}
+    hcGrep          : S:='Run grep';
+    hcMsgGotoSource : S:='Edit source';
 
     hcToolsMessages : S:='Open the message window';
     hcToolsBase..
@@ -405,7 +409,10 @@ end;
 END.
 {
   $Log$
-  Revision 1.22  1999-09-09 14:15:27  pierre
+  Revision 1.23  1999-09-09 16:31:45  pierre
+   * some breakpoint related fixes and Help contexts
+
+  Revision 1.22  1999/09/09 14:15:27  pierre
    + cmCopyWin,cmPasteWin
 
   Revision 1.21  1999/08/16 18:25:17  peter