コード例 #1
0
ファイル: BlockCaretTest.cs プロジェクト: zachS93/VsVim
 private void Create()
 {
     _caret = new Mock <ITextCaret>(MockBehavior.Strict);
     _caret.SetupGet(x => x.Position).Returns(new CaretPosition());
     _selection = new Mock <ITextSelection>(MockBehavior.Strict);
     _textView  = new Mock <IWpfTextView>(MockBehavior.Strict);
     _textView.SetupGet(x => x.Caret).Returns(_caret.Object);
     _textView.SetupGet(x => x.Selection).Returns(_selection.Object);
     _textView.SetupGet(x => x.IsClosed).Returns(false);
     _textView.SetupGet(x => x.InLayout).Returns(false);
     _textView.SetupGet(x => x.HasAggregateFocus).Returns(true);
     _caretLine = new Mock <IWpfTextViewLine>(MockBehavior.Strict);
     _caretLine.SetupGet(x => x.IsValid).Returns(true);
     _caretLine.SetupGet(x => x.VisibilityState).Returns(VisibilityState.FullyVisible);
     _lines = new Mock <IWpfTextViewLineCollection>(MockBehavior.Strict);
     _lines.SetupGet(x => x.IsValid).Returns(true);
     _lines.Setup(x => x.GetTextViewLineContainingBufferPosition(It.IsAny <SnapshotPoint>())).Returns(_caretLine.Object);
     _textView.SetupGet(x => x.TextViewLines).Returns(_lines.Object);
     _formatMap = new Mock <IEditorFormatMap>(MockBehavior.Strict);
     _classificationFormatMap = new Mock <IClassificationFormatMap>(MockBehavior.Strict);
     _layer         = new Mock <IAdornmentLayer>(MockBehavior.Strict);
     _selectionUtil = new Mock <ISelectionUtil>(MockBehavior.Strict);
     _selectionUtil.SetupGet(x => x.IsMultiSelectionSupported).Returns(false);
     _vimBufferData = new Mock <IVimBufferData>(MockBehavior.Strict);
     _vimBufferData.SetupGet(x => x.TextView).Returns(_textView.Object);
     _vimBufferData.SetupGet(x => x.SelectionUtil).Returns(_selectionUtil.Object);
     _blockCaretRaw = new BlockCaret(_vimBufferData.Object, _classificationFormatMap.Object, _formatMap.Object, _layer.Object, new ControlCharUtil(), ProtectedOperations);
     _blockCaret    = _blockCaretRaw;
 }
コード例 #2
0
ファイル: BlockCaretTest.cs プロジェクト: kcprogrammer/VsVim
 private void Create()
 {
     _caret = new Mock<ITextCaret>(MockBehavior.Strict);
     _textview = new Mock<ITextView>(MockBehavior.Strict);
     _textview.SetupGet(x => x.Caret).Returns(_caret.Object);
     _formatMap = new Mock<IEditorFormatMap>(MockBehavior.Strict);
     _layer = new Mock<IAdornmentLayer>(MockBehavior.Strict);
     _blockCaretRaw = new BlockCaret(_textview.Object, _formatMap.Object, _layer.Object, ProtectedOperations);
     _blockCaret = _blockCaretRaw;
 }
コード例 #3
0
ファイル: BlockCaretTest.cs プロジェクト: bentayloruk/VsVim
 private void Create()
 {
     _caret    = new Mock <ITextCaret>(MockBehavior.Strict);
     _textview = new Mock <ITextView>(MockBehavior.Strict);
     _textview.SetupGet(x => x.Caret).Returns(_caret.Object);
     _formatMap     = new Mock <IEditorFormatMap>(MockBehavior.Strict);
     _layer         = new Mock <IAdornmentLayer>(MockBehavior.Strict);
     _blockCaretRaw = new BlockCaret(_textview.Object, _formatMap.Object, _layer.Object);
     _blockCaret    = _blockCaretRaw;
 }
コード例 #4
0
        /// <summary> Move to the given caret location. </summary>
        /// <param name="blockCaret"> The block caret. </param>
        /// <param name="mode"> If the current selection should be replaced or extended to include the new position. </param>
        public void MoveTo(BlockCaret blockCaret, SelectionMode mode)
        {
            _caretStart = blockCaret;

            if (mode != SelectionMode.Extend)
            {
                _caretEnd = blockCaret;
            }

            CursorMoved?.Invoke(this, EventArgs.Empty);
        }
コード例 #5
0
            /// <inheritdoc />
            public override TextCaret FromBlockCaret(BlockCaret caret)
            {
                if (caret.Mover != Instance)
                {
                    throw new ArgumentException("Caret does not represent the content of a TextCaret", nameof(caret));
                }

                var offset = new TextOffset(caret.InstanceOffset1, caret.InstanceOffset2, caret.InstanceOffset3);

                return(new TextCaret((TextBlockContent)caret.InstanceDatum, offset));
            }
コード例 #6
0
 private void Create()
 {
     _caret    = new Mock <ITextCaret>(MockBehavior.Strict);
     _textview = new Mock <ITextView>(MockBehavior.Strict);
     _textview.SetupGet(x => x.Caret).Returns(_caret.Object);
     _formatMap = new Mock <IEditorFormatMap>(MockBehavior.Strict);
     _classificationFormatMap = new Mock <IClassificationFormatMap>(MockBehavior.Strict);
     _layer         = new Mock <IAdornmentLayer>(MockBehavior.Strict);
     _blockCaretRaw = new BlockCaret(_textview.Object, _classificationFormatMap.Object, _formatMap.Object, _layer.Object, new ControlCharUtil(), ProtectedOperations);
     _blockCaret    = _blockCaretRaw;
 }
コード例 #7
0
 /// <summary>
 ///   Calls <see cref="MoveTo"/> with <see cref="SelectionMode.Replace"/>
 /// </summary>
 public void Replace(BlockCaret caret)
 => MoveTo(caret, SelectionMode.Replace);
コード例 #8
0
 /// <summary> Constructor. </summary>
 /// <param name="owner"> The Document that owns the given cursor. </param>
 /// <param name="blockCaret"> The block cursor. </param>
 public DocumentSelection(DocumentOwner owner, BlockCaret blockCaret)
 {
     Owner = owner;
     MoveTo(blockCaret, SelectionMode.Replace);
 }
コード例 #9
0
 /// <summary> Constructor. </summary>
 /// <param name="caret"> The caret that should be saved for later usage. </param>
 public DocumentCursorHandle(BlockCaret caret)
 {
     _serializedCursor = caret.Serialize();
 }
コード例 #10
0
 /// <summary> Creates a cursor handle from the given content cursor. </summary>
 public static DocumentCursorHandle ToHandle(this BlockCaret caret)
 => new DocumentCursorHandle(caret);
コード例 #11
0
 public static TextCaret AsTextCursor(this BlockCaret cursor)
 {
     return((TextCaret)cursor);
 }