public AncestryBrowserWindowViewModel(TypeInfo typeInfo) { _typeInfo = typeInfo; ExpandCollapseAllCommand = new DelegateCommand(ExpandCollapseAllCommandHandler); _options = new MemberOptions { ShowProperties = true, ShowEvents = true, ShowMethods = true, ShowProtected = true, ShowProtectedInternal = true, ShowPublic = true }; _typeViewModel = new TypeViewModel(_typeInfo); _ancestry = _typeViewModel.Ancestry.ToList(); _ancestry.Last().IsLast = true; _assemblies = _ancestry .GroupBy(t => t.TypeInfo.Module.Assembly) .Select(g => new AssemblyViewModel(g.Key, g)) .ToList(); int currentIndex = 0; foreach (var assembly in _assemblies) { var brush = BrushProvider.BrushPairs[currentIndex].Background as SolidColorBrush; brush = new SolidColorBrush( new Color { A = 72, R = brush.Color.R, G = brush.Color.G, B = brush.Color.B}); assembly.BackgroundBrush = brush; assembly.CaptionBrush = BrushProvider.BrushPairs[currentIndex].Caption; currentIndex++; if (currentIndex == BrushProvider.BrushPairs.Count) { currentIndex = 0; } } KindGroup = new CommandsGroupViewModel( Resources.Members, new List<GroupedUserCommand> { new GroupedUserCommand(Resources.All, ShowAllMemberKinds, true), new GroupedUserCommand(Resources.Virtual, ShowVirtualMembers) }); UpdateMembers(); FillToolTips(); }
private void InitializeSearchControl() { var sortingGroup = new CommandsGroupViewModel( Resources.SortBy, new List<GroupedUserCommand> { new GroupedUserCommand(Resources.Name, SortByName), new GroupedUserCommand(Resources.DescendantsCount, SortByDescendantsCount, true), new GroupedUserCommand(Resources.MembersCount, SortByMembersCount) }); var filteringByTypeGroup = new CommandsGroupViewModel( Resources.Types, new List<GroupedUserCommand> { new GroupedUserCommand(Resources.All, ShowAllTypes, true), new GroupedUserCommand(Resources.Interfaces, ShowInterfaces), new GroupedUserCommand(Resources.ValueTypes, ShowValueTypes), new GroupedUserCommand(Resources.Enums, ShowEnums) }); var filteringByVisibilityGroup = new CommandsGroupViewModel( Resources.Visibility, new List<GroupedUserCommand> { new GroupedUserCommand(Resources.Any, ShowAnyVisibility, true), new GroupedUserCommand(Resources.Public, ShowPublicTypes), new GroupedUserCommand(Resources.Internal, ShowInternalTypes) }); SearchControlGroups = new ObservableCollection<CommandsGroupViewModel> { sortingGroup, filteringByTypeGroup, filteringByVisibilityGroup }; }