ide:debugger; implemented new feature run to cursor at same level skipping breakpoints.
[sdk] / ide / src / designer / CodeEditor.ec
index 9120c9a..ac101c5 100644 (file)
@@ -1920,7 +1920,7 @@ class CodeEditor : Window
                CompilerConfig compiler = ideSettings.GetCompilerConfig(ide.workspace.compiler);
                ProjectConfig config = projectView.project.config;
                int bitDepth = ide.workspace.bitDepth;
-               ide.debugger.RunToCursor(compiler, config, bitDepth, fileName, line, false);
+               ide.debugger.RunToCursor(compiler, config, bitDepth, fileName, line, false, false);
                delete compiler;
             }
          }
@@ -1939,7 +1939,25 @@ class CodeEditor : Window
             CompilerConfig compiler = ideSettings.GetCompilerConfig(ide.workspace.compiler);
             ProjectConfig config = projectView.project.config;
             int bitDepth = ide.workspace.bitDepth;
-            ide.debugger.RunToCursor(compiler, config, bitDepth, fileName, line, true);
+            ide.debugger.RunToCursor(compiler, config, bitDepth, fileName, line, true, false);
+            delete compiler;
+         }
+         return true;
+      }
+   };
+   MenuItem debugSkipRunToCursorAtSameLevel
+   {
+      debugMenu, $"Run To Cursor At Same Level Skipping Breakpoints", u, Key { f10, alt = true };
+      bool NotifySelect(MenuItem selection, Modifiers mods)
+      {
+         ProjectView projectView = ide.projectView;
+         int line = editBox.lineNumber + 1;
+         if(projectView)
+         {
+            CompilerConfig compiler = ideSettings.GetCompilerConfig(ide.workspace.compiler);
+            ProjectConfig config = projectView.project.config;
+            int bitDepth = ide.workspace.bitDepth;
+            ide.debugger.RunToCursor(compiler, config, bitDepth, fileName, line, true, true);
             delete compiler;
          }
          return true;
@@ -2423,6 +2441,7 @@ class CodeEditor : Window
    {
       debugRunToCursor.disabled                = unavailable || executing;
       debugSkipRunToCursor.disabled            = unavailable || executing;
+      debugSkipRunToCursorAtSameLevel.disabled = unavailable || executing;
       debugToggleBreakpoint.disabled           = bpNoToggle;
    }