Exemplo n.º 1
0
        /// <summary>
        /// Retrieves a string representing the current menu array
        /// </summary>
        /// <param name="prefix"></param>
        /// <returns>The current menu array</returns>
        protected string ToMenuArray(string prefix)
        {
            WebColorConverter wc = new WebColorConverter();

            StringBuilder sb = new StringBuilder();

            sb.Append("<script type = 'text/javascript'>\n");
            sb.Append("  function Go(){return}\n");
            sb.Append("</script>\n");

            sb.Append("<script type = 'text/javascript'>\n");

            sb.Append("var NoOffFirstLineMenus = ");
            sb.Append(Childs.Count);
            sb.Append(";\n");

            //MH:
            sb.Append("var CssItemClassName = ");
            sb.Append("\"");
            sb.Append(ControlItemStyle.CssClass);
            sb.Append("\"");
            sb.Append(";\n");

            sb.Append("var CssHiClassName = ");
            sb.Append("\"");
            sb.Append(ControlHiStyle.CssClass);
            sb.Append("\"");
            sb.Append(";\n");

            sb.Append("var CssSubClassName = ");
            sb.Append("\"");
            sb.Append(ControlSubStyle.CssClass);
            sb.Append("\"");
            sb.Append(";\n");

            sb.Append("var CssHiSubClassName = ");
            sb.Append("\"");
            sb.Append(ControlHiSubStyle.CssClass);
            sb.Append("\"");
            sb.Append(";\n");

            //MH:


            sb.Append("var LowBgColor = ");
            sb.Append("\"");
            sb.Append(wc.ConvertToString(BackColor));
            sb.Append("\"");
            sb.Append(";\n");

            sb.Append("var LowSubBgColor = ");
            sb.Append("\"");
            sb.Append(wc.ConvertToString(ControlSubStyle.BackColor));
            sb.Append("\"");
            sb.Append(";\n");

            sb.Append("var HighBgColor = ");
            sb.Append("\"");
            sb.Append(wc.ConvertToString(ControlHiStyle.BackColor));
            sb.Append("\"");
            sb.Append(";\n");

            sb.Append("var HighSubBgColor = ");
            sb.Append("\"");
            sb.Append(wc.ConvertToString(ControlHiSubStyle.BackColor));
            sb.Append("\"");
            sb.Append(";\n");

            sb.Append("var FontLowColor = ");
            sb.Append("\"");
            sb.Append(wc.ConvertToString(ForeColor));
            sb.Append("\"");
            sb.Append(";\n");

            sb.Append("var FontSubLowColor = ");
            sb.Append("\"");
            sb.Append(wc.ConvertToString(ControlSubStyle.ForeColor));
            sb.Append("\"");
            sb.Append(";\n");

            sb.Append("var FontHighColor = ");
            sb.Append("\"");
            sb.Append(wc.ConvertToString(ControlHiStyle.ForeColor));
            sb.Append("\"");
            sb.Append(";\n");

            sb.Append("var FontSubHighColor = ");
            sb.Append("\"");
            sb.Append(wc.ConvertToString(ControlHiSubStyle.ForeColor));
            sb.Append("\"");
            sb.Append(";\n");

            sb.Append("var BorderColor = ");
            sb.Append("\"");
            sb.Append(wc.ConvertToString(BorderColor));
            sb.Append("\"");
            sb.Append(";\n");

            sb.Append("var BorderSubColor = ");
            sb.Append("\"");
            sb.Append(wc.ConvertToString(ControlSubStyle.BorderColor));
            sb.Append("\"");
            sb.Append(";\n");

            sb.Append("var BorderWidth = ");
            sb.Append(BorderWidth.Value);
            sb.Append(";\n");

            sb.Append("var BorderBtwnElmnts = ");
            sb.Append(BorderBtwnElmnts ? 1 : 0);
            sb.Append(";\n");

            sb.Append("var FontFamily = ");
            sb.Append("\"");
            sb.Append(Font.Name);
            sb.Append("\"");
            sb.Append(";\n");

            sb.Append("var FontSize = ");
            sb.Append(Font.Size.Unit.Value);
            sb.Append(";\n");

            sb.Append("var FontBold = ");
            sb.Append(Font.Bold ? 1 : 0);
            sb.Append(";\n");

            sb.Append("var FontItalic = ");
            sb.Append(Font.Italic ? 1 : 0);
            sb.Append(";\n");

            sb.Append("var MenuTextCentered = ");
            sb.Append("\"");
            sb.Append(MenuTextCentered.ToString().ToLower());
            sb.Append("\"");
            sb.Append(";\n");

            sb.Append("var MenuCentered = ");
            sb.Append("\"");
            sb.Append(MenuCentered.ToString().ToLower());
            sb.Append("\"");
            sb.Append(";\n");

            sb.Append("var MenuVerticalCentered = ");
            sb.Append("\"");
            sb.Append(MenuVerticalCentered.ToString().ToLower());
            sb.Append("\"");
            sb.Append(";\n");

            sb.Append("var ChildOverlap = ");
            sb.Append(ChildOverlap.ToString(new CultureInfo("en-US").NumberFormat));
            sb.Append(";\n");

            sb.Append("var ChildVerticalOverlap = ");
            sb.Append(ChildVerticalOverlap.ToString(new CultureInfo("en-US").NumberFormat));
            sb.Append(";\n");

            sb.Append("var LeftPaddng = ");
            sb.Append(LeftPaddng);
            sb.Append(";\n");

            sb.Append("var TopPaddng = ");
            sb.Append(TopPaddng);
            sb.Append(";\n");

            sb.Append("var StartTop = ");
            sb.Append(StartTop);
            sb.Append(";\n");

            sb.Append("var StartLeft = ");
            sb.Append(StartLeft);
            sb.Append(";\n");

            sb.Append("var VerCorrect = ");
            sb.Append(VerCorrect);
            sb.Append(";\n");

            sb.Append("var HorCorrect = ");
            sb.Append(HorCorrect);
            sb.Append(";\n");

            sb.Append("var FirstLineHorizontal = ");
            sb.Append(Horizontal ? 1 : 0);
            sb.Append(";\n");

            sb.Append("var MenuFramesVertical = ");
            sb.Append(MenuFramesVertical ? 1 : 0);
            sb.Append(";\n");

            sb.Append("var DissapearDelay = ");
            sb.Append(DissapearDelay);
            sb.Append(";\n");

            sb.Append("var TakeOverBgColor = ");
            sb.Append(TakeOverBgColor ? 1 : 0);
            sb.Append(";\n");

            sb.Append("var FirstLineFrame = ");
            sb.Append("\"");
            sb.Append(FirstLineFrame);
            sb.Append("\"");
            sb.Append(";\n");

            sb.Append("var SecLineFrame = ");
            sb.Append("\"");
            sb.Append(SecLineFrame);
            sb.Append("\"");
            sb.Append(";\n");

            sb.Append("var DocTargetFrame = ");
            sb.Append("\"");
            sb.Append(DocTargetFrame);
            sb.Append("\"");
            sb.Append(";\n");

            sb.Append("var HideTop = ");
            sb.Append(HideTop ? 1 : 0);
            sb.Append(";\n");

            sb.Append("var TargetLoc = ");
            sb.Append("\"");
            //sb.Append(TargetLoc);
            //sb.Append(this.Controls[0].ClientID);
            sb.Append("MenuPos"); //NS4 bug fix
            sb.Append("\"");
            sb.Append(";\n");

            sb.Append("var MenuWrap = ");
            sb.Append(MenuWrap ? 1 : 0);
            sb.Append(";\n");

            sb.Append("var RightToLeft = ");
            sb.Append(RightToLeft ? 1 : 0);
            sb.Append(";\n");

            sb.Append("var UnfoldsOnClick = ");
            sb.Append(UnfoldsOnClick ? 1 : 0);
            sb.Append(";\n");

            sb.Append("var WebMasterCheck = ");
            sb.Append(WebMasterCheck ? 1 : 0);
            sb.Append(";\n");

            sb.Append("var ShowArrow = ");
            sb.Append(ShowArrow ? 1 : 0);
            sb.Append(";\n");

            sb.Append("var KeepHilite = ");
            sb.Append(KeepHilite ? 1 : 0);
            sb.Append(";\n");

            sb.Append("var Arrws = ");
            sb.Append("[");
            for (int i = 0; i <= _arrws.GetUpperBound(0); i++)
            {
                sb.Append("\"");
                sb.Append(ImagesPath + _arrws[i].ImageUrl);
                sb.Append("\", ");
                sb.Append(_arrws[i].Width.Value);
                sb.Append(", ");
                sb.Append(_arrws[i].Height.Value);
                if (i != _arrws.GetUpperBound(0))
                {
                    sb.Append(", ");
                }
            }
            sb.Append("]");
            sb.Append(";\n");

            sb.Append("function BeforeStart(){;}\n");
            sb.Append("function AfterBuild(){;}\n");
            sb.Append("function BeforeFirstOpen(){;}\n");
            sb.Append("function AfterCloseAll(){;}\n");

            sb.Append(Childs.ToMenuArray(prefix));

            sb.Append("</script>\n");
            sb.Append("<script type = 'text/javascript' src = '" + ClientScriptPath + "menu_com.js'></script>\n");
            sb.Append("<noscript>Your browser does not support script</noscript>\n");

            return(sb.ToString());
        }