protected override ProjectTreeItem CreateTreeItemForItem(ScriptAndHeader item) { ProjectTree treeController = _guiController.ProjectTree; ProjectTreeItem newItem = (ProjectTreeItem)treeController.AddTreeBranch(this, GetNodeID(item), item.Name, ICON_KEY); newItem.AllowDoubleClickWhenExpanding = true; const string editHeaderText = "Edit Header"; const string editScriptText = "Edit Script"; if (item.Name != Path.GetFileNameWithoutExtension(Script.GLOBAL_HEADER_FILE_NAME)) { newItem.AllowLabelEdit = true; newItem.LabelTextProperty = item.Header.GetType().GetProperty("NameForLabelEdit"); newItem.LabelTextDataSource = item.Header; treeController.AddTreeLeaf(this, GetNodeID(item.Header), editHeaderText, ICON_KEY); treeController.AddTreeLeaf(this, GetNodeID(item.Script), editScriptText, ICON_KEY); } else { treeController.AddTreeLeaf(this, GetNodeID(item.Header), editHeaderText, "MenuIconGlobalHeader"); treeController.AddTreeLeaf(this, GetNodeID(item.Script), editScriptText, "MenuIconGlobalScript"); } return(newItem); }