/// <summary> /// Builds a toolbar from the specified action model nodes, using the specified style and the default size. /// </summary> /// <param name="parentItemCollection"></param> /// <param name="nodes"></param> /// <param name="builderStyle"></param> public static void BuildToolbar(ToolStripItemCollection parentItemCollection, IEnumerable<ActionModelNode> nodes, ToolStripBuilderStyle builderStyle) { BuildToolbar(parentItemCollection, nodes, builderStyle, IconSize.Medium); }
/// <summary> /// Builds a toolbar from the specified action model nodes, using the specified style and size. /// </summary> /// <param name="parentItemCollection"></param> /// <param name="nodes"></param> /// <param name="builderStyle"></param> /// <param name="iconSize"></param> public static void BuildToolbar(ToolStripItemCollection parentItemCollection, IEnumerable<ActionModelNode> nodes, ToolStripBuilderStyle builderStyle, IconSize iconSize) { List<ActionModelNode> nodeList = CombineAdjacentSeparators(new List<ActionModelNode>(nodes)); // reverse nodes if alignment is right if (builderStyle.ToolStripAlignment == ToolStripItemAlignment.Right) nodeList.Reverse(); foreach (ActionModelNode node in nodeList) { if (node is ActionNode) { IAction action = ((ActionNode)node).Action; IActionView view = CreateActionView(ToolStripKind.Toolbar, action, iconSize); ToolStripItem button = (ToolStripItem)view.GuiElement; button.Tag = new ItemTag(node, view); // By default, only display the image on the button button.DisplayStyle = builderStyle.ToolStripItemDisplayStyle; button.Alignment = builderStyle.ToolStripAlignment; button.TextImageRelation = builderStyle.TextImageRelation; parentItemCollection.Add(button); } else if(node is SeparatorNode) { ToolStripSeparator separator = new ToolStripSeparator(); separator.Tag = new ItemTag(node, null); parentItemCollection.Add(separator); } else { BuildToolbar(parentItemCollection, node.ChildNodes, builderStyle, iconSize); } } }
/// <summary> /// Builds a toolstrip of the specified kind, from the specified action model nodes, using the specified style and size. /// </summary> /// <param name="kind"></param> /// <param name="parentItemCollection"></param> /// <param name="nodes"></param> /// <param name="builderStyle"></param> /// <param name="iconSize"></param> public static void BuildToolStrip(ToolStripKind kind, ToolStripItemCollection parentItemCollection, IEnumerable<ActionModelNode> nodes, ToolStripBuilderStyle builderStyle, IconSize iconSize) { switch (kind) { case ToolStripKind.Menu: BuildMenu(parentItemCollection, nodes); break; case ToolStripKind.Toolbar: BuildToolbar(parentItemCollection, nodes, builderStyle, iconSize); break; default: throw new NotImplementedException(); } }
/// <summary> /// Builds a toolbar from the specified action model nodes, using the specified style and size. /// </summary> /// <param name="parentItemCollection"></param> /// <param name="nodes"></param> /// <param name="builderStyle"></param> /// <param name="iconSize"></param> public static void BuildToolbar(ToolStripItemCollection parentItemCollection, IEnumerable <ActionModelNode> nodes, ToolStripBuilderStyle builderStyle, IconSize iconSize) { List <ActionModelNode> nodeList = CombineAdjacentSeparators(new List <ActionModelNode>(nodes)); // reverse nodes if alignment is right if (builderStyle.ToolStripAlignment == ToolStripItemAlignment.Right) { nodeList.Reverse(); } foreach (ActionModelNode node in nodeList) { if (node is ActionNode) { IAction action = ((ActionNode)node).Action; IActionView view = CreateActionView(ToolStripKind.Toolbar, action, iconSize); ToolStripItem button = (ToolStripItem)view.GuiElement; button.Tag = new ItemTag(node, view); // By default, only display the image on the button button.DisplayStyle = builderStyle.ToolStripItemDisplayStyle; button.Alignment = builderStyle.ToolStripAlignment; button.TextImageRelation = builderStyle.TextImageRelation; parentItemCollection.Add(button); } else if (node is SeparatorNode) { ToolStripSeparator separator = new ToolStripSeparator(); separator.Tag = new ItemTag(node, null); parentItemCollection.Add(separator); } else { BuildToolbar(parentItemCollection, node.ChildNodes, builderStyle, iconSize); } } }
/// <summary> /// Builds a toolbar from the specified action model nodes, using the specified style and the default size. /// </summary> /// <param name="parentItemCollection"></param> /// <param name="nodes"></param> /// <param name="builderStyle"></param> public static void BuildToolbar(ToolStripItemCollection parentItemCollection, IEnumerable <ActionModelNode> nodes, ToolStripBuilderStyle builderStyle) { BuildToolbar(parentItemCollection, nodes, builderStyle, IconSize.Medium); }
/// <summary> /// Builds a toolbar from the specified action model nodes, using the default style and size. /// </summary> /// <param name="parentItemCollection"></param> /// <param name="nodes"></param> public static void BuildToolbar(ToolStripItemCollection parentItemCollection, IEnumerable <ActionModelNode> nodes) { BuildToolbar(parentItemCollection, nodes, ToolStripBuilderStyle.GetDefault()); }
/// <summary> /// Builds a toolstrip of the specified kind, from the specified action model nodes, using the specified style and size. /// </summary> /// <param name="kind"></param> /// <param name="parentItemCollection"></param> /// <param name="nodes"></param> /// <param name="builderStyle"></param> /// <param name="iconSize"></param> public static void BuildToolStrip(ToolStripKind kind, ToolStripItemCollection parentItemCollection, IEnumerable <ActionModelNode> nodes, ToolStripBuilderStyle builderStyle, IconSize iconSize) { switch (kind) { case ToolStripKind.Menu: BuildMenu(parentItemCollection, nodes); break; case ToolStripKind.Toolbar: BuildToolbar(parentItemCollection, nodes, builderStyle, iconSize); break; default: throw new NotImplementedException(); } }