private static ToolBase GetToolStripItem(UICommandPlacement toolStripMode, UICommandDefinition entry) { if (entry.IsCategoryOrFolder) { return(CreateMenuItem(entry, toolStripMode == UICommandPlacement.Menu)); } return(CreateButton(entry)); }
public static void AddToolStripElements(WorkItem workItem, IEnumerable <UICommandDefinition> menuEntryEnumerable, UICommandPlacement toolStripMode, Control host) { foreach (UICommandDefinition definition in menuEntryEnumerable) { if ((toolStripMode != UICommandPlacement.VerticalToolPanel) && !definition.IsCategory) { ToolBase toolStripItem = GetToolStripItem(toolStripMode, definition); toolStripItem.Tag = definition; toolStripItem.Key = definition.ContextName + definition.Name; if ((definition.Parent != null) && definition.Parent.IsCategory) { toolStripItem = workItem.UIExtensionSites[definition.Parent.Site].Add <ToolBase>(toolStripItem); } else { toolStripItem = workItem.UIExtensionSites[definition.Site].Add <ToolBase>(toolStripItem); } if (definition.IsFolder || definition.IsCategory) { if (toolStripItem is PopupMenuTool) { workItem.UIExtensionSites.RegisterSite(definition.Site + "." + definition.Name, ((PopupMenuTool)toolStripItem).Tools); } else { workItem.UIExtensionSites.RegisterSite(definition.Site + "." + definition.Name, toolStripItem); } } if (!definition.IsFolder && !definition.IsCategory) { ((workItem is LocalCommandWorkItem) ? AddShortcutCommand((LocalCommandWorkItem)workItem, host, definition) : AddCommand(workItem, host, definition)).AddInvoker(toolStripItem, "ToolClick"); } } } }