Ejemplo n.º 1
0
        public void processNode(TreeNode tn, Figure o, int i)
        {
            TreeNode rootNode = new TreeNode();                                    //новый дочерний узел

            rootNode.Text = o.ToString().Remove(0, o.ToString().IndexOf(".") + 1); // текст узла соответствует названию класса фигуры
            tn.Nodes.Add(rootNode);                                                // новый узел помещается на дерево
            tn.Nodes[tn.Nodes.Count - 1].Tag = i;

            if (rootNode.Parent.Text != "Storage") // ноды группы создаются без выделения
            {
                rootNode.Checked = false;
            }
            else if (o.getChosen() == true) // группа или просто узел помечается выделением, если выделена фигура(или группа)
            {
                rootNode.Checked = true;
            }

            if (o is Group)
            {
                for (int j = 0; j < (o as Group).get_gr_count(); j++)
                {
                    processNode(rootNode, (o as Group).get_gr_figure(j), j);
                }
            }
        }