public void AddExistingBreakpoint(object breakpointIdentifier, int line, bool enable) { var sqlTextEditor = _debuggerView.CodeViewer.Editor; var lineStartOffset = sqlTextEditor.Document.GetLineByNumber(line).Offset; var anchor = sqlTextEditor.Document.CreateAnchor(lineStartOffset); var breakpoint = new Breakpoint(anchor) { Identifier = breakpointIdentifier, IsEnabled = enable }; AddBreakpointMarker(breakpoint); }
private void AddBreakpointMarker(Breakpoint breakpoint) { _markers.Add(new BreakpointMarker(breakpoint)); InvalidateMeasure(); }
public BreakpointChangedEventArgs(Breakpoint breakpoint, BreakpointState state, BreakpointData breakpointData) : base(breakpoint, state) { BreakpointData = breakpointData; }
protected BreakpointChangedEventArgsBase(Breakpoint breakpoint, BreakpointState state) { Breakpoint = breakpoint; State = state; }
public BreakpointChangingEventArgs(Breakpoint breakpoint, BreakpointState state) : base(breakpoint, state) { }
public BreakpointMarker(Breakpoint breakpoint) { Breakpoint = breakpoint; }
private async Task<BreakpointActionResult> SafeRaiseBreakpointChanged(Breakpoint breakpoint, BreakpointState breakpointState) { var result = new BreakpointActionResult(); try { var changingEventArgs = new BreakpointChangingEventArgs(breakpoint, breakpointState); _debuggerView.RaiseBreakpointChanging(changingEventArgs); result = await changingEventArgs.SetBreakpointTask; if (result.IsSuccessful) { if (breakpointState == BreakpointState.Added) { breakpoint.Identifier = result.BreakpointIdentifier; } _debuggerView.RaiseBreakpointChanged(new BreakpointChangedEventArgs(breakpoint, breakpointState, GetBreakpointData(breakpoint))); } } catch (Exception exception) { Messages.ShowError(exception.Message); } return result; }
private BreakpointData GetBreakpointData(Breakpoint breakpoint) { return new BreakpointData(_debuggerView.ProgramItem.ProgramIdentifier, breakpoint.Anchor.Line, breakpoint.IsEnabled); }
public async Task AddBreakpoint(int offset, bool enable = true) { var sqlTextEditor = _debuggerView.CodeViewer.Editor; var lineStartOffset = sqlTextEditor.Document.GetLineByOffset(offset).Offset; var anchor = sqlTextEditor.Document.CreateAnchor(lineStartOffset); var breakpoint = new Breakpoint(anchor) { IsEnabled = enable }; var actionResult = await SafeRaiseBreakpointChanged(breakpoint, BreakpointState.Added); if (!actionResult.IsSuccessful) { return; } AddBreakpointMarker(breakpoint); DocumentBreakpoints.Add(GetBreakpointData(breakpoint)); }