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;
 }
示例#2
0
 public ShowHelpOnCurrentCommand(IRInteractiveWorkflow workflow, IActiveWpfTextViewTracker textViewTracker, IActiveRInteractiveWindowTracker activeReplTracker) :
     base(RGuidList.RCmdSetGuid, RPackageCommandId.icmdHelpOnCurrent)
 {
     _activeReplTracker = activeReplTracker;
     _workflow          = workflow;
     _textViewTracker   = textViewTracker;
 }
示例#3
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 ShowHelpOnCurrentCommand(
     IRInteractiveWorkflow workflow,
     IActiveWpfTextViewTracker textViewTracker,
     IActiveRInteractiveWindowTracker activeReplTracker) :
     base(RGuidList.RCmdSetGuid, RPackageCommandId.icmdHelpOnCurrent,
         workflow, textViewTracker, activeReplTracker, Resources.OpenFunctionHelp) {
 }
示例#5
0
        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;
        }
示例#6
0
 public SourceRScriptCommand(IRInteractiveWorkflowVisual interactiveWorkflow, IActiveWpfTextViewTracker activeTextViewTracker, bool echo)
 {
     _interactiveWorkflow   = interactiveWorkflow;
     _activeTextViewTracker = activeTextViewTracker;
     _echo = echo;
     _fs   = _interactiveWorkflow.Shell.FileSystem();
 }
示例#7
0
 public ShowHelpOnCurrentCommand(
     IRInteractiveWorkflow workflow,
     IActiveWpfTextViewTracker textViewTracker,
     IActiveRInteractiveWindowTracker activeReplTracker) :
     base(RGuidList.RCmdSetGuid, RPackageCommandId.icmdHelpOnCurrent,
          workflow, textViewTracker, activeReplTracker, Resources.OpenFunctionHelp)
 {
 }
 public SearchWebForCurrentCommand(
     IRInteractiveWorkflow workflow,
     IActiveWpfTextViewTracker textViewTracker,
     IActiveRInteractiveWindowTracker activeReplTracker) :
     base(RGuidList.RCmdSetGuid, RPackageCommandId.icmdSearchWebForCurrent,
          workflow, textViewTracker, activeReplTracker, Resources.SearchWebFor)
 {
 }
示例#9
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);
 }
 public SearchWebForCurrentCommand(
     IRInteractiveWorkflow workflow,
     IActiveWpfTextViewTracker textViewTracker,
     IActiveRInteractiveWindowTracker activeReplTracker,
     IWebBrowserServices webBrowserServices) :
     base(RGuidList.RCmdSetGuid, RPackageCommandId.icmdSearchWebForCurrent,
         workflow, textViewTracker, activeReplTracker, Resources.SearchWebFor) {
     _webBrowserServices = webBrowserServices;
 }
示例#11
0
 public SearchWebForCurrentCommand(
     IRInteractiveWorkflow workflow,
     IActiveWpfTextViewTracker textViewTracker,
     IActiveRInteractiveWindowTracker activeReplTracker) :
     base(RGuidList.RCmdSetGuid, RPackageCommandId.icmdSearchWebForCurrent,
          workflow, textViewTracker, activeReplTracker, Resources.SearchWebFor)
 {
     _settings = workflow.Shell.GetService <IRToolsSettings>();
 }
        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));
        }
示例#13
0
        public VsRHistoryCommandFactory(IRHistoryProvider historyProvider,
            IRInteractiveWorkflowProvider interactiveWorkflowProvider,
            IContentTypeRegistryService contentTypeRegistry,
            IActiveWpfTextViewTracker textViewTracker) {

            _historyProvider = historyProvider;
            _interactiveWorkflowProvider = interactiveWorkflowProvider;
            _contentTypeRegistry = contentTypeRegistry;
            _textViewTracker = textViewTracker;
        }
示例#14
0
 public VsRHistoryCommandFactory(IRHistoryProvider historyProvider,
                                 IRInteractiveWorkflowProvider interactiveWorkflowProvider,
                                 IContentTypeRegistryService contentTypeRegistry,
                                 IActiveWpfTextViewTracker textViewTracker)
 {
     _historyProvider     = historyProvider;
     _interactiveWorkflow = interactiveWorkflowProvider.GetOrCreate();
     _contentTypeRegistry = contentTypeRegistry;
     _textViewTracker     = textViewTracker;
 }
        public VsRInteractiveWorkflowProvider(IRSessionProvider sessionProvider
            , IRHistoryProvider historyProvider
            , IActiveWpfTextViewTracker activeTextViewTracker
            , IDebuggerModeTracker debuggerModeTracker) {

            _sessionProvider = sessionProvider;
            _historyProvider = historyProvider;
            _activeTextViewTracker = activeTextViewTracker;
            _debuggerModeTracker = debuggerModeTracker;
        }
示例#16
0
        public GotoEditorWindowCommand(IActiveWpfTextViewTracker viewTracker, IServiceContainer services) :
            base(RGuidList.RCmdSetGuid, RPackageCommandId.icmdShowEditorWindow)
        {
            _viewTracker = viewTracker;
            _services    = services;

            var svc = services.GetService <IContentTypeRegistryService>();

            _rContentType = svc.GetContentType(RContentTypeDefinition.ContentType);
        }
示例#17
0
 public VsRInteractiveWorkflowProvider(IRSessionProvider sessionProvider
                                       , IRHistoryProvider historyProvider
                                       , IActiveWpfTextViewTracker activeTextViewTracker
                                       , IDebuggerModeTracker debuggerModeTracker)
 {
     _sessionProvider       = sessionProvider;
     _historyProvider       = historyProvider;
     _activeTextViewTracker = activeTextViewTracker;
     _debuggerModeTracker   = debuggerModeTracker;
 }
示例#18
0
 public VsRHistoryCommandFactory(IRInteractiveWorkflowVisualProvider interactiveWorkflowProvider,
                                 IContentTypeRegistryService contentTypeRegistry,
                                 IActiveWpfTextViewTracker textViewTracker,
                                 ICoreShell shell)
 {
     _historyProvider             = shell.Services.GetService <IRHistoryProvider>();
     _interactiveWorkflowProvider = interactiveWorkflowProvider;
     _contentTypeRegistry         = contentTypeRegistry;
     _textViewTracker             = textViewTracker;
 }
示例#19
0
 public HelpOnCurrentCommandBase(
     Guid group, int id,
     IRInteractiveWorkflow workflow, 
     IActiveWpfTextViewTracker textViewTracker, 
     IActiveRInteractiveWindowTracker activeReplTracker,
     string baseCommandName) :
     base(group, id) {
     _activeReplTracker = activeReplTracker;
     _workflow = workflow;
     _textViewTracker = textViewTracker;
     _baseCommandName = baseCommandName;
 }
 public SourceRScriptCommand(IRInteractiveWorkflow interactiveWorkflow, IActiveWpfTextViewTracker activeTextViewTracker)
     : base(RGuidList.RCmdSetGuid, RPackageCommandId.icmdSourceRScript) {
     _interactiveWorkflow = interactiveWorkflow;
     _activeTextViewTracker = activeTextViewTracker;
     _operations = interactiveWorkflow.Operations;
     _monitorSelection = VsAppShell.Current.GetGlobalService<IVsMonitorSelection>(typeof(SVsShellMonitorSelection));
     if (_monitorSelection != null) {
         var debugUIContextGuid = new Guid(UIContextGuids.Debugging);
         if (ErrorHandler.Failed(_monitorSelection.GetCmdUIContextCookie(ref debugUIContextGuid, out _debugUIContextCookie))) {
             _monitorSelection = null;
         }
     }
 }
示例#21
0
 public HelpOnCurrentCommandBase(
     Guid group, int id,
     IRInteractiveWorkflow workflow,
     IActiveWpfTextViewTracker textViewTracker,
     IActiveRInteractiveWindowTracker activeReplTracker,
     string baseCommandName) :
     base(group, id)
 {
     _activeReplTracker = activeReplTracker;
     _workflow          = workflow;
     _textViewTracker   = textViewTracker;
     _baseCommandName   = baseCommandName;
 }
 public TestRInteractiveWorkflowProvider(IRPackageManagerProvider packagesProvider
                                         , IRPlotManagerProvider plotsProvider
                                         , IActiveWpfTextViewTracker activeTextViewTracker
                                         , IDebuggerModeTracker debuggerModeTracker
                                         , ICoreShell shell)
     : this(shell.GetService <IConnectionManagerProvider>()
            , shell.GetService <IRHistoryProvider>()
            , packagesProvider
            , plotsProvider
            , activeTextViewTracker
            , debuggerModeTracker
            , shell)
 {
 }
 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;
 }
 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;
 }
示例#25
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 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);
        }
示例#28
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;
 }
示例#30
0
 public SourceRScriptCommand(IRInteractiveWorkflow interactiveWorkflow, IActiveWpfTextViewTracker activeTextViewTracker)
     : base(RGuidList.RCmdSetGuid, RPackageCommandId.icmdSourceRScript)
 {
     _interactiveWorkflow   = interactiveWorkflow;
     _activeTextViewTracker = activeTextViewTracker;
     _operations            = interactiveWorkflow.Operations;
     _monitorSelection      = VsAppShell.Current.GetGlobalService <IVsMonitorSelection>(typeof(SVsShellMonitorSelection));
     if (_monitorSelection != null)
     {
         var debugUIContextGuid = new Guid(UIContextGuids.Debugging);
         if (ErrorHandler.Failed(_monitorSelection.GetCmdUIContextCookie(ref debugUIContextGuid, out _debugUIContextCookie)))
         {
             _monitorSelection = null;
         }
     }
 }
示例#31
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;
 }
示例#33
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 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;
        }
示例#35
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;
        }
示例#37
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);
        }
        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 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;
        }
示例#41
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 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);
        }
示例#43
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;
        }
示例#44
0
 public SourceRScriptCommand(IRInteractiveWorkflow interactiveWorkflow, IActiveWpfTextViewTracker activeTextViewTracker, bool echo) {
     _interactiveWorkflow = interactiveWorkflow;
     _activeTextViewTracker = activeTextViewTracker;
     _echo = echo;
 }
 public ShowHelpOnCurrentCommand(IRInteractiveWorkflow workflow, IActiveWpfTextViewTracker textViewTracker) :
     base(RGuidList.RCmdSetGuid, RPackageCommandId.icmdHelpOnCurrent) {
     _workflow = workflow;
     _textViewTracker = textViewTracker;
 }
示例#46
0
 public SourceRScriptCommand(IRInteractiveWorkflow interactiveWorkflow, IActiveWpfTextViewTracker activeTextViewTracker, bool echo)
 {
     _interactiveWorkflow   = interactiveWorkflow;
     _activeTextViewTracker = activeTextViewTracker;
     _echo = echo;
 }
 public SetDirectoryToSourceCommand(IRInteractiveWorkflow interactiveWorkflow, IActiveWpfTextViewTracker viewTracker) :
     base(RGuidList.RCmdSetGuid, (int)RPackageCommandId.icmdSetDirectoryToSourceCommand) {
     _interactiveWorkflow = interactiveWorkflow;
     _viewTracker = viewTracker;
 }
示例#48
0
 public GotoEditorWindowCommand(IActiveWpfTextViewTracker viewTracker, IContentTypeRegistryService svc) :
     base(RGuidList.RCmdSetGuid, RPackageCommandId.icmdShowEditorWindow) {
     _viewTracker = viewTracker;
     _rContentType = svc.GetContentType(RContentTypeDefinition.ContentType);
 }