コード例 #1
0
        /// <summary>
        /// Called when Visual Studio creates our container ToolWindow.
        /// </summary>
        public void OnVsToolWindowCreated(IServiceProvider serviceProvider)
        {
            var componentModel = (IComponentModel)serviceProvider.GetService(typeof(SComponentModel));

            _uiRequestProcessor = componentModel.DefaultExportProvider.GetExportedValue <IUIRequestProcessor>();

            var standarImageSourceFactory = componentModel.DefaultExportProvider.GetExportedValue <IStandarImageSourceFactory>();

            _controller = new CodeSearchController(
                this,
                _uiRequestProcessor,
                componentModel.DefaultExportProvider.GetExportedValue <IUIDelayedOperationProcessor>(),
                componentModel.DefaultExportProvider.GetExportedValue <IFileSystemTreeSource>(),
                componentModel.DefaultExportProvider.GetExportedValue <ITypedRequestProcessProxy>(),
                _progressBarTracker,
                standarImageSourceFactory,
                componentModel.DefaultExportProvider.GetExportedValue <IWindowsExplorer>(),
                componentModel.DefaultExportProvider.GetExportedValue <IClipboard>(),
                componentModel.DefaultExportProvider.GetExportedValue <ISynchronizationContextProvider>(),
                componentModel.DefaultExportProvider.GetExportedValue <IOpenDocumentHelper>(),
                componentModel.DefaultExportProvider.GetExportedValue <ITextDocumentTable>(),
                componentModel.DefaultExportProvider.GetExportedValue <IEventBus>(),
                componentModel.DefaultExportProvider.GetExportedValue <IGlobalSettingsProvider>(),
                componentModel.DefaultExportProvider.GetExportedValue <IBuildOutputParser>(),
                componentModel.DefaultExportProvider.GetExportedValue <IVsEditorAdaptersFactoryService>());
            _controller.Start();
            // TODO(rpaquay): leaky abstraction. We need this because the ViewModel
            // exposes pictures from Visual Studio resources.
            ViewModel.ImageSourceFactory = standarImageSourceFactory;

            // Hookup property changed notifier
            ViewModel.PropertyChanged  += ViewModel_PropertyChanged;
            ViewModel.RootNodesChanged += ViewModelOnRootNodesChanged;
        }
コード例 #2
0
 public SourceExplorerHierarchyControllerFactory(
   ISynchronizationContextProvider synchronizationContextProvider,
   IFileSystemTreeSource fileSystemTreeSource,
   IVisualStudioPackageProvider visualStudioPackageProvider,
   IVsGlyphService vsGlyphService,
   IImageSourceFactory imageSourceFactory,
   IOpenDocumentHelper openDocumentHelper,
   IFileSystem fileSystem,
   IClipboard clipboard,
   IWindowsExplorer windowsExplorer,
   IUIRequestProcessor uiRequestProcessor,
   IEventBus eventBus,
   IGlobalSettingsProvider globalSettingsProvider,
   IDelayedOperationProcessor delayedOperationProcessor,
   IUIThread uiThread) {
   _synchronizationContextProvider = synchronizationContextProvider;
   _fileSystemTreeSource = fileSystemTreeSource;
   _visualStudioPackageProvider = visualStudioPackageProvider;
   _vsGlyphService = vsGlyphService;
   _imageSourceFactory = imageSourceFactory;
   _openDocumentHelper = openDocumentHelper;
   _fileSystem = fileSystem;
   _clipboard = clipboard;
   _windowsExplorer = windowsExplorer;
   _uiRequestProcessor = uiRequestProcessor;
   _eventBus = eventBus;
   _globalSettingsProvider = globalSettingsProvider;
   _delayedOperationProcessor = delayedOperationProcessor;
   _uiThread = uiThread;
 }
 public SourceExplorerHierarchyControllerFactory(
     ISynchronizationContextProvider synchronizationContextProvider,
     IFileSystemTreeSource fileSystemTreeSource,
     IVisualStudioPackageProvider visualStudioPackageProvider,
     IVsGlyphService vsGlyphService,
     IImageSourceFactory imageSourceFactory,
     IOpenDocumentHelper openDocumentHelper,
     IFileSystem fileSystem,
     IClipboard clipboard,
     IWindowsExplorer windowsExplorer,
     IUIRequestProcessor uiRequestProcessor,
     IEventBus eventBus,
     IGlobalSettingsProvider globalSettingsProvider,
     IDelayedOperationProcessor delayedOperationProcessor,
     IUIThread uiThread)
 {
     _synchronizationContextProvider = synchronizationContextProvider;
     _fileSystemTreeSource           = fileSystemTreeSource;
     _visualStudioPackageProvider    = visualStudioPackageProvider;
     _vsGlyphService            = vsGlyphService;
     _imageSourceFactory        = imageSourceFactory;
     _openDocumentHelper        = openDocumentHelper;
     _fileSystem                = fileSystem;
     _clipboard                 = clipboard;
     _windowsExplorer           = windowsExplorer;
     _uiRequestProcessor        = uiRequestProcessor;
     _eventBus                  = eventBus;
     _globalSettingsProvider    = globalSettingsProvider;
     _delayedOperationProcessor = delayedOperationProcessor;
     _uiThread                  = uiThread;
 }
コード例 #4
0
 public FileRegistrationRequestService(
   IUIRequestProcessor uiRequestProcessor,
   IFileSystem fileSystem,
   IEventBus eventBus) {
   _uiRequestProcessor = uiRequestProcessor;
   _fileSystem = fileSystem;
   _eventBus = eventBus;
 }
コード例 #5
0
 public FileRegistrationRequestService(
     IUIRequestProcessor uiRequestProcessor,
     IFileSystem fileSystem,
     IEventBus eventBus)
 {
     _uiRequestProcessor = uiRequestProcessor;
     _fileSystem         = fileSystem;
     _eventBus           = eventBus;
 }
コード例 #6
0
        public CodeSearchController(
            CodeSearchControl control,
            IUIRequestProcessor uiRequestProcessor,
            IUIDelayedOperationProcessor uiDelayedOperationProcessor,
            IFileSystemTreeSource fileSystemTreeSource,
            ITypedRequestProcessProxy typedRequestProcessProxy,
            IProgressBarTracker progressBarTracker,
            IStandarImageSourceFactory standarImageSourceFactory,
            IWindowsExplorer windowsExplorer,
            IClipboard clipboard,
            ISynchronizationContextProvider synchronizationContextProvider,
            IOpenDocumentHelper openDocumentHelper,
            ITextDocumentTable textDocumentTable,
            IEventBus eventBus,
            IGlobalSettingsProvider globalSettingsProvider,
            IBuildOutputParser buildOutputParser,
            IVsEditorAdaptersFactoryService adaptersFactoryService)
        {
            _control                           = control;
            _uiRequestProcessor                = uiRequestProcessor;
            _fileSystemTreeSource              = fileSystemTreeSource;
            _typedRequestProcessProxy          = typedRequestProcessProxy;
            _progressBarTracker                = progressBarTracker;
            _standarImageSourceFactory         = standarImageSourceFactory;
            _windowsExplorer                   = windowsExplorer;
            _clipboard                         = clipboard;
            _synchronizationContextProvider    = synchronizationContextProvider;
            _openDocumentHelper                = openDocumentHelper;
            _eventBus                          = eventBus;
            _globalSettingsProvider            = globalSettingsProvider;
            _buildOutputParser                 = buildOutputParser;
            _adaptersFactoryService            = adaptersFactoryService;
            _searchResultDocumentChangeTracker = new SearchResultsDocumentChangeTracker(
                uiDelayedOperationProcessor,
                textDocumentTable);
            _taskCancellation = new TaskCancellation();

            // Ensure initial values are in sync.
            GlobalSettingsOnPropertyChanged(null, null);

            // Ensure changes to ViewModel are synchronized to global settings
            ViewModel.PropertyChanged += ViewModelOnPropertyChanged;

            // Ensure changes to global settings are synchronized to ViewModel
            _globalSettingsProvider.GlobalSettings.PropertyChanged += GlobalSettingsOnPropertyChanged;

            _eventBusCookie1 = _eventBus.RegisterHandler("TextDocument-Open", TextDocumentOpenHandler);
            _eventBusCookie2 = _eventBus.RegisterHandler("TextDocument-Closed", TextDocumentClosedHandler);
            _eventBusCookie3 = _eventBus.RegisterHandler("TextDocumentFile-FileActionOccurred", TextDocumentFileActionOccurred);

            typedRequestProcessProxy.EventReceived += TypedRequestProcessProxy_EventReceived;

            fileSystemTreeSource.TreeReceived  += FileSystemTreeSource_OnTreeReceived;
            fileSystemTreeSource.ErrorReceived += FileSystemTreeSource_OnErrorReceived;
        }
コード例 #7
0
 public SourceExplorerViewModelHost(
     SourceExplorerControl control,
     IUIRequestProcessor uiRequestProcessor,
     IStandarImageSourceFactory standarImageSourceFactory,
     IWindowsExplorer windowsExplorer,
     IClipboard clipboard,
     ISynchronizationContextProvider synchronizationContextProvider,
     IOpenDocumentHelper openDocumentHelper)
 {
     _control = control;
       _uiRequestProcessor = uiRequestProcessor;
       _standarImageSourceFactory = standarImageSourceFactory;
       _windowsExplorer = windowsExplorer;
       _clipboard = clipboard;
       _synchronizationContextProvider = synchronizationContextProvider;
       _openDocumentHelper = openDocumentHelper;
 }
コード例 #8
0
 public SourceExplorerViewModelHost(
     SourceExplorerControl control,
     IUIRequestProcessor uiRequestProcessor,
     IStandarImageSourceFactory standarImageSourceFactory,
     IWindowsExplorer windowsExplorer,
     IClipboard clipboard,
     ISynchronizationContextProvider synchronizationContextProvider,
     IOpenDocumentHelper openDocumentHelper)
 {
     _control                        = control;
     _uiRequestProcessor             = uiRequestProcessor;
     _standarImageSourceFactory      = standarImageSourceFactory;
     _windowsExplorer                = windowsExplorer;
     _clipboard                      = clipboard;
     _synchronizationContextProvider = synchronizationContextProvider;
     _openDocumentHelper             = openDocumentHelper;
 }
コード例 #9
0
    /// <summary>
    /// Called when Visual Studio creates our container ToolWindow.
    /// </summary>
    public void OnVsToolWindowCreated(IServiceProvider serviceProvider) {
      var componentModel = (IComponentModel)serviceProvider.GetService(typeof(SComponentModel));

      _uiRequestProcessor = componentModel.DefaultExportProvider.GetExportedValue<IUIRequestProcessor>();
      _typedRequestProcessProxy = componentModel.DefaultExportProvider.GetExportedValue<ITypedRequestProcessProxy>();
      _fileSystemTreeSource = componentModel.DefaultExportProvider.GetExportedValue<IFileSystemTreeSource>();

      _typedRequestProcessProxy.EventReceived += TypedRequestProcessProxy_EventReceived;
      _fileSystemTreeSource.TreeReceived += FileSystemTreeSource_OnTreeReceived;
      _fileSystemTreeSource.ErrorReceived += FileSystemTreeSource_OnErrorReceived;


      var standarImageSourceFactory = componentModel.DefaultExportProvider.GetExportedValue<IStandarImageSourceFactory>();
      _controller = new CodeSearchController(
        this,
        _uiRequestProcessor,
        componentModel.DefaultExportProvider.GetExportedValue<IUIDelayedOperationProcessor>(),
        _progressBarTracker,
        standarImageSourceFactory,
        componentModel.DefaultExportProvider.GetExportedValue<IWindowsExplorer>(),
        componentModel.DefaultExportProvider.GetExportedValue<IClipboard>(),
        componentModel.DefaultExportProvider.GetExportedValue<ISynchronizationContextProvider>(),
        componentModel.DefaultExportProvider.GetExportedValue<IOpenDocumentHelper>(),
        componentModel.DefaultExportProvider.GetExportedValue<ITextDocumentTable>(),
        componentModel.DefaultExportProvider.GetExportedValue<IEventBus>(),
        componentModel.DefaultExportProvider.GetExportedValue<IGlobalSettingsProvider>(),
        componentModel.DefaultExportProvider.GetExportedValue<IBuildOutputParser>(),
        componentModel.DefaultExportProvider.GetExportedValue<IVsEditorAdaptersFactoryService>());

      // TODO(rpaquay): leaky abstraction. We need this because the ViewModel
      // exposes pictures from Visual Studio resources.
      ViewModel.ImageSourceFactory = standarImageSourceFactory;

      _fileSystemTreeSource.Fetch();

      // Hookup property changed notifier
      ViewModel.PropertyChanged += ViewModel_PropertyChanged;
      ViewModel.RootNodesChanged += ViewModelOnRootNodesChanged;
    }
コード例 #10
0
        public void OnToolWindowCreated(IServiceProvider serviceProvider)
        {
            var componentModel = (IComponentModel)serviceProvider.GetService(typeof(SComponentModel));

            _uiRequestProcessor       = componentModel.DefaultExportProvider.GetExportedValue <IUIRequestProcessor>();
            _statusBar                = componentModel.DefaultExportProvider.GetExportedValue <IStatusBar>();
            _typedRequestProcessProxy = componentModel.DefaultExportProvider.GetExportedValue <ITypedRequestProcessProxy>();
            _typedRequestProcessProxy.EventReceived += TypedRequestProcessProxy_EventReceived;

            var standarImageSourceFactory = componentModel.DefaultExportProvider.GetExportedValue <IStandarImageSourceFactory>();
            var clipboard                      = componentModel.DefaultExportProvider.GetExportedValue <IClipboard>();
            var windowsExplorer                = componentModel.DefaultExportProvider.GetExportedValue <IWindowsExplorer>();
            var openDocumentHelper             = componentModel.DefaultExportProvider.GetExportedValue <IOpenDocumentHelper>();
            var synchronizationContextProvider = componentModel.DefaultExportProvider.GetExportedValue <ISynchronizationContextProvider>();
            var host = new SourceExplorerViewModelHost(this, _uiRequestProcessor, standarImageSourceFactory, windowsExplorer, clipboard, synchronizationContextProvider, openDocumentHelper);

            ViewModel.SetHost(host);

            ViewModel.OnToolWindowCreated(serviceProvider);

            FetchFilesystemTree();
        }
コード例 #11
0
 public TextDocumentService(IUIRequestProcessor uiRequestProcessor)
 {
     _uiRequestProcessor = uiRequestProcessor;
 }
コード例 #12
0
 public TextDocumentService(IUIRequestProcessor uiRequestProcessor)
 {
     _uiRequestProcessor = uiRequestProcessor;
 }
コード例 #13
0
 public TextDocumentService(IUIRequestProcessor uiRequestProcessor, IFileSystem fileSystem)
 {
     _uiRequestProcessor = uiRequestProcessor;
       _fileSystem = fileSystem;
 }