Exemple #1
0
 public System.Windows.Forms.TreeNode FindStreetNode(System.Windows.Forms.TreeNode streetNode)
 {
     foreach (System.Windows.Forms.TreeNode node in base.Nodes)
     {
         if (object.Equals(streetNode.get_Tag(), node.get_Tag()))
         {
             return node;
         }
     }
     return null;
 }
Exemple #2
0
 public void RemoveNode(System.Windows.Forms.TreeNode node)
 {
     base.BeginUpdate();
     LocalAddress address = (LocalAddress) node.get_Tag();
     if (address.Level == AddressLevel.MinAddress)
     {
         base.Nodes.Remove(node);
     }
     else if (address.Level == AddressLevel.Улица)
     {
         System.Windows.Forms.TreeNode parent = node.Parent;
         parent.Nodes.Remove(node);
         if (parent.Nodes.get_Count() == 0)
         {
             base.Nodes.Remove(parent);
         }
     }
     else if (address.Level == AddressLevel.Дом)
     {
         System.Windows.Forms.TreeNode node3 = node.Parent.Parent;
         System.Windows.Forms.TreeNode node4 = node.Parent;
         node4.Nodes.Remove(node);
         if (node4.Nodes.get_Count() == 0)
         {
             node3.Nodes.Remove(node4);
         }
         if (node3.Nodes.get_Count() == 0)
         {
             base.Nodes.Remove(node3);
         }
     }
     else
     {
         System.Windows.Forms.TreeNode node5 = node.Parent;
         System.Windows.Forms.TreeNode node6 = node.Parent.Parent;
         System.Windows.Forms.TreeNode node7 = node.Parent.Parent.Parent;
         node5.Nodes.Remove(node);
         if (node5.Nodes.get_Count() == 0)
         {
             node6.Nodes.Remove(node5);
         }
         if (node6.Nodes.get_Count() == 0)
         {
             node7.Nodes.Remove(node6);
         }
         if (node7.Nodes.get_Count() == 0)
         {
             base.Nodes.Remove(node7);
         }
     }
     base.EndUpdate();
 }
Exemple #3
0
 public void AddNode(System.Windows.Forms.TreeNode node)
 {
     base.BeginUpdate();
     LocalAddress address = (LocalAddress) node.get_Tag();
     if (address.Level == AddressLevel.MinAddress)
     {
         System.Windows.Forms.TreeNode node2 = this.FindCityNode(node);
         if (node2 == null)
         {
             base.Nodes.Add((System.Windows.Forms.TreeNode) node.Clone());
         }
         else
         {
             foreach (System.Windows.Forms.TreeNode node3 in node.Nodes)
             {
                 node2.Nodes.Add((System.Windows.Forms.TreeNode) node3.Clone());
             }
         }
     }
     else if (address.Level == AddressLevel.Улица)
     {
         System.Windows.Forms.TreeNode streetNode = this.FindCityNode(node.Parent);
         if (streetNode == null)
         {
             streetNode = base.Nodes.Add(node.Parent.get_Text());
             streetNode.set_Tag(node.Parent.get_Tag());
             streetNode.Nodes.Add((System.Windows.Forms.TreeNode) node.Clone());
         }
         else
         {
             System.Windows.Forms.TreeNode node5 = this.FindHouseNode(streetNode, node);
             if (node5 == null)
             {
                 streetNode.Nodes.Add((System.Windows.Forms.TreeNode) node.Clone());
             }
             else
             {
                 foreach (System.Windows.Forms.TreeNode node6 in node.Nodes)
                 {
                     node5.Nodes.Add((System.Windows.Forms.TreeNode) node6.Clone());
                 }
             }
         }
     }
     else if (address.Level == AddressLevel.Дом)
     {
         System.Windows.Forms.TreeNode node7 = this.FindCityNode(node.Parent.Parent);
         if (node7 == null)
         {
             node7 = base.Nodes.Add(node.Parent.Parent.get_Text());
             node7.set_Tag(node.Parent.Parent.get_Tag());
             System.Windows.Forms.TreeNode node8 = new System.Windows.Forms.TreeNode(node.Parent.get_Text());
             node8.set_Tag(node.Parent.get_Tag());
             node7.Nodes.Add(node8);
             node8.Nodes.Add((System.Windows.Forms.TreeNode) node.Clone());
         }
         else
         {
             System.Windows.Forms.TreeNode node9 = this.FindHouseNode(node7, node.Parent);
             if (node9 == null)
             {
                 node9 = node7.Nodes.Add(node.Parent.get_Text());
                 node9.set_Tag(node.Parent.get_Tag());
             }
             node9.Nodes.Add((System.Windows.Forms.TreeNode) node.Clone());
         }
     }
     else
     {
         System.Windows.Forms.TreeNode node10 = this.FindCityNode(node.Parent.Parent.Parent);
         if (node10 == null)
         {
             node10 = base.Nodes.Add(node.Parent.Parent.Parent.get_Text());
             node10.set_Tag(node.Parent.Parent.Parent.get_Tag());
             System.Windows.Forms.TreeNode node11 = new System.Windows.Forms.TreeNode(node.Parent.Parent.get_Text());
             node11.set_Tag(node.Parent.Parent.get_Tag());
             node10.Nodes.Add(node11);
             System.Windows.Forms.TreeNode node12 = new System.Windows.Forms.TreeNode(node.Parent.get_Text());
             node12.set_Tag(node.Parent.get_Tag());
             node11.Nodes.Add(node12);
             node12.Nodes.Add((System.Windows.Forms.TreeNode) node.Clone());
         }
         else
         {
             System.Windows.Forms.TreeNode node13 = this.FindHouseNode(node10, node.Parent.Parent);
             if (node13 == null)
             {
                 node13 = node10.Nodes.Add(node.Parent.Parent.get_Text());
                 node13.set_Tag(node.Parent.Parent.get_Tag());
             }
             System.Windows.Forms.TreeNode node14 = this.FindHouseNode(node13, node.Parent);
             if (node14 == null)
             {
                 node14 = node13.Nodes.Add(node.Parent.get_Text());
                 node14.set_Tag(node.Parent.get_Tag());
             }
             node14.Nodes.Add((System.Windows.Forms.TreeNode) node.Clone());
         }
     }
     base.EndUpdate();
 }