예제 #1
0
        /// <summary>
        /// Create an empty text document.
        /// </summary>
        public TextDocument()
        {
            lineTree    = new DocumentLineTree(this);
            lineManager = new LineManager(textBuffer, lineTree, this);
            lineTrackers.CollectionChanged += delegate {
                lineManager.lineTrackers = lineTrackers.ToArray();
            };

            anchorTree = new TextAnchorTree(this);
            undoStack  = new UndoStack();
            undoStack.AttachToDocument(this);
            FireChangeEvents();
        }
예제 #2
0
        /// <summary>
        /// Create a new text document with the specified initial text.
        /// </summary>
        public TextDocument(IEnumerable<char> initialText)
        {
            if (initialText == null)
              throw new ArgumentNullException("initialText");
              rope = new Rope<char>(initialText);
              lineTree = new DocumentLineTree(this);
              lineManager = new LineManager(lineTree, this);
              lineTrackers.CollectionChanged += delegate {
              lineManager.UpdateListOfLineTrackers();
              };

              anchorTree = new TextAnchorTree(this);
              undoStack = new UndoStack();
              FireChangeEvents();
        }
예제 #3
0
		/// <summary>
		/// Create a new text document with the specified initial text.
		/// </summary>
		public TextDocument(IEnumerable<char> initialText)
		{
			if (initialText == null)
				throw new ArgumentNullException("initialText");
			rope = new Rope<char>(initialText);
			lineTree = new DocumentLineTree(this);
			lineManager = new LineManager(lineTree, this);
			lineTrackers.CollectionChanged += delegate {
				lineManager.UpdateListOfLineTrackers();
			};
			
			anchorTree = new TextAnchorTree(this);
			undoStack = new UndoStack();
			FireChangeEvents();
		}