/// <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(); } }
private static IActionView CreateActionView(ToolStripKind kind, IAction action, IconSize iconSize) { IActionView view = null; // optimization: for framework-provided actions, we can just create the controls // directly rather than use the associated view, which is slower; // however, an AssociateViewAttribute should always take precedence. if (action.GetType().GetCustomAttributes(typeof(AssociateViewAttribute), true).Length == 0) { if (kind == ToolStripKind.Toolbar) { if (action is IDropDownAction) { if (action is IClickAction) { view = StandardWinFormsActionView.CreateDropDownButtonActionView(); } else { view = StandardWinFormsActionView.CreateDropDownActionView(); } } else if (action is ITextBoxAction) { view = StandardWinFormsActionView.CreateTextBoxActionView(); } else if (action is IClickAction) { view = StandardWinFormsActionView.CreateButtonActionView(); } } else { if (action is IClickAction) { view = StandardWinFormsActionView.CreateMenuActionView(); } } } if (view == null) { view = (IActionView)ViewFactory.CreateAssociatedView(action.GetType()); } view.Context = new ActionViewContext(action, iconSize); return(view); }
private static IActionView CreateActionView(ToolStripKind kind, IAction action, IconSize iconSize) { IActionView view = null; // optimization: for framework-provided actions, we can just create the controls // directly rather than use the associated view, which is slower; // however, an AssociateViewAttribute should always take precedence. if (action.GetType().GetCustomAttributes(typeof(AssociateViewAttribute), true).Length == 0) { if (kind == ToolStripKind.Toolbar) { if (action is IDropDownAction) { if (action is IClickAction) view = StandardWinFormsActionView.CreateDropDownButtonActionView(); else view = StandardWinFormsActionView.CreateDropDownActionView(); } else if(action is ITextBoxAction) view = StandardWinFormsActionView.CreateTextBoxActionView(); else if (action is IClickAction) view = StandardWinFormsActionView.CreateButtonActionView(); } else { if (action is IClickAction) view = StandardWinFormsActionView.CreateMenuActionView(); } } if (view == null) view = (IActionView)ViewFactory.CreateAssociatedView(action.GetType()); view.Context = new ActionViewContext(action, iconSize); return view; }
/// <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 toolstrip of the specified kind, from the specified action model nodes, using the specified style and default size. /// </summary> /// <param name="kind"></param> /// <param name="parentItemCollection"></param> /// <param name="nodes"></param> /// <param name="builderStyle"></param> public static void BuildToolStrip(ToolStripKind kind, ToolStripItemCollection parentItemCollection, IEnumerable<ActionModelNode> nodes, ToolStripBuilderStyle builderStyle) { BuildToolStrip(kind, parentItemCollection, nodes, builderStyle, IconSize.Medium); }
/// <summary> /// Builds a toolstrip of the specified kind, from the specified action model nodes, using the default style and size. /// </summary> /// <param name="kind"></param> /// <param name="parentItemCollection"></param> /// <param name="nodes"></param> public static void BuildToolStrip(ToolStripKind kind, ToolStripItemCollection parentItemCollection, IEnumerable<ActionModelNode> nodes) { BuildToolStrip(kind, parentItemCollection, nodes, ToolStripBuilderStyle.GetDefault()); }
/// <summary> /// Builds a toolstrip of the specified kind, from the specified action model nodes, using the specified style and default size. /// </summary> /// <param name="kind"></param> /// <param name="parentItemCollection"></param> /// <param name="nodes"></param> /// <param name="builderStyle"></param> public static void BuildToolStrip(ToolStripKind kind, ToolStripItemCollection parentItemCollection, IEnumerable <ActionModelNode> nodes, ToolStripBuilderStyle builderStyle) { BuildToolStrip(kind, parentItemCollection, nodes, builderStyle, IconSize.Medium); }
/// <summary> /// Builds a toolstrip of the specified kind, from the specified action model nodes, using the default style and size. /// </summary> /// <param name="kind"></param> /// <param name="parentItemCollection"></param> /// <param name="nodes"></param> public static void BuildToolStrip(ToolStripKind kind, ToolStripItemCollection parentItemCollection, IEnumerable <ActionModelNode> nodes) { BuildToolStrip(kind, parentItemCollection, nodes, ToolStripBuilderStyle.GetDefault()); }