コード例 #1
0
        private void SetupVM()
        {
            var views = new List <IControlView>
            {
                new ChangesView(_changesVM),
                new BranchesView(_branchesVM),
                new UnsyncedCommitsView(_unsyncedVM),
                new SettingsView(_settingsVM)
            };

            _vm = new SourceControlViewViewModel(_vbe.Object, new RubberduckParserState(_vbe.Object), _providerFactory.Object, _folderBrowserFactory.Object,
                                                 _configService.Object, views, new Mock <IMessageBox>().Object, GetDummyEnvironment());
        }
コード例 #2
0
ファイル: App.cs プロジェクト: grleachman/Rubberduck
        public App(VBE vbe, IMessageBox messageBox,
                   IRubberduckParser parser,
                   IGeneralConfigService configService,
                   IAppMenu appMenus,
                   RubberduckCommandBar stateBar,
                   IRubberduckHooks hooks,
                   SourceControlDockablePresenter sourceControlPresenter)
        {
            _vbe           = vbe;
            _messageBox    = messageBox;
            _parser        = parser;
            _configService = configService;
            _autoSave      = new AutoSave.AutoSave(_vbe, _configService);
            _appMenus      = appMenus;
            _stateBar      = stateBar;
            _hooks         = hooks;
            _logger        = LogManager.GetCurrentClassLogger();

            var sourceControlPanel = (SourceControlPanel)sourceControlPresenter.Window();

            _sourceControlPanelVM = (SourceControlViewViewModel)sourceControlPanel.ViewModel;
            _branchesVM           = (BranchesViewViewModel)_sourceControlPanelVM.TabItems.Single(t => t.ViewModel.Tab == SourceControlTab.Branches).ViewModel;

            _sourceControlPanelVM.OpenRepoStarted   += DisableSinkEventHandlers;
            _sourceControlPanelVM.OpenRepoCompleted += EnableSinkEventHandlersAndUpdateCache;

            _branchesVM.LoadingComponentsStarted   += DisableSinkEventHandlers;
            _branchesVM.LoadingComponentsCompleted += EnableSinkEventHandlersAndUpdateCache;

            _hooks.MessageReceived            += _hooks_MessageReceived;
            _configService.SettingsChanged    += _configService_SettingsChanged;
            _configService.LanguageChanged    += ConfigServiceLanguageChanged;
            _parser.State.StateChanged        += Parser_StateChanged;
            _parser.State.StatusMessageUpdate += State_StatusMessageUpdate;
            _stateBar.Refresh += _stateBar_Refresh;

            _sink = new VBProjectsEventsSink();
            var connectionPointContainer = (IConnectionPointContainer)_vbe.VBProjects;
            var interfaceId = typeof(_dispVBProjectsEvents).GUID;

            connectionPointContainer.FindConnectionPoint(ref interfaceId, out _projectsEventsConnectionPoint);

            _sink.ProjectAdded     += sink_ProjectAdded;
            _sink.ProjectRemoved   += sink_ProjectRemoved;
            _sink.ProjectActivated += sink_ProjectActivated;
            _sink.ProjectRenamed   += sink_ProjectRenamed;

            _projectsEventsConnectionPoint.Advise(_sink, out _projectsEventsCookie);
            UiDispatcher.Initialize();
        }
コード例 #3
0
 private void SetupVM()
 {
     _vm = new SourceControlViewViewModel(_vbe.Object, _providerFactory.Object, _folderBrowserFactory.Object,
                                          _configService.Object, new ChangesView(_changesVM), new BranchesView(_branchesVM),
                                          new UnsyncedCommitsView(_unsyncedVM), new SettingsView(_settingsVM), new CodePaneWrapperFactory());
 }
コード例 #4
0
 private void SetupVM()
 {
     _vm = new SourceControlViewViewModel(_vbe.Object, _providerFactory.Object, _folderBrowserFactory.Object,
         _configService.Object, new ChangesView(_changesVM), new BranchesView(_branchesVM),
         new UnsyncedCommitsView(_unsyncedVM), new SettingsView(_settingsVM), new CodePaneWrapperFactory());
 }