public void Monitor(ICollectionView view, IEnumerable <Entry> entries) { foreach (var filter in AllFilters) { filter.PropertyChanged += (o, e) => { view.Refresh(); OnPropertyChanged(nameof(EngineerFilters)); OnPropertyChanged(nameof(GradeFilters)); OnPropertyChanged(nameof(TypeFilters)); OnPropertyChanged(nameof(CraftableFilters)); OnPropertyChanged(nameof(IgnoredFavoriteFilters)); }; } foreach (var item in entries) { item.PropertyChanged += (o, e) => Application.Current.Dispatcher.Invoke(view.Refresh); } view.Filter = o => { var blueprint = (Blueprint)o; var ret = GradeFilters.Where(f => f.Checked).Any(f => f.AppliesTo(blueprint)) && EngineerFilters.Where(f => f.Checked).Any(f => f.AppliesTo(blueprint)) && TypeFilters.Where(f => f.Checked).Any(f => f.AppliesTo(blueprint)) && IgnoredFavoriteFilters.Where(f => f.Checked).Any(f => f.AppliesTo(blueprint)) && CraftableFilters.Where(f => f.Checked).Any(f => f.AppliesTo(blueprint)); return(ret); }; }
public void SaveSettings() { var settings = MainViewModel.Default.AppSettings; settings.MoviesSettings.StateFilters = StateFilters.Select(p => p.Value.ToModel()).ToList(); settings.MoviesSettings.TypeFilters = TypeFilters.Select(p => p.Value.ToModel()).ToList(); settings.MoviesSettings.SelectedMovieID = SelectedItem?.ID ?? 0; //settings.SaveAppSettings(); }
/// <summary> /// Registers all controller types from the given assemblies. /// </summary> /// <param name="map">The target dependency map.</param> /// <param name="assemblies">The list of assemblies that contain the controller types being registered.</param> public static void RegisterAllControllersFrom(this DependencyMap map, IEnumerable <Assembly> assemblies) { Action <DependencyMap, Type> registerTypeAction = (dependencyMap, controllerType) => { var typeName = controllerType.Name; dependencyMap.AddService(typeName, typeof(IController), controllerType); }; map.AddServicesFrom(assemblies, TypeFilters.IsDerivedFrom <IController>(), registerTypeAction); }
public void Monitor(CollectionViewSource source, IEnumerable <Entry> entries) { foreach (var filter in AllFilters.Concat(IngredientFilters)) { filter.PropertyChanged += (o, e) => { source.View.Refresh(); OnPropertyChanged(nameof(EngineerFilters)); OnPropertyChanged(nameof(GradeFilters)); OnPropertyChanged(nameof(TypeFilters)); OnPropertyChanged(nameof(CraftableFilters)); OnPropertyChanged(nameof(IgnoredFavoriteFilters)); }; } foreach (var item in entries) { item.PropertyChanged += (o, e) => { var extended = e as PropertyChangedExtendedEventArgs <int>; if (e.PropertyName == "Count" || extended?.OldValue * extended?.NewValue == 0) { Application.Current.Dispatcher.Invoke(source.View.Refresh); } }; } foreach (var blueprint in (IEnumerable <Blueprint>)source.Source) { blueprint.PropertyChanged += (o, e) => { if (e.PropertyName == "Favorite" || e.PropertyName == "Ignored") { source.View.Refresh(); } }; } source.Filter += (o, e) => { var blueprint = (Blueprint)e.Item; var checkedIngredients = IngredientFilters.Where(f => f.Checked).ToList(); var satisfyIngredientFilters = !checkedIngredients.Any() || checkedIngredients.Any(i => blueprint.Ingredients.Any(b => b.Entry == i.Entry)); var ret = satisfyIngredientFilters && GradeFilters.Where(f => f.Checked).Any(f => f.AppliesTo(blueprint)) && EngineerFilters.Where(f => f.Checked).Any(f => f.AppliesTo(blueprint)) && TypeFilters.Where(f => f.Checked).Any(f => f.AppliesTo(blueprint)) && IgnoredFavoriteFilters.Where(f => f.Checked).Any(f => f.AppliesTo(blueprint)) && CraftableFilters.Where(f => f.Checked).Any(f => f.AppliesTo(blueprint)); e.Accepted = ret; }; }
public bool?Filter(Type t) { if (t.Parent.Name == Namespace) { if (TypeFilters.ContainsKey(t.Name)) { return(TypeFilters[t.Name]); } return(DefaultValue); } return(null); }
public IEnumerable <Type> GetTypes(Func <Type, bool> where) { return(GetAssemblies().SelectMany( a => { try { return a.GetTypes().Where(t => where (t) && TypeFilters.All(func => func(t))); } catch { return new Type[0]; } })); }
private void InsertMagicFilters() { var magicTypeFilters = new TypeFilter("TFmagic") { Checked = true, Magic = true }; TypeFilters.Insert(0, magicTypeFilters); var magicEngineerFilters = new EngineerFilter("EFmagic") { Checked = true, Magic = true }; EngineerFilters.Insert(0, magicEngineerFilters); var magicGradeFilter = new GradeFilter("GFmagic") { Checked = true, Magic = true }; GradeFilters.Insert(0, magicGradeFilter); magicGradeFilter.PropertyChanged += (o, e) => { foreach (var filter in GradeFilters) { filter.Checked = magicGradeFilter.Checked; } }; magicEngineerFilters.PropertyChanged += (o, e) => { foreach (var filter in EngineerFilters) { filter.Checked = magicEngineerFilters.Checked; } }; magicTypeFilters.PropertyChanged += (o, e) => { foreach (var filter in TypeFilters) { filter.Checked = magicTypeFilters.Checked; } }; }
public IEnumerable <Type> GetTypes(Func <Type, bool> where) { return(GetAssemblies().SelectMany( a => { try { return a.GetTypes().Where(t => where (t) && TypeFilters.All(func => func(t))); } catch (Exception exception) { var msg = string.Format("Loading assembly {0} failed: \n{1}", a.FullName, exception); Trace.TraceWarning(msg); Debugger.Log((int)TraceLevel.Warning, "AppDomainHelper", msg); return new Type[0]; } })); }
private void GetTypeFilters() { var types = (EncounterOrder[])Enum.GetValues(typeof(EncounterOrder)); var checks = types.Select(z => new CheckBox { Name = z.ToString(), Text = z.ToString(), AutoSize = true, Checked = true, Padding = Padding.Empty, Margin = Padding.Empty, }).ToArray(); foreach (var chk in checks) { TypeFilters.Controls.Add(chk); TypeFilters.SetFlowBreak(chk, true); } }
public TestRunState RunMember(ITestListener testListener, Assembly assembly, MemberInfo member) { Type type = member as Type; if (type != null) { TypeFixtureFilter filter = new TypeFixtureFilter(type.FullName); TypeFilterBase typeFilter = TypeFilters.Type(type.FullName); return(Run(testListener, assembly, filter, new AnyRunPipeFilter(), typeFilter)); } else { TypeFixtureFilter filter = new TypeFixtureFilter(member.DeclaringType.FullName); TypeFilterBase typeFilter = TypeFilters.Type(member.DeclaringType.FullName); ContainsMemberRunPipeFilter runPipeFilter = new ContainsMemberRunPipeFilter(member); return(Run(testListener, assembly, filter, runPipeFilter, typeFilter)); } }
private void InsertMagicFilters() { var magicTypeFilters = TypeFilter.MagicFilter; TypeFilters.Insert(0, magicTypeFilters); var magicEngineerFilters = EngineerFilter.MagicFilter; EngineerFilters.Insert(0, magicEngineerFilters); var magicGradeFilter = GradeFilter.MagicFilter; GradeFilters.Insert(0, magicGradeFilter); magicGradeFilter.PropertyChanged += (o, e) => { foreach (var filter in GradeFilters) { filter.Checked = magicGradeFilter.Checked; } }; magicEngineerFilters.PropertyChanged += (o, e) => { foreach (var filter in EngineerFilters) { filter.Checked = magicEngineerFilters.Checked; } }; magicTypeFilters.PropertyChanged += (o, e) => { foreach (var filter in TypeFilters) { filter.Checked = magicTypeFilters.Checked; } }; }
public void Monitor(CollectionViewSource source, IEnumerable <Entry> entries, ObservableCollection <Entry> highlightedEntryData) { PropertyChanged += (o, e) => { if (e.PropertyName == nameof(SearchText)) { source.View.Refresh(); } }; foreach (var filter in AllFilters) { filter.PropertyChanged += (o, e) => { source.View.Refresh(); OnPropertyChanged(nameof(EngineerFilters)); OnPropertyChanged(nameof(GradeFilters)); OnPropertyChanged(nameof(TypeFilters)); OnPropertyChanged(nameof(CraftableFilters)); OnPropertyChanged(nameof(IgnoredFavoriteFilters)); }; } highlightedEntryData.CollectionChanged += (o, e) => { source.View.Refresh(); }; foreach (var item in entries) { item.PropertyChanged += (o, e) => { var extended = e as PropertyChangedExtendedEventArgs <int>; if (e.PropertyName == "Count" || extended?.OldValue * extended?.NewValue == 0) { Application.Current.Dispatcher.Invoke(source.View.Refresh); } }; } foreach (var blueprint in (IEnumerable <Blueprint>)source.Source) { blueprint.PropertyChanged += (o, e) => { if (e.PropertyName == "Favorite" || e.PropertyName == "Ignored") { source.View.Refresh(); } }; } source.Filter += (o, e) => { var blueprint = (Blueprint)e.Item; var satisfySearchText = string.IsNullOrWhiteSpace(trimmedSearchText) || trimmedSearchText.Split(' ').All(t => blueprint.SearchableContent.IndexOf(t.Trim(), StringComparison.Ordinal) >= 0); var satisfyHighlightedFilters = !highlightedEntryData.Any() || highlightedEntryData.Intersect( blueprint.Ingredients.Select(i => i.Entry)).Any(); var ret = satisfySearchText && satisfyHighlightedFilters && GradeFilters.Where(f => f.Checked).Any(f => f.AppliesTo(blueprint)) && EngineerFilters.Where(f => f.Checked).Any(f => f.AppliesTo(blueprint)) && TypeFilters.Where(f => f.Checked).Any(f => f.AppliesTo(blueprint)) && IgnoredFavoriteFilters.Where(f => f.Checked).Any(f => f.AppliesTo(blueprint)) && CraftableFilters.Where(f => f.Checked).Any(f => f.AppliesTo(blueprint)); e.Accepted = ret; }; }