/// <summary> /// This method moves all indices from index upward count lines /// (useful for deletion/insertion of text) /// </summary> void MoveIndices(object sender, LineCountChangeEventArgs e) { bool changed = false; OnBeforeChanged(); for (int i = 0; i < lines.Count; ++i) { int startLineNr = ((CustomLine)lines[i]).StartLineNr; int endLineNr = ((CustomLine)lines[i]).EndLineNr; if (e.LineStart >= startLineNr && e.LineStart < endLineNr) { changed = true; ((CustomLine)lines[i]).EndLineNr += e.LinesMoved; } else if (e.LineStart < startLineNr) { ((CustomLine)lines[i]).StartLineNr += e.LinesMoved; ((CustomLine)lines[i]).EndLineNr += e.LinesMoved; } else { } } if (changed) { OnChanged(); } }
void BookmarkLineCountChanged(object sender, LineCountChangeEventArgs e) { foreach (Bookmark b in Document.BookmarkManager.Marks) { if (b.LineNumber >= e.LineStart) { Bookmarks.SDBookmark sdb = b as Bookmarks.SDBookmark; if (sdb != null) { sdb.RaiseLineNumberChanged(); } } } }