private void _onSelectedClassesChanged(object sender, ClassSelectionEventArgs e) { var dirtyGroups = new HashSet<NamespaceGroup>(); var dirtyNodes = new HashSet<NamespaceNode>(); foreach (var node in ClassNode.Get(e.AddedClasses)) { node.UpdateSelection(true); dirtyNodes.Add(node.Parent); dirtyGroups.Add(node.Parent.Parent); } foreach (var node in ClassNode.Get(e.RemovedClasses)) { node.UpdateSelection(false); dirtyNodes.Add(node.Parent); dirtyGroups.Add(node.Parent.Parent); } dirtyNodes.Apply(node => node.UpdateSelection(false)); dirtyGroups.Apply(group => group.UpdateSelection(false)); }
private void _onSelectedClassesChanged(object sender, ClassSelectionEventArgs e) { if (_sourceNode != null) { Root.IsChecked = IsSelected(SourceClass); _sourceNode.UpdateSelection(false); } }
private void _onSelectedClassesChanged(object sender, ClassSelectionEventArgs e) { ClassNode.Get(e.AddedClasses).Apply(node => node.UpdateSelection(true)); ClassNode.Get(e.RemovedClasses).Apply(node => node.UpdateSelection(false)); }