bitmap = { ":actions/stepInto.png" };
bool NotifySelect(MenuItem selection, Modifiers mods)
{
- if(projectView)
- projectView.DebugStepInto();
+ if(projectView) projectView.DebugStepInto();
return true;
}
}
bitmap = { ":actions/stepOver.png" };
bool NotifySelect(MenuItem selection, Modifiers mods)
{
- if(projectView)
- projectView.DebugStepOver(false);
+ if(projectView) projectView.DebugStepOver(false);
+ return true;
+ }
+ }
+ MenuItem debugSkipStepOverItem
+ {
+ debugMenu, $"Step Over Skipping Breakpoints", e, shiftF10, disabled = true;
+ bool NotifySelect(MenuItem selection, Modifiers mods)
+ {
+ if(projectView) projectView.DebugStepOver(true);
return true;
}
}
bitmap = { ":actions/stepOut.png" };
bool NotifySelect(MenuItem selection, Modifiers mods)
{
- if(projectView)
- projectView.DebugStepOut(false);
+ if(projectView) projectView.DebugStepOut(false);
return true;
}
}
- MenuPlacement debugRunToCursorItem { debugMenu, $"Run To Cursor", c };
- MenuItem debugSkipStepOverItem
+ MenuItem debugSkipStepOutItem
{
- debugMenu, $"Step Over Skipping Breakpoints", e, shiftF10, disabled = true;
+ debugMenu, $"Step Out Skipping Breakpoints", n, Key { f11, ctrl = true, shift = true }, disabled = true;
+ bitmap = { ":actions/skipBreaks.png" };
bool NotifySelect(MenuItem selection, Modifiers mods)
{
- if(projectView)
- projectView.DebugStepOver(true);
+ if(projectView) projectView.DebugStepOut(true);
return true;
}
}
- MenuItem debugSkipStepOutItem
+#if 0
+ MenuItem debugStepUntilItem
{
- debugMenu, $"Step Out Skipping Breakpoints", t, Key { f11, ctrl = true, shift = true }, disabled = true;
- bitmap = { ":actions/skipBreaks.png" };
+ debugMenu, $"Step Over Until Next Line", x, disabled = true;
bool NotifySelect(MenuItem selection, Modifiers mods)
{
- if(projectView)
- projectView.DebugStepOut(true);
+ if(projectView) projectView.DebugStepUntil(false);
return true;
}
}
+ MenuItem debugSkipStepUntilItem
+ {
+ debugMenu, $"Step Over Until Next Line Skipping Breakpoints", e, Key { f10, shift = true, alt = true }, disabled = true;
+ bool NotifySelect(MenuItem selection, Modifiers mods)
+ {
+ if(projectView) projectView.DebugStepUntil(true);
+ return true;
+ }
+ }
+#endif
+ MenuPlacement debugRunToCursorItem { debugMenu, $"Run To Cursor", c };
MenuPlacement debugSkipRunToCursorItem { debugMenu, $"Run To Cursor Skipping Breakpoints", u };
- MenuPlacement debugSkipRunToCursorAtSameLevelItem { debugMenu, $"Run To Cursor At Same Level Skipping Breakpoints", l };
+ MenuPlacement debugRunToCursorAtSameLevelItem { debugMenu, $"Run To Cursor At Same Level", l };
+ MenuPlacement debugSkipRunToCursorAtSameLevelItem { debugMenu, $"Run To Cursor At Same Level Skipping Breakpoints", g };
+#if 0
+ MenuPlacement debugBpRunToCursorItem { debugMenu, $"BP Run To Cursor" };
+ MenuPlacement debugBpSkipRunToCursorItem { debugMenu, $"BP Run To Cursor Skipping Breakpoints" };
+ MenuPlacement debugBpRunToCursorAtSameLevelItem { debugMenu, $"BP Run To Cursor At Same Level" };
+ MenuPlacement debugBpSkipRunToCursorAtSameLevelItem { debugMenu, $"BP Run To Cursor At Same Level Skipping Breakpoints" };
+#endif
//MenuDivider { debugMenu };
//MenuPlacement debugToggleBreakpoint { debugMenu, "Toggle Breakpoint", t };
MenuPlacement imageMenu { menu, $"Image", i };
MenuDivider { viewMenu };
MenuItem viewColorPicker
{
- viewMenu, $"Color Picker...", c, Key { c, ctrl = true , shift = true };
+ viewMenu, $"Color Picker...", l, Key { c, ctrl = true , shift = true };
bool NotifySelect(MenuItem selection, Modifiers mods)
{
ColorPicker colorPicker { master = this };
projectView.buildInProgress == buildingMainProject;
} }
- property bool isBreakpointTogglingUnavailable { get {
- return !project;
- } }
-
- property bool isDebuggerExecuting { get {
- if(!ide.debugger)
- return false;
- else
- return ide.debugger.state == running;
- } }
+ property bool isBreakpointTogglingUnavailable { get { return !project; } }
+ property bool isDebuggerRunning { get { if(ide.debugger) return ide.debugger.state == running; return false; } }
+ property bool isDebuggerStopped { get { if(ide.debugger) return ide.debugger.state == stopped; return false; } }
void AdjustDebugMenus()
{
bool unavailable = areDebugMenusUnavailable;
+ bool running = isDebuggerRunning;
+ bool stopped = isDebuggerStopped;
bool active = debugger.isActive;
- bool bpNoToggle = isBreakpointTogglingUnavailable;
- bool executing = isDebuggerExecuting;
- //bool holding = debugger.state == stopped;
+ bool noBreakpointToggle = !project;
- debugStartResumeItem.disabled = unavailable || executing;
+ bool isNotRunning = unavailable || !running;
+ bool isNotNotRunning = unavailable || running;
+ bool isNotStopped = unavailable || !stopped;
+ bool isNotActive = unavailable || !active;
+
+ debugStartResumeItem.disabled = isNotNotRunning;
debugStartResumeItem.text = active ? $"Resume" : $"Start";
debugStartResumeItem.NotifySelect = active ? MenuDebugResume : MenuDebugStart;
if(toolBar)
{
- toolBar.buttonDebugStartResume.disabled = unavailable || executing;
+ toolBar.buttonDebugStartResume.disabled = isNotNotRunning;
toolBar.buttonDebugStartResume.toolTip = active ? $"Resume" : $"Start";
}
- debugBreakItem.disabled = unavailable || !executing;
- debugStopItem.disabled = unavailable || !active;
- debugRestartItem.disabled = unavailable || !active;
+ debugBreakItem.disabled = isNotRunning;
+ debugStopItem.disabled = isNotActive;
+ debugRestartItem.disabled = isNotActive;
if(toolBar)
{
- toolBar.buttonDebugPause.disabled = unavailable || !executing;
- toolBar.buttonDebugStop.disabled = unavailable || !active;
- toolBar.buttonDebugRestart.disabled = unavailable || !active;
+ toolBar.buttonDebugPause.disabled = isNotRunning;
+ toolBar.buttonDebugStop.disabled = isNotActive;
+ toolBar.buttonDebugRestart.disabled = isNotActive;
}
- debugStepIntoItem.disabled = unavailable || executing;
- debugStepOverItem.disabled = unavailable || executing;
- debugStepOutItem.disabled = unavailable || executing || !active;
- debugSkipStepOverItem.disabled = unavailable || executing;
- debugSkipStepOutItem.disabled = unavailable || executing || !active;
+ debugStepIntoItem.disabled = isNotNotRunning;
+ debugStepOverItem.disabled = isNotNotRunning;
+ debugSkipStepOverItem.disabled = isNotNotRunning;
+ debugStepOutItem.disabled = isNotStopped;
+ debugSkipStepOutItem.disabled = isNotStopped;
+#if 0
+ debugStepUntilItem.disabled = isNotStopped;
+ debugSkipStepUntilItem.disabled = isNotStopped;
+#endif
if(toolBar)
{
- toolBar.buttonDebugStepInto.disabled = unavailable || executing;
- toolBar.buttonDebugStepOver.disabled = unavailable || executing;
- toolBar.buttonDebugStepOut.disabled = unavailable || executing || !active;
- toolBar.buttonDebugSkipStepOver.disabled = unavailable || executing;
- // toolBar.buttonDebugSkipStepOutItem.disabled = unavailable || executing;
+ toolBar.buttonDebugStepInto.disabled = isNotNotRunning;
+ toolBar.buttonDebugStepOver.disabled = isNotNotRunning;
+ toolBar.buttonDebugSkipStepOver.disabled = isNotNotRunning;
+ toolBar.buttonDebugStepOut.disabled = isNotStopped;
+ //toolBar.buttonDebugSkipStepOutItem.disabled = isNotNotRunning;
}
if((Designer)GetActiveDesigner())
{
CodeEditor codeEditor = ((Designer)GetActiveDesigner()).codeEditor;
if(codeEditor)
- codeEditor.AdjustDebugMenus(unavailable, bpNoToggle, executing);
+ codeEditor.AdjustDebugMenus();
}
}