/// <summary> /// <para>Create menu items based on the nodes registered with the <see cref="INodeCreationService"/> for the spefied type.</para> /// </summary> /// <param name="nodeType"> /// <para>The type to create menu items.</para> /// </param> protected void CreateDynamicMenuItems(Type nodeType) { INodeCreationService service = ServiceHelper.GetNodeCreationService(Site); StringCollection names = service.GetDisplayNames(nodeType); ConfigurationMenuItem item = null; foreach (string name in names) { NodeCreationEntry entry = service.GetNodeCreationEntry(name); item = new ConfigurationMenuItem(name, entry.ConfigurationNodeCommand, this, Shortcut.None, SR.GenericCreateStatusText(name), InsertionPoint.New); if (!entry.AllowMultiple) { if (Hierarchy.ContainsNodeType(this, nodeType /*entry.BaseTypeToCompare*/)) { item.Enabled = false; } } AddMenuItem(item); } }