Ver código fonte

+ Run menu changes depending on wether the debuggee is running or not

pierre 23 anos atrás
pai
commit
ad8c105aef
3 arquivos alterados com 38 adições e 4 exclusões
  1. 8 2
      ide/fpdebug.pas
  2. 5 1
      ide/fpide.pas
  3. 25 1
      ide/fpmrun.inc

+ 8 - 2
ide/fpdebug.pas

@@ -815,6 +815,7 @@ begin
   If assigned(GDBWindow) then
     GDBWindow^.Editor^.UnLock;
   IDEApp.SetCmdState([cmResetDebugger,cmUntilReturn],true);
+  IDEApp.UpdateRunMenu(true);
   UpdateDebugViews;
 end;
 
@@ -919,6 +920,7 @@ begin
   If IDEApp.IsRunning then
     begin
       IDEApp.SetCmdState([cmResetDebugger,cmUntilReturn],false);
+      IDEApp.UpdateRunMenu(false);
       AskToReloadAllModifiedFiles;
       ResetDebuggerRows;
     end;
@@ -1233,7 +1235,8 @@ end;
 procedure TDebugController.DoEndSession(code:longint);
 var P :Array[1..2] of longint;
 begin
-   IDEApp.SetCmdState([cmResetDebugger],false);
+   IDEApp.SetCmdState([cmUntilReturn,cmResetDebugger],false);
+   IDEApp.UpdateRunMenu(false);
    ResetDebuggerRows;
    LastExitCode:=Code;
    If HiddenStepsCount=0 then
@@ -4141,7 +4144,10 @@ end.
 
 {
   $Log$
-  Revision 1.22  2002-08-13 07:15:02  pierre
+  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
    + Disable all invalid breakpoints feature added
 
   Revision 1.21  2002/06/10 19:26:48  pierre

+ 5 - 1
ide/fpide.pas

@@ -42,6 +42,7 @@ type
       procedure   Idle; virtual;
       procedure   Update;
       procedure   UpdateMode;
+      procedure   UpdateRunMenu(DebuggeeRunning : boolean);
       procedure   UpdateTarget;
       procedure   GetEvent(var Event: TEvent); virtual;
       procedure   HandleEvent(var Event: TEvent); virtual;
@@ -1215,7 +1216,10 @@ end;
 END.
 {
   $Log$
-  Revision 1.15  2002-07-12 14:17:39  pierre
+  Revision 1.16  2002-08-13 08:59:12  pierre
+   + Run menu changes depending on wether the debuggee is running or not
+
+  Revision 1.15  2002/07/12 14:17:39  pierre
    * try to avoid memory corruption if UserScreen is smaller than IDE screen on win32
 
   Revision 1.14  2002/06/10 08:12:17  pierre

+ 25 - 1
ide/fpmrun.inc

@@ -256,6 +256,27 @@ begin
   ;
 end;
 
+procedure TIDEApp.UpdateRunMenu(DebuggeeRunning : boolean);
+var MenuItem : PMenuItem;
+begin
+  MenuItem:=PAdvancedMenuBar(MenuBar)^.GetMenuItem(cmRun);
+  if assigned(MenuItem) then
+    begin
+      If assigned(MenuItem^.Name) then
+        DisposeStr(MenuItem^.Name);
+      if DebuggeeRunning then
+        MenuItem^.Name:=NewStr(menu_run_continue)
+      else
+        MenuItem^.Name:=NewStr(menu_run_run);
+    end;
+  MenuItem:=PAdvancedMenuBar(MenuBar)^.GetMenuItem(cmResetDebugger);
+  if assigned(MenuItem) then
+    MenuItem^.Disabled:=not DebuggeeRunning;
+  MenuItem:=PAdvancedMenuBar(MenuBar)^.GetMenuItem(cmUntilReturn);
+  if assigned(MenuItem) then
+    MenuItem^.Disabled:=not DebuggeeRunning;
+end;
+
 
 procedure TIDEApp.Parameters;
 var R,R2: TRect;
@@ -451,7 +472,10 @@ end;
 
 {
   $Log$
-  Revision 1.2  2001-11-07 00:28:53  pierre
+  Revision 1.3  2002-08-13 08:59:12  pierre
+   + Run menu changes depending on wether the debuggee is running or not
+
+  Revision 1.2  2001/11/07 00:28:53  pierre
    + Disassembly window made public
 
   Revision 1.1  2001/08/04 11:30:23  peter