Esempio n. 1
0
        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();
        }
Esempio n. 2
0
        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));
        }
Esempio n. 3
0
        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));
        }