internal void OnChildLoading(NodeVm node) { if (ChildLoading != null) { ChildLoading(this, new NodeVmArgs(node)); } }
private void InitNode(NodeVm node) { node.Container = this.Container; //加入总集合 Container.AllNodes[node.Id] = node; //加入父子集合 Container.Relater[node.Id] = Id; }
public void AddChild(NodeVm node) { node.OrderID = Relater.Count(p => p.Value == Id); Nodes.Add(node); InitNode(node); OnAfterAddChild(node); }
void DoCurrentNodeChanged(NodeVm vm) { OnCurrentNodeChanged(vm); if (CurrentNodeChanged != null && vm != null) { CurrentNodeChanged(this, new NodeVmArgs(vm)); } }
private void InitNode(NodeVm node) { node.Container = this; //加入总集合 AllNodes[node.Id] = node; //加入父子集合 Relater[node.Id] = Id; node.RefreshShortFullName(); }
internal void DoDoubleClicked(NodeVm vm) { if (vm != null) { OnDoubleClicked(vm); } if (DoubleClicked != null || vm != null) { DoubleClicked(this, new NodeVmArgs(vm)); } }
internal void DoClicked(NodeVm vm) { if (vm != null) { OnClicked(vm); } if (Clicked != null && vm != null) { Clicked(this, new NodeVmArgs(vm)); } }
/// <summary> /// 移除节点及其关系 /// </summary> /// <param name="node"></param> public void RemoveChild(NodeVm node) { if (this.Container == null) { throw new ArgumentException("NULL Container!"); } foreach (var n in node.Nodes) { node.RemoveChild(n); } Container.AllNodes.Remove(node.Id); Container.Relater.Remove(node.Id); Container.Relater = null; }
/// <summary> /// Add a child node /// </summary> /// <param name="node"></param> public void AddChild(NodeVm node) { if (this.Container == null) { throw new ArgumentException("NULL Container!"); } if (node.Nodes.Count > 0) { throw new ArgumentException("node.Nodes.Count>0"); } node.OrderID = Container.Relater.Count(p => p.Value == Id); Nodes.Add(node); InitNode(node); }
public void RemoveNode(NodeVm node) { if (node == null || node.Container == null) { return; } foreach (var n in node.Nodes) { node.RemoveChild(n); } AllNodes.Remove(node.Id); Relater.Remove(node.Id); Relater = null; }
public NodeVmArgs(NodeVm node) { this.Node = node; }
protected virtual void OnDoubleClicked(NodeVm vm) { }
protected virtual void OnClicked(NodeVm vm) { }
public virtual void OnCurrentNodeChanged(NodeVm vm) { }
protected virtual void OnAfterAddChild(NodeVm node) { }