예제 #1
0
        private void Create(KeyRemapMode countKeyRemapMode, params string[] lines)
        {
            _textView      = CreateTextView(lines);
            _vimTextBuffer = Vim.CreateVimTextBuffer(_textView.TextBuffer);
            _registerMap   = Vim.RegisterMap;
            var vimBufferData = CreateVimBufferData(
                _vimTextBuffer,
                _textView);

            _commandUtil = CreateCommandUtil(vimBufferData);
            var incrementalSearch = new IncrementalSearch(
                vimBufferData,
                CommonOperationsFactory.GetCommonOperations(vimBufferData));
            var motionCapture = new MotionCapture(vimBufferData, incrementalSearch);

            _runnerRaw = new CommandRunner(
                _textView,
                _registerMap,
                motionCapture,
                vimBufferData.LocalSettings,
                _commandUtil,
                new StatusUtil(),
                VisualKind.Character,
                countKeyRemapMode);
            _runner = _runnerRaw;
        }
예제 #2
0
 private void Create(params string[] lines)
 {
     _textView       = EditorUtil.CreateView(lines);
     _globalSettings = new Vim.GlobalSettings();
     _globalSettings.IncrementalSearch = true;
     _globalSettings.WrapScan          = true;
     _localSettings = new LocalSettings(_globalSettings, _textView);
     _nav           = VimUtil.CreateTextStructureNavigator(_textView.TextBuffer);
     _factory       = new MockRepository(MockBehavior.Strict);
     _vimHost       = _factory.Create <IVimHost>();
     _vimHost.Setup(x => x.EnsureVisible(_textView, It.IsAny <SnapshotPoint>()));
     _statusUtil = _factory.Create <IStatusUtil>();
     _statusUtil.Setup(x => x.OnWarning(Resources.Common_SearchBackwardWrapped));
     _statusUtil.Setup(x => x.OnWarning(Resources.Common_SearchForwardWrapped));
     _vimData    = new VimData();
     _operations = VimUtil.CreateCommonOperations(
         textView: _textView,
         localSettings: _localSettings,
         vimHost: _vimHost.Object,
         statusUtil: _statusUtil.Object);
     _searchRaw = new IncrementalSearch(
         _operations,
         _localSettings,
         _nav,
         _statusUtil.Object,
         _vimData);
     _search = _searchRaw;
 }
예제 #3
0
        private void Create(KeyRemapMode countKeyRemapMode, params string[] lines)
        {
            _textView = CreateTextView(lines);
            _vimTextBuffer = Vim.CreateVimTextBuffer(_textView.TextBuffer);
            _registerMap = Vim.RegisterMap;
            var vimBufferData = CreateVimBufferData(
                _vimTextBuffer,
                _textView);
            _commandUtil = CreateCommandUtil(vimBufferData);
            var incrementalSearch = new IncrementalSearch(
                vimBufferData,
                CommonOperationsFactory.GetCommonOperations(vimBufferData));
            var motionCapture = new MotionCapture(vimBufferData, incrementalSearch);

            _runnerRaw = new CommandRunner(
                _textView,
                _registerMap,
                motionCapture,
                vimBufferData.LocalSettings,
                _commandUtil,
                new StatusUtil(),
                VisualKind.Character,
                countKeyRemapMode);
            _runner = _runnerRaw;
        }
예제 #4
0
 private void DisposeIncrementalSearchEvents(IncrementalSearch incSearch)
 {
     if (incSearch == null)
     {
         return;
     }
     incSearch.OnIncrementalSearchMessage += new IncrmentalSearchMessageDelegate(OnIncrementalSearchMessage);
     incSearch.OnIncrementalSearchStopped += new EventHandler(OnIncrementalSearchStopped);
 }
예제 #5
0
        private void OnIncrementalSearchStopped(object sender, EventArgs e)
        {
            if (sender == _revIncSearch)
            {
                DisposeIncrementalSearchEvents(_revIncSearch);
                _revIncSearch = null;
            }
            else if (sender == _fwdIncSearch)
            {
                DisposeIncrementalSearchEvents(_fwdIncSearch);
                _fwdIncSearch = null;
            }

            statIncSearch.Text = String.Empty;
        }
예제 #6
0
        private void DisposeIncSearchObjects()
        {
            if (_fwdIncSearch != null)
            {
                DisposeIncrementalSearchEvents(_fwdIncSearch);
                _fwdIncSearch.Dispose();
                _fwdIncSearch = null;
            }

            if (_revIncSearch != null)
            {
                DisposeIncrementalSearchEvents(_revIncSearch);
                _revIncSearch.Dispose();
                _revIncSearch = null;
            }
        }
예제 #7
0
        public override void Run()
        {
            IWorkbenchWindow window = WorkbenchSingleton.Workbench.ActiveWorkbenchWindow;

            if (window != null)
            {
                ITextEditorControlProvider textEditorControlProvider = window.ActiveViewContent as ITextEditorControlProvider;
                if (textEditorControlProvider != null)
                {
                    if (incrementalSearch != null)
                    {
                        incrementalSearch.Dispose();
                    }
                    incrementalSearch = new IncrementalSearch(textEditorControlProvider.TextEditorControl, Forwards);
                }
            }
        }
예제 #8
0
파일: TreeViewAdv.cs 프로젝트: Ejik/Acotwin
        public TreeViewAdv()
        {
            InitializeComponent();
            SetStyle(ControlStyles.AllPaintingInWmPaint
                | ControlStyles.UserPaint
                | ControlStyles.OptimizedDoubleBuffer
                | ControlStyles.ResizeRedraw
                | ControlStyles.Selectable
                , true);

            if (Application.RenderWithVisualStyles)
                _columnHeaderHeight = 20;
            else
                _columnHeaderHeight = 17;

            //BorderStyle = BorderStyle.Fixed3D;
            _hScrollBar.Height = SystemInformation.HorizontalScrollBarHeight;
            _vScrollBar.Width = SystemInformation.VerticalScrollBarWidth;
            _rowLayout = new FixedRowHeightLayout(this, RowHeight);
            _rowMap = new List<TreeNodeAdv>();
            _selection = new List<TreeNodeAdv>();
            _readonlySelection = new ReadOnlyCollection<TreeNodeAdv>(_selection);
            _columns = new TreeColumnCollection(this);
            _toolTip = new ToolTip();

            _measureContext = new DrawContext();
            _measureContext.Font = Font;
            _measureContext.Graphics = Graphics.FromImage(new Bitmap(1, 1));

            Input = new NormalInputState(this);
            _search = new IncrementalSearch(this);
            CreateNodes();
            CreatePens();

            ArrangeControls();

            _plusMinus = new NodePlusMinus();
            _controls = new NodeControlsCollection(this);

            Font = _font;
            ExpandingIcon.IconChanged += ExpandingIconChanged;
        }
예제 #9
0
        private void Create(params string[] lines)
        {
            _vimHost = (MockVimHost)Vim.VimHost;
            _textView = CreateTextView(lines);
            _globalSettings = Vim.GlobalSettings;
            _globalSettings.IncrementalSearch = true;
            _globalSettings.WrapScan = true;

            var vimTextBuffer = Vim.CreateVimTextBuffer(_textView.TextBuffer);

            _factory = new MockRepository(MockBehavior.Strict);
            _statusUtil = _factory.Create<IStatusUtil>();
            _statusUtil.Setup(x => x.OnWarning(Resources.Common_SearchBackwardWrapped));
            _statusUtil.Setup(x => x.OnWarning(Resources.Common_SearchForwardWrapped));

            _vimData = Vim.VimData;
            var vimBufferData = CreateVimBufferData(vimTextBuffer, _textView);
            var operations = CommonOperationsFactory.GetCommonOperations(vimBufferData);
            _searchRaw = new IncrementalSearch(vimBufferData, operations);
            _search = _searchRaw;
        }
예제 #10
0
        private void Create(params string[] lines)
        {
            _vimHost = (MockVimHost)Vim.VimHost;
            _textView = CreateTextView(lines);
            _globalSettings = Vim.GlobalSettings;
            _globalSettings.IncrementalSearch = true;
            _globalSettings.WrapScan = true;

            var vimTextBuffer = Vim.CreateVimTextBuffer(_textView.TextBuffer);

            _factory = new MockRepository(MockBehavior.Strict);
            _statusUtil = _factory.Create<IStatusUtil>();
            _statusUtil.Setup(x => x.OnWarning(Resources.Common_SearchBackwardWrapped));
            _statusUtil.Setup(x => x.OnWarning(Resources.Common_SearchForwardWrapped));

            _vimData = Vim.VimData;
            var vimBufferData = CreateVimBufferData(vimTextBuffer, _textView);
            var operations = CommonOperationsFactory.GetCommonOperations(vimBufferData);
            _searchRaw = new IncrementalSearch(vimBufferData, operations);
            _search = _searchRaw;
        }
예제 #11
0
        private void OnAction_IncrementalSearch_Execute(object sender, EventArgs e)
        {
            statIncSearch.Text = String.Empty;
            if (_revIncSearch != null)
            {
                DisposeIncrementalSearchEvents(_revIncSearch);
                _revIncSearch.Dispose();
                _revIncSearch = null;
            }

            if (_fwdIncSearch != null)
            {
                DisposeIncrementalSearchEvents(_fwdIncSearch);
                _fwdIncSearch.Dispose();
                _fwdIncSearch = null;
                return;
            }

            _fwdIncSearch = new IncrementalSearch(_textEditor, true);
            _fwdIncSearch.OnIncrementalSearchMessage += new IncrmentalSearchMessageDelegate(OnIncrementalSearchMessage);
            _fwdIncSearch.OnIncrementalSearchStopped += new EventHandler(OnIncrementalSearchStopped);
        }
예제 #12
0
 private void Create(params string[] lines)
 {
     _textView = EditorUtil.CreateView(lines);
     _factory = new MockFactory(MockBehavior.Strict);
     _searchService = _factory.Create<ISearchService>();
     _nav = _factory.Create<ITextStructureNavigator>();
     _globalSettings = MockObjectFactory.CreateGlobalSettings(ignoreCase: true);
     _settings = MockObjectFactory.CreateLocalSettings(_globalSettings.Object);
     _outlining = new Mock<IOutliningManager>(MockBehavior.Strict);
     _outlining.Setup(x => x.ExpandAll(It.IsAny<SnapshotSpan>(), It.IsAny<Predicate<ICollapsed>>())).Returns<IEnumerable<ICollapsed>>(null);
     _searchRaw = new IncrementalSearch(
         _textView,
         _outlining.Object,
         _settings.Object,
         _nav.Object,
         _searchService.Object);
     _search = _searchRaw;
 }
예제 #13
0
 private void Create(params string[] lines)
 {
     _textView = EditorUtil.CreateTextView(lines);
     _globalSettings = new Vim.GlobalSettings();
     _globalSettings.IncrementalSearch = true;
     _globalSettings.WrapScan = true;
     _localSettings = new LocalSettings(_globalSettings, EditorUtil.GetEditorOptions(_textView), _textView);
     _nav = VimUtil.CreateTextStructureNavigator(_textView, WordKind.NormalWord);
     _factory = new MockRepository(MockBehavior.Strict);
     _vimHost = _factory.Create<IVimHost>();
     _vimHost.Setup(x => x.EnsureVisible(_textView, It.IsAny<SnapshotPoint>()));
     _statusUtil = _factory.Create<IStatusUtil>();
     _statusUtil.Setup(x => x.OnWarning(Resources.Common_SearchBackwardWrapped));
     _statusUtil.Setup(x => x.OnWarning(Resources.Common_SearchForwardWrapped));
     _vimData = new VimData();
     _operations = VimUtil.CreateCommonOperations(
         textView: _textView,
         localSettings: _localSettings,
         vimHost: _vimHost.Object,
         statusUtil: _statusUtil.Object);
     _searchRaw = new IncrementalSearch(
         _operations,
         _localSettings,
         _nav,
         _statusUtil.Object,
         _vimData);
     _search = _searchRaw;
 }
예제 #14
0
 public void UpdateStyle(IncrementalSearch search)
 {
     NoValueBackColor      = search.NoValueBackColor;
     InvalidValueBackColor = search.InvalidValueBackColor;
 }
예제 #15
0
 public void UpdateStyle(IncrementalSearch search)
 {
     // Nothing
 }
예제 #16
0
 private void Create(params string[] lines)
 {
     _textView = EditorUtil.CreateView(lines);
     _textSearch = new Mock<ITextSearchService>(MockBehavior.Strict);
     _nav = new Mock<ITextStructureNavigator>(MockBehavior.Strict);
     _globalSettings = MockObjectFactory.CreateGlobalSettings(ignoreCase: true);
     _settings = MockObjectFactory.CreateLocalSettings(_globalSettings.Object);
     _searchRaw = new IncrementalSearch(
         _textView,
         _settings.Object,
         _textSearch.Object,
         _nav.Object);
     _search = _searchRaw;
 }