Beispiel #1
0
		/// <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);
		}
Beispiel #2
0
		/// <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);
                }
            }
        }
Beispiel #3
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();
            }
        }
        /// <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();
            }
        }