public StyleBuilder(IColorIndexer ci, IImageIndexer ii) { this.ci = ci; this.ii = ii; sbPen = new PenStyleBuilder(this, "p"); sbPen2 = new PenStyleBuilder(this, "sp"); sbBrush = new BrushStyleBuilder(this, "b"); sbImage = new ImageStyleBuilder(this, "i"); sbText = new TextStyleBuilder(this); sbExt = new ExtStyleBuilder(this); }
public FilesManager(IListManager listManager, IEventSystem eventSystem, IImageIndexer imageIndexer) : base(listManager, eventSystem) { ReactOn <PrepareLoadEvent>(_ => Filter = string.Empty); ReactOn <DeleteEvent>(c => { try { imageIndexer .GetEntity(c.Index) .IfHasValue(ic => { File.Delete(ic.FilePath); imageIndexer.Remove(ic.Index); }); } catch (Exception e) { MessageBox.Show(e.Message, "Fehler", MessageBoxButton.OK, MessageBoxImage.Error); } }); var imageSource = listManager.GetList <ImageComponent>(); _filter = Track(new ReactiveProperty <SearchQuery>(initialValue: SearchQuery.Empty), nameof(Filter)); var filter = _filter.Select(sq => new Func <ImageComponent, bool>(sq.FilterAction)); DisposeThis(imageSource .Connect() .Filter(filter) .ObserveOnDispatcher() .Bind(Filtered) .Subscribe()); DisposeThis(imageSource .Connect() .AutoRefreshOnObservable(ic => ic.IsFavorite) .Where(c => c.IsFavorite.Value) .ObserveOnDispatcher() .Bind(Favorites) .Subscribe()); }
public StyleBuilder(IColorIndexer ci, IImageIndexer ii) { this.ci = ci; this.ii = ii; }