public void Remove(Bookmark bookmark) { bookmark.CleanUp(); _bookmarks.Remove(bookmark); OnRedrawRequested?.Invoke(this, new EventArgs()); OnBookmarkUpdated?.Invoke(this, new BookmarkEventArgs(bookmark, true)); }
private void AdjustLineAdd(int lineNumber, int offsetToAdd) { var lines = _bookmarks.Where(item => item.LineNumber >= lineNumber).ToList(); foreach (var line in lines) { line.LineNumber++; OnBookmarkUpdated?.Invoke(this, new BookmarkEventArgs(line)); } }
public void RemoveAt(BookmarkType bookmarkType, int lineNumber) { var bookmarks = _bookmarks.Where(item => item.BookmarkType.Equals(bookmarkType) && item.LineNumber.Equals(lineNumber)).ToList(); foreach (var bookmark in bookmarks) { bookmark.CleanUp(); _bookmarks.Remove(bookmark); OnBookmarkUpdated?.Invoke(this, new BookmarkEventArgs(bookmark, true)); } OnRedrawRequested?.Invoke(this, new EventArgs()); }
public bool Add(Bookmark bookmark) { // Only support one bookmark per line if (_bookmarks.Contains(bookmark)) { return(false); } _bookmarks.Add(bookmark); OnRedrawRequested?.Invoke(this, new EventArgs()); OnBookmarkUpdated?.Invoke(this, new BookmarkEventArgs(bookmark)); return(true); }
private void AdjustLineDelete(int lineNumber, int offsetToRemove) { // Retrieve any lines that is found on the line that is to be deleted var lines = _bookmarks.Where(item => item.LineNumber == lineNumber).ToList(); foreach (var line in lines) { line.CleanUp(); _bookmarks.Remove(line); OnBookmarkUpdated?.Invoke(this, new BookmarkEventArgs(line, true)); } lines = _bookmarks.Where(item => item.LineNumber > lineNumber).ToList(); foreach (var line in lines) { line.LineNumber--; OnBookmarkUpdated?.Invoke(this, new BookmarkEventArgs(line)); } }