Bläddra i källkod

* fix problems with breakpoint lists

pierre 23 år sedan
förälder
incheckning
a9f7d35c69
3 ändrade filer med 36 tillägg och 8 borttagningar
  1. 7 2
      ide/fpconst.pas
  2. 21 4
      ide/fpdebug.pas
  3. 8 2
      ide/fpstre.inc

+ 7 - 2
ide/fpconst.pas

@@ -65,7 +65,7 @@ const
 
 {$ifdef UNIX}
      EnterSign            = '<'+#196#217;
-{$else}     
+{$else}
      EnterSign            = #17#196#217;
 {$endif}
 
@@ -231,6 +231,8 @@ const
      cmNewBreakpoint     = 2401;
      cmDeleteBreakpoint  = 2402;
      cmToggleBreakpoint  = 2403;
+     cmToggleBreakInList = 2404;
+
 
      cmDumpUndo          = 2500;
      cmUndoAll           = 2501;
@@ -442,7 +444,10 @@ implementation
 END.
 {
   $Log$
-  Revision 1.6  2002-03-28 16:25:16  peter
+  Revision 1.7  2002-09-02 10:18:09  pierre
+   * fix problems with breakpoint lists
+
+  Revision 1.6  2002/03/28 16:25:16  peter
     * use < for left arrow under unix
 
   Revision 1.5  2002/01/24 09:21:41  pierre

+ 21 - 4
ide/fpdebug.pas

@@ -1524,7 +1524,7 @@ begin
                   ClearFormatParams;
                   AddFormatParamStr(NameAndExtOf(FileName^));
                   AddFormatParamInt(Line);
-                  if ChoiceBox(msg_couldnotsetbreakpointat,@FormatParams,[btn_ok,btn_disableallbreakpoints],false)=cmUserBtn2 then
+                  if ChoiceBox(msg_couldnotsetbreakpointat,@FormatParams,[btn_ok,button_DisableAllBreakpoints],false)=cmUserBtn2 then
                     Debugger^.Disableallinvalidbreakpoints:=true;
                 end
               else
@@ -1532,7 +1532,7 @@ begin
                   ClearFormatParams;
                   AddFormatParamStr(BreakpointTypeStr[typ]);
                   AddFormatParamStr(GetStr(Name));
-                  if ChoiceBox(msg_couldnotsetbreakpointtype,@FormatParams,[btn_ok,btn_disableallbreakpoints],false)=cmUserBtn2 then
+                  if ChoiceBox(msg_couldnotsetbreakpointtype,@FormatParams,[btn_ok,button_DisableAllBreakpoints],false)=cmUserBtn2 then
                     Debugger^.Disableallinvalidbreakpoints:=true;
                 end;
             end;
@@ -2145,6 +2145,8 @@ var R,R2: TRect;
     S: String;
     X,X1 : Sw_integer;
     Btn: PButton;
+const
+  NumButtons = 5;
 begin
   Desktop^.GetExtent(R); R.A.Y:=R.B.Y-18;
   inherited Init(R, dialog_breakpointlist, wnNoNumber);
@@ -2174,7 +2176,7 @@ begin
   GetExtent(R);R.Grow(-1,-1);
   Dec(R.B.Y);
   R.A.Y:=R.B.Y-2;
-  X:=(R.B.X-R.A.X) div 4;
+  X:=(R.B.X-R.A.X) div NumButtons;
   X1:=R.A.X+(X div 2);
   R.A.X:=X1-3;R.B.X:=X1+7;
   New(Btn, Init(R, button_Close, cmClose, bfDefault));
@@ -2192,6 +2194,11 @@ begin
   Insert(Btn);
   X1:=X1+X;
   R.A.X:=X1-3;R.B.X:=X1+7;
+  New(Btn, Init(R, button_ToggleButton, cmToggleBreakInList, bfNormal));
+  Btn^.GrowMode:=gfGrowLoY+gfGrowHiY;
+  Insert(Btn);
+  X1:=X1+X;
+  R.A.X:=X1-3;R.B.X:=X1+7;
   New(Btn, Init(R, button_Delete, cmDeleteBreakpoint, bfNormal));
   Btn^.GrowMode:=gfGrowLoY+gfGrowHiY;
   Insert(Btn);
@@ -2268,6 +2275,8 @@ begin
            BreakLB^.EditCurrent;
          cmDeleteBreakpoint :
            BreakLB^.DeleteCurrent;
+         cmToggleBreakInList :
+           BreakLB^.ToggleCurrent;
          cmClose :
            Hide;
           else
@@ -2286,9 +2295,14 @@ begin
 end;
 
 procedure TBreakpointsWindow.Update;
+var
+  StoreFocus : longint;
 begin
+  StoreFocus:=BreakLB^.Focused;
   ClearBreakpoints;
   ReloadBreakpoints;
+  If StoreFocus<BreakLB^.Range then
+    BreakLB^.FocusItem(StoreFocus);
 end;
 
 destructor TBreakpointsWindow.Done;
@@ -4144,7 +4158,10 @@ end.
 
 {
   $Log$
-  Revision 1.23  2002-08-13 08:59:12  pierre
+  Revision 1.24  2002-09-02 10:18:09  pierre
+   * fix problems with breakpoint lists
+
+  Revision 1.23  2002/08/13 08:59:12  pierre
    + Run menu changes depending on wether the debuggee is running or not
 
   Revision 1.22  2002/08/13 07:15:02  pierre

+ 8 - 2
ide/fpstre.inc

@@ -851,7 +851,6 @@ const
                                     #3+'%s:%d';
       msg_couldnotsetbreakpointtype = #3'Could not set Breakpoint'#13+
                                       #3+'%s %s';
-      btn_disableallbreakpoints = 'Disable all invalid';
 
       { standard button texts }
       button_OK          = 'O~K~';
@@ -862,6 +861,10 @@ const
       button_Close       = '~C~lose';
       button_Show        = '~S~how';
       button_Hide        = '~H~ide';
+      button_DisableAllBreakpoints = 'Dis. ~a~ll invalid';
+
+      { Specific Button }
+      button_ToggleButton = '~T~oggle';
 
       { Compiler message classes }
       msg_class_normal   = '';
@@ -1034,7 +1037,10 @@ const
 
 {
   $Log$
-  Revision 1.11  2002-08-13 08:57:03  pierre
+  Revision 1.12  2002-09-02 10:18:10  pierre
+   * fix problems with breakpoint lists
+
+  Revision 1.11  2002/08/13 08:57:03  pierre
    + Continue string added, to support Run submenu changes
 
   Revision 1.10  2002/08/13 07:15:02  pierre