IfcDoc.CtlProperties.InitUsageFromTemplateRule C# (CSharp) Method

InitUsageFromTemplateRule() private method

private InitUsageFromTemplateRule ( DocTemplateDefinition docTemp, DocTemplateDefinition docSource, DocModelRule docRule ) : void
docTemp DocTemplateDefinition
docSource DocTemplateDefinition
docRule DocModelRule
return void
        private void InitUsageFromTemplateRule(DocTemplateDefinition docTemp, DocTemplateDefinition docSource, DocModelRule docRule)
        {
            if (docRule is DocModelRuleEntity)
            {
                DocModelRuleEntity docRuleEntity = (DocModelRuleEntity)docRule;
                if (docRuleEntity.References.Contains(docSource))
                {
                    DocObject[] usagepath = new DocObject[] { docTemp };

                    ListViewItem lvi = new ListViewItem();
                    lvi.Tag = usagepath;
                    lvi.Text = "[Template]";
                    lvi.SubItems.Add(docTemp.Name);
                    this.listViewUsage.Items.Add(lvi);
                }
            }

            // recurse
            foreach(DocModelRule docInner in docRule.Rules)
            {
                InitUsageFromTemplateRule(docTemp, docSource, docInner);
            }
        }
CtlProperties