示例#1
0
文件: Form1.cs 项目: aisyluG/OOP_labs
 public void selectNode(TreeNode tree)
 {
     if (tree.Name == "CGroup" || tree.Name == "CCircle" || tree.Name == "CSegment" || tree.Name == "CRectangle" ||
         tree.Name == "CTriangle" || tree.Text == "group")
     {
         foreach (TreeNode tr in tree.Nodes)
         {
             selectNode(tr);
         }
     }
     else
     {
         try {
             int k = Convert.ToInt32(tree.Name);
             if (tree.Parent.Parent.Text == "group")
             {
                 CGroup g = (CGroup)arr[Convert.ToInt32(tree.Parent.Parent.Name)];
                 g.getObj(k).select();
             }
             else
             {
                 arr[k].select();
             }
         }
         catch { }
     }
 }
示例#2
0
文件: Form1.cs 项目: aisyluG/OOP_labs
 public void ungroupChoosen()
 {
     for (int i = 0; i < Count; i++)
     {
         if (arr[i].IsObjectSelected() == true && arr[i].IsA("Group") == true)
         {
             CGroup g = (CGroup)arr[i];
             g.ungroup(this, i);
         }
     }
 }
示例#3
0
文件: Form1.cs 项目: aisyluG/OOP_labs
        public int groupChoosen()
        {
            int    size = getNumSelected();
            CGroup g    = new CGroup(size);

            for (int i = Count - 1; i >= 0; i--)
            {
                if (arr[i].IsObjectSelected() == true)
                {
                    if (g.addToGroup(arr[i]) == true)
                    {
                        deleteObject(i);
                    }
                }
            }
            return(setObject(g));
        }
示例#4
0
 public void processNode(TreeNode tree, CPoint point, int k)
 {
     if (tree == null || tree.Nodes[point.classname()] == null)
     {
         tree.Nodes.Add(point.classname(), point.classname());
     }
     if (point.IsA("CGroup") == true)
     {
         tree.Nodes[point.classname()].Nodes.Add(k.ToString(), "group");
         CGroup g = (CGroup)point;
         for (int i = 0; i < g.getCount(); i++)
         {
             processNode(tree.Nodes["CGroup"].Nodes[k.ToString()], g.getObj(i), i);
         }
     }
     else
     {
         tree.Nodes[point.classname()].Nodes.Add(k.ToString(), $"({point.getX()}, {point.getY()})");
     }
     if (point.IsObjectSelected() == true)
     {
         myTree.SelectedNode = tree.Nodes[point.classname()].LastNode;
     }
 }
示例#5
0
 public override void unexecute()
 {
     g = (CGroup)storage.getObject(i);
     g.ungroup(storage, i);
 }