public SourceControlViewViewModel( VBE vbe, RubberduckParserState state, ISinks sinks, ISourceControlProviderFactory providerFactory, IFolderBrowserFactory folderBrowserFactory, IConfigProvider <SourceControlSettings> configService, IEnumerable <IControlView> views, ICodePaneWrapperFactory wrapperFactory, IMessageBox messageBox) { _vbe = vbe; _state = state; _sinks = sinks; _providerFactory = providerFactory; _folderBrowserFactory = folderBrowserFactory; _state.StateChanged += _state_StateChanged; _configService = configService; _config = _configService.Create(); _wrapperFactory = wrapperFactory; _messageBox = messageBox; _initRepoCommand = new DelegateCommand(LogManager.GetCurrentClassLogger(), _ => InitRepo(), _ => _vbe.VBProjects.Count != 0); _openRepoCommand = new DelegateCommand(LogManager.GetCurrentClassLogger(), _ => OpenRepo(), _ => _vbe.VBProjects.Count != 0); _cloneRepoCommand = new DelegateCommand(LogManager.GetCurrentClassLogger(), _ => ShowCloneRepoGrid(), _ => _vbe.VBProjects.Count != 0); _publishRepoCommand = new DelegateCommand(LogManager.GetCurrentClassLogger(), _ => ShowPublishRepoGrid(), _ => _vbe.VBProjects.Count != 0 && Provider != null); _refreshCommand = new DelegateCommand(LogManager.GetCurrentClassLogger(), _ => Refresh()); _dismissErrorMessageCommand = new DelegateCommand(LogManager.GetCurrentClassLogger(), _ => DismissErrorMessage()); _showFilePickerCommand = new DelegateCommand(LogManager.GetCurrentClassLogger(), _ => ShowFilePicker()); _loginGridOkCommand = new DelegateCommand(LogManager.GetCurrentClassLogger(), _ => CloseLoginGrid(), text => !string.IsNullOrEmpty((string)text)); _loginGridCancelCommand = new DelegateCommand(LogManager.GetCurrentClassLogger(), _ => CloseLoginGrid()); _cloneRepoOkButtonCommand = new DelegateCommand(LogManager.GetCurrentClassLogger(), _ => CloneRepo(), _ => !IsNotValidCloneRemotePath); _cloneRepoCancelButtonCommand = new DelegateCommand(LogManager.GetCurrentClassLogger(), _ => CloseCloneRepoGrid()); _publishRepoOkButtonCommand = new DelegateCommand(LogManager.GetCurrentClassLogger(), _ => PublishRepo(), _ => !IsNotValidPublishRemotePath); _publishRepoCancelButtonCommand = new DelegateCommand(LogManager.GetCurrentClassLogger(), _ => ClosePublishRepoGrid()); _openCommandPromptCommand = new DelegateCommand(LogManager.GetCurrentClassLogger(), _ => OpenCommandPrompt()); _sinks.ComponentAdded += ComponentAdded; _sinks.ComponentRemoved += ComponentRemoved; _sinks.ComponentRenamed += ComponentRenamed; _sinks.ProjectRemoved += ProjectRemoved; TabItems = new ObservableCollection <IControlView>(views); SetTab(SourceControlTab.Changes); Status = RubberduckUI.Offline; ListenForErrors(); _fileSystemWatcher = new FileSystemWatcher(); }
public RubberduckCommandBar(RubberduckParserState state, VBE vbe, ISinks sinks, IShowParserErrorsCommand command) { _state = state; _vbe = vbe; _sinks = sinks; _command = command; _state.StateChanged += State_StateChanged; Initialize(); _sinks.ProjectRemoved += ProjectRemoved; _sinks.ComponentActivated += ComponentActivated; _sinks.ComponentSelected += ComponentSelected; }
public RubberduckParserState(ISinks sinks) { var values = Enum.GetValues(typeof(ParserState)); foreach (var value in values) { States.Add((ParserState)value); } sinks.ProjectAdded += Sinks_ProjectAdded; sinks.ProjectRemoved += Sinks_ProjectRemoved; sinks.ProjectRenamed += Sinks_ProjectRenamed; sinks.ComponentAdded += Sinks_ComponentAdded; sinks.ComponentRemoved += Sinks_ComponentRemoved; sinks.ComponentRenamed += Sinks_ComponentRenamed; }