public VsRInteractiveWorkflowProvider(ICoreShell shell) { _shell = shell; _connectionsProvider = shell.GetService <IConnectionManagerProvider>(); _containerProvider = shell.GetService <IContainerManagerProvider>(); _historyProvider = shell.GetService <IRHistoryProvider>(); _packagesProvider = shell.GetService <IRPackageManagerProvider>(); _plotsProvider = shell.GetService <IRPlotManagerProvider>(); _activeTextViewTracker = shell.GetService <IActiveWpfTextViewTracker>(); _debuggerModeTracker = shell.GetService <IDebuggerModeTracker>(); _app = _shell.GetService <IApplication>(); _app.Terminating += OnApplicationTerminating; }
public TestRInteractiveWorkflowProvider(IConnectionManagerProvider connectionManagerProvider , IContainerManagerProvider containerManagerProvider , IRHistoryProvider historyProvider , IRPackageManagerProvider packagesProvider , IRPlotManagerProvider plotsProvider , IActiveWpfTextViewTracker activeTextViewTracker , IDebuggerModeTracker debuggerModeTracker , ICoreShell shell) { _connectionManagerProvider = connectionManagerProvider; _containerManagerProvider = containerManagerProvider; _historyProvider = historyProvider; _packagesProvider = packagesProvider; _plotsProvider = plotsProvider; _activeTextViewTracker = activeTextViewTracker; _debuggerModeTracker = debuggerModeTracker; _shell = shell; }
public static TestRInteractiveWorkflowProvider Create(IConnectionManagerProvider connectionsProvider = null , IContainerManagerProvider containerProvider = 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(); containerProvider = containerProvider ?? ContainerManagerProviderStubFactory.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, containerProvider, historyProvider, packagesProvider, plotsProvider, activeTextViewTracker, debuggerModeTracker, shell)); }
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); }