Exemple #1
0
        /// <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();
             }
         }
     }
 }