public static void RemoveBreakpoint(FilePath fileName, int lineNumber) { WabbitcodeBreakpoint newBreak = Breakpoints.FirstOrDefault(b => fileName == b.File && b.LineNumber == lineNumber); if (newBreak == null) { return; } BreakList.Remove(newBreak); if (OnBreakpointRemoved == null) { return; } var eventArgs = new WabbitcodeBreakpointEventArgs(newBreak); foreach (var removedDelegate in OnBreakpointRemoved.GetInvocationList()) { var handler = (BreakpointRemoved)removedDelegate; if (!eventArgs.Cancel) { handler(null, eventArgs); } } }
public static void AddBreakpoint(FilePath fileName, int lineNumber) { WabbitcodeBreakpoint newBreak = new WabbitcodeBreakpoint(fileName, lineNumber); if (BreakList.Contains(newBreak)) { return; } BreakList.Add(newBreak); if (OnBreakpointAdded == null) { return; } var eventArgs = new WabbitcodeBreakpointEventArgs(newBreak); foreach (var addedDelegage in OnBreakpointAdded.GetInvocationList()) { var handler = (BreakpointAdded)addedDelegage; if (!eventArgs.Cancel) { handler(null, eventArgs); } } if (!eventArgs.Cancel) { return; } IStatusBarService statusBarService = DependencyFactory.Resolve <IStatusBarService>(); statusBarService.SetText("A breakpoint could not be set at this location"); }