public RInteractiveWorkflow(IRSessionProvider sessionProvider
                                    , IRHistoryProvider historyProvider
                                    , IRPackageManagerProvider packagesProvider
                                    , IRPlotManagerProvider plotsProvider
                                    , IActiveWpfTextViewTracker activeTextViewTracker
                                    , IDebuggerModeTracker debuggerModeTracker
                                    , ICoreShell coreShell
                                    , IRSettings settings
                                    , Action onDispose)
        {
            _activeTextViewTracker = activeTextViewTracker;
            _debuggerModeTracker   = debuggerModeTracker;
            _settings  = settings;
            _onDispose = onDispose;

            Shell       = coreShell;
            RSession    = sessionProvider.GetOrCreate(GuidList.InteractiveWindowRSessionGuid);
            History     = historyProvider.CreateRHistory(this);
            Packages    = packagesProvider.CreateRPackageManager(sessionProvider, settings, this);
            Plots       = plotsProvider.CreatePlotManager(sessionProvider, settings, this);
            _operations = new RInteractiveWorkflowOperations(this, _debuggerModeTracker, Shell);

            _activeTextViewTracker.LastActiveTextViewChanged += LastActiveTextViewChanged;
            RSession.Disconnected += RSessionDisconnected;
        }
Beispiel #2
0
        public static IRInteractiveWorkflowProvider Create(string brokerConnectorName
                                                           , IRSessionProvider sessionProvider = null
                                                           , IConnectionManagerProvider connectionsProvider = null
                                                           , IRHistoryProvider historyProvider               = null
                                                           , IRPackageManagerProvider packagesProvider       = null
                                                           , IRPlotManagerProvider plotsProvider             = null
                                                           , IActiveWpfTextViewTracker activeTextViewTracker = null
                                                           , IDebuggerModeTracker debuggerModeTracker        = null
                                                           , IRHostBrokerConnector brokerConnector           = null
                                                           , ICoreShell shell       = null
                                                           , IRSettings settings    = null
                                                           , IWorkspaceServices wss = null)
        {
            sessionProvider     = sessionProvider ?? new RSessionProviderMock();
            connectionsProvider = connectionsProvider ?? ConnectionManagerProviderStubFactory.CreateDefault();
            historyProvider     = historyProvider ?? RHistoryProviderStubFactory.CreateDefault();
            packagesProvider    = packagesProvider ?? RPackageManagerProviderStubFactory.CreateDefault();
            plotsProvider       = plotsProvider ?? RPlotManagerProviderStubFactory.CreateDefault();

            activeTextViewTracker = activeTextViewTracker ?? new ActiveTextViewTrackerMock(string.Empty, RContentTypeDefinition.ContentType);
            debuggerModeTracker   = debuggerModeTracker ?? new VsDebuggerModeTracker();
            brokerConnector       = brokerConnector ?? new RHostBrokerConnectorMock();
            shell    = shell ?? VsAppShell.Current;
            settings = settings ?? RToolsSettings.Current;

            return(new TestRInteractiveWorkflowProvider(
                       sessionProvider, connectionsProvider, historyProvider, packagesProvider,
                       plotsProvider, activeTextViewTracker, debuggerModeTracker, brokerConnector,
                       shell, settings, wss)
            {
                BrokerName = brokerConnectorName
            });
        }
 public ToggleMultilineHistorySelectionCommand(ITextView textView, IRHistoryProvider historyProvider, IRInteractiveWorkflowVisual interactiveWorkflow)
     : base(textView, RGuidList.RCmdSetGuid, RPackageCommandId.icmdToggleMultilineSelection, false)
 {
     _history             = historyProvider.GetAssociatedRHistory(textView);
     _settings            = interactiveWorkflow.Shell.GetService <IRSettings>();
     _interactiveWorkflow = interactiveWorkflow;
 }
Beispiel #4
0
 public SaveHistoryCommand(IApplicationShell appShell, ITextView textView, IRHistoryProvider historyProvider, IRInteractiveWorkflow interactiveWorkflow)
     : base(textView, RGuidList.RCmdSetGuid, RPackageCommandId.icmdSaveHistory, false)
 {
     _appShell            = appShell;
     _interactiveWorkflow = interactiveWorkflow;
     _history             = historyProvider.GetAssociatedRHistory(textView);
 }
 public TestRInteractiveWorkflowProvider(IRSessionProvider sessionProvider
                                         , IConnectionManagerProvider connectionManagerProvider
                                         , IRHistoryProvider historyProvider
                                         , IRPackageManagerProvider packagesProvider
                                         , IRPlotManagerProvider plotsProvider
                                         , IActiveWpfTextViewTracker activeTextViewTracker
                                         , IDebuggerModeTracker debuggerModeTracker
                                         // Required for the tests that create TestRInteractiveWorkflowProvider explicitly
                                         , [Import(AllowDefault = true)] IRHostBrokerConnector brokerConnector
                                         , ICoreShell shell
                                         , IRSettings settings
                                         , [Import(AllowDefault = true)] IWorkspaceServices wss
                                         )
 {
     _sessionProvider           = sessionProvider;
     _connectionManagerProvider = connectionManagerProvider;
     _historyProvider           = historyProvider;
     _packagesProvider          = packagesProvider;
     _plotsProvider             = plotsProvider;
     _activeTextViewTracker     = activeTextViewTracker;
     _debuggerModeTracker       = debuggerModeTracker;
     _brokerConnector           = brokerConnector;
     _shell    = shell;
     _settings = settings;
     _wss      = wss;
 }
Beispiel #6
0
 public ToggleMultilineHistorySelectionCommand(ITextView textView, IRHistoryProvider historyProvider, IRInteractiveWorkflow interactiveWorkflow, IRToolsSettings settings)
     : base(textView, RGuidList.RCmdSetGuid, RPackageCommandId.icmdToggleMultilineSelection, false)
 {
     _history             = historyProvider.GetAssociatedRHistory(textView);
     _settings            = settings;
     _interactiveWorkflow = interactiveWorkflow;
 }
Beispiel #7
0
 public DeleteSelectedHistoryEntriesCommand(ITextView textView, IRHistoryProvider historyProvider, IRInteractiveWorkflowVisual interactiveWorkflow)
     : base(textView, RGuidList.RCmdSetGuid, RPackageCommandId.icmdDeleteSelectedHistoryEntries, false)
 {
     _interactiveWorkflow = interactiveWorkflow;
     _history             = historyProvider.GetAssociatedRHistory(textView);
     _ui = _interactiveWorkflow.Services.UI();
 }
Beispiel #8
0
 public SendHistoryToSourceCommand(ITextView textView, IRHistoryProvider historyProvider, IRInteractiveWorkflow interactiveWorkflow, IContentTypeRegistryService contentTypeRegistry, IActiveWpfTextViewTracker textViewTracker)
     : base(textView, RGuidList.RCmdSetGuid, RPackageCommandId.icmdSendHistoryToSource, false)
 {
     _textViewTracker     = textViewTracker;
     _interactiveWorkflow = interactiveWorkflow;
     _contentType         = contentTypeRegistry.GetContentType(RContentTypeDefinition.ContentType);
     _history             = historyProvider.GetAssociatedRHistory(textView);
 }
Beispiel #9
0
 public SaveHistoryCommand(ITextView textView, IRHistoryProvider historyProvider, IRInteractiveWorkflowVisual interactiveWorkflow)
     : base(textView, RGuidList.RCmdSetGuid, RPackageCommandId.icmdSaveHistory, false)
 {
     _ui = interactiveWorkflow.Shell.UI();
     _interactiveWorkflow = interactiveWorkflow;
     _settings            = _interactiveWorkflow.Shell.GetService <IRSettings>();
     _history             = historyProvider.GetAssociatedRHistory(textView);
 }
 public SendHistoryToReplCommand(ITextView textView, IRHistoryProvider historyProvider, IRInteractiveWorkflow interactiveWorkflow)
     : base(textView, new [] {
     new CommandId(RGuidList.RCmdSetGuid, RPackageCommandId.icmdSendHistoryToRepl),
     new CommandId(VSConstants.VsStd11, (int)VSConstants.VSStd11CmdID.ExecuteLineInInteractive)
 }, false)
 {
     _interactiveWorkflow = interactiveWorkflow;
     _history             = historyProvider.GetAssociatedRHistory(textView);
 }
Beispiel #11
0
        public HistoryWindowPane(ITextBuffer historyTextBuffer, IRHistoryProvider historyProvider, ITextEditorFactoryService textEditorFactory)
        {
            _historyTextBuffer = historyTextBuffer;
            _historyProvider   = historyProvider;
            _textEditorFactory = textEditorFactory;

            Caption = Resources.HistoryWindowCaption;
            ToolBar = new CommandID(RGuidList.RCmdSetGuid, RPackageCommandId.historyWindowToolBarId);
        }
        public SendHistoryToSourceCommand(ITextView textView, IRHistoryProvider historyProvider, IRInteractiveWorkflow interactiveWorkflow, IContentTypeRegistryService contentTypeRegistry, IActiveWpfTextViewTracker textViewTracker)
            : base(textView, RGuidList.RCmdSetGuid, RPackageCommandId.icmdSendHistoryToSource, false) {

            _textViewTracker = textViewTracker;
            _interactiveWorkflow = interactiveWorkflow;
            _history = historyProvider.GetAssociatedRHistory(textView);

            _contentTypes.Add(contentTypeRegistry.GetContentType(RContentTypeDefinition.ContentType));
            _contentTypes.Add(contentTypeRegistry.GetContentType(MdProjectionContentTypeDefinition.ContentType));
        }
        public VsRHistoryCommandFactory(IRHistoryProvider historyProvider,
            IRInteractiveWorkflowProvider interactiveWorkflowProvider,
            IContentTypeRegistryService contentTypeRegistry,
            IActiveWpfTextViewTracker textViewTracker) {

            _historyProvider = historyProvider;
            _interactiveWorkflowProvider = interactiveWorkflowProvider;
            _contentTypeRegistry = contentTypeRegistry;
            _textViewTracker = textViewTracker;
        }
        public RHistoryWindowVisualComponent(ITextBuffer historyTextBuffer, IRHistoryProvider historyProvider, ITextEditorFactoryService textEditorFactory, IVisualComponentContainer <IRHistoryWindowVisualComponent> container)
        {
            _container = container;
            _history   = historyProvider.GetAssociatedRHistory(historyTextBuffer);

            TextView = CreateTextView(historyTextBuffer, textEditorFactory);
            TextView.Selection.SelectionChanged += TextViewSelectionChanged;

            Control = textEditorFactory.CreateTextViewHost(TextView, false).HostControl;
        }
 public VsRHistoryCommandFactory(IRInteractiveWorkflowVisualProvider interactiveWorkflowProvider,
                                 IContentTypeRegistryService contentTypeRegistry,
                                 IActiveWpfTextViewTracker textViewTracker,
                                 ICoreShell shell)
 {
     _historyProvider             = shell.Services.GetService <IRHistoryProvider>();
     _interactiveWorkflowProvider = interactiveWorkflowProvider;
     _contentTypeRegistry         = contentTypeRegistry;
     _textViewTracker             = textViewTracker;
 }
Beispiel #16
0
 public VsRHistoryCommandFactory(IRHistoryProvider historyProvider,
                                 IRInteractiveWorkflowProvider interactiveWorkflowProvider,
                                 IContentTypeRegistryService contentTypeRegistry,
                                 IActiveWpfTextViewTracker textViewTracker)
 {
     _historyProvider     = historyProvider;
     _interactiveWorkflow = interactiveWorkflowProvider.GetOrCreate();
     _contentTypeRegistry = contentTypeRegistry;
     _textViewTracker     = textViewTracker;
 }
Beispiel #17
0
        public HistoryWindowPane(ITextBuffer historyTextBuffer, IRHistoryProvider historyProvider, IServiceContainer services) : base(services)
        {
            _historyTextBuffer = historyTextBuffer;
            _historyProvider   = historyProvider;
            _textEditorFactory = services.GetService <ITextEditorFactoryService>();

            BitmapImageMoniker = KnownMonikers.History;
            Caption            = Resources.HistoryWindowCaption;
            ToolBar            = new System.ComponentModel.Design.CommandID(RGuidList.RCmdSetGuid, RPackageCommandId.historyWindowToolBarId);
        }
        public VsRInteractiveWorkflowProvider(IRSessionProvider sessionProvider
            , IRHistoryProvider historyProvider
            , IActiveWpfTextViewTracker activeTextViewTracker
            , IDebuggerModeTracker debuggerModeTracker) {

            _sessionProvider = sessionProvider;
            _historyProvider = historyProvider;
            _activeTextViewTracker = activeTextViewTracker;
            _debuggerModeTracker = debuggerModeTracker;
        }
Beispiel #19
0
 public VsRInteractiveWorkflowProvider(IRSessionProvider sessionProvider
                                       , IRHistoryProvider historyProvider
                                       , IActiveWpfTextViewTracker activeTextViewTracker
                                       , IDebuggerModeTracker debuggerModeTracker)
 {
     _sessionProvider       = sessionProvider;
     _historyProvider       = historyProvider;
     _activeTextViewTracker = activeTextViewTracker;
     _debuggerModeTracker   = debuggerModeTracker;
 }
        public RHistoryWindowVisualComponent(ITextBuffer historyTextBuffer, IRHistoryProvider historyProvider, ITextEditorFactoryService textEditorFactory, IVisualComponentContainer<IRHistoryWindowVisualComponent> container) {
            _container = container;
            _history = historyProvider.GetAssociatedRHistory(historyTextBuffer);

            TextView = CreateTextView(historyTextBuffer, textEditorFactory);
            Control = textEditorFactory.CreateTextViewHost(TextView, false).HostControl;
            Controller = ServiceManagerBase.GetService<ICommandTarget>(TextView);

            TextView.Selection.SelectionChanged += TextViewSelectionChanged;
        }
        public static IRInteractiveWorkflowProvider Create(IRSessionProvider sessionProvider = null
            , IRHistoryProvider historyProvider = null
            , IActiveWpfTextViewTracker activeTextViewTracker = null
            , IDebuggerModeTracker debuggerModeTracker = null
            , ICoreShell shell = null
            , IRSettings settings = null) {
            sessionProvider = sessionProvider ?? new RSessionProviderMock();
            historyProvider = historyProvider ?? RHistoryProviderStubFactory.CreateDefault();

            activeTextViewTracker = activeTextViewTracker ?? new ActiveTextViewTrackerMock(string.Empty, RContentTypeDefinition.ContentType);
            debuggerModeTracker = debuggerModeTracker ?? new VsDebuggerModeTracker();

           return new TestRInteractiveWorkflowProvider(sessionProvider, historyProvider, activeTextViewTracker, debuggerModeTracker, shell ?? VsAppShell.Current, settings ?? RToolsSettings.Current);
        }
 public VsRInteractiveWorkflowProvider(IRSessionProvider sessionProvider
                                       , IRHistoryProvider historyProvider
                                       , IRPackageManagerProvider packagesProvider
                                       , IRPlotManagerProvider plotsProvider
                                       , IActiveWpfTextViewTracker activeTextViewTracker
                                       , IDebuggerModeTracker debuggerModeTracker)
 {
     _sessionProvider       = sessionProvider;
     _historyProvider       = historyProvider;
     _packagesProvider      = packagesProvider;
     _plotsProvider         = plotsProvider;
     _activeTextViewTracker = activeTextViewTracker;
     _debuggerModeTracker   = debuggerModeTracker;
 }
Beispiel #23
0
        public VsRInteractiveWorkflowProvider(ICoreShell shell)
        {
            _shell = shell;

            _connectionsProvider   = shell.GetService <IConnectionManagerProvider>();
            _historyProvider       = shell.GetService <IRHistoryProvider>();
            _packagesProvider      = shell.GetService <IRPackageManagerProvider>();
            _plotsProvider         = shell.GetService <IRPlotManagerProvider>();
            _activeTextViewTracker = shell.GetService <IActiveWpfTextViewTracker>();
            _debuggerModeTracker   = shell.GetService <IDebuggerModeTracker>();
            _connectionsProvider   = shell.GetService <IConnectionManagerProvider>();

            _shell.Terminating += OnApplicationTerminating;
        }
        public TestRInteractiveWorkflowProvider(IRSessionProvider sessionProvider
            , IRHistoryProvider historyProvider
            , IActiveWpfTextViewTracker activeTextViewTracker
            , IDebuggerModeTracker debuggerModeTracker
            , ICoreShell shell
            , IRSettings settings) {

            _sessionProvider = sessionProvider;
            _historyProvider = historyProvider;
            _activeTextViewTracker = activeTextViewTracker;
            _debuggerModeTracker = debuggerModeTracker;
            _shell = shell;
            _settings = settings;
        }
 public TestRInteractiveWorkflowProvider(IRSessionProvider sessionProvider
                                         , IRHistoryProvider historyProvider
                                         , IActiveWpfTextViewTracker activeTextViewTracker
                                         , IDebuggerModeTracker debuggerModeTracker
                                         , ICoreShell shell
                                         , IRSettings settings)
 {
     _sessionProvider       = sessionProvider;
     _historyProvider       = historyProvider;
     _activeTextViewTracker = activeTextViewTracker;
     _debuggerModeTracker   = debuggerModeTracker;
     _shell    = shell;
     _settings = settings;
 }
Beispiel #26
0
        public static IRInteractiveWorkflowProvider Create(IRSessionProvider sessionProvider   = null
                                                           , IRHistoryProvider historyProvider = null
                                                           , IActiveWpfTextViewTracker activeTextViewTracker = null
                                                           , IDebuggerModeTracker debuggerModeTracker        = null
                                                           , ICoreShell shell    = null
                                                           , IRSettings settings = null)
        {
            sessionProvider = sessionProvider ?? new RSessionProviderMock();
            historyProvider = historyProvider ?? RHistoryProviderStubFactory.CreateDefault();

            activeTextViewTracker = activeTextViewTracker ?? new ActiveTextViewTrackerMock(string.Empty, RContentTypeDefinition.ContentType);
            debuggerModeTracker   = debuggerModeTracker ?? new VsDebuggerModeTracker();

            return(new TestRInteractiveWorkflowProvider(sessionProvider, historyProvider, activeTextViewTracker, debuggerModeTracker, shell ?? VsAppShell.Current, settings ?? RToolsSettings.Current));
        }
 public TestRInteractiveWorkflowProvider(IConnectionManagerProvider connectionManagerProvider
                                         , IRHistoryProvider historyProvider
                                         , IRPackageManagerProvider packagesProvider
                                         , IRPlotManagerProvider plotsProvider
                                         , IActiveWpfTextViewTracker activeTextViewTracker
                                         , IDebuggerModeTracker debuggerModeTracker
                                         , ICoreShell shell)
 {
     _connectionManagerProvider = connectionManagerProvider;
     _historyProvider           = historyProvider;
     _packagesProvider          = packagesProvider;
     _plotsProvider             = plotsProvider;
     _activeTextViewTracker     = activeTextViewTracker;
     _debuggerModeTracker       = debuggerModeTracker;
     _shell = shell;
 }
Beispiel #28
0
        public RInteractiveWorkflow(IRSessionProvider sessionProvider
                                    , IConnectionManagerProvider connectionsProvider
                                    , IRHistoryProvider historyProvider
                                    , IRPackageManagerProvider packagesProvider
                                    , IRPlotManagerProvider plotsProvider
                                    , IActiveWpfTextViewTracker activeTextViewTracker
                                    , IDebuggerModeTracker debuggerModeTracker
                                    , ICoreShell coreShell
                                    , IRSettings settings
                                    , IWorkspaceServices wss
                                    , Action onDispose)
        {
            _activeTextViewTracker = activeTextViewTracker;
            _debuggerModeTracker   = debuggerModeTracker;
            _settings  = settings;
            _wss       = wss;
            _onDispose = onDispose;

            Shell     = coreShell;
            RSessions = sessionProvider;

            RSession    = sessionProvider.GetOrCreate(GuidList.InteractiveWindowRSessionGuid);
            Connections = connectionsProvider.CreateConnectionManager(this);

            History     = historyProvider.CreateRHistory(this);
            Packages    = packagesProvider.CreateRPackageManager(settings, this);
            Plots       = plotsProvider.CreatePlotManager(settings, this, new FileSystem());
            _operations = new RInteractiveWorkflowOperations(this, _debuggerModeTracker, Shell);

            _activeTextViewTracker.LastActiveTextViewChanged += LastActiveTextViewChanged;
            RSession.Disconnected += RSessionDisconnected;

            _debuggerModeTracker.EnterBreakMode += DebuggerEnteredBreakMode;
            _debuggerModeTracker.LeaveBreakMode += DebuggerLeftBreakMode;

            _settings.PropertyChanged += OnSettingsChanged;

            _disposableBag = DisposableBag.Create <RInteractiveWorkflow>()
                             .Add(() => _settings.PropertyChanged           -= OnSettingsChanged)
                             .Add(() => _debuggerModeTracker.EnterBreakMode -= DebuggerEnteredBreakMode)
                             .Add(() => _debuggerModeTracker.LeaveBreakMode -= DebuggerLeftBreakMode)
                             .Add(() => _activeTextViewTracker.LastActiveTextViewChanged -= LastActiveTextViewChanged)
                             .Add(() => RSession.Disconnected -= RSessionDisconnected)
                             .Add(Operations)
                             .Add(Connections).
                             Add(_onDispose);
        }
 public TestRInteractiveWorkflowProvider(IConnectionManagerProvider connectionManagerProvider
     , IRHistoryProvider historyProvider
     , IRPackageManagerProvider packagesProvider
     , IRPlotManagerProvider plotsProvider
     , IActiveWpfTextViewTracker activeTextViewTracker
     , IDebuggerModeTracker debuggerModeTracker
     , ICoreShell shell
     , IRSettings settings) {
     _connectionManagerProvider = connectionManagerProvider;
     _historyProvider = historyProvider;
     _packagesProvider = packagesProvider;
     _plotsProvider = plotsProvider;
     _activeTextViewTracker = activeTextViewTracker;
     _debuggerModeTracker = debuggerModeTracker;
     _shell = shell;
     _settings = settings;
 }
Beispiel #30
0
        public RInteractiveWorkflow(IConnectionManagerProvider connectionsProvider
            , IRHistoryProvider historyProvider
            , IRPackageManagerProvider packagesProvider
            , IRPlotManagerProvider plotsProvider
            , IActiveWpfTextViewTracker activeTextViewTracker
            , IDebuggerModeTracker debuggerModeTracker
            , ICoreShell coreShell
            , IRSettings settings) {

            _activeTextViewTracker = activeTextViewTracker;
            _debuggerModeTracker = debuggerModeTracker;
            _settings = settings;

            Shell = coreShell;
            RSessions = new RSessionProvider(coreShell.Services, new InteractiveWindowConsole(this));

            RSession = RSessions.GetOrCreate(SessionGuids.InteractiveWindowRSessionGuid);
            RSession.RestartOnBrokerSwitch = true;
            Connections = connectionsProvider.CreateConnectionManager(this);

            History = historyProvider.CreateRHistory(this);
            Packages = packagesProvider.CreateRPackageManager(settings, this);
            Plots = plotsProvider.CreatePlotManager(settings, this, new FileSystem());
            _operations = new RInteractiveWorkflowOperations(this, _debuggerModeTracker, Shell);

            _activeTextViewTracker.LastActiveTextViewChanged += LastActiveTextViewChanged;
            RSession.Disconnected += RSessionDisconnected;

            _debuggerModeTracker.EnterBreakMode += DebuggerEnteredBreakMode;
            _debuggerModeTracker.LeaveBreakMode += DebuggerLeftBreakMode;

            _settings.PropertyChanged += OnSettingsChanged;

            _disposableBag = DisposableBag.Create<RInteractiveWorkflow>()
                .Add(() => _settings.PropertyChanged -= OnSettingsChanged)
                .Add(() => _debuggerModeTracker.EnterBreakMode -= DebuggerEnteredBreakMode)
                .Add(() => _debuggerModeTracker.LeaveBreakMode -= DebuggerLeftBreakMode)
                .Add(() => _activeTextViewTracker.LastActiveTextViewChanged -= LastActiveTextViewChanged)
                .Add(() => RSession.Disconnected -= RSessionDisconnected)
                .Add(RSessions)
                .Add(Operations)
                .Add(Connections);
        }
        public HistorySelectionTextAdornment(IWpfTextView textView, IEditorFormatMapService editorFormatMapService, IRHistoryProvider historyProvider) {
            _textView = textView;
            _layer = textView.GetAdornmentLayer("HistorySelectionTextAdornment");

            _editorFormatMap = editorFormatMapService.GetEditorFormatMap(_textView);
            _history = historyProvider.GetAssociatedRHistory(_textView);

            // Advise to events
            _editorFormatMap.FormatMappingChanged += OnFormatMappingChanged;
            _textView.VisualElement.GotKeyboardFocus += OnGotKeyboardFocus;
            _textView.VisualElement.LostKeyboardFocus += OnLostKeyboardFocus;
            _textView.LayoutChanged += OnLayoutChanged;
            _textView.Closed += OnClosed;
            _history.SelectionChanged += OnSelectionChanged;

            _activeVisualToolset = CreateVisualToolset(ActiveSelectionPropertiesName, SystemColors.HighlightColor);
            _inactiveVisualToolset = CreateVisualToolset(InactiveSelectionPropertiesName, SystemColors.GrayTextColor);
            Redraw();
        }
        public VsRInteractiveWorkflowProvider(IConnectionManagerProvider connectionsProvider
                                              , IRHistoryProvider historyProvider
                                              , IRPackageManagerProvider packagesProvider
                                              , IRPlotManagerProvider plotsProvider
                                              , IActiveWpfTextViewTracker activeTextViewTracker
                                              , IDebuggerModeTracker debuggerModeTracker
                                              , IApplicationShell shell
                                              , IRSettings settings)
        {
            _connectionsProvider   = connectionsProvider;
            _historyProvider       = historyProvider;
            _packagesProvider      = packagesProvider;
            _plotsProvider         = plotsProvider;
            _activeTextViewTracker = activeTextViewTracker;
            _debuggerModeTracker   = debuggerModeTracker;
            _shell    = shell;
            _settings = settings;

            _shell.Terminating += OnApplicationTerminating;
        }
Beispiel #33
0
 public VsRInteractiveWorkflowProvider(IRSessionProvider sessionProvider
                                       , IConnectionManagerProvider connectionsProvider
                                       , IRHistoryProvider historyProvider
                                       , IRPackageManagerProvider packagesProvider
                                       , IRPlotManagerProvider plotsProvider
                                       , IActiveWpfTextViewTracker activeTextViewTracker
                                       , IDebuggerModeTracker debuggerModeTracker
                                       , ICoreShell shell
                                       , IWorkspaceServices wss)
 {
     _sessionProvider       = sessionProvider;
     _connectionsProvider   = connectionsProvider;
     _historyProvider       = historyProvider;
     _packagesProvider      = packagesProvider;
     _plotsProvider         = plotsProvider;
     _activeTextViewTracker = activeTextViewTracker;
     _debuggerModeTracker   = debuggerModeTracker;
     _shell = shell;
     _wss   = wss;
 }
        public VsRInteractiveWorkflowProvider(IConnectionManagerProvider connectionsProvider
            , IRHistoryProvider historyProvider
            , IRPackageManagerProvider packagesProvider
            , IRPlotManagerProvider plotsProvider
            , IActiveWpfTextViewTracker activeTextViewTracker
            , IDebuggerModeTracker debuggerModeTracker
            , IApplicationShell shell
            , IRSettings settings) {

            _connectionsProvider = connectionsProvider;
            _historyProvider = historyProvider;
            _packagesProvider = packagesProvider;
            _plotsProvider = plotsProvider;
            _activeTextViewTracker = activeTextViewTracker;
            _debuggerModeTracker = debuggerModeTracker;
            _shell = shell;
            _settings = settings;

            _shell.Terminating += OnApplicationTerminating;
        }
Beispiel #35
0
        public RInteractiveWorkflow(IConnectionManagerProvider connectionsProvider
                                    , IRHistoryProvider historyProvider
                                    , IRPackageManagerProvider packagesProvider
                                    , IRPlotManagerProvider plotsProvider
                                    , IActiveWpfTextViewTracker activeTextViewTracker
                                    , IDebuggerModeTracker debuggerModeTracker
                                    , ICoreShell coreShell)
        {
            _activeTextViewTracker = activeTextViewTracker;
            _debuggerModeTracker   = debuggerModeTracker;
            _settings   = coreShell.GetService <IRSettings>();
            _mainThread = coreShell.MainThread();

            Shell = coreShell;
            var console = new InteractiveWindowConsole(this);

            Console   = console;
            RSessions = new RSessionProvider(coreShell.Services, Console);

            RSession    = RSessions.GetOrCreate(SessionNames.InteractiveWindow);
            Connections = connectionsProvider.CreateConnectionManager(this);

            History     = historyProvider.CreateRHistory(this);
            Packages    = packagesProvider.CreateRPackageManager(_settings, this);
            Plots       = plotsProvider.CreatePlotManager(_settings, this, coreShell.FileSystem());
            _operations = new RInteractiveWorkflowOperations(this, _debuggerModeTracker, Shell);

            _activeTextViewTracker.LastActiveTextViewChanged += LastActiveTextViewChanged;
            RSession.Disconnected += RSessionDisconnected;

            _settings.PropertyChanged += OnSettingsChanged;

            _disposableBag = DisposableBag.Create <RInteractiveWorkflow>()
                             .Add(() => _settings.PropertyChanged -= OnSettingsChanged)
                             .Add(() => _activeTextViewTracker.LastActiveTextViewChanged -= LastActiveTextViewChanged)
                             .Add(() => RSession.Disconnected -= RSessionDisconnected)
                             .Add(RSessions)
                             .Add(Operations)
                             .Add(Connections)
                             .Add(console);
        }
Beispiel #36
0
        public RInteractiveWorkflow(IRSessionProvider sessionProvider
                                    , IRHistoryProvider historyProvider
                                    , IActiveWpfTextViewTracker activeTextViewTracker
                                    , IDebuggerModeTracker debuggerModeTracker
                                    , IRHostClientApp hostClientApp
                                    , ICoreShell coreShell
                                    , IRSettings settings
                                    , Action onDispose)
        {
            _activeTextViewTracker = activeTextViewTracker;
            _debuggerModeTracker   = debuggerModeTracker;
            _settings  = settings;
            _coreShell = coreShell;
            _onDispose = onDispose;

            RSession    = sessionProvider.GetOrCreate(GuidList.InteractiveWindowRSessionGuid, hostClientApp);
            History     = historyProvider.CreateRHistory(this);
            _operations = new RInteractiveWorkflowOperations();

            _activeTextViewTracker.LastActiveTextViewChanged += LastActiveTextViewChanged;
            RSession.Disconnected += RSessionDisconnected;
        }
        public static TestRInteractiveWorkflowProvider Create(IConnectionManagerProvider connectionsProvider    = null
                                                              , IRHistoryProvider historyProvider               = null
                                                              , IRPackageManagerProvider packagesProvider       = null
                                                              , IRPlotManagerProvider plotsProvider             = null
                                                              , IActiveWpfTextViewTracker activeTextViewTracker = null
                                                              , IDebuggerModeTracker debuggerModeTracker        = null
                                                              , ICoreShell shell    = null
                                                              , IRSettings settings = null)
        {
            connectionsProvider = connectionsProvider ?? ConnectionManagerProviderStubFactory.CreateDefault();
            historyProvider     = historyProvider ?? RHistoryProviderStubFactory.CreateDefault();
            packagesProvider    = packagesProvider ?? RPackageManagerProviderStubFactory.CreateDefault();
            plotsProvider       = plotsProvider ?? RPlotManagerProviderStubFactory.CreateDefault();

            activeTextViewTracker = activeTextViewTracker ?? new ActiveTextViewTrackerMock(string.Empty, RContentTypeDefinition.ContentType);
            debuggerModeTracker   = debuggerModeTracker ?? new VsDebuggerModeTracker(shell ?? Substitute.For <ICoreShell>());
            shell = shell ?? VsAppShell.Current;

            return(new TestRInteractiveWorkflowProvider(
                       connectionsProvider, historyProvider, packagesProvider, plotsProvider,
                       activeTextViewTracker, debuggerModeTracker, shell));
        }
        public RInteractiveWorkflow(IRSessionProvider sessionProvider
            , IRHistoryProvider historyProvider
            , IActiveWpfTextViewTracker activeTextViewTracker
            , IDebuggerModeTracker debuggerModeTracker
            , IRHostClientApp hostClientApp
            , ICoreShell coreShell
            , IRSettings settings
            , Action onDispose) {

            _activeTextViewTracker = activeTextViewTracker;
            _debuggerModeTracker = debuggerModeTracker;
            _settings = settings;
            _coreShell = coreShell;
            _onDispose = onDispose;

            RSession = sessionProvider.GetOrCreate(GuidList.InteractiveWindowRSessionGuid, hostClientApp);
            History = historyProvider.CreateRHistory(this);
            _operations = new RInteractiveWorkflowOperations();

            _activeTextViewTracker.LastActiveTextViewChanged += LastActiveTextViewChanged;
            RSession.Disconnected += RSessionDisconnected;
        }
        public static TestRInteractiveWorkflowProvider Create(IConnectionManagerProvider connectionsProvider = null
            , IRHistoryProvider historyProvider = null
            , IRPackageManagerProvider packagesProvider = null
            , IRPlotManagerProvider plotsProvider = null
            , IActiveWpfTextViewTracker activeTextViewTracker = null
            , IDebuggerModeTracker debuggerModeTracker = null
            , ICoreShell shell = null
            , IRSettings settings = null) {
            connectionsProvider = connectionsProvider ?? ConnectionManagerProviderStubFactory.CreateDefault();
            historyProvider = historyProvider ?? RHistoryProviderStubFactory.CreateDefault();
            packagesProvider = packagesProvider ?? RPackageManagerProviderStubFactory.CreateDefault();
            plotsProvider = plotsProvider ?? RPlotManagerProviderStubFactory.CreateDefault();

            activeTextViewTracker = activeTextViewTracker ?? new ActiveTextViewTrackerMock(string.Empty, RContentTypeDefinition.ContentType);
            debuggerModeTracker = debuggerModeTracker ?? new VsDebuggerModeTracker();
            shell = shell ?? VsAppShell.Current;
            settings = settings ?? RToolsSettings.Current;

            return new TestRInteractiveWorkflowProvider(
                connectionsProvider, historyProvider, packagesProvider, plotsProvider,
                activeTextViewTracker, debuggerModeTracker, shell, settings);
        }
        public RInteractiveWorkflow(IConnectionManagerProvider connectionsProvider
                                    , IContainerManagerProvider containerProvider
                                    , IRHistoryProvider historyProvider
                                    , IRPackageManagerProvider packagesProvider
                                    , IRPlotManagerProvider plotsProvider
                                    , IActiveWpfTextViewTracker activeTextViewTracker
                                    , IDebuggerModeTracker debuggerModeTracker
                                    , IServiceManager services)
        {
            _services = services
                        .AddService <IRInteractiveWorkflow>(this)
                        .AddService <IConsole, InteractiveWindowConsole>()
                        .AddService <IRSessionProvider, RSessionProvider>()
                        .AddService(s => connectionsProvider.CreateConnectionManager(this))
                        .AddService(s => containerProvider.CreateContainerManager(this))
                        .AddService(s => historyProvider.CreateRHistory(this))
                        .AddService(s => packagesProvider.CreateRPackageManager(this))
                        .AddService(s => plotsProvider.CreatePlotManager(this));

            _settings   = _services.GetService <IRSettings>();
            _mainThread = _services.MainThread();
            _operations = new RInteractiveWorkflowOperations(this, debuggerModeTracker, Services);

            RSession = RSessions.GetOrCreate(SessionNames.InteractiveWindow);

            _settings.PropertyChanged += OnSettingsChanged;
            activeTextViewTracker.LastActiveTextViewChanged += LastActiveTextViewChanged;
            RSession.Disconnected += RSessionDisconnected;

            _disposableBag = DisposableBag.Create <RInteractiveWorkflow>()
                             .Add(() => _settings.PropertyChanged -= OnSettingsChanged)
                             .Add(() => activeTextViewTracker.LastActiveTextViewChanged -= LastActiveTextViewChanged)
                             .Add(() => RSession.Disconnected -= RSessionDisconnected)
                             .Add(Operations)
                             .Add(_services);
        }
Beispiel #41
0
        public RInteractiveWorkflow(IRSessionProvider sessionProvider
                                    , IConnectionManagerProvider connectionsProvider
                                    , IRHistoryProvider historyProvider
                                    , IRPackageManagerProvider packagesProvider
                                    , IRPlotManagerProvider plotsProvider
                                    , IActiveWpfTextViewTracker activeTextViewTracker
                                    , IDebuggerModeTracker debuggerModeTracker
                                    , IRHostBrokerConnector brokerConnector
                                    , ICoreShell coreShell
                                    , IRSettings settings
                                    , IWorkspaceServices wss
                                    , Action onDispose)
        {
            _activeTextViewTracker = activeTextViewTracker;
            _debuggerModeTracker   = debuggerModeTracker;
            _settings  = settings;
            _wss       = wss;
            _onDispose = onDispose;

            Shell           = coreShell;
            BrokerConnector = brokerConnector;

            RSession    = sessionProvider.GetOrCreate(GuidList.InteractiveWindowRSessionGuid, brokerConnector);
            Connections = connectionsProvider.CreateConnectionManager(this);

            History     = historyProvider.CreateRHistory(this);
            Packages    = packagesProvider.CreateRPackageManager(sessionProvider, settings, this);
            Plots       = plotsProvider.CreatePlotManager(settings, this);
            _operations = new RInteractiveWorkflowOperations(this, _debuggerModeTracker, Shell);

            _activeTextViewTracker.LastActiveTextViewChanged += LastActiveTextViewChanged;
            RSession.Disconnected += RSessionDisconnected;

            _debuggerModeTracker.EnterBreakMode += DebuggerEnteredBreakMode;
            _debuggerModeTracker.LeaveBreakMode += DebuggerLeftBreakMode;
        }
 public HistoryWindowVsStd2KCmdIdDown(ITextView textView, IRHistoryProvider historyProvider) 
     : base(textView, historyProvider, VSConstants.VSStd2KCmdID.DOWN) {}
Beispiel #43
0
 public SaveHistoryCommand(IApplicationShell appShell, ITextView textView, IRHistoryProvider historyProvider, IRInteractiveWorkflow interactiveWorkflow)
     : base(textView, RGuidList.RCmdSetGuid, RPackageCommandId.icmdSaveHistory, false) {
     _appShell = appShell;
     _interactiveWorkflow = interactiveWorkflow;
     _history = historyProvider.GetAssociatedRHistory(textView);
 }
 public HistoryWindowVsStd2KCmdIdPageUp(ITextView textView, IRHistoryProvider historyProvider) 
     : base(textView, historyProvider, VSConstants.VSStd2KCmdID.PAGEUP) {}
 public DeleteSelectedHistoryEntriesCommand(ITextView textView, IRHistoryProvider historyProvider, IRInteractiveWorkflow interactiveWorkflow)
     : base(textView, RGuidList.RCmdSetGuid, RPackageCommandId.icmdDeleteSelectedHistoryEntries, false) {
     _interactiveWorkflow = interactiveWorkflow;
     _history = historyProvider.GetAssociatedRHistory(textView);
 }
 public RHistoryVisualComponentContainerFactoryMock(IRHistoryProvider historyProvider, ITextEditorFactoryService textEditorFactory) {
     _historyProvider = historyProvider;
     _textEditorFactory = textEditorFactory;
 }
 public HistoryWindowVsStd2KCmdIdEnd(ITextView textView, IRHistoryProvider historyProvider) 
     : base(textView, historyProvider, VSConstants.VSStd2KCmdID.END, VSConstants.VSStd2KCmdID.EOL) {}
 public ToggleMultilineHistorySelectionCommand(ITextView textView, IRHistoryProvider historyProvider, IRInteractiveWorkflow interactiveWorkflow, IRToolsSettings settings)
     : base(textView, RGuidList.RCmdSetGuid, RPackageCommandId.icmdToggleMultilineSelection, false) {
     _history = historyProvider.GetAssociatedRHistory(textView);
     _settings = settings;
     _interactiveWorkflow = interactiveWorkflow;
 }
 public HistoryWindowVsStd2KCmdIdHome(ITextView textView, IRHistoryProvider historyProvider) 
     : base(textView, historyProvider, VSConstants.VSStd2KCmdID.HOME, VSConstants.VSStd2KCmdID.BOL) {}
 public CopySelectedHistoryCommand(ITextView textView, IRHistoryProvider historyProvider, IRInteractiveWorkflow interactiveWorkflow)
     : base(textView, VSConstants.GUID_VSStandardCommandSet97, (int)VSConstants.VSStd97CmdID.Copy, false) {
     _interactiveWorkflow = interactiveWorkflow;
     _history = historyProvider.GetAssociatedRHistory(textView);
 }
 public HistoryWindowVsStd97CmdIdSelectAllCommand(ITextView textView, IRHistoryProvider historyProvider, IRInteractiveWorkflow interactiveWorkflow)
     : base(textView, SelectAllCommandIds, false) {
     _interactiveWorkflow = interactiveWorkflow;
     _history = historyProvider.GetAssociatedRHistory(textView);
 }
Beispiel #52
0
 public HistoryWindowVsStd97CmdIdSelectAllCommand(ITextView textView, IRHistoryProvider historyProvider, IRInteractiveWorkflowVisual interactiveWorkflow)
     : base(textView, SelectAllCommandIds, false)
 {
     _interactiveWorkflow = interactiveWorkflow;
     _history             = historyProvider.GetAssociatedRHistory(textView);
 }
 public HistoryWindowPaneMouseProcessorProvider(IRHistoryProvider historyProvider) {
     _historyProvider = historyProvider;
 }