示例#1
0
        public void MakeInsert(int where, int length)
        {
            if (length <= 0)
            {
                return;
            }

            var record = new UndoRedoRecord
            {
                OperationType = OperationType.Insert,
                Where         = where,
                Length        = length
            };

            _stack.Push(record);
        }
示例#2
0
        public void MakeDelete(string text, int where, int length)
        {
            if (length <= 0)
            {
                return;
            }

            var record = new UndoRedoRecord
            {
                OperationType = OperationType.Delete,
                Where         = where,
                Length        = length,
                Data          = text.Substring(where, length)
            };

            _stack.Push(record);
        }
示例#3
0
        public void MakeReplace(string text, int where, int length, int newLength)
        {
            if (length <= 0)
            {
                MakeInsert(where, newLength);
                return;
            }

            if (newLength <= 0)
            {
                MakeDelete(text, where, length);
                return;
            }

            var record = new UndoRedoRecord
            {
                OperationType = OperationType.Replace,
                Where         = where,
                Length        = newLength,
                Data          = text.Substring(where, length)
            };

            _stack.Push(record);
        }