private void OnPaint(AddressesNode addressesNode) { if ((this.TreeSource != null) && (addressesNode != null)) { LocalAddress address = (LocalAddress) addressesNode.get_Tag(); if (address.Level == AddressLevel.Жилье) { addressesNode.set_ForeColor(DefaultColor); } else if (!this.IsExists(this.TreeSource, addressesNode)) { addressesNode.SetColor(); } else { addressesNode.set_ForeColor(DefaultColor); addressesNode.Expand(); foreach (System.Windows.Forms.TreeNode node in addressesNode.Nodes) { this.OnPaint((AddressesNode) node); } } } }
private void RemoveNode(AddressesNode node) { if (this.IsExists(node)) { LocalAddress parent = ((LocalAddress) node.get_Tag()).GetParent(); if (parent == LocalAddress.Null) { base.Nodes.Remove(node); } else { AddressesNode nodeByAddress = this.GetNodeByAddress(parent); if (nodeByAddress == null) { base.Nodes.Remove(node); } else { base.Nodes.Remove(node); if (nodeByAddress.Nodes.get_Count() == 0) { this.RemoveNode(nodeByAddress); } } } } }
private bool IsExists(AddressesNode node) { return this.IsExists(this, node); }
private bool IsExists(AreaAddressesTree tree, AddressesNode node) { System.Windows.Forms.TreeNode[] treeNodes = this.GetTreeNodes(tree, node); if (treeNodes == null) { return false; } if (treeNodes.Length == 0) { return false; } return true; }
private AddressesNode GetNode(AreaAddressesTree tree, AddressesNode node) { System.Windows.Forms.TreeNode[] treeNodes = this.GetTreeNodes(tree, node); if ((treeNodes != null) && (treeNodes.Length != 0)) { return (AddressesNode) treeNodes[0]; } return null; }
private System.Windows.Forms.TreeNode[] GetTreeNodes(AreaAddressesTree tree, AddressesNode node) { return tree.Nodes.Find(node.get_Name(), true); }
private void AddNode(AddressesNode node) { if (!this.IsExists(node)) { LocalAddress parent = (LocalAddress) ((LocalAddress) node.get_Tag()).Parent; if ((parent == null) || (parent == LocalAddress.Null)) { parent = ((LocalAddress) node.get_Tag()).GetParent(); } if (parent == LocalAddress.Null) { base.Nodes.Add(node); node.NullAdd(); } else { AddressesNode nodeByAddress = this.GetNodeByAddress(parent); if (nodeByAddress != null) { nodeByAddress.Nodes.Add(node); node.NullAdd(); } else { AddressesNode node3 = new AddressesNode(parent); this.AddNode(node3); node3.Nodes.Add(node); node.NullAdd(); } } } }
protected override void OnAfterSelect(System.Windows.Forms.TreeViewEventArgs e) { if (this.m_PreNode != null) { this.m_PreNode.set_ForeColor(this.m_PreColor); } if (e.Node is AddressesNode) { this.m_PreColor = e.Node.ForeColor; if ((e.Node as AddressesNode).isMarked) { (e.Node as AddressesNode).set_ForeColor(MarkedSelectedColor); } else { (e.Node as AddressesNode).set_ForeColor(SelectedColor); } } this.m_PreNode = e.Node as AddressesNode; if (this.OnChangeSelectAddresses != null) { this.OnChangeSelectAddresses(); } if (this.OnEventAreaAddressesTreeAfterSelect != null) { this.OnEventAreaAddressesTreeAfterSelect(this, e); } }
public void Load(ObjectList<LocalAddress> localAddresses, bool mark) { base.Nodes.Clear(); if (localAddresses != null) { foreach (LocalAddress address in localAddresses) { AddressesNode node = new AddressesNode(address); this.AddNode(node); if (mark) { node.SetColor(); } } this.OnPaintRoots(); } if (this.OnChangeSelectAddresses != null) { this.OnChangeSelectAddresses(); } }
public void GetLeavesByRoot(ObjectList<LocalAddress> addresses, AddressesNode node) { node.NullDelete(); if ((node.Nodes.get_Count() == 0) || (node.ForeColor == Color)) { if (addresses.FindById(((LocalAddress) node.get_Tag()).Id) == null) { addresses.Add((LocalAddress) node.get_Tag()); } node.NullAdd(); } else { foreach (AddressesNode node2 in node.Nodes) { this.GetLeavesByRoot(addresses, node2); } } }
public void GetLeaves(ObjectList<LocalAddress> addresses, AddressesNode node) { if (node == null) { foreach (AddressesNode node2 in base.Nodes) { this.GetLeavesByRoot(addresses, node2); } } else { this.GetLeavesByRoot(addresses, node); } }