/// <summary> /// This method moves all indices from index upward count lines /// (useful for deletion/insertion of text) /// </summary> void MoveIndices(object sender,LineManagerEventArgs e) { bool changed = false; OnBeforeChanged(); for (int i = 0; i < bookmark.Count; ++i) { int mark = (int)bookmark[i]; if (e.LinesMoved < 0 && mark == e.LineStart) { bookmark.RemoveAt(i); --i; changed = true; } else if (mark > e.LineStart + 1 || (e.LinesMoved < 0 && mark > e.LineStart)) { changed = true; bookmark[i] = mark + e.LinesMoved; } } if (changed) { OnChanged(); } }
protected virtual void OnLineCountChanged(LineManagerEventArgs e) { if (LineCountChanged != null) { LineCountChanged(this, e); } }