/// <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);
        }
Example #3
0
		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;
		}
Example #4
0
		/// <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();
            }
        }
Example #5
0
		/// <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);
		}
Example #6
0
		/// <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());
 }