示例#1
0
 private static ToolBase GetToolStripItem(UICommandPlacement toolStripMode, UICommandDefinition entry)
 {
     if (entry.IsCategoryOrFolder)
     {
         return(CreateMenuItem(entry, toolStripMode == UICommandPlacement.Menu));
     }
     return(CreateButton(entry));
 }
示例#2
0
 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");
             }
         }
     }
 }