public void PopulateMenuStrip() { mMenuStrip.Items.Clear(); if (SelectedNode != null) { // InstanceSave selected if (SelectedState.Self.SelectedInstance != null) { mMenuStrip.Items.Add(mGoToDefinition); } // ScreenSave or ComponentSave else if (SelectedState.Self.SelectedScreen != null || SelectedState.Self.SelectedComponent != null) { mMenuStrip.Items.Add("View in explorer", null, HandleViewInExplorer); mAddInstance.Text = "Add object to " + SelectedState.Self.SelectedElement.Name; mMenuStrip.Items.Add(mAddInstance); mMenuStrip.Items.Add(mSaveObject); mDeleteObject.Text = "Delete " + SelectedState.Self.SelectedElement.ToString(); mMenuStrip.Items.Add(mDeleteObject); } else if (SelectedState.Self.SelectedStandardElement != null) { mMenuStrip.Items.Add(mSaveObject); } else if (SelectedNode.IsTopScreenContainerTreeNode() || SelectedNode.IsScreensFolderTreeNode()) { mMenuStrip.Items.Add(mAddScreen); mMenuStrip.Items.Add(mImportScreen); mMenuStrip.Items.Add(mAddFolder); mMenuStrip.Items.Add("View in explorer", null, HandleViewInExplorer); if (SelectedNode.IsScreensFolderTreeNode()) { mMenuStrip.Items.Add("Delete Folder", null, HandleDeleteFolder); } } else if (SelectedNode.IsTopComponentContainerTreeNode() || SelectedNode.IsComponentsFolderTreeNode()) { mMenuStrip.Items.Add(mAddComponent); mMenuStrip.Items.Add(mImportComponent); mMenuStrip.Items.Add(mAddFolder); mMenuStrip.Items.Add("View in explorer", null, HandleViewInExplorer); if (SelectedNode.IsScreensFolderTreeNode()) { mMenuStrip.Items.Add("Delete Folder", null, HandleDeleteFolder); } } } }