Esempio n. 1
0
File: Pattern.cs Progetto: Insire/FS
        public Pattern(IScarletCommandBuilder commandBuilder, IScarletCommandManager commandManager, DirectoriesViewModel directoriesViewModel, string value)
            : base(commandBuilder)
        {
            _directoriesViewModel = directoriesViewModel ?? throw new ArgumentNullException(nameof(directoriesViewModel));
            Value = value ?? throw new ArgumentNullException(nameof(value));

            UpdatePreviewCommand = commandBuilder
                                   .Create(UpdatePreview, CanUpdatePreview)
                                   .WithSingleExecution()
                                   .Build();
        }
Esempio n. 2
0
        protected ViewModelBase(IScarletCommandBuilder commandBuilder)
            : base((commandBuilder?.Messenger) !)
        {
            CommandBuilder   = commandBuilder ?? throw new ArgumentNullException(nameof(commandBuilder));
            Dispatcher       = commandBuilder.Dispatcher ?? throw new ArgumentNullException(nameof(IScarletCommandBuilder.Dispatcher));
            CommandManager   = commandBuilder.CommandManager ?? throw new ArgumentNullException(nameof(IScarletCommandBuilder.CommandManager));
            Exit             = commandBuilder.Exit ?? throw new ArgumentNullException(nameof(IScarletCommandBuilder.Exit));
            WeakEventManager = commandBuilder.WeakEventManager ?? throw new ArgumentNullException(nameof(IScarletCommandBuilder.WeakEventManager));

            BusyStack = new ObservableBusyStack((hasItems) => IsBusy = hasItems);
        }
Esempio n. 3
0
 public static IScarletCommandBuilder GetTestCommandBuilder(IScarletDispatcher dispatcher             = null,
                                                            IScarletCommandManager commandManager     = null,
                                                            IScarletExceptionHandler exceptionHandler = null,
                                                            IMessenger messenger     = null,
                                                            IExitService exitService = null,
                                                            IScarletEventManager <INotifyPropertyChanged, PropertyChangedEventArgs> eventManager = null,
                                                            Func <Action <bool>, IBusyStack> busyStackFactory = null)
 {
     return(new ScarletCommandBuilder(dispatcher ?? GetTestDispatcher(),
                                      commandManager ?? GetTestCommandManager(),
                                      exceptionHandler ?? GetTestExceptionHandler(),
                                      messenger ?? GetTestMessenger(),
                                      exitService ?? GetTestExitService(),
                                      eventManager ?? GetTestEventManager(),
                                      busyStackFactory ?? GetTestBusyStackFactory()));
 }
Esempio n. 4
0
        protected PagedSourceListViewModelBase(IScarletCommandBuilder commandBuilder, SynchronizationContext synchronizationContext, Func <TViewModel, string> selector, IPagedDataProvider <TViewModel> pagedDataProvider)
            : base(synchronizationContext, selector)
        {
            CommandBuilder = commandBuilder ?? throw new ArgumentNullException(nameof(commandBuilder));
            Dispatcher     = commandBuilder.Dispatcher ?? throw new ArgumentNullException(nameof(IScarletCommandBuilder.Dispatcher));
            CommandManager = commandBuilder.CommandManager ?? throw new ArgumentNullException(nameof(IScarletCommandBuilder.CommandManager));

            _pagedDataProvider = pagedDataProvider ?? throw new ArgumentNullException(nameof(pagedDataProvider));

            SelectedItems = new ObservableCollection <TViewModel>();
            BusyStack     = new ObservableBusyStack((hasItems) => IsBusy = hasItems);
            PageSize      = 50;

            _loadCommand = commandBuilder
                           .Create(Load, CanLoad)
                           .WithSingleExecution()
                           .WithBusyNotification(BusyStack)
                           .WithAsyncCancellation()
                           .Build();

            _refreshCommand = commandBuilder
                              .Create(Refresh, CanRefresh)
                              .WithSingleExecution()
                              .WithBusyNotification(BusyStack)
                              .WithAsyncCancellation()
                              .Build();

            _unloadCommand = commandBuilder
                             .Create(Unload, CanUnload)
                             .WithSingleExecution()
                             .WithBusyNotification(BusyStack)
                             .WithAsyncCancellation()
                             .Build();

            NextCommand = commandBuilder
                          .Create(Next, CanNext)
                          .WithSingleExecution()
                          .WithBusyNotification(BusyStack)
                          .WithAsyncCancellation()
                          .Build();

            PreviousCommand = commandBuilder
                              .Create(Previous, CanPrevious)
                              .WithSingleExecution()
                              .WithBusyNotification(BusyStack)
                              .WithAsyncCancellation()
                              .Build();

            FirstCommand = commandBuilder
                           .Create(First, CanFirst)
                           .WithSingleExecution()
                           .WithBusyNotification(BusyStack)
                           .WithAsyncCancellation()
                           .Build();

            LastCommand = commandBuilder
                          .Create(Last, CanLast)
                          .WithSingleExecution()
                          .WithBusyNotification(BusyStack)
                          .WithAsyncCancellation()
                          .Build();
        }