private void toolStripMenuItemInsertTemplate_Click(object sender, EventArgs e)
{
TreeNode tn = this.treeView.SelectedNode;
DocTemplateDefinition doctemplate = new DocTemplateDefinition();
if (tn != null && tn.Tag is DocTemplateDefinition)
{
// sub-template
DocTemplateDefinition parent = (DocTemplateDefinition)tn.Tag;
parent.Templates.Add(doctemplate);
doctemplate.Type = parent.Type;
// propagate rules
if (parent.Rules != null)
{
foreach (DocModelRule docRule in parent.Rules)
{
doctemplate.Rules.Add((DocModelRule)docRule.Clone());
}
}
tn = LoadNode(tn, doctemplate, doctemplate.Name, true);
this.treeView.SelectedNode = tn;
}
else
{
// root template
this.m_project.Templates.Add(doctemplate);
tn = this.treeView.Nodes[3]; // hard-coded
tn = LoadNode(tn, doctemplate, doctemplate.Name, true);
this.treeView.SelectedNode = tn;
}
toolStripMenuItemEditRename_Click(this, e);
}