示例#1
0
 private void ProcessNode(TreeNode node, Shape shape)
 {
     node.Text    = shape.Name;
     node.Checked = shape.Flag;
     shape.AddFlagObserver(new TreeNodeFlagObserver(node));
     node.Tag = new ShapeFlagObserver(shape);
     if (shape.GetType() == typeof(Group))
     {
         var group   = (Group)shape;
         var storage = group.GroupStorage;
         for (var i = 1; i <= storage.GetMaxIndex(); i++)
         {
             var childNode = new TreeNode("Group");
             ProcessNode(childNode, storage.GetItem(i));
             node.Nodes.Add(childNode);
         }
     }
 }