public MainVm(ILibraryLocationDialog locationDialog, ILibrarySelector librarySelector, IErrorHandlerView errorHandler, IFileValidator validator, ImbSettings appSettings, IEventAggregator eventAggregator) { _locationDialog = locationDialog; _librarySelector = librarySelector; _errorHandlerView = errorHandler; _errorHandler = _errorHandlerView.ErrorHandler; _fileValidator = validator; _appSettings = appSettings; _eventAggregator = eventAggregator; _newCommand = new BlockableCommand <object>(false, NewLibrary); _openCommand = new BlockableCommand <object>(false, OpenLibrary); _addCommand = new BlockableCommand <object>(true, AddFile); _removeCommand = new BlockableCommand <object>(true, RemoveFile); _newFolderCommand = new BlockableCommand <object>(true, NewFolder); DropHandler.Current.SetErrorHandler(_errorHandler); DropHandler.Current.SetFileValidator(_fileValidator); Title = "Imb - no library open"; _eventAggregator.AddListener(this); }
protected LibraryViewNode(Dispatcher dispatcher, IEventAggregator eventAggregator) { EventAggregator = eventAggregator; _children = new ObservableCollection <LibraryViewNode>(); _childViewer = new PropertyOrderedObservableCollectionViewer <LibraryViewNode>(dispatcher); _childViewer.SetMediator(this); _childViewer.Attach(_children); _childViewer.OrderBy(c => c.Name, new [] { "Name" }, false); _editLabelCommand = new SimpleCommand <object> { ExecuteDelegate = PerformEditLabel }; _finishEditLabelCommand = new SimpleCommand <object> { ExecuteDelegate = o => EndEditLabel(true) }; _cancelEditLabelCommand = new SimpleCommand <object> { ExecuteDelegate = o => EndEditLabel(false) }; _removeNodeCommand = new SimpleCommand <object> { ExecuteDelegate = PerformRemoveNode }; _newFolderCommand = new BlockableCommand <object>(true, PerformNewFolder); }