Exemplo n.º 1
0
        public VariableView(IServiceContainer services)
        {
            _settings           = services.GetService <IRSettings>();
            _services           = services;
            _ui                 = _services.UI();
            _ui.UIThemeChanged += OnUIThemeChanged;

            InitializeComponent();
            SetImageBackground();
            FocusManager.SetFocusedElement(this, RootTreeGrid);

            _aggregator = _services.GetService <IObjectDetailsViewerAggregator>();
            SetRootNode(VariableViewModel.Ellipsis);

            SortDirection                  = ListSortDirection.Ascending;
            RootTreeGrid.Sorting          += RootTreeGrid_Sorting;
            RootTreeGrid.SelectionChanged += RootTreeGrid_SelectionChanged;

            var workflow = _services.GetService <IRInteractiveWorkflowProvider>().GetOrCreate();

            _session = workflow.RSession;

            _environmentProvider            = new REnvironmentProvider(_session, _services.MainThread());
            EnvironmentComboBox.DataContext = _environmentProvider;
            _environmentProvider.RefreshEnvironmentsAsync().DoNotWait();
        }
Exemplo n.º 2
0
 public WebBrowserServices(ICoreShell coreShell)
 {
     _coreShell = coreShell;
     _wbs       = _coreShell.GetService <IVsWebBrowsingService>(typeof(SVsWebBrowsingService));
     _ps        = _coreShell.Process();
     _settings  = _coreShell.GetService <IRSettings>();
 }
Exemplo n.º 3
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;
        }
 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;
 }
Exemplo n.º 5
0
 public static void Initialize(IPackageIndex packageIndex, IRSettings settings, ITelemetryService service = null)
 {
     if (Current == null)
     {
         Current = new RtvsTelemetry(packageIndex, settings, service);
     }
 }
Exemplo n.º 6
0
        public ConnectionManager(IStatusBar statusBar, IRSessionProvider sessionProvider, IRSettings settings, IRInteractiveWorkflow interactiveWorkflow)
        {
            _statusBar       = statusBar;
            _sessionProvider = sessionProvider;
            _brokerConnector = interactiveWorkflow.BrokerConnector;
            _settings        = settings;
            _shell           = interactiveWorkflow.Shell;

            _statusBarViewModel = new ConnectionStatusBarViewModel(this, interactiveWorkflow.Shell);

            _disposableBag = DisposableBag.Create <ConnectionManager>()
                             .Add(_statusBarViewModel)
                             .Add(() => _brokerConnector.BrokerChanged            -= BrokerChanged)
                             .Add(() => interactiveWorkflow.RSession.Connected    -= RSessionOnConnected)
                             .Add(() => interactiveWorkflow.RSession.Disconnected -= RSessionOnDisconnected);

            _brokerConnector.BrokerChanged += BrokerChanged;
            // TODO: Temporary solution - need to separate RHost errors and network connection issues
            interactiveWorkflow.RSession.Connected    += RSessionOnConnected;
            interactiveWorkflow.RSession.Disconnected += RSessionOnDisconnected;

            _shell.DispatchOnUIThread(() => _disposableBag.Add(_statusBar.AddItem(new ConnectionStatusBar {
                DataContext = _statusBarViewModel
            })));

            // Get initial values
            var connections = GetConnectionsFromSettings();

            _connections = new ConcurrentDictionary <Uri, IConnection>(connections);

            UpdateRecentConnections();
            SwitchBrokerToLastConnection();
        }
Exemplo n.º 7
0
        public void RunBrowserTest(WebBrowserRole role, Guid guid, string title, IRSettings externalSettings, IRSettings internalSettings)
        {
            var shell = TestCoreShell.CreateSubstitute();
            var vswbs = Substitute.For <IVsWebBrowsingService>();

            shell.ServiceManager
            .AddService(vswbs, typeof(SVsWebBrowsingService))
            .AddService(externalSettings);
            var ps = shell.GetService <IProcessServices>();

            var wbs = new WebBrowserServices(shell);

            wbs.OpenBrowser(role, _url);
            ps.Received().Start(_url);

            ps.ClearReceivedCalls();
            shell.ServiceManager.RemoveService <IRSettings>();
            shell.ServiceManager.AddService(internalSettings);

            wbs = new WebBrowserServices(shell);
            wbs.OpenBrowser(role, _url);

            UIThreadHelper.Instance.DoEvents();
            ps.DidNotReceive().Start(_url);

            vswbs.Received().CreateWebBrowser(Arg.Any <uint>(), guid, title, _url, null, out var vswb, out var frame);
        }
Exemplo n.º 8
0
        public ConnectionManager(IStatusBar statusBar, IRSettings settings, IRInteractiveWorkflow interactiveWorkflow) {
            _statusBar = statusBar;
            _sessionProvider = interactiveWorkflow.RSessions;
            _settings = settings;
            _interactiveWorkflow = interactiveWorkflow;
            _shell = interactiveWorkflow.Shell;
            _securityService = _shell.Services.Security;

            _statusBarViewModel = new ConnectionStatusBarViewModel(this, interactiveWorkflow.Shell);
            _hostLoadIndicatorViewModel = new HostLoadIndicatorViewModel(_sessionProvider, interactiveWorkflow.Shell);

            _disposableBag = DisposableBag.Create<ConnectionManager>()
                .Add(_statusBarViewModel)
                .Add(_hostLoadIndicatorViewModel)
                .Add(() => _sessionProvider.BrokerStateChanged -= BrokerStateChanged)
                .Add(() => _interactiveWorkflow.ActiveWindowChanged -= ActiveWindowChanged);

            _sessionProvider.BrokerStateChanged += BrokerStateChanged;
            _interactiveWorkflow.ActiveWindowChanged += ActiveWindowChanged;

            // Get initial values
            var connections = CreateConnectionList();
            _connections = new ConcurrentDictionary<string, IConnection>(connections);

            UpdateRecentConnections(save: false);
            CompleteInitializationAsync().DoNotWait();
        }
Exemplo n.º 9
0
        public ConnectionManager(IRSettings settings, IRInteractiveWorkflowVisual interactiveWorkflow)
        {
            _sessionProvider     = interactiveWorkflow.RSessions;
            _settings            = settings;
            _interactiveWorkflow = interactiveWorkflow;
            _services            = interactiveWorkflow.Services;
            _containers          = interactiveWorkflow.Containers;
            _securityService     = _services.GetService <ISecurityService>();
            _log = _services.GetService <IActionLog>();
            _installationService = _services.GetService <IRInstallationService>();
            _services.GetService <IContainerService>();

            _disposableBag = DisposableBag.Create <ConnectionManager>()
                             .Add(() => _sessionProvider.BrokerStateChanged        -= BrokerStateChanged)
                             .Add(() => _interactiveWorkflow.RSession.Connected    -= SessionConnected)
                             .Add(() => _interactiveWorkflow.RSession.Disconnected -= SessionDisconnected)
                             .Add(() => _interactiveWorkflow.ActiveWindowChanged   -= ActiveWindowChanged)
                             .Add(_containers.SubscribeOnChanges(ContainersChanged));

            _sessionProvider.BrokerStateChanged        += BrokerStateChanged;
            _interactiveWorkflow.RSession.Connected    += SessionConnected;
            _interactiveWorkflow.RSession.Disconnected += SessionDisconnected;
            _interactiveWorkflow.ActiveWindowChanged   += ActiveWindowChanged;

            // Get initial values
            var connections = CreateConnectionList();

            _connections = new ConcurrentDictionary <string, IConnection>(connections);

            UpdateRecentConnections(save: false);
        }
Exemplo n.º 10
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
            });
        }
Exemplo n.º 11
0
        public RInteractiveEvaluator(IRSessionProvider sessionProvider, IRSession session, IRHistory history, IConnectionManager connections, IServiceContainer services, IRSettings settings, IConsole console)
        {
            History = history;
            Session = session;

            _sessionProvider  = sessionProvider;
            _connections      = connections;
            _services         = services;
            _settings         = settings;
            _console          = console;
            _evaluatorRequest = new CountdownDisposable();
            _fs = _services.FileSystem();

            _disposableBag
            .Add(() => Session.Output                  -= SessionOnOutput)
            .Add(() => Session.Connected               -= SessionOnConnected)
            .Add(() => Session.Disconnected            -= SessionOnDisconnected)
            .Add(() => Session.BeforeRequest           -= SessionOnBeforeRequest)
            .Add(() => Session.AfterRequest            -= SessionOnAfterRequest)
            .Add(() => _sessionProvider.BrokerChanging -= OnBrokerChanging);

            _sessionProvider.BrokerChanging += OnBrokerChanging;

            Session.Output        += SessionOnOutput;
            Session.Connected     += SessionOnConnected;
            Session.Disconnected  += SessionOnDisconnected;
            Session.BeforeRequest += SessionOnBeforeRequest;
            Session.AfterRequest  += SessionOnAfterRequest;
        }
Exemplo n.º 12
0
 public RSessionCallback(IInteractiveWindow interactiveWindow, IRSession session, IRSettings settings, ICoreShell coreShell)
 {
     _interactiveWindow = interactiveWindow;
     _session           = session;
     _settings          = settings;
     _coreShell         = coreShell;
 }
Exemplo n.º 13
0
 public RPackageManager(IRSessionProvider sessionProvider, IRSettings settings, IRInteractiveWorkflow interactiveWorkflow, Action dispose)
 {
     _sessionProvider     = sessionProvider;
     _settings            = settings;
     _interactiveWorkflow = interactiveWorkflow;
     _disposableBag       = DisposableBag.Create <RPackageManager>(dispose);
 }
 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;
 }
Exemplo n.º 15
0
        public ConnectionManager(IStatusBar statusBar, IRSettings settings, IRInteractiveWorkflow interactiveWorkflow)
        {
            _statusBar           = statusBar;
            _sessionProvider     = interactiveWorkflow.RSessions;
            _settings            = settings;
            _interactiveWorkflow = interactiveWorkflow;
            _shell           = interactiveWorkflow.Shell;
            _securityService = _shell.Services.Security;

            _statusBarViewModel         = new ConnectionStatusBarViewModel(this, interactiveWorkflow.Shell);
            _hostLoadIndicatorViewModel = new HostLoadIndicatorViewModel(_sessionProvider, interactiveWorkflow.Shell);

            _disposableBag = DisposableBag.Create <ConnectionManager>()
                             .Add(_statusBarViewModel)
                             .Add(_hostLoadIndicatorViewModel)
                             .Add(() => _sessionProvider.BrokerStateChanged        -= BrokerStateChanged)
                             .Add(() => _interactiveWorkflow.RSession.Connected    -= SessionConnected)
                             .Add(() => _interactiveWorkflow.RSession.Disconnected -= SessionDisconnected)
                             .Add(() => _interactiveWorkflow.ActiveWindowChanged   -= ActiveWindowChanged);

            _sessionProvider.BrokerStateChanged += BrokerStateChanged;

            _interactiveWorkflow.RSession.Connected    += SessionConnected;
            _interactiveWorkflow.RSession.Disconnected += SessionDisconnected;
            _interactiveWorkflow.ActiveWindowChanged   += ActiveWindowChanged;

            // Get initial values
            var connections = CreateConnectionList();

            _connections = new ConcurrentDictionary <string, IConnection>(connections);

            UpdateRecentConnections(save: false);
            CompleteInitializationAsync().DoNotWait();
        }
Exemplo n.º 16
0
 public ConnectionManagerWindowPane(IConnectionManager connectionManager, IRSettings settings, ICoreShell coreShell)
 {
     _connectionManager = connectionManager;
     _settings          = settings;
     _coreShell         = coreShell;
     BitmapImageMoniker = KnownMonikers.ImmediateWindow;
     Caption            = Resources.WorkspacesWindowCaption;
 }
Exemplo n.º 17
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);
 }
Exemplo n.º 18
0
 public PackageManagerWindowPane(IRPackageManager packageManager, ISearchControlProvider searchControlProvider, IRSettings settings, ICoreShell coreShell)
 {
     _packageManager        = packageManager;
     _searchControlProvider = searchControlProvider;
     _settings  = settings;
     _coreShell = coreShell;
     Caption    = Resources.PackageManagerWindowCaption;
 }
Exemplo n.º 19
0
 public RSessionCallback(IInteractiveWindow interactiveWindow, IRSession session, IRSettings settings, ICoreShell coreShell, IFileSystem fileSystem)
 {
     _interactiveWindow = interactiveWindow;
     _session           = session;
     _settings          = settings;
     _coreShell         = coreShell;
     _fileSystem        = fileSystem;
 }
Exemplo n.º 20
0
 public RtvsTelemetry(IPackageIndex packageIndex, IRSettings settings, IREditorSettings editorSettings, ITelemetryService telemetryService = null, ToolWindowTracker toolWindowTracker = null)
 {
     _packageIndex      = packageIndex;
     _settings          = settings;
     _editorSettings    = editorSettings;
     TelemetryService   = telemetryService;
     _toolWindowTracker = toolWindowTracker;
 }
Exemplo n.º 21
0
 public SearchWebForCurrentCommand(
     IRInteractiveWorkflow workflow,
     IActiveWpfTextViewTracker textViewTracker,
     IActiveRInteractiveWindowTracker activeReplTracker) :
     base(RGuidList.RCmdSetGuid, RPackageCommandId.icmdSearchWebForCurrent,
          workflow, textViewTracker, activeReplTracker, Resources.SearchWebFor)
 {
     _settings = workflow.Services.GetService <IRSettings>();
 }
Exemplo n.º 22
0
 public RInteractiveEvaluator(IRSession session, IRHistory history, ICoreShell coreShell, IRSettings settings) {
     History = history;
     Session = session;
     Session.Output += SessionOnOutput;
     Session.Disconnected += SessionOnDisconnected;
     Session.BeforeRequest += SessionOnBeforeRequest;
     _coreShell = coreShell;
     _settings = settings;
 }
Exemplo n.º 23
0
 public RHistoryProvider(ICoreShell coreShell)
 {
     _textBufferFactory          = coreShell.GetService <ITextBufferFactoryService>();
     _contentTypeRegistryService = coreShell.GetService <IContentTypeRegistryService>();
     _editorOperationsFactory    = coreShell.GetService <IEditorOperationsFactoryService>();
     _rtfBuilderService          = coreShell.GetService <IRtfBuilderService>();
     _textSearchService          = coreShell.GetService <ITextSearchService2>();
     _settings  = coreShell.GetService <IRSettings>();
     _histories = new Dictionary <ITextBuffer, IRHistory>();
 }
Exemplo n.º 24
0
        public RSessionCallback(IInteractiveWindow interactiveWindow, IRSession session, IRSettings settings, ICoreShell coreShell, IFileSystem fileSystem) {
            _interactiveWindow = interactiveWindow;
            _session = session;
            _settings = settings;
            _coreShell = coreShell;
            _fileSystem = fileSystem;

            var workflowProvider = _coreShell.ExportProvider.GetExportedValue<IRInteractiveWorkflowProvider>();
            _workflow = workflowProvider.GetOrCreate();
        }
Exemplo n.º 25
0
 public RPlotManager(IRSessionProvider sessionProvider, IRSettings settings, IRInteractiveWorkflow interactiveWorkflow, Action dispose)
 {
     _interactiveWorkflow = interactiveWorkflow;
     _dispose             = dispose;
     ActivePlotIndex      = -1;
     PlotCount            = 0;
     Commands             = new PlotCommands(interactiveWorkflow);
     interactiveWorkflow.RSession.Connected    += RSession_Connected;
     interactiveWorkflow.RSession.Disconnected += RSession_Disconnected;
 }
Exemplo n.º 26
0
 public RInteractiveEvaluator(IRSession session, IRHistory history, ICoreShell coreShell, IRSettings settings)
 {
     History                = history;
     Session                = session;
     Session.Output        += SessionOnOutput;
     Session.Disconnected  += SessionOnDisconnected;
     Session.BeforeRequest += SessionOnBeforeRequest;
     _coreShell             = coreShell;
     _settings              = settings;
 }
Exemplo n.º 27
0
        public PlotManagerWindowPane(IRPlotManager plotManager, IRSettings settings, ICoreShell coreShell)
        {
            _plotManager = plotManager;
            _settings    = settings;
            _coreShell   = coreShell;

            // this value matches with icmdShowPlotWindow's Icon in VSCT file
            BitmapImageMoniker = KnownMonikers.LineChart;
            Caption            = Resources.PlotWindowCaption;
            ToolBar            = new CommandID(RGuidList.RCmdSetGuid, RPackageCommandId.plotWindowToolBarId);
        }
Exemplo n.º 28
0
 public RHistoryProvider(ITextBufferFactoryService textBufferFactory, IContentTypeRegistryService contentTypeRegistryService, IEditorOperationsFactoryService editorOperationsFactory, IRtfBuilderService rtfBuilderService, ITextSearchService2 textSearchService, IRSettings settings)
 {
     _textBufferFactory       = textBufferFactory;
     _editorOperationsFactory = editorOperationsFactory;
     _rtfBuilderService       = rtfBuilderService;
     _textSearchService       = textSearchService;
     _settings                   = settings;
     _rtfBuilderService          = rtfBuilderService;
     _contentTypeRegistryService = contentTypeRegistryService;
     _histories                  = new Dictionary <ITextBuffer, IRHistory>();
 }
Exemplo n.º 29
0
        public AD7Property(AD7StackFrame stackFrame, IREvaluationResultInfo result, bool isSynthetic = false, bool isFrameEnvironment = false)
        {
            StackFrame         = stackFrame;
            EvaluationResult   = result;
            IsSynthetic        = isSynthetic;
            IsFrameEnvironment = isFrameEnvironment;

            _children     = Lazy.Create(CreateChildren);
            _reprToString = Lazy.Create(GetReprToString);
            _settings     = stackFrame.Engine.Shell.GetService <IRSettings>();
        }
Exemplo n.º 30
0
 public RHistoryProvider(ITextBufferFactoryService textBufferFactory, IContentTypeRegistryService contentTypeRegistryService, IFileSystem fileSystem, IEditorOperationsFactoryService editorOperationsFactory, IRtfBuilderService rtfBuilderService, ITextSearchService2 textSearchService, IRSettings settings) {
     _textBufferFactory = textBufferFactory;
     _fileSystem = fileSystem;
     _editorOperationsFactory = editorOperationsFactory;
     _rtfBuilderService = rtfBuilderService;
     _textSearchService = textSearchService;
     _settings = settings;
     _rtfBuilderService = rtfBuilderService;
     _contentType = contentTypeRegistryService.GetContentType(RHistoryContentTypeDefinition.ContentType);
     _histories = new Dictionary<ITextBuffer, IRHistory>();
 }
Exemplo n.º 31
0
 public RHistoryProvider(IServiceContainer services)
 {
     _textBufferFactory          = services.GetService <ITextBufferFactoryService>();
     _contentTypeRegistryService = services.GetService <IContentTypeRegistryService>();
     _editorOperationsFactory    = services.GetService <IEditorOperationsFactoryService>();
     _rtfBuilderService          = services.GetService <IRtfBuilderService>();
     _textSearchService          = services.GetService <ITextSearchService2>();
     _settings  = services.GetService <IRSettings>();
     _histories = new Dictionary <ITextBuffer, IRHistoryVisual>();
     _fs        = services.FileSystem();
 }
Exemplo n.º 32
0
        public RSessionCallback(IInteractiveWindow interactiveWindow, IRSession session, IRSettings settings, IServiceContainer services, IFileSystem fileSystem)
        {
            _interactiveWindow = interactiveWindow;
            _session           = session;
            _settings          = settings;
            _services          = services;
            _fileSystem        = fileSystem;

            var workflowProvider = _services.GetService <IRInteractiveWorkflowProvider>();

            _workflow = workflowProvider.GetOrCreate();
        }
Exemplo n.º 33
0
        public RPlotManager(IRSettings settings, IRInteractiveWorkflow interactiveWorkflow, IFileSystem fileSystem) {
            _interactiveWorkflow = interactiveWorkflow;
            _fileSystem = fileSystem;
            _shell = _interactiveWorkflow.Shell;

            _disposableBag = DisposableBag.Create<RPlotManager>()
                .Add(() => interactiveWorkflow.RSession.Connected -= RSession_Connected)
                .Add(() => interactiveWorkflow.RSession.Mutated -= RSession_Mutated);

            interactiveWorkflow.RSession.Connected += RSession_Connected;
            interactiveWorkflow.RSession.Mutated += RSession_Mutated;
        }
Exemplo n.º 34
0
        public RPlotManager(IRSettings settings, IRInteractiveWorkflow interactiveWorkflow, IFileSystem fileSystem)
        {
            _interactiveWorkflow = interactiveWorkflow;
            _fileSystem          = fileSystem;

            _disposableBag = DisposableBag.Create <RPlotManager>()
                             .Add(() => interactiveWorkflow.RSession.Connected -= RSession_Connected)
                             .Add(() => interactiveWorkflow.RSession.Mutated   -= RSession_Mutated);

            interactiveWorkflow.RSession.Connected += RSession_Connected;
            interactiveWorkflow.RSession.Mutated   += RSession_Mutated;
        }
Exemplo n.º 35
0
        public RSessionCallback(IInteractiveWindow interactiveWindow, IRSession session, IRSettings settings, ICoreShell coreShell, IFileSystem fileSystem)
        {
            _interactiveWindow = interactiveWindow;
            _session           = session;
            _settings          = settings;
            _coreShell         = coreShell;
            _fileSystem        = fileSystem;

            var workflowProvider = _coreShell.GetService <IRInteractiveWorkflowProvider>();

            _workflow = workflowProvider.GetOrCreate();
        }
        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;
        }
Exemplo n.º 37
0
 public RInteractiveEvaluator(IRSessionProvider sessionProvider, IRSession session, IRHistory history, IConnectionManager connections, ICoreShell coreShell, IRSettings settings, IConsole console) {
     History = history;
     Session = session;
     Session.Output += SessionOnOutput;
     Session.Disconnected += SessionOnDisconnected;
     Session.BeforeRequest += SessionOnBeforeRequest;
     Session.AfterRequest += SessionOnAfterRequest;
     _sessionProvider = sessionProvider;
     _connections = connections;
     _coreShell = coreShell;
     _settings = settings;
     _console = console;
     _evaluatorRequest = new CountdownDisposable();
 }
Exemplo n.º 38
0
        public RHistoryFiltering(IRHistory history, IRHistoryWindowVisualComponent visualComponent, IRSettings settings, ITextSearchService2 textSearchService) {
            _history = history;
            _history.HistoryChanging += HistoryChanging;
            _history.HistoryChanged += HistoryChanged;

            _settings = settings;
            _textSearchService = textSearchService;
            _textView = visualComponent.TextView;
            _textBuffer = _textView.TextDataModel.DataBuffer;

            IElisionBuffer elisionBuffer;
            _textView.TextViewModel.Properties.TryGetProperty(IntraTextAdornmentBufferKey, out elisionBuffer);
            _elisionBuffer = elisionBuffer;
        }
        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 RPackageManagerVisualComponent(IRPackageManager packageManager, IVisualComponentContainer<IRPackageManagerVisualComponent> container, ISearchControlProvider searchControlProvider, IRSettings settings, ICoreShell coreShell) {
     _viewModel = new RPackageManagerViewModel(packageManager, settings, coreShell);
     Container = container;
     Controller = null;
     var control = new PackageManagerControl {
         DataContext = _viewModel,
     };
     Control = control;
     var searchControlSettings = new SearchControlSettings {
         SearchCategory = SearchCategory,
         MinWidth = (uint)control.SearchControlHost.MinWidth,
         MaxWidth = uint.MaxValue
     };
     _searchControl = searchControlProvider.Create(control.SearchControlHost, _viewModel, searchControlSettings);
 }
 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;
 }
Exemplo n.º 42
0
        public RPackageManagerViewModel(IRPackageManager packageManager, IRSettings settings, ICoreShell coreShell) {
            _packageManager = packageManager;
            _settings = settings;
            _coreShell = coreShell;
            _selectedTab = Tab.None;
            _availablePackages = new List<IRPackageViewModel>();
            _installedPackages = new List<IRPackageViewModel>();
            _loadedPackages = new List<IRPackageViewModel>();
            _availableLock = new BinaryAsyncLock();
            _installedAndLoadedLock = new BinaryAsyncLock();
            _items = new BatchObservableCollection<object>();
            _errorMessages = new ErrorMessageCollection(this);
            Items = new ReadOnlyObservableCollection<object>(_items);

            _packageManager.AvailablePackagesInvalidated += AvailablePackagesInvalidated;
            _packageManager.InstalledPackagesInvalidated += InstalledPackagesInvalidated;
            _packageManager.LoadedPackagesInvalidated += LoadedPackagesInvalidated;
        }
Exemplo n.º 43
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);
        }
Exemplo n.º 44
0
        public RHistory(IRInteractiveWorkflow interactiveWorkflow, ITextBuffer textBuffer, IFileSystem fileSystem, IRSettings settings, IEditorOperationsFactoryService editorOperationsFactory, IRtfBuilderService rtfBuilderService, Action dispose) {
            _interactiveWorkflow = interactiveWorkflow;
            _historyTextBuffer = textBuffer;
            _fileSystem = fileSystem;
            _editorOperationsFactory = editorOperationsFactory;
            _rtfBuilderService = rtfBuilderService;
            _dispose = dispose;

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

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

            MakeTextBufferReadOnly();
        }
        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;
        }
        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);
        }
Exemplo n.º 47
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;
        }
Exemplo n.º 48
0
 public ConnectionManagerProvider(IStatusBar statusBar, IRSettings settings) {
     _statusBar = statusBar;
     _settings = settings;
 }
Exemplo n.º 49
0
 public IRPackageManager CreateRPackageManager(IRSettings settings, IRInteractiveWorkflow interactiveWorkflow) {
     var pm = new RPackageManager(settings, interactiveWorkflow, () => {});
     return pm;
 }
Exemplo n.º 50
0
 public IRPlotManager CreatePlotManager(IRSettings settings, IRInteractiveWorkflow interactiveWorkflow, IFileSystem fileSystem) {
     return new RPlotManager(settings, interactiveWorkflow, fileSystem);
 }
Exemplo n.º 51
0
 public RtvsTelemetry(IPackageIndex packageIndex, IRSettings settings, ITelemetryService service = null) {
     _packageIndex = packageIndex;
     _settings = settings;
     TelemetryService = service ?? VsAppShell.Current.ExportProvider.GetExportedValue<ITelemetryService>();
 }
Exemplo n.º 52
0
 public static void Initialize(IPackageIndex packageIndex, IRSettings settings, ITelemetryService service = null) {
     if (Current == null) {
         Current = new RtvsTelemetry(packageIndex, settings, service);
     }
 }
 public RInteractiveWorkflowCommandTest(RComponentsMefCatalogFixture catalog, TestMethodFixture testMethod) {
     _testMethod = testMethod.MethodInfo;
     _exportProvider = catalog.CreateExportProvider();
     _workflow = _exportProvider.GetExportedValue<IRInteractiveWorkflowProvider>().GetOrCreate();
     _settings = _exportProvider.GetExportedValue<IRSettings>();
 }