private void toolStripButtonRuleRef_Click(object sender, EventArgs e)
{
TreeNode tnSelect = this.treeViewTemplate.SelectedNode;
DocModelRuleEntity docRule = (DocModelRuleEntity)tnSelect.Tag as DocModelRuleEntity;
if (docRule == null)
return;
DocEntity docEntity = this.m_project.GetDefinition(docRule.Name) as DocEntity;
if (docEntity == null)
return;
using (FormSelectTemplate form = new FormSelectTemplate(null, this.Project, docEntity))
{
if (form.ShowDialog(this) == DialogResult.OK && form.SelectedTemplate != null)
{
// check for possible recursion
if(form.SelectedTemplate == this.m_template || form.SelectedTemplate.IsTemplateReferenced(this.m_template))
{
MessageBox.Show("Recursive template referencing is not supported.");
return;
}
docRule.References.Add(form.SelectedTemplate);
LoadTemplateGraph(tnSelect, docRule);
}
}
}