void IMenuItemVisitor <MenuGeneratorContext> .Visit( IMenuCommand menuCommand, MenuGeneratorContext context) { var toolStripItem = CreateStripButton(context.MenuType); InitStripItem(toolStripItem, menuCommand, context.MenuType); if (context.MenuType == TargetMenuType.ContextMenu && _defaultCommandService != null && _defaultCommandService.CommandName != null && _defaultCommandService.CommandName.Equals( menuCommand.CommandName, StringComparison.OrdinalIgnoreCase) && _defaultCommandService.Parameters.DictionaryEquals( menuCommand.Parameters, StringComparer.OrdinalIgnoreCase.Equals, null)) { toolStripItem.Font = _defaultMenuCommandFont; } UpdateMenuCommandStatus(toolStripItem); RegisterCommandMenuItem(toolStripItem, menuCommand.CommandName); toolStripItem.Click += MenuCommandClick; context.Result.Add(toolStripItem); }
void IMenuItemVisitor <MenuGeneratorContext> .Visit( IMenuCheckCommand menuCheckCommand, MenuGeneratorContext context) { var menuCommandItem = CreateStripButton(context.MenuType); InitStripItem(menuCommandItem, menuCheckCommand, context.MenuType); RegisterCommandMenuItem(menuCommandItem, menuCheckCommand.CheckCommandName); RegisterCommandMenuItem(menuCommandItem, menuCheckCommand.UncheckCommandName); RegisterCheckMenuItem(menuCommandItem, menuCheckCommand.CheckStateName); UpdateMenuCheckComand(menuCommandItem); menuCommandItem.Click += MenuCommandClick; context.Result.Add(menuCommandItem); }
void IMenuItemVisitor <MenuGeneratorContext> .Visit( IMenuSplitButton menuSplitButton, MenuGeneratorContext context) { var splitButton = new ToolStripSplitButton(); InitStripItem(splitButton, menuSplitButton, context.MenuType); splitButton.DropDownItems.AddRange( CreateStripItems(menuSplitButton.Groups, TargetMenuType.Menu)); UpdateMenuCommandStatus(splitButton); RegisterCommandMenuItem(splitButton, menuSplitButton.CommandName); splitButton.ButtonClick += MenuCommandClick; context.Result.Add(splitButton); }
private ToolStripItem[] CreateStripItems(IEnumerable <IMenuGroup> groups, TargetMenuType menuType) { var context = new MenuGeneratorContext(menuType); foreach (var group in groups) { if (context.Result.Count > 0) { context.Result.Add(new ToolStripSeparator()); } foreach (var item in group.Items) { item.AcceptVisitor(this, context); } } return(context.Result.ToArray()); }
void IMenuItemVisitor <MenuGeneratorContext> .Visit( IMenu menu, MenuGeneratorContext context) { ToolStripItem toolStripItem; if (context.MenuType == TargetMenuType.Menu || context.MenuType == TargetMenuType.ContextMenu) { toolStripItem = new ToolStripMenuItem( menu.Text, null, CreateStripItems(menu.Groups, TargetMenuType.Menu)); } else { toolStripItem = new ToolStripDropDownButton( menu.Text, null, CreateStripItems(menu.Groups, TargetMenuType.Menu)); } toolStripItem.Tag = menu; context.Result.Add(toolStripItem); }