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);
    }
 }
Example #3
0
 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));
 }