public DeletePreviousCharacterAction(TextCaret caret) { Debug.Assert(caret.GetPreviousPosition().IsValid, "Caret previous position not valid"); caret = caret.GetPreviousPosition(); CursorHandle = new DocumentCursorHandle(caret); OriginalText = caret.CharacterAfter.Text; }
/// <summary> Constructor. </summary> /// <param name="previousBlock"> The previous block that will have <paramref name="nextBlock"/> /// merged into. </param> /// <param name="nextBlock"> The next block that will be merged into /// <paramref name="previousBlock"/>. </param> /// <param name="originalCaretPosition"> The position at which the caret is at. </param> public MergeTextBlockAction(TextBlock previousBlock, TextBlock nextBlock, DocumentCursorHandle originalCaretPosition) { Debug.Assert(previousBlock.NextBlock == nextBlock); _originalCaretPosition = originalCaretPosition; _previousPath = previousBlock.GetBlockPath(); _nextPath = nextBlock.GetBlockPath(); _endOfPreviousBlockHandle = new DocumentCursorHandle(previousBlock.Content.GetCaretAtEnd()); }
/// <summary> Constructor. </summary> /// <param name="insertionPoint"> The point at which text should be inserted. </param> /// <param name="text"> The text to insert. </param> public InsertTextUndoableAction(DocumentCursorHandle insertionPoint, string text) { _insertionPoint = insertionPoint; Text = text; }
/// <summary> Constructor. </summary> /// <param name="handle"> The location at which the paragraph should be broken. </param> public BreakTextBlockAction(DocumentCursorHandle handle) { _handle = handle; }
public DeleteNextCharacterAction(TextCaret caret) { _cursorHandle = new DocumentCursorHandle(caret); _originalText = caret.CharacterAfter.Text; }