private async Task EnableOrDisableBreakpoint(BreakpointMarker breakpointMarker, BreakpointState state) { var breakpoint = breakpointMarker.Breakpoint; var actionResult = await SafeRaiseBreakpointChanged(breakpoint, state); if (!actionResult.IsSuccessful) { return; } breakpoint.IsEnabled = state == BreakpointState.Enabled; var breakpointData = GetBreakpointData(breakpoint); DocumentBreakpoints.Single(bp => Equals(bp, breakpointData)).IsEnabled = breakpoint.IsEnabled; breakpointMarker.InvalidateVisual(); }
public async void RemoveBreakpoint(BreakpointMarker marker) { var actionResult = await SafeRaiseBreakpointChanged(marker.Breakpoint, BreakpointState.Removed); if (!actionResult.IsSuccessful) { return; } _markers.Remove(marker); _visibleMarkers.Remove(marker); RemoveVisualChild(marker); InvalidateMeasure(); DocumentBreakpoints.Remove(GetBreakpointData(marker.Breakpoint)); }
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)); }