示例#1
0
        public RHistory(IRInteractiveWorkflowVisual interactiveWorkflow, ITextBuffer textBuffer, IFileSystem fileSystem, IRSettings settings, IEditorOperationsFactoryService editorOperationsFactory, IRtfBuilderService rtfBuilderService, Action dispose)
        {
            _interactiveWorkflow     = interactiveWorkflow;
            _historyTextBuffer       = textBuffer;
            _fileSystem              = fileSystem;
            _editorOperationsFactory = editorOperationsFactory;
            _rtfBuilderService       = rtfBuilderService;
            _dispose = dispose;

            _textBufferIsEditable = new CountdownDisposable(MakeTextBufferReadOnly);
            _isMultiline          = settings.MultilineHistorySelection;

            if (_isMultiline)
            {
                _entries = new MultilineRHistoryEntries();
            }
            else
            {
                _entries = new SinglelineRHistoryEntries();
            }

            _nextEntrySelector      = new SingleEntrySelector(this, false);
            _previousEntrySelector  = new SingleEntrySelector(this, true);
            _rangeUpEntrySelector   = new RangeEntrySelector(this, true);
            _rangeDownEntrySelector = new RangeEntrySelector(this, false);

            MakeTextBufferReadOnly();
        }
示例#2
0
        private void Select(IEntrySelector entrySelector)
        {
            if (!HasEntries)
            {
                return;
            }

            if (HasSelectedEntries)
            {
                entrySelector.EntriesSelected();
            }
            else
            {
                if (VisualComponent == null)
                {
                    return;
                }

                entrySelector.TextSelected();
            }
        }