CSReportEditor.cGlobals.pAddCtrlsAux C# (CSharp) Метод

pAddCtrlsAux() приватный статический Метод

private static pAddCtrlsAux ( cIReportGroupSections sections, TreeNode father, int C_IMG_FOLDER, int C_IMG_FORMULA, int C_IMG_CONTROL, int C_IMG_DATBASE_FIELD ) : void
sections cIReportGroupSections
father System.Windows.Forms.TreeNode
C_IMG_FOLDER int
C_IMG_FORMULA int
C_IMG_CONTROL int
C_IMG_DATBASE_FIELD int
Результат void
        private static void pAddCtrlsAux(
            cIReportGroupSections sections, TreeNode father,
            int C_IMG_FOLDER, int C_IMG_FORMULA, int C_IMG_CONTROL, int C_IMG_DATBASE_FIELD)
        {
            TreeNode nodeSec;
            TreeNode nodeSecLn;
            TreeNode nodeCtrl;
            TreeNode item;
            string text;
            bool bComplexF = false; ;

            cReportSection sec;
            cReportSectionLine secLn;
            cReportControl ctrl;

            for (int i = 0; i < sections.count(); i++)
            {
                sec = sections.item(i);
                nodeSec = father.Nodes.Add(sec.getName());
                nodeSec.Tag = "S" + sec.getKey();

                if (sec.getFormulaHide().getText() != "")
                {
                    if (sec.getFormulaHide().getText() == "0")
                    {
                        text = "Hidden";
                        bComplexF = false; ;
                    }
                    else
                    {
                        text = "Visibility formula";
                        bComplexF = true;
                    }
                    item = nodeSec.Nodes.Add(text);
                    item.ImageIndex = C_IMG_FORMULA;
                    item.SelectedImageIndex = C_IMG_FORMULA;
                    if (!sec.getHasFormulaHide())
                    {
                        item.ForeColor = Color.Red;
                    }

                    if (bComplexF)
                    {
                        item.Tag = "@FH=" + sec.getFormulaHide().getText();
                    }
                }

                for (int j = 0; j < sec.getSectionLines().count(); j++)
                {
                    secLn = sec.getSectionLines().item(j);
                    nodeSecLn = nodeSec.Nodes.Add("Line " + secLn.getIndex());
                    nodeSecLn.ImageIndex = C_IMG_FOLDER;
                    nodeSecLn.Tag = "L" + secLn.getKey();

                    if (secLn.getFormulaHide().getText() != "")
                    {
                        if (secLn.getFormulaHide().getText() == "0")
                        {
                            text = "Hidden";
                            bComplexF = false;
                        }
                        else
                        {
                            text = "Visibility formula";
                            bComplexF = true;
                        }
                        item = nodeSecLn.Nodes.Add(text);
                        item.ImageIndex = C_IMG_FORMULA;
                        item.SelectedImageIndex = C_IMG_FORMULA;
                        if (!secLn.getHasFormulaHide())
                        {
                            item.ForeColor = Color.Red;
                        }
                        if (bComplexF)
                        {
                            item.Tag = "@FH=" + secLn.getFormulaHide().getText();
                        }
                    }
                    for (int t = 0; t < secLn.getControls().count(); t++)
                    {
                        ctrl = secLn.getControls().item(t);
                        nodeCtrl = nodeSecLn.Nodes.Add(
                            ctrl.getName() 
                            + (ctrl.getLabel().getText() != "" 
                                ? " - " + ctrl.getLabel().getText() 
                                : "")
                            );
                        nodeCtrl.ImageIndex = C_IMG_CONTROL;
                        nodeCtrl.SelectedImageIndex = C_IMG_CONTROL;
                        nodeCtrl.Tag = ctrl.getKey();
                        nodeCtrl.BackColor = cColor.colorFromRGB(ctrl.getLabel().getAspect().getBackColor());
                        nodeCtrl.ForeColor = cColor.colorFromRGB(ctrl.getLabel().getAspect().getFont().getForeColor());

                        if (ctrl.getControlType() == csRptControlType.CSRPTCTFIELD)
                        {
                            item = nodeCtrl.Nodes.Add(ctrl.getField().getName());
                            item.ImageIndex = C_IMG_DATBASE_FIELD;
                            item.SelectedImageIndex = C_IMG_DATBASE_FIELD;
                        }

                        if (ctrl.getFormulaHide().getText() != "")
                        {
                            if (ctrl.getFormulaHide().getText() == "0")
                            {
                                text = "hidden";
                                bComplexF = false;
                            }
                            else
                            {
                                text = "Visibility formula";
                                bComplexF = true;
                            }

                            item = nodeCtrl.Nodes.Add(text);
                            item.ImageIndex = C_IMG_FORMULA;
                            item.SelectedImageIndex = C_IMG_FORMULA;
                            if (!ctrl.getHasFormulaHide())
                            {
                                item.ForeColor = Color.Red;
                            }
                            if (bComplexF)
                            {
                                item.Tag = "@FH=" + ctrl.getFormulaHide().getText();
                            }
                        }

                        if (ctrl.getFormulaValue().getText() != "")
                        {
                            item = nodeCtrl.Nodes.Add("Value formula");
                            item.ImageIndex = C_IMG_FORMULA;
                            item.SelectedImageIndex = C_IMG_FORMULA;
                            if (!ctrl.getHasFormulaValue())
                            {
                                item.ForeColor = Color.Red;
                            }
                            item.Tag = "@FV=" + ctrl.getFormulaValue().getText();
                        }
                    }
                }
            }
            father.ExpandAll();
        }