private void toolStripButtonTemplateRemove_Click(object sender, EventArgs e) { if (this.treeViewTemplate.SelectedNode.Tag is DocTemplateDefinition) { DocTemplateDefinition dtd = (DocTemplateDefinition)this.treeViewTemplate.SelectedNode.Tag; if (treeViewTemplate.SelectedNode.Parent != null) { DocModelRuleEntity dme = (DocModelRuleEntity)this.treeViewTemplate.SelectedNode.Parent.Tag; dme.References.Remove(dtd); this.m_template.PropagateRule(this.treeViewTemplate.SelectedNode.Parent.FullPath); this.treeViewTemplate.SelectedNode.Remove(); } else { this.m_template.Type = null; this.treeViewTemplate.Nodes.Clear(); } UpdateCommands(); this.ContentChanged(this, EventArgs.Empty); return; } DocModelRule ruleTarget = this.treeViewTemplate.SelectedNode.Tag as DocModelRule; DocModelRule ruleParent = null; if (this.treeViewTemplate.SelectedNode.Parent != null) { ruleParent = this.treeViewTemplate.SelectedNode.Parent.Tag as DocModelRule; } if (ruleParent != null) { ruleParent.Rules.Remove(ruleTarget); } else { this.m_template.Rules.Remove(ruleTarget); } // copy to child templates (before clearing selection) this.m_template.PropagateRule(this.treeViewTemplate.SelectedNode.FullPath); ruleTarget.Delete(); this.treeViewTemplate.SelectedNode.Remove(); this.ContentChanged(this, EventArgs.Empty); }