Exemplo n.º 1
0
		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);
		}
Exemplo n.º 2
0
		private void AddBreakpointMarker(Breakpoint breakpoint)
		{
			_markers.Add(new BreakpointMarker(breakpoint));
			InvalidateMeasure();
		}
Exemplo n.º 3
0
		public BreakpointChangedEventArgs(Breakpoint breakpoint, BreakpointState state, BreakpointData breakpointData)
			: base(breakpoint, state)
		{
			BreakpointData = breakpointData;
		}
Exemplo n.º 4
0
		protected BreakpointChangedEventArgsBase(Breakpoint breakpoint, BreakpointState state)
		{
			Breakpoint = breakpoint;
			State = state;
		}
Exemplo n.º 5
0
		public BreakpointChangingEventArgs(Breakpoint breakpoint, BreakpointState state)
			: base(breakpoint, state)
		{
		}
Exemplo n.º 6
0
		public BreakpointMarker(Breakpoint breakpoint)
		{
			Breakpoint = breakpoint;
		}
Exemplo n.º 7
0
		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;
		}
Exemplo n.º 8
0
		private BreakpointData GetBreakpointData(Breakpoint breakpoint)
		{
			return new BreakpointData(_debuggerView.ProgramItem.ProgramIdentifier, breakpoint.Anchor.Line, breakpoint.IsEnabled);
		}
Exemplo n.º 9
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));
		}