private NodeViewModel findRoot(IISOViewModel vm) { while (!isRoot(vm)) { vm = addOrRetrieveISOVM(vm.Parent); } return(addOrRetrieveNode(vm)); }
public virtual void addGenerator(IISOViewModel vm) { var genNode = addOrRetrieveNode(vm); _generators.Add(genNode); genNode.IsGenerator = true; addParents(vm); }
private void addPropertiesToSelection(IISOViewModel vm) { if (vm.Properties != null) { foreach (var property in vm.Properties) { _selection.Add(property); } } }
private void recursiveAddToSelection(IISOViewModel vm) { _selection.Add(vm.ISO); addPropertiesToSelection(vm); foreach (var child in vm.Children) { var childVM = addOrRetrieveISOVM(child); recursiveAddToSelection(childVM); } }
private NodeViewModel addOrRetrieveNode(IISOViewModel vm) { NodeViewModel node = null; if (!_nodes.TryGetValue(vm.Rowguid, out node)) { node = new NodeViewModel(vm, this); _nodes.Add(vm.Rowguid, node); } return(node); }
public virtual void removeGenerator(IISOViewModel vm) { NodeViewModel node = null; if (_nodes.TryGetValue(vm.Rowguid, out node)) { _generators.Remove(node); node.IsGenerator = false; if (!node.isNecessary()) { trimBranchContaining(node); } } }
public NodeViewModel(IISOViewModel vm, TreeViewModel owner) { _vm = vm; _owner = owner; if(_vm != null && _vm.Properties != null) foreach (var property in _vm.Properties) { _propertyVMs.Add(_owner.addOrRetrieveISOVM(property)); } _childNodes = new List<NodeViewModel>(); var firstChilld = _vm.Children.FirstOrDefault(); if (firstChilld != null) { var childVM = _owner.addOrRetrieveISOVM(firstChilld); var node = _owner.addOrRetrieveNode(childVM); _childNodes.Add(node); } }
public override void removeGenerator(IISOViewModel vm) { if (!_sealed) { lock (this) { _queuesEmpty.Reset(); _suspendUpdates = false; _removeQueue.Enqueue(vm); queueForWork(this); } } #if DEBUG else { throw new InvalidOperationException("Object is currently locked against further changes!"); } #endif }
public NodeViewModel(IISOViewModel vm, TreeViewModel owner) { _vm = vm; _owner = owner; if (_vm != null && _vm.Properties != null) { foreach (var property in _vm.Properties) { _propertyVMs.Add(_owner.addOrRetrieveISOVM(property)); } } _childNodes = new List <NodeViewModel>(); var firstChilld = _vm.Children.FirstOrDefault(); if (firstChilld != null) { var childVM = _owner.addOrRetrieveISOVM(firstChilld); var node = _owner.addOrRetrieveNode(childVM); _childNodes.Add(node); } }
private void addParents(IISOViewModel vm) { Stack <IISOViewModel> familyLine = new Stack <IISOViewModel>(); while (!isRoot(vm)) { familyLine.Push(vm); vm = addOrRetrieveISOVM(vm.Parent); } NodeViewModel rootNode = addOrRetrieveNode(vm); addRoot(rootNode); var currentNode = rootNode; while (familyLine.Count > 0) { var childNode = addOrRetrieveNode(familyLine.Pop()); currentNode.injectChild(childNode); currentNode.IsExpanded = true; currentNode = childNode; } }
void SelectionTree_SelectionBuildProgressChanged(int rootCount, int rootsDone, IISOViewModel currentVM) { DispatcherHelper.CheckBeginInvokeOnUI(() => { RootCount = rootCount; CurrentRootNo = rootsDone; BuildProgress = (rootCount > 0) ? 100*rootsDone / RootCount : 100; BuildingSelection = true; }); }
private bool isRoot(IISOViewModel vm) { return vm.Parent == null; }
private NodeViewModel findRoot(IISOViewModel vm) { while (!isRoot(vm)) vm = addOrRetrieveISOVM(vm.Parent); return addOrRetrieveNode(vm); }
private void addPropertiesToSelection(IISOViewModel vm) { if (vm.Properties != null) { foreach (var property in vm.Properties) _selection.Add(property); } }
private void addParents(IISOViewModel vm) { Stack<IISOViewModel> familyLine = new Stack<IISOViewModel>(); while (!isRoot(vm)) { familyLine.Push(vm); vm = addOrRetrieveISOVM(vm.Parent); } NodeViewModel rootNode = addOrRetrieveNode(vm); addRoot(rootNode); var currentNode = rootNode; while (familyLine.Count > 0) { var childNode = addOrRetrieveNode(familyLine.Pop()); currentNode.injectChild(childNode); currentNode.IsExpanded = true; currentNode = childNode; } }
private NodeViewModel addOrRetrieveNode(IISOViewModel vm) { NodeViewModel node = null; if (!_nodes.TryGetValue(vm.Rowguid, out node)) { node = new NodeViewModel(vm, this); _nodes.Add(vm.Rowguid, node); } return node; }
public virtual void removeGenerator(IISOViewModel vm) { NodeViewModel node = null; if (_nodes.TryGetValue(vm.Rowguid, out node)) { _generators.Remove(node); node.IsGenerator = false; if(!node.isNecessary()) trimBranchContaining(node); } }
private bool isRoot(IISOViewModel vm) { return(vm.Parent == null); }
void SelectionTree_SelectionBuildProgressChanged(int rootCount, int rootsDone, IISOViewModel currentVM) { DispatcherHelper.CheckBeginInvokeOnUI(() => { RootCount = rootCount; CurrentRootNo = rootsDone; BuildProgress = (rootCount > 0) ? 100 * rootsDone / RootCount : 100; BuildingSelection = true; }); }