private void TreeView_AfterSelect(object sender, TreeViewEventArgs e)
{
this.toolStripMenuItemEditDelete.Enabled = false;
this.toolStripMenuItemEditRename.Enabled = false;
this.toolStripMenuItemEditMoveDown.Enabled = false;
this.toolStripMenuItemEditMoveUp.Enabled = false;
this.toolStripMenuItemEditMoveOut.Enabled = false;
this.toolStripMenuItemEditMoveIn.Enabled = false;
this.toolStripMenuItemInsertTemplate.Enabled = true;
this.toolStripMenuItemInsertViewDefinition.Enabled = true;
this.toolStripMenuItemInsertExchange.Enabled = false;
this.toolStripMenuItemInsertConceptRoot.Enabled = false;
this.toolStripMenuItemInsertConceptLeaf.Enabled = false;
this.toolStripMenuItemInsertNormative.Enabled = true;
this.ToolStripMenuItemInsertTerm.Enabled = true;
this.ToolStripMenuItemInsertAbbreviatedTerm.Enabled = true;
this.toolStripMenuItemInsertSchema.Enabled = false;
this.toolStripMenuItemInsertEntity.Enabled = false;
this.toolStripMenuItemInsertAttribute.Enabled = false;
this.toolStripMenuItemInsertSelect.Enabled = false;
this.toolStripMenuItemInsertDefined.Enabled = false;
this.toolStripMenuItemInsertEnumeration.Enabled = false;
this.toolStripMenuItemInsertEnumerationConstant.Enabled = false;
this.toolStripMenuItemInsertWhere.Enabled = false;
this.toolStripMenuItemInsertUnique.Enabled = false;
this.toolStripMenuItemInsertGlobalRule.Enabled = false;
this.toolStripMenuItemInsertFunction.Enabled = false;
this.toolStripMenuItemInsertPrimitive.Enabled = false;
this.toolStripMenuItemInsertReference.Enabled = false;
this.toolStripMenuItemInsertComment.Enabled = false;
this.toolStripMenuItemInsertPropertyset.Enabled = false;
this.toolStripMenuItemInsertProperty.Enabled = false;
this.toolStripMenuItemInsertQuantityset.Enabled = false;
this.toolStripMenuItemInsertQuantity.Enabled = false;
this.toolStripMenuItemInsertPropertyEnumeration.Enabled = false;
this.toolStripMenuItemInsertPropertyConstant.Enabled = false;
this.toolStripMenuItemInsertBibliography.Enabled = true;
this.ToolStripMenuItemEditCut.Enabled = false;
this.toolStripMenuItemEditCopy.Enabled = false;
this.toolStripMenuItemEditPaste.Enabled = false;
this.toolStripMenuItemEditBuildConcepts.Enabled = false;
this.buildFromSubschemaToolStripMenuItem.Enabled = false;
this.toolStripMenuItemContextInsertModelView.Visible = false;
this.toolStripMenuItemContextInsertExchange.Visible = false;
this.toolStripMenuItemEnableDisable.Visible = false;
this.toolStripMenuItemContextInsertTemplate.Visible = false;
this.toolStripMenuItemContextInsertRoot.Visible = false;
this.toolStripMenuItemContextInsertLeaf.Visible = false;
this.toolStripMenuItemContextInsertNormative.Visible = false;
this.toolStripMenuItemContextInsertTerm.Visible = false;
this.toolStripMenuItemContextInsertAbbreviatedTerm.Visible = false;
this.toolStripMenuItemContextInsertPset.Visible = false;
this.toolStripMenuItemContextInsertProperty.Visible = false;
this.toolStripMenuItemContextInsertPropertyEnum.Visible = false;
this.toolStripMenuItemContextInsertPropertyConstant.Visible = false;
this.toolStripMenuItemContextInsertQset.Visible = false;
this.toolStripMenuItemContextInsertQuantity.Visible = false;
this.toolStripMenuItemContextInsertExample.Visible = false;
this.toolStripMenuItemContextInsertBibliography.Visible = false;
this.toolStripMenuItemContextInsert.Visible = false;
this.toolStripMenuItemDiagramFormatPageRef.Enabled = (e.Node.Tag is DocDefinition);
this.toolStripMenuItemDiagramFormatPageRef.Checked = false;
if (e.Node.Tag is DocDefinition)
{
TreeNode tnSchema = e.Node;
while (!(tnSchema.Tag is DocSchema) && tnSchema.Parent != null)
{
tnSchema = tnSchema.Parent;
}
if (tnSchema.Tag is DocSchema)
{
DocSchema docSchema = (DocSchema)tnSchema.Tag;
foreach(DocPageTarget docPageTarget in docSchema.PageTargets)
{
if (docPageTarget.Definition == e.Node.Tag)
{
this.toolStripMenuItemDiagramFormatPageRef.Checked = true;
break;
}
}
}
}
this.toolStripMenuItemDiagramFormatTree.Enabled = (e.Node.Tag is IDocTreeHost && ((IDocTreeHost)e.Node.Tag).Tree.Count > 0);
this.toolStripMenuItemDiagramFormatTree.Checked = (e.Node.Tag is IDocTreeHost && ((IDocTreeHost)e.Node.Tag).Tree.Count > 0 && ((IDocTreeHost)e.Node.Tag).Tree[0].Definition == null);
if (e.Node.Tag is DocTerm)
{
DocTerm term = (DocTerm)e.Node.Tag;
this.toolStripMenuItemEditDelete.Enabled = true;
this.toolStripMenuItemEditRename.Enabled = true;
if (e.Node.Parent.Tag is DocTerm)
{
DocTerm ent = (DocTerm)e.Node.Parent.Tag;
if (ent.Terms.IndexOf(term) > 0)
{
this.toolStripMenuItemEditMoveUp.Enabled = true;
this.toolStripMenuItemEditMoveIn.Enabled = true;
}
if (ent.Terms.IndexOf(term) < ent.Terms.Count - 1)
{
this.toolStripMenuItemEditMoveDown.Enabled = true;
}
this.toolStripMenuItemEditMoveOut.Enabled = true;
}
else
{
if (this.m_project.Terms.IndexOf(term) > 0)
{
this.toolStripMenuItemEditMoveUp.Enabled = true;
this.toolStripMenuItemEditMoveIn.Enabled = true;
}
if (this.m_project.Terms.IndexOf(term) < this.m_project.Terms.Count - 1)
{
this.toolStripMenuItemEditMoveDown.Enabled = true;
}
}
}
if (e.Node.Tag is DocAbbreviation)
{
DocAbbreviation obj = (DocAbbreviation)e.Node.Tag;
this.SetContent(obj, obj.Documentation);
this.toolStripMenuItemEditDelete.Enabled = true;
this.toolStripMenuItemEditRename.Enabled = true;
}
else if(e.Node.Tag is DocReference)
{
DocReference obj = (DocReference)e.Node.Tag;
this.SetContent(obj, obj.Documentation);
this.toolStripMenuItemEditDelete.Enabled = true;
this.toolStripMenuItemEditRename.Enabled = true;
}
else if (e.Node.Tag is DocTemplateDefinition)
{
this.toolStripMenuItemEditDelete.Enabled = true;
this.toolStripMenuItemEditRename.Enabled = true;
this.toolStripMenuItemEnableDisable.Visible = true;
this.toolStripMenuItemContextInsertTemplate.Visible = true;
this.toolStripMenuItemContextInsert.Visible = true;
DocTemplateDefinition obj = (DocTemplateDefinition)e.Node.Tag;
this.toolStripMenuItemEnableDisable.Checked = obj.IsDisabled;
this.SetContent(obj, obj.Documentation);
if (e.Node.Parent.Tag is DocTemplateDefinition)
{
DocTemplateDefinition ent = (DocTemplateDefinition)e.Node.Parent.Tag;
if (ent.Templates.IndexOf(obj) > 0)
{
this.toolStripMenuItemEditMoveUp.Enabled = true;
this.toolStripMenuItemEditMoveIn.Enabled = true;
}
if (ent.Templates.IndexOf(obj) < ent.Templates.Count - 1)
{
this.toolStripMenuItemEditMoveDown.Enabled = true;
}
this.toolStripMenuItemEditMoveOut.Enabled = true;
}
else
{
if (this.m_project.Templates.IndexOf(obj) > 0)
{
this.toolStripMenuItemEditMoveUp.Enabled = true;
this.toolStripMenuItemEditMoveIn.Enabled = true;
}
if (this.m_project.Templates.IndexOf(obj) < this.m_project.Templates.Count - 1)
{
this.toolStripMenuItemEditMoveDown.Enabled = true;
}
}
}
else if (e.Node.Tag is DocTemplateUsage)
{
DocTemplateUsage obj = (DocTemplateUsage)e.Node.Tag;
this.SetContent(obj, obj.Documentation);
this.toolStripMenuItemEditCopy.Enabled = true;
this.toolStripMenuItemEditDelete.Enabled = true;
this.toolStripMenuItemEditRename.Enabled = true;
this.toolStripMenuItemInsertConceptLeaf.Enabled = true; // subleafs now supported
if (e.Node.Parent.Tag is DocConceptRoot)
{
DocConceptRoot docRoot = (DocConceptRoot)e.Node.Parent.Tag;
if (docRoot.Concepts.IndexOf(obj) > 0)
{
this.toolStripMenuItemEditMoveIn.Enabled = true;
this.toolStripMenuItemEditMoveUp.Enabled = true;
}
if (docRoot.Concepts.IndexOf(obj) < docRoot.Concepts.Count - 1)
{
this.toolStripMenuItemEditMoveDown.Enabled = true;
}
this.toolStripMenuItemEditBuildConcepts.Enabled = true;
}
else if(e.Node.Parent.Tag is DocTemplateUsage)
{
this.toolStripMenuItemEditMoveOut.Enabled = true;
DocTemplateUsage docRoot = (DocTemplateUsage)e.Node.Parent.Tag;
if (docRoot.Concepts.IndexOf(obj) > 0)
{
this.toolStripMenuItemEditMoveIn.Enabled = true;
this.toolStripMenuItemEditMoveUp.Enabled = true;
}
if (docRoot.Concepts.IndexOf(obj) < docRoot.Concepts.Count - 1)
{
this.toolStripMenuItemEditMoveDown.Enabled = true;
}
}
}
else if (e.Node.Tag is DocTemplateItem)
{
DocTemplateItem obj = (DocTemplateItem)e.Node.Tag;
this.SetContent(null, null);
this.toolStripMenuItemEditDelete.Enabled = true;
}
else if (e.Node.Tag is DocModelView)
{
DocModelView obj = (DocModelView)e.Node.Tag;
this.SetContent(obj, obj.Documentation);
this.toolStripMenuItemInsertExchange.Enabled = true;
this.toolStripMenuItemEditDelete.Enabled = true;
this.toolStripMenuItemEditRename.Enabled = true;
this.toolStripMenuItemEditPaste.Enabled = (this.m_clipboard is DocExchangeDefinition);
this.toolStripMenuItemEditBuildConcepts.Enabled = true;
this.buildFromSubschemaToolStripMenuItem.Enabled = true;
this.toolStripMenuItemContextInsertExchange.Visible = true;
this.toolStripMenuItemContextInsert.Visible = true;
if (this.m_project.ModelViews.IndexOf(obj) > 0)
{
this.toolStripMenuItemEditMoveUp.Enabled = true;
}
if (this.m_project.ModelViews.IndexOf(obj) < this.m_project.ModelViews.Count - 1)
{
this.toolStripMenuItemEditMoveDown.Enabled = true;
}
}
else if (e.Node.Tag is DocExchangeDefinition)
{
DocExchangeDefinition obj = (DocExchangeDefinition)e.Node.Tag;
this.SetContent(obj, obj.Documentation);
this.toolStripMenuItemEditCopy.Enabled = true;
this.toolStripMenuItemEditDelete.Enabled = true;
this.toolStripMenuItemEditRename.Enabled = true;
if (e.Node.Parent.Tag is DocModelView)
{
DocModelView ent = (DocModelView)e.Node.Parent.Tag;
if (ent.Exchanges.IndexOf(obj) > 0)
{
this.toolStripMenuItemEditMoveUp.Enabled = true;
}
if (ent.Exchanges.IndexOf(obj) < ent.Exchanges.Count - 1)
{
this.toolStripMenuItemEditMoveDown.Enabled = true;
}
}
}
else if (e.Node.Tag is DocChangeSet)
{
DocChangeSet obj = (DocChangeSet)e.Node.Tag;
this.SetContent(obj, obj.Documentation);
this.toolStripMenuItemEditDelete.Enabled = true;
this.toolStripMenuItemEditRename.Enabled = true;
}
else if (e.Node.Tag == typeof(DocPropertySet))
{
this.toolStripMenuItemInsertPropertyset.Enabled = true;
this.toolStripMenuItemContextInsertPset.Visible = true;
this.toolStripMenuItemContextInsert.Visible = true;
}
else if (e.Node.Tag == typeof(DocPropertyEnumeration))
{
this.toolStripMenuItemInsertPropertyEnumeration.Enabled = true;
this.toolStripMenuItemContextInsertPropertyEnum.Visible = true;
this.toolStripMenuItemContextInsert.Visible = true;
}
else if (e.Node.Tag == typeof(DocQuantitySet))
{
this.toolStripMenuItemInsertQuantityset.Enabled = true;
this.toolStripMenuItemContextInsertQset.Visible = true;
this.toolStripMenuItemContextInsert.Visible = true;
}
else if (e.Node.Tag is DocObject)
{
DocObject obj = (DocObject)e.Node.Tag;
this.SetContent(obj, obj.Documentation);
this.toolStripMenuItemEditRename.Enabled = true;
if (obj is DocSchema)
{
this.toolStripMenuItemEditDelete.Enabled = true;
this.ToolStripMenuItemEditCut.Enabled = true;
this.toolStripMenuItemEditPaste.Enabled = (this.m_clipboard is DocPropertySet);
this.toolStripMenuItemInsertPropertyset.Enabled = true;
this.toolStripMenuItemInsertQuantityset.Enabled = true;
this.toolStripMenuItemInsertPropertyEnumeration.Enabled = true;
this.toolStripMenuItemContextInsertPset.Visible = true;
this.toolStripMenuItemContextInsertPropertyEnum.Visible = true;
this.toolStripMenuItemContextInsertQset.Visible = true;
this.toolStripMenuItemContextInsert.Visible = true;
this.toolStripMenuItemInsertEntity.Enabled = true;
this.toolStripMenuItemInsertEnumeration.Enabled = true;
this.toolStripMenuItemInsertSelect.Enabled = true;
this.toolStripMenuItemInsertDefined.Enabled = true;
this.toolStripMenuItemInsertGlobalRule.Enabled = true;
this.toolStripMenuItemInsertFunction.Enabled = true;
this.toolStripMenuItemInsertPrimitive.Enabled = true;
this.toolStripMenuItemInsertReference.Enabled = true;
this.toolStripMenuItemInsertComment.Enabled = true;
}
else if (obj is DocType)
{
this.toolStripMenuItemEditDelete.Enabled = true;
if (obj is DocEnumeration)
{
toolStripMenuItemInsertEnumerationConstant.Enabled = true;
}
else if(obj is DocSelect)
{
DocSelect docSel = (DocSelect)obj;
}
else if (obj is DocDefined)
{
this.toolStripMenuItemInsertWhere.Enabled = true;
}
this.toolStripMenuItemDiagramFormatPageRef.Enabled = true;
}
else if (obj is DocConstant)
{
DocConstant docConst = (DocConstant)obj;
this.toolStripMenuItemEditDelete.Enabled = true;
DocEnumeration docEnum = (DocEnumeration)treeView.SelectedNode.Parent.Tag;
this.toolStripMenuItemEditMoveUp.Enabled = (docEnum.Constants.IndexOf(docConst) > 0);
this.toolStripMenuItemEditMoveDown.Enabled = (docEnum.Constants.IndexOf(docConst) < docEnum.Constants.Count - 1);
}
else if (obj is DocEntity)
{
DocEntity entity = (DocEntity)obj;
this.toolStripMenuItemEditDelete.Enabled = true;
this.toolStripMenuItemEditPaste.Enabled = false;
//this.ToolStripMenuItemEditCut.Enabled = true;
this.toolStripMenuItemInsertAttribute.Enabled = true;
this.toolStripMenuItemInsertUnique.Enabled = true;
this.toolStripMenuItemInsertWhere.Enabled = true;
this.toolStripMenuItemInsertConceptRoot.Enabled = true;
this.toolStripMenuItemContextInsertRoot.Visible = true;
this.toolStripMenuItemContextInsert.Visible = true;
if (entity.Subtypes.Count > 0)
{
this.toolStripMenuItemDiagramFormatTree.Enabled = true;
}
this.toolStripMenuItemDiagramFormatPageRef.Enabled = true;
}
else if (obj is DocAttribute)
{
this.toolStripMenuItemEditDelete.Enabled = true;
DocAttribute docAttr = (DocAttribute)obj;
DocEntity docEnt = (DocEntity)e.Node.Parent.Tag;
if (docEnt.Attributes.IndexOf(docAttr) > 0)
{
this.toolStripMenuItemEditMoveUp.Enabled = true;
}
if (docEnt.Attributes.IndexOf(docAttr) < docEnt.Attributes.Count - 1)
{
this.toolStripMenuItemEditMoveDown.Enabled = true;
}
}
else if (obj is DocWhereRule)
{
this.toolStripMenuItemEditDelete.Enabled = true;
DocWhereRule docAttr = (DocWhereRule)obj;
DocEntity docEnt = (DocEntity)e.Node.Parent.Tag;
if (docEnt.WhereRules.IndexOf(docAttr) > 0)
{
this.toolStripMenuItemEditMoveUp.Enabled = true;
}
if (docEnt.WhereRules.IndexOf(docAttr) < docEnt.WhereRules.Count - 1)
{
this.toolStripMenuItemEditMoveDown.Enabled = true;
}
}
else if (obj is DocUniqueRule)
{
this.toolStripMenuItemEditDelete.Enabled = true;
}
else if (obj is DocSchema)
{
this.toolStripMenuItemEditDelete.Enabled = true;
//this.toolStripMenuItemEditPaste.Enabled = (this.m_clipboard is DocEntity);
}
else if (obj is DocFunction)
{
this.toolStripMenuItemEditDelete.Enabled = true;
}
else if (obj is DocConceptRoot)
{
this.toolStripMenuItemEditDelete.Enabled = true;
this.toolStripMenuItemEditPaste.Enabled = (this.m_clipboard is DocTemplateUsage);
this.toolStripMenuItemInsertConceptLeaf.Enabled = true;
this.toolStripMenuItemContextInsertLeaf.Visible = true;
this.toolStripMenuItemContextInsert.Visible = true;
if(e.Node.Parent.Tag is DocModelView)
{
DocConceptRoot dcr = (DocConceptRoot)obj;
DocModelView dmv = (DocModelView)e.Node.Parent.Tag;
int indexof = dmv.ConceptRoots.IndexOf(dcr);
this.toolStripMenuItemEditMoveUp.Enabled = (indexof > 0);
this.toolStripMenuItemEditMoveDown.Enabled = (indexof < dmv.ConceptRoots.Count - 1);
}
this.toolStripMenuItemEditBuildConcepts.Enabled = true;
}
else if(obj is DocPropertyConstant)
{
this.toolStripMenuItemEditDelete.Enabled = true;
DocPropertyConstant constant = (DocPropertyConstant)obj;
DocPropertyEnumeration ent = (DocPropertyEnumeration)e.Node.Parent.Tag;
if (ent.Constants.IndexOf(constant) > 0)
{
this.toolStripMenuItemEditMoveUp.Enabled = true;
}
if (ent.Constants.IndexOf(constant) < ent.Constants.Count - 1)
{
this.toolStripMenuItemEditMoveDown.Enabled = true;
}
}
else if (obj is DocPropertySet)
{
this.toolStripMenuItemEditDelete.Enabled = true;
this.toolStripMenuItemInsertProperty.Enabled = true;
this.toolStripMenuItemContextInsertProperty.Visible = true;
this.toolStripMenuItemContextInsert.Visible = true;
this.ToolStripMenuItemEditCut.Enabled = true;
this.toolStripMenuItemEditPaste.Enabled = (this.m_clipboard is DocProperty);
}
else if (obj is DocProperty)
{
this.toolStripMenuItemEditDelete.Enabled = true;
this.toolStripMenuItemEditCopy.Enabled = true;
this.ToolStripMenuItemEditCut.Enabled = true;
DocPropertySet ent = (DocPropertySet)e.Node.Parent.Tag;
if (ent.Properties.IndexOf((DocProperty)obj) > 0)
{
this.toolStripMenuItemEditMoveUp.Enabled = true;
}
if (ent.Properties.IndexOf((DocProperty)obj) < ent.Properties.Count - 1)
{
this.toolStripMenuItemEditMoveDown.Enabled = true;
}
}
else if (obj is DocPropertyEnumeration)
{
this.toolStripMenuItemEditDelete.Enabled = true;
this.toolStripMenuItemInsertPropertyConstant.Enabled = true;
this.toolStripMenuItemContextInsertPropertyConstant.Visible = true;
this.toolStripMenuItemContextInsert.Visible = true;
}
else if (obj is DocQuantitySet)
{
this.toolStripMenuItemEditDelete.Enabled = true;
this.toolStripMenuItemInsertQuantity.Enabled = true;
this.toolStripMenuItemContextInsertQuantity.Visible = true;
this.toolStripMenuItemContextInsert.Visible = true;
}
else if (obj is DocQuantity)
{
this.toolStripMenuItemEditDelete.Enabled = true;
DocQuantitySet ent = (DocQuantitySet)e.Node.Parent.Tag;
if (ent.Quantities.IndexOf((DocQuantity)obj) > 0)
{
this.toolStripMenuItemEditMoveUp.Enabled = true;
}
if (ent.Quantities.IndexOf((DocQuantity)obj) < ent.Quantities.Count - 1)
{
this.toolStripMenuItemEditMoveDown.Enabled = true;
}
}
else if (obj is DocExample)
{
this.toolStripMenuItemEditDelete.Enabled = true;
this.toolStripMenuItemContextInsertExample.Visible = true;
this.toolStripMenuItemContextInsert.Visible = true;
if (e.Node.Parent.Tag is DocExample)
{
DocExample ent = (DocExample)e.Node.Parent.Tag;
if (ent.Examples.IndexOf((DocExample)obj) > 0)
{
this.toolStripMenuItemEditMoveUp.Enabled = true;
this.toolStripMenuItemEditMoveIn.Enabled = true;
}
if (ent.Examples.IndexOf((DocExample)obj) < ent.Examples.Count - 1)
{
this.toolStripMenuItemEditMoveDown.Enabled = true;
}
this.toolStripMenuItemEditMoveOut.Enabled = true;
}
else
{
if (this.m_project.Examples.IndexOf((DocExample)obj) > 0)
{
this.toolStripMenuItemEditMoveUp.Enabled = true;
this.toolStripMenuItemEditMoveIn.Enabled = true;
}
if (this.m_project.Examples.IndexOf((DocExample)obj) < this.m_project.Examples.Count - 1)
{
this.toolStripMenuItemEditMoveDown.Enabled = true;
}
}
}
else if (obj is DocComment)
{
this.toolStripMenuItemEditDelete.Enabled = true;
}
else if (obj is DocPrimitive)
{
this.toolStripMenuItemEditDelete.Enabled = true;
this.toolStripMenuItemEditRename.Enabled = false;
}
else if (obj is DocDefinitionRef)
{
this.toolStripMenuItemEditDelete.Enabled = true;
}
else if (obj is DocPageSource)
{
this.toolStripMenuItemEditDelete.Enabled = true;
}
else if (obj is DocPageTarget)
{
this.toolStripMenuItemEditDelete.Enabled = true;
}
else if (obj is DocSection)
{
this.toolStripMenuItemEditRename.Enabled = false;
if (e.Node.Index >= 4 && e.Node.Index < 8)
{
this.toolStripMenuItemEditRename.Enabled = true;
this.toolStripMenuItemInsertSchema.Enabled = true;
this.toolStripMenuItemEditPaste.Enabled = (this.m_clipboard is DocSchema);
}
// special cases
switch (e.Node.Index)
{
case 0: // scope
this.toolStripMenuItemContextInsertModelView.Visible = true;
this.toolStripMenuItemContextInsert.Visible = true;
break;
case 1: // normative references
this.toolStripMenuItemContextInsertNormative.Visible = true;
this.toolStripMenuItemContextInsert.Visible = true;
break;
case 2: // terms
this.toolStripMenuItemContextInsertTerm.Visible = true;
this.toolStripMenuItemContextInsertAbbreviatedTerm.Visible = true;
this.toolStripMenuItemContextInsert.Visible = true;
break;
case 3: // templates
this.toolStripMenuItemContextInsertTemplate.Visible = true;
this.toolStripMenuItemContextInsert.Visible = true;
break;
}
}
else if (obj is DocAnnex)
{
this.toolStripMenuItemEditRename.Enabled = false;
if (e.Node.Index == 12)
{
this.toolStripMenuItemContextInsertExample.Visible = true;
this.toolStripMenuItemContextInsert.Visible = true;
}
}
else if (obj is DocPublication)
{
this.toolStripMenuItemEditDelete.Enabled = true;
this.toolStripMenuItemEditRename.Enabled = true;
}
else if (obj is DocAnnotation)
{
this.toolStripMenuItemEditRename.Enabled = false;
}
}
else
{
this.SetContent(null, null);
}
// copy state to context menu
this.toolStripMenuItemContextSeparator.Visible = this.toolStripMenuItemContextInsert.Visible;
this.deleteToolStripMenuItem.Enabled = this.toolStripMenuItemEditDelete.Enabled;
this.toolStripMenuItemContextInsertConstant.Visible = toolStripMenuItemInsertEnumerationConstant.Enabled;
// copy state to toolbar
this.ToolStripButtonEditCut.Enabled = this.ToolStripMenuItemEditCut.Enabled;
this.ToolStripButtonEditCopy.Enabled = this.toolStripMenuItemEditCopy.Enabled;
this.ToolStripButtonEditPaste.Enabled = this.toolStripMenuItemEditPaste.Enabled;
this.toolStripButtonEditDelete.Enabled = this.toolStripMenuItemEditDelete.Enabled;
this.toolStripButtonEditRename.Enabled = this.toolStripMenuItemEditRename.Enabled;
this.toolStripButtonMoveUp.Enabled = this.toolStripMenuItemEditMoveUp.Enabled;
this.toolStripButtonMoveDown.Enabled = this.toolStripMenuItemEditMoveDown.Enabled;
this.toolStripButtonMoveOut.Enabled = this.toolStripMenuItemEditMoveOut.Enabled;
this.toolStripButtonMoveIn.Enabled = this.toolStripMenuItemEditMoveIn.Enabled;
DocObject docObject = this.treeView.SelectedNode.Tag as DocObject;
if (docObject != null)
{
// build path
List<DocObject> path = new List<DocObject>();
TreeNode tn = this.treeView.SelectedNode;
while (tn != null)
{
if (tn.Tag is DocObject)
{
path.Insert(0, (DocObject)tn.Tag);
}
tn = tn.Parent;
}
this.ctlProperties.Init(path.ToArray(), this.m_project);
}
else
{
this.ctlProperties.Init(null, this.m_project);
}
InitInstanceList();
// restore focus
this.treeView.Focus();
}