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
        public Patterns(IScarletCommandBuilder commandBuilder, DirectoriesViewModel directoriesViewModel)
            : base(commandBuilder)
        {
            _directoriesViewModel = directoriesViewModel ?? throw new ArgumentNullException(nameof(directoriesViewModel));

            AddCommand = commandBuilder
                         .Create(Add, CanAdd)
                         .WithSingleExecution()
                         .Build();

            Messenger.Subscribe <ViewModelListBaseSelectionChanged <Pattern> >(OnSelectionChanged, OnSelectionChangedReceived);
        }
Esempio n. 3
0
        public ProgressViewModel(IScarletCommandBuilder commandBuilder, Progress <int> progress, DirectoriesViewModel directoriesViewModel)
            : base(commandBuilder)
        {
            _directoriesViewModel = directoriesViewModel ?? throw new ArgumentNullException(nameof(directoriesViewModel));
            _progress             = progress ?? throw new ArgumentNullException(nameof(progress));

            _observable = Observable.FromEventPattern <int>(
                fsHandler => _progress.ProgressChanged += fsHandler,
                fsHandler => _progress.ProgressChanged -= fsHandler);

            _disposable = _observable
                          .Publish(ps => ps.Buffer(() => ps.Throttle(TimeSpan.FromSeconds(1))))
                          .Subscribe(x => ProgressChanged(x.Sum(p => p.EventArgs)));

            //_disposable = _observable
            //    .Window(TimeSpan.FromSeconds(1))
            //    .Count()
            //    .Subscribe(ProgressChanged);
        }