Пример #1
0
        public void Remove(Bookmark bookmark)
        {
            bookmark.CleanUp();
            _bookmarks.Remove(bookmark);

            OnRedrawRequested?.Invoke(this, new EventArgs());
            OnBookmarkUpdated?.Invoke(this, new BookmarkEventArgs(bookmark, true));
        }
Пример #2
0
        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));
            }
        }
Пример #3
0
        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());
        }
Пример #4
0
        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);
        }
Пример #5
0
        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));
            }
        }