public bool Remove(EditorViewModel editor) { if (editor == null) { throw new ArgumentNullException(nameof(editor)); } var list = GetListCore(editor); if (editor is PropertyViewModel pvm && this.targetPlatform.GroupedTypes != null && this.targetPlatform.GroupedTypes.TryGetValue(pvm.Property.Type, out string groupName)) { var group = list.OfType <PropertyGroupViewModel> ().FirstOrDefault(gvm => gvm.Category == groupName); if (group != null) { bool found = group.Remove(pvm); if (!group.HasChildElements) { list.Remove(group); } return(found); } } bool result = list.Remove(editor); if (result) { OnPropertyChanged(nameof(HasChildElements)); OnPropertyChanged(nameof(HasUncommonElements)); } return(result); }
public IReadOnlyList <EditorViewModel> GetList(EditorViewModel evm) { if (evm == null) { throw new ArgumentNullException(nameof(evm)); } return((IReadOnlyList <EditorViewModel>)GetListCore(evm)); }
private bool MatchesFilter(EditorViewModel vm) { if (String.IsNullOrWhiteSpace(FilterText)) { return(true); } if (ArrangeMode == PropertyArrangeMode.Category && vm.Category != null && vm.Category.Contains(FilterText, StringComparison.OrdinalIgnoreCase)) { return(true); } if (String.IsNullOrWhiteSpace(vm.Name)) { return(false); } return(vm.Name.Contains(FilterText, StringComparison.OrdinalIgnoreCase)); }
private void AddCore(EditorViewModel editor) { if (editor == null) { throw new ArgumentNullException(nameof(editor)); } var list = GetListCore(editor); if (editor is PropertyViewModel pvm && this.targetPlatform.GroupedTypes != null && this.targetPlatform.GroupedTypes.TryGetValue(pvm.Property.Type, out string groupName)) { var group = list.OfType <PropertyGroupViewModel> ().FirstOrDefault(gvm => gvm.Category == groupName); if (group != null) { group.Add(pvm); } else { list.Add(editor); } }
public void Add(EditorViewModel editor) { AddCore(editor); }
private string GetGroup(EditorViewModel vm) { return((ArrangeMode == PropertyArrangeMode.Name) ? "0" : vm.Category); }