IfcDoc.CtlRules.LoadTemplateRuleNode C# (CSharp) Method

LoadTemplateRuleNode() private method

private LoadTemplateRuleNode ( TreeNode parent, object tag, string text ) : TreeNode
parent TreeNode
tag object
text string
return TreeNode
        private TreeNode LoadTemplateRuleNode(TreeNode parent, object tag, string text)
        {
            // if existing, then return
            foreach (TreeNode tnExist in parent.Nodes)
            {
                if (tnExist.Tag == tag)
                    return tnExist;
            }

            TreeNode tn = new TreeNode();
            tn.Tag = tag;
            tn.Text = text;

            if (tag is DocModelRuleEntity)
            {
                tn.ImageIndex = 0;
            }
            else if (tag is DocModelRuleAttribute)
            {
                tn.ImageIndex = 1;
            }
            else if (tag is DocModelRuleConstraint)
            {
                tn.ImageIndex = 2;
            }
            else if (tag is DocTemplateDefinition)
            {
                tn.ImageIndex = 3;
            }
            tn.SelectedImageIndex = tn.ImageIndex;

            parent.Nodes.Add(tn);

            return tn;
        }