Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
 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);
 }