Exemplo n.º 1
0
        internal MenuItemButton(Menu menu, MenuItemStyle style)
        {
            Menu          = menu;
            InternalChild = new Grid();

            _imageProportion = new Grid.Proportion();
            InternalChild.ColumnsProportions.Add(_imageProportion);
            var textProportion = new Grid.Proportion();

            InternalChild.ColumnsProportions.Add(textProportion);
            _shortcutProportion = new Grid.Proportion();
            InternalChild.ColumnsProportions.Add(_shortcutProportion);

            _image = new Image();
            InternalChild.Widgets.Add(_image);

            _textBlock = new TextBlock
            {
                GridColumn = 1,
            };

            InternalChild.Widgets.Add(_textBlock);

            if (style != null)
            {
                ApplyMenuItemStyle(style);
            }
        }
Exemplo n.º 2
0
        internal MenuItemButton(MenuItemStyle style)
        {
            Widget = new Grid((GridStyle)null);

            _imageProportion = new Grid.Proportion();
            Widget.ColumnsProportions.Add(_imageProportion);
            var textProportion = new Grid.Proportion();

            Widget.ColumnsProportions.Add(textProportion);
            _shortcutProportion = new Grid.Proportion();
            Widget.ColumnsProportions.Add(_shortcutProportion);

            _image = new Image();
            Widget.Widgets.Add(_image);

            _textBlock = new TextBlock
            {
                GridPositionX = 1,
                IsMenuText    = true
            };

            Widget.Widgets.Add(_textBlock);

            PaddingLeft   = 5;
            PaddingRight  = 5;
            PaddingBottom = 2;

            if (style != null)
            {
                ApplyMenuItemStyle(style);
            }
        }
        public void ForeColor_DefaultValue()
        {
            // Arrange
            var menuItemStyle = new MenuItemStyle();

            // Act, Assert
            menuItemStyle.ForeColor.ShouldBe(Color.Empty);
        }
        public void ForeColor_SetAndGetValue()
        {
            // Arrange
            var menuItemStyle = new MenuItemStyle();

            // Act
            menuItemStyle.ForeColor = Color.Green;

            // Assert
            menuItemStyle.ForeColor.ShouldBe(Color.Green);
        }
Exemplo n.º 5
0
        public void Add_ParentMenu_ShouldReturnOK(ParentMenuType parentMenuType, MenuItemStyle menuItemStyle)
        {
            ExecuteInMainThread(() =>
            {
                var item       = Player.Core.CreateAimpObject <IAimpMenuItem>();
                var menuItem   = item.Result;
                menuItem.Id    = Guid.NewGuid().ToString();
                menuItem.Style = menuItemStyle;

                var result = Player.ServiceMenuManager.Add(parentMenuType, menuItem);
                this.AreEqual(ActionResultType.OK, result.ResultType);

                var getItemResult = Player.ServiceMenuManager.GetById(menuItem.Id);
                this.AreEqual(menuItemStyle, getItemResult.Result.Style);

                Player.ServiceMenuManager.Delete(menuItem);
            });
        }
Exemplo n.º 6
0
        public void ApplyMenuItemStyle(MenuItemStyle style)
        {
            ApplyButtonBaseStyle(style);

            if (style.IconWidth.HasValue)
            {
                _imageProportion.Type  = Grid.ProportionType.Pixels;
                _imageProportion.Value = style.IconWidth.Value;
            }

            if (style.ShortcutWidth.HasValue)
            {
                _shortcutProportion.Type  = Grid.ProportionType.Pixels;
                _shortcutProportion.Value = style.ShortcutWidth.Value;
            }

            if (style.LabelStyle != null)
            {
                _textBlock.ApplyTextBlockStyle(style.LabelStyle);
            }
        }
 private void RenderStyle(HtmlTextWriter writer, WebControl control, string className, MenuItemStyle style, bool applyInlineBorder)
 {
     if (!String.IsNullOrEmpty(className))
     {
         control.CssClass = className;
         if (applyInlineBorder)
         {
             // Add inline style to force the border to none to override any CssClass (VSWhidbey 336610)
             writer.AddStyleAttribute(HtmlTextWriterStyle.BorderStyle, "none");
             // And an inline font-size of 1em to avoid squaring relative font sizes by applying them twice
             writer.AddStyleAttribute(HtmlTextWriterStyle.FontSize, "1em");
         }
     }
     else if (style != null)
     {
         control.ApplyStyle(style);
     }
 }
	public void Insert(int index, MenuItemStyle style) {}
	public void Remove(MenuItemStyle style) {}
	public void CopyTo(MenuItemStyle[] styleArray, int index) {}
	public int IndexOf(MenuItemStyle style) {}
	// Methods
	public int Add(MenuItemStyle style) {}
	public bool Contains(MenuItemStyle style) {}
 public void Remove(MenuItemStyle style)
 {
 }
 public void Insert(int index, MenuItemStyle style)
 {
 }
Exemplo n.º 16
0
 public MenuStyle()
 {
     MenuItemStyle  = new MenuItemStyle();
     SeparatorStyle = new SeparatorStyle();
 }
        protected virtual internal void RenderItem(HtmlTextWriter writer, MenuItem item, int position)
        {
            Menu          owner       = Control;
            MenuItemStyle mergedStyle = owner.GetMenuItemStyle(item);

            string             imageUrl     = item.ImageUrl;
            int                depth        = item.Depth;
            int                depthPlusOne = depth + 1;
            string             toolTip      = item.ToolTip;
            string             navigateUrl  = item.NavigateUrl;
            string             text         = item.Text;
            bool               enabled      = item.IsEnabled;
            bool               selectable   = item.Selectable;
            MenuItemCollection childItems   = item.ChildItems;

            // Top separator
            string topSeparatorUrl = null;

            if (depth < owner.StaticDisplayLevels && owner.StaticTopSeparatorImageUrl.Length != 0)
            {
                topSeparatorUrl = owner.StaticTopSeparatorImageUrl;
            }
            else if (depth >= owner.StaticDisplayLevels && owner.DynamicTopSeparatorImageUrl.Length != 0)
            {
                topSeparatorUrl = owner.DynamicTopSeparatorImageUrl;
            }
            if (topSeparatorUrl != null)
            {
                Image separatorImage = new Image();
                separatorImage.ImageUrl = topSeparatorUrl;
                separatorImage.GenerateEmptyAlternateText = true; // XHtml compliance
                separatorImage.Page = Page;
                separatorImage.RenderControl(writer);
                RenderBreak(writer);
            }

            // Don't render the top spacing if this is the first root item
            if ((mergedStyle != null) && !mergedStyle.ItemSpacing.IsEmpty &&
                ((_titleItem != null) || (position != 0)))
            {
                RenderSpace(writer, mergedStyle.ItemSpacing, owner.Orientation);
            }

            // Item span
            Panel itemPanel = new SpanPanel();

            itemPanel.Enabled = enabled;
            itemPanel.Page    = Page;

            // Apply styles
            if (Page != null && Page.SupportsStyleSheets)
            {
                string styleClass = owner.GetCssClassName(item, false);
                if (styleClass.Trim().Length > 0)
                {
                    itemPanel.CssClass = styleClass;
                }
            }
            else if (mergedStyle != null)
            {
                itemPanel.ApplyStyle(mergedStyle);
            }

            // Tooltip
            if (item.ToolTip.Length != 0)
            {
                itemPanel.ToolTip = item.ToolTip;
            }

            // Render item begin tag
            itemPanel.RenderBeginTag(writer);

            // If there is a navigation url on this item, set up the navigation stuff if:
            // - the item is the current title item for this level
            // - the item has no children
            // - the item is a static item of depth + 1 < StaticDisplayLevels
            bool clickOpensThisNode = !((position == 0) ||
                                        (childItems.Count == 0) ||
                                        (depthPlusOne < owner.StaticDisplayLevels) ||
                                        (depthPlusOne >= owner.MaximumDepth));

            // Indent
            if (position != 0 &&
                depth > 0 &&
                owner.StaticSubMenuIndent != Unit.Pixel(0) &&
                depth < owner.StaticDisplayLevels)
            {
                Image spacerImage = new Image();
                spacerImage.ImageUrl = owner.SpacerImageUrl;
                spacerImage.GenerateEmptyAlternateText = true; // XHtml compliance
                double indent = owner.StaticSubMenuIndent.Value * depth;
                if (indent < Unit.MaxValue)
                {
                    spacerImage.Width = new Unit(indent, owner.StaticSubMenuIndent.Type);
                }
                else
                {
                    spacerImage.Width = new Unit(Unit.MaxValue, owner.StaticSubMenuIndent.Type);;
                }
                spacerImage.Height = Unit.Pixel(1);
                spacerImage.Page   = Page;
                spacerImage.RenderControl(writer);
            }

            // Render out the item icon, if it is set and if the item is not templated (VSWhidbey 501618)
            if (imageUrl.Length > 0 && item.NotTemplated())
            {
                Image newImage = new Image();
                newImage.ImageUrl = imageUrl;
                if (toolTip.Length != 0)
                {
                    newImage.AlternateText = toolTip;
                }
                else
                {
                    newImage.GenerateEmptyAlternateText = true; // XHtml compliance
                }
                newImage.Page = Page;
                newImage.RenderControl(writer);
                writer.Write(' ');
            }

            bool   applyInlineBorder;
            string linkClass;

            if (Page != null && Page.SupportsStyleSheets)
            {
                linkClass = owner.GetCssClassName(item, true, out applyInlineBorder);
            }
            else
            {
                linkClass         = String.Empty;
                applyInlineBorder = false;
            }
            if (enabled && (clickOpensThisNode || selectable))
            {
                string accessKey     = owner.AccessKey;
                string itemAccessKey = ((position == 0 || (position == 1 && depth == 0)) && accessKey.Length != 0) ?
                                       accessKey :
                                       null;
                if (navigateUrl.Length > 0 && !clickOpensThisNode)
                {
                    if (PageAdapter != null)
                    {
                        PageAdapter.RenderBeginHyperlink(writer,
                                                         owner.ResolveClientUrl(navigateUrl),
                                                         true,
                                                         SR.GetString(SR.Adapter_GoLabel),
                                                         itemAccessKey != null ?
                                                         itemAccessKey :
                                                         (_currentAccessKey < 10 ?
                                                          (_currentAccessKey++).ToString(CultureInfo.InvariantCulture) :
                                                          null));
                        writer.Write(HttpUtility.HtmlEncode(item.FormattedText));
                        PageAdapter.RenderEndHyperlink(writer);
                    }
                    else
                    {
                        HyperLink link = new HyperLink();
                        link.NavigateUrl = owner.ResolveClientUrl(navigateUrl);
                        string target = item.Target;
                        if (String.IsNullOrEmpty(target))
                        {
                            target = owner.Target;
                        }
                        if (!String.IsNullOrEmpty(target))
                        {
                            link.Target = target;
                        }
                        link.AccessKey = itemAccessKey;
                        link.Page      = Page;
                        if (writer is Html32TextWriter)
                        {
                            link.RenderBeginTag(writer);
                            SpanPanel lbl = new SpanPanel();
                            lbl.Page = Page;
                            RenderStyle(writer, lbl, linkClass, mergedStyle, applyInlineBorder);
                            lbl.RenderBeginTag(writer);
                            item.RenderText(writer);
                            lbl.RenderEndTag(writer);
                            link.RenderEndTag(writer);
                        }
                        else
                        {
                            RenderStyle(writer, link, linkClass, mergedStyle, applyInlineBorder);
                            link.RenderBeginTag(writer);
                            item.RenderText(writer);
                            link.RenderEndTag(writer);
                        }
                    }
                }
                // Otherwise, write out a postback that will open or select the item
                else
                {
                    if (PageAdapter != null)
                    {
                        PageAdapter.RenderPostBackEvent(writer,
                                                        owner.UniqueID,
                                                        (clickOpensThisNode ? 'o' : 'b') +
                                                        Escape(item.InternalValuePath),
                                                        SR.GetString(SR.Adapter_OKLabel),
                                                        item.FormattedText,
                                                        null,
                                                        itemAccessKey != null ?
                                                        itemAccessKey :
                                                        (_currentAccessKey < 10 ?
                                                         (_currentAccessKey++).ToString(CultureInfo.InvariantCulture) :
                                                         null));

                        // Expand image
                        if (clickOpensThisNode)
                        {
                            RenderExpand(writer, item, owner);
                        }
                    }
                    else
                    {
                        HyperLink link = new HyperLink();
                        link.NavigateUrl = Page.ClientScript.GetPostBackClientHyperlink(owner,
                                                                                        (clickOpensThisNode ? 'o' : 'b') + Escape(item.InternalValuePath), true);
                        link.AccessKey = itemAccessKey;
                        link.Page      = Page;
                        if (writer is Html32TextWriter)
                        {
                            link.RenderBeginTag(writer);
                            SpanPanel lbl = new SpanPanel();
                            lbl.Page = Page;
                            RenderStyle(writer, lbl, linkClass, mergedStyle, applyInlineBorder);
                            lbl.RenderBeginTag(writer);
                            item.RenderText(writer);
                            if (clickOpensThisNode)
                            {
                                RenderExpand(writer, item, owner);
                            }
                            lbl.RenderEndTag(writer);
                            link.RenderEndTag(writer);
                        }
                        else
                        {
                            RenderStyle(writer, link, linkClass, mergedStyle, applyInlineBorder);
                            link.RenderBeginTag(writer);
                            item.RenderText(writer);
                            if (clickOpensThisNode)
                            {
                                RenderExpand(writer, item, owner);
                            }
                            link.RenderEndTag(writer);
                        }
                    }
                }
            }
            else
            {
                item.RenderText(writer);
            }
            itemPanel.RenderEndTag(writer);

            // Bottom (or right) item spacing
            RenderBreak(writer);
            if ((mergedStyle != null) && !mergedStyle.ItemSpacing.IsEmpty)
            {
                RenderSpace(writer, mergedStyle.ItemSpacing, owner.Orientation);
            }

            // Bottom separator
            string bottomSeparatorUrl = null;

            if (item.SeparatorImageUrl.Length != 0)
            {
                bottomSeparatorUrl = item.SeparatorImageUrl;
            }
            else if ((depth < owner.StaticDisplayLevels) && (owner.StaticBottomSeparatorImageUrl.Length != 0))
            {
                bottomSeparatorUrl = owner.StaticBottomSeparatorImageUrl;
            }
            else if ((depth >= owner.StaticDisplayLevels) && (owner.DynamicBottomSeparatorImageUrl.Length != 0))
            {
                bottomSeparatorUrl = owner.DynamicBottomSeparatorImageUrl;
            }
            if (bottomSeparatorUrl != null)
            {
                Image separatorImage = new Image();
                separatorImage.ImageUrl = bottomSeparatorUrl;
                separatorImage.GenerateEmptyAlternateText = true; // XHtml compliance
                separatorImage.Page = Page;
                separatorImage.RenderControl(writer);
                RenderBreak(writer);
            }
        }
 // Methods
 public int Add(MenuItemStyle style)
 {
 }
 public bool Contains(MenuItemStyle style)
 {
 }
Exemplo n.º 20
0
 public MenuItemStyle(MenuItemStyle style) : base(style)
 {
     IconWidth     = style.IconWidth;
     ShortcutWidth = style.ShortcutWidth;
 }
Exemplo n.º 21
0
 public MenuStyle(MenuStyle style) : base(style)
 {
     MenuItemStyle  = new MenuItemStyle(style.MenuItemStyle);
     SeparatorStyle = new SeparatorStyle(style.SeparatorStyle);
 }
        protected internal virtual void RenderItem(HtmlTextWriter writer, MenuItem item, int position)
        {
            bool               flag4;
            string             str6;
            Menu               control       = this.Control;
            MenuItemStyle      menuItemStyle = control.GetMenuItemStyle(item);
            string             imageUrl      = item.ImageUrl;
            int                depth         = item.Depth;
            int                num2          = depth + 1;
            string             toolTip       = item.ToolTip;
            string             navigateUrl   = item.NavigateUrl;
            string             text          = item.Text;
            bool               isEnabled     = item.IsEnabled;
            bool               selectable    = item.Selectable;
            MenuItemCollection childItems    = item.ChildItems;
            string             staticTopSeparatorImageUrl = null;

            if ((depth < control.StaticDisplayLevels) && (control.StaticTopSeparatorImageUrl.Length != 0))
            {
                staticTopSeparatorImageUrl = control.StaticTopSeparatorImageUrl;
            }
            else if ((depth >= control.StaticDisplayLevels) && (control.DynamicTopSeparatorImageUrl.Length != 0))
            {
                staticTopSeparatorImageUrl = control.DynamicTopSeparatorImageUrl;
            }
            if (staticTopSeparatorImageUrl != null)
            {
                new Image {
                    ImageUrl = staticTopSeparatorImageUrl, GenerateEmptyAlternateText = true, Page = base.Page
                }.RenderControl(writer);
                this.RenderBreak(writer);
            }
            if (((menuItemStyle != null) && !menuItemStyle.ItemSpacing.IsEmpty) && ((this._titleItem != null) || (position != 0)))
            {
                this.RenderSpace(writer, menuItemStyle.ItemSpacing, control.Orientation);
            }
            Panel panel = new SpanPanel {
                Enabled = isEnabled,
                Page    = base.Page
            };

            if ((base.Page != null) && base.Page.SupportsStyleSheets)
            {
                string cssClassName = control.GetCssClassName(item, false);
                if (cssClassName.Trim().Length > 0)
                {
                    panel.CssClass = cssClassName;
                }
            }
            else if (menuItemStyle != null)
            {
                panel.ApplyStyle(menuItemStyle);
            }
            if (item.ToolTip.Length != 0)
            {
                panel.ToolTip = item.ToolTip;
            }
            panel.RenderBeginTag(writer);
            bool flag3 = (((position != 0) && (childItems.Count != 0)) && (num2 >= control.StaticDisplayLevels)) && (num2 < control.MaximumDepth);

            if (((position != 0) && (depth > 0)) && ((control.StaticSubMenuIndent != Unit.Pixel(0)) && (depth < control.StaticDisplayLevels)))
            {
                Image image2 = new Image {
                    ImageUrl = control.SpacerImageUrl,
                    GenerateEmptyAlternateText = true
                };
                double num3 = control.StaticSubMenuIndent.Value * depth;
                if (num3 < 32767.0)
                {
                    image2.Width = new Unit(num3, control.StaticSubMenuIndent.Type);
                }
                else
                {
                    image2.Width = new Unit(32767.0, control.StaticSubMenuIndent.Type);
                }
                image2.Height = Unit.Pixel(1);
                image2.Page   = base.Page;
                image2.RenderControl(writer);
            }
            if ((imageUrl.Length > 0) && item.NotTemplated())
            {
                Image image3 = new Image {
                    ImageUrl = imageUrl
                };
                if (toolTip.Length != 0)
                {
                    image3.AlternateText = toolTip;
                }
                else
                {
                    image3.GenerateEmptyAlternateText = true;
                }
                image3.Page = base.Page;
                image3.RenderControl(writer);
                writer.Write(' ');
            }
            if ((base.Page != null) && base.Page.SupportsStyleSheets)
            {
                str6 = control.GetCssClassName(item, true, out flag4);
            }
            else
            {
                str6  = string.Empty;
                flag4 = false;
            }
            if (isEnabled && (flag3 || selectable))
            {
                string accessKey = control.AccessKey;
                string str8      = (((position == 0) || ((position == 1) && (depth == 0))) && (accessKey.Length != 0)) ? accessKey : null;
                if ((navigateUrl.Length > 0) && !flag3)
                {
                    if (base.PageAdapter != null)
                    {
                        base.PageAdapter.RenderBeginHyperlink(writer, control.ResolveClientUrl(navigateUrl), true, System.Web.SR.GetString("Adapter_GoLabel"), (str8 != null) ? str8 : ((this._currentAccessKey < 10) ? this._currentAccessKey++.ToString(CultureInfo.InvariantCulture) : null));
                        writer.Write(HttpUtility.HtmlEncode(item.FormattedText));
                        base.PageAdapter.RenderEndHyperlink(writer);
                    }
                    else
                    {
                        HyperLink link = new HyperLink {
                            NavigateUrl = control.ResolveClientUrl(navigateUrl)
                        };
                        string target = item.Target;
                        if (string.IsNullOrEmpty(target))
                        {
                            target = control.Target;
                        }
                        if (!string.IsNullOrEmpty(target))
                        {
                            link.Target = target;
                        }
                        link.AccessKey = str8;
                        link.Page      = base.Page;
                        if (writer is Html32TextWriter)
                        {
                            link.RenderBeginTag(writer);
                            SpanPanel panel2 = new SpanPanel {
                                Page = base.Page
                            };
                            this.RenderStyle(writer, panel2, str6, menuItemStyle, flag4);
                            panel2.RenderBeginTag(writer);
                            item.RenderText(writer);
                            panel2.RenderEndTag(writer);
                            link.RenderEndTag(writer);
                        }
                        else
                        {
                            this.RenderStyle(writer, link, str6, menuItemStyle, flag4);
                            link.RenderBeginTag(writer);
                            item.RenderText(writer);
                            link.RenderEndTag(writer);
                        }
                    }
                }
                else if (base.PageAdapter != null)
                {
                    base.PageAdapter.RenderPostBackEvent(writer, control.UniqueID, (flag3 ? 'o' : 'b') + this.Escape(item.InternalValuePath), System.Web.SR.GetString("Adapter_OKLabel"), item.FormattedText, null, (str8 != null) ? str8 : ((this._currentAccessKey < 10) ? this._currentAccessKey++.ToString(CultureInfo.InvariantCulture) : null));
                    if (flag3)
                    {
                        this.RenderExpand(writer, item, control);
                    }
                }
                else
                {
                    HyperLink link2 = new HyperLink {
                        NavigateUrl = base.Page.ClientScript.GetPostBackClientHyperlink(control, (flag3 ? 'o' : 'b') + this.Escape(item.InternalValuePath), true),
                        AccessKey   = str8,
                        Page        = base.Page
                    };
                    if (writer is Html32TextWriter)
                    {
                        link2.RenderBeginTag(writer);
                        SpanPanel panel3 = new SpanPanel {
                            Page = base.Page
                        };
                        this.RenderStyle(writer, panel3, str6, menuItemStyle, flag4);
                        panel3.RenderBeginTag(writer);
                        item.RenderText(writer);
                        if (flag3)
                        {
                            this.RenderExpand(writer, item, control);
                        }
                        panel3.RenderEndTag(writer);
                        link2.RenderEndTag(writer);
                    }
                    else
                    {
                        this.RenderStyle(writer, link2, str6, menuItemStyle, flag4);
                        link2.RenderBeginTag(writer);
                        item.RenderText(writer);
                        if (flag3)
                        {
                            this.RenderExpand(writer, item, control);
                        }
                        link2.RenderEndTag(writer);
                    }
                }
            }
            else
            {
                item.RenderText(writer);
            }
            panel.RenderEndTag(writer);
            this.RenderBreak(writer);
            if ((menuItemStyle != null) && !menuItemStyle.ItemSpacing.IsEmpty)
            {
                this.RenderSpace(writer, menuItemStyle.ItemSpacing, control.Orientation);
            }
            string separatorImageUrl = null;

            if (item.SeparatorImageUrl.Length != 0)
            {
                separatorImageUrl = item.SeparatorImageUrl;
            }
            else if ((depth < control.StaticDisplayLevels) && (control.StaticBottomSeparatorImageUrl.Length != 0))
            {
                separatorImageUrl = control.StaticBottomSeparatorImageUrl;
            }
            else if ((depth >= control.StaticDisplayLevels) && (control.DynamicBottomSeparatorImageUrl.Length != 0))
            {
                separatorImageUrl = control.DynamicBottomSeparatorImageUrl;
            }
            if (separatorImageUrl != null)
            {
                new Image {
                    ImageUrl = separatorImageUrl, GenerateEmptyAlternateText = true, Page = base.Page
                }.RenderControl(writer);
                this.RenderBreak(writer);
            }
        }
 private void RenderStyle(HtmlTextWriter writer, WebControl control, string className, MenuItemStyle style, bool applyInlineBorder)
 {
     if (!string.IsNullOrEmpty(className))
     {
         control.CssClass = className;
         if (applyInlineBorder)
         {
             writer.AddStyleAttribute(HtmlTextWriterStyle.BorderStyle, "none");
             writer.AddStyleAttribute(HtmlTextWriterStyle.FontSize, "1em");
         }
     }
     else if (style != null)
     {
         control.ApplyStyle(style);
     }
 }
 public int IndexOf(MenuItemStyle style)
 {
 }